/*
Theme Name: BriefChats
Theme URI: https://briefchats.com/
Template: twentytwentyfive
Author: Brief Chats
Author URI: https://briefchats.com/
Description: Sleek, glassy, gradient‑rich child theme of Twenty Twenty‑Five tailored for Brief Chats. Full‑Site Editing (FSE) first, generous widths, and polished UI defaults.
Version: 1.0.0
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: briefchats
*/

/*
  Note: Most styling lives in theme.json.
  This file adds tiny enhancements that theme.json cannot express
  (e.g., backdrop filters for a glass effect, gradient text utility).
*/

/* Glass/card helper — tuned lighter for the Light style */
.is-style-glass {
  background: #ffffff;
  border: 1px solid #E9EEF8;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  border-radius: 16px;
}

/* Opt-in editor styles registered as variations */
.is-style-briefchats-card { /* translucent card */
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #E9EEF8;
  border-radius: 16px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
  -webkit-backdrop-filter: saturate(140%) blur(6px);
  backdrop-filter: saturate(140%) blur(6px);
  padding: 1.25rem;
}
.is-style-briefchats-soft { /* minimal translucent surface */
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid #EEF2F7;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  -webkit-backdrop-filter: saturate(130%) blur(4px);
  backdrop-filter: saturate(130%) blur(4px);
  padding: 1rem;
}

/* Add‑ons row styles */
.bc-addon {
  text-align: center;
}
.bc-addon-title {
  margin: .25rem 0 .25rem;
}
.bc-addon-desc {
  color: #475569;
  margin: 0;
}
.bc-price {
  display: inline-flex;
  align-items: baseline;
  gap: .25rem;
  padding: .35rem .75rem;
  border-radius: 9999px;
  background: linear-gradient(135deg, #3E6CFF 0%, #2EC5FF 60%, #7FE8FF 100%);
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(0, 132, 255, 0.20), inset 0 1px 0 rgba(255,255,255,.45);
}
.bc-price-currency {
  font-size: .9rem;
  opacity: .9;
}
.bc-price-amount {
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
}
.bc-price-period {
  font-size: .8rem;
  opacity: .9;
  margin-left: .25rem;
}

/* Plan card enhancements */
.bc-plan { text-align: left; }
.bc-plan .bc-plan-price {
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  padding: .4rem .9rem;
  border-radius: 9999px;
  background: linear-gradient(135deg, #3E6CFF 0%, #2EC5FF 60%, #7FE8FF 100%);
  color: #fff;
  box-shadow: 0 8px 18px rgba(0,132,255,.18), inset 0 1px 0 rgba(255,255,255,.5);
}
.bc-plan .bc-currency { font-size: 1rem; opacity: .95; }
.bc-plan .bc-amount { font-weight: 800; font-size: 1.4rem; line-height: 1; }
.bc-plan .bc-period { font-size: .85rem; opacity: .95; margin-left: .15rem; }
.bc-plan ul { margin: .75rem 0 0; padding-left: 1.1rem; }
.bc-plan ul li { margin: .25rem 0; }

/* Gradient text utility */
.bc-gradient-text {
  background: linear-gradient(135deg, #6E8AFF 0%, #00D1FF 50%, #6BFFE3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Subtle card hover lift */
.bc-hover-lift:hover {
  transform: translateY(-1px);
  transition: transform 160ms ease, box-shadow 160ms ease;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
}

/* CTA button: vivid blue gradient with soft glow */
.bc-button-cta .wp-block-button__link {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #3E6CFF 0%, #2EC5FF 55%, #7FE8FF 100%);
  color: #ffffff !important;
  border-radius: 9999px;
  border: 1px solid rgba(0, 96, 255, 0.25);
  box-shadow:
    0 8px 24px rgba(0, 132, 255, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}
.bc-button-cta .wp-block-button__link:hover {
  transform: translateY(-1px);
  box-shadow:
    0 14px 32px rgba(0, 132, 255, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

/* Shine sweep on hover */
.bc-button-cta .wp-block-button__link::after {
  content: '';
  position: absolute;
  top: -60%;
  left: -35%;
  width: 26%;
  height: 220%;
  background: linear-gradient(120deg, rgba(255,255,255,.10), rgba(255,255,255,0));
  filter: blur(10px);
  transform: skewX(-20deg) translateX(-150%);
  transition: transform 800ms ease;
}
.bc-button-cta .wp-block-button__link:hover::after {
  transform: skewX(-20deg) translateX(260%);
}

/* Press/click effect and remove black focus outline */
.wp-element-button,
.wp-block-button__link {
  outline: none !important;
}
.wp-element-button:focus,
.wp-element-button:active,
.wp-block-button__link:focus,
.wp-block-button__link:active {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(79, 123, 255, 0.25);
}
.wp-element-button:active,
.wp-block-button__link:active {
  transform: translateY(1px) scale(0.985);
}

/* Tidy outline style button so it doesn't show black outline */
.wp-block-button.is-style-outline .wp-block-button__link {
  border-color: rgba(15, 23, 42, 0.25);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: rgba(46, 197, 255, 0.08);
  border-color: rgba(46, 197, 255, 0.35);
}

/* Subtle animated page background from bg → lighter */
:root {
  --bc-bg: var(--wp--preset--color--bg, #f6f9ff);
  --bc-bg-light: #ffffff;
}
body, .wp-site-blocks {
  background: linear-gradient(120deg, var(--bc-bg) 0%, var(--bc-bg-light) 100%);
  background-size: 200% 200%;
  animation: bcBgShift 24s ease-in-out infinite;
}
@keyframes bcBgShift {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}

/* Ensure the main wrapper has no card styling */
main,
main.wp-block-group {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0;
}

/* Add consistent vertical rhythm between top-level blocks */
.wp-site-blocks main > * + * { margin-top: 3rem; }
@media (max-width: 1024px) { .wp-site-blocks main > * + * { margin-top: 2rem; } }
@media (max-width: 782px) { .wp-site-blocks main > * + * { margin-top: 1.5rem; } }

/* Ensure columns breathe a bit on light layout */
.wp-block-columns { gap: 2rem; }
@media (max-width: 782px) { .wp-block-columns { gap: 1.25rem; } }

/* Bigger section spacing with explicit section class */
.wp-site-blocks main > .bc-section + .bc-section { margin-top: 4rem; }
@media (max-width: 1024px) { .wp-site-blocks main > .bc-section + .bc-section { margin-top: 3rem; } }

/* Soften separators */
.wp-block-separator { height: 1px; border: 0; background: #E5E7EB; opacity: 0.8; }

/* Reduce titles in cards by ~20% */
.is-style-briefchats-card h3.wp-block-heading,
.is-style-briefchats-card h4.wp-block-heading,
.is-style-briefchats-soft h3.wp-block-heading,
.is-style-briefchats-soft h4.wp-block-heading { font-size: 0.85em; }

/* Icon helper */
.bc-card-icon { width: 28px; height: 28px; display: inline-block; margin-bottom: .35rem; }
