/*
Theme Name: YogaVibez Bloom
Theme URI: https://yogavibez.com/
Author: OpenAI for YogaVibez
Description: Custom WordPress theme for YogaVibez with a warm, therapeutic, accessible design for seniors, people living with Parkinson's, caregivers, and general yoga students.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: yogavibez-bloom
*/

:root{
  --yv-bg:#fff9fc;
  --yv-surface:#ffffff;
  --yv-ink:#2f2159;
  --yv-muted:#6b5e86;
  --yv-primary:#8b33d0;
  --yv-secondary:#25b9c5;
  --yv-accent:#f24ba7;
  --yv-accent-2:#ff8e62;
  --yv-border:rgba(47,33,89,.12);
  --yv-shadow:0 18px 60px rgba(47,33,89,.12);
  --yv-radius:22px;
  --yv-radius-sm:14px;
  --yv-max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI",Inter,Arial,sans-serif;
  color:var(--yv-ink);
  background:
    radial-gradient(circle at 15% 0%, rgba(37,185,197,.10), transparent 30%),
    radial-gradient(circle at 85% 15%, rgba(242,75,167,.12), transparent 28%),
    linear-gradient(180deg, #fff, var(--yv-bg));
  line-height:1.65;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--yv-primary);text-decoration:none}
a:hover{text-decoration:underline}
.site-header{
  position:sticky;top:0;z-index:1000;
  backdrop-filter: blur(10px);
  background:rgba(255,255,255,.88);
  border-bottom:1px solid var(--yv-border);
}
.wrap{width:min(calc(100% - 2rem), var(--yv-max));margin:0 auto}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:78px;
}
.branding{display:flex;align-items:center;gap:14px}
.branding img{width:58px;height:58px;object-fit:contain}
.branding .site-title{font-size:1.4rem;font-weight:800;letter-spacing:.02em;margin:0;color:var(--yv-ink)}
.branding .site-tagline{margin:.1rem 0 0;color:var(--yv-muted);font-size:.95rem}
.main-nav ul{display:flex;list-style:none;padding:0;margin:0;gap:1.1rem;flex-wrap:wrap}
.main-nav a{font-weight:600;color:var(--yv-ink)}
.menu-toggle{display:none}
.hero{padding:5rem 0 4rem}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}
.eyebrow{
  display:inline-flex;gap:.45rem;align-items:center;padding:.5rem .9rem;border-radius:999px;
  background:rgba(139,51,208,.10);color:var(--yv-primary);font-weight:700;font-size:.92rem
}
.hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.4rem,5vw,4.8rem);
  line-height:1.03;margin:.9rem 0 1rem;
}
.lead{font-size:1.12rem;color:var(--yv-muted);max-width:60ch}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.button, button, input[type=submit]{
  appearance:none;border:0;border-radius:999px;padding:.95rem 1.3rem;
  font-weight:800;cursor:pointer;display:inline-block
}
.button-primary{background:linear-gradient(90deg,var(--yv-primary),var(--yv-accent));color:#fff}
.button-secondary{background:#fff;border:1px solid var(--yv-border);color:var(--yv-ink)}
.card{
  background:var(--yv-surface);border:1px solid var(--yv-border);
  border-radius:var(--yv-radius);box-shadow:var(--yv-shadow)
}
.hero-image-stack{display:grid;gap:1rem}
.hero-visual{
  min-height:520px;border-radius:28px;padding:1rem;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 78% 14%, rgba(255,142,98,.85) 0 6%, transparent 6.5%),
    radial-gradient(circle at 64% 18%, rgba(242,75,167,.78) 0 7%, transparent 7.5%),
    radial-gradient(circle at 84% 30%, rgba(242,75,167,.65) 0 5%, transparent 5.5%),
    radial-gradient(circle at 56% 34%, rgba(255,142,98,.78) 0 7%, transparent 7.5%),
    linear-gradient(180deg, rgba(37,185,197,.95), rgba(139,51,208,.92));
  box-shadow:var(--yv-shadow);
}
.hero-visual .visual-ring{position:absolute;border:16px solid rgba(255,255,255,.75);border-right-color:transparent;border-bottom-color:transparent;border-radius:50%}
.hero-visual .ring-1{width:82%;height:82%;left:2%;top:8%;transform:rotate(-15deg)}
.hero-visual .ring-2{width:58%;height:58%;right:8%;top:25%;border-width:13px}
.hero-visual .ring-3{width:38%;height:38%;right:18%;top:35%;border-width:11px}
.hero-visual .visual-core{
  position:absolute;left:18%;bottom:8%;width:58%;height:58%;
  background:radial-gradient(circle at 38% 30%, #5b27a1 0 18%, transparent 18.5%), linear-gradient(180deg,#6b26b7,#973bd8);
  border-radius:42% 42% 45% 45% / 36% 36% 58% 58%;
  box-shadow:0 30px 60px rgba(47,33,89,.28);
}
.hero-visual .visual-wave{
  position:absolute;left:6%;bottom:2%;width:78%;height:16%;
  border-radius:55% 45% 45% 40% / 58% 58% 42% 40%;
  background:linear-gradient(90deg,#412276,#8b33d0);
}
.hero-list{display:grid;gap:.85rem;padding:1.3rem}
.hero-list strong{display:block}
.section{padding:4.3rem 0}
.section-alt{background:rgba(255,255,255,.72)}
.section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3rem);margin:0 0 .8rem}
.section-intro{max-width:72ch;color:var(--yv-muted);margin:0 0 1.5rem}
.grid-3,.grid-2,.grid-4{display:grid;gap:1.2rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.service-card,.metric-card,.testimonial,.photo-card{padding:1.4rem}
.kicker{font-size:.84rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--yv-accent)}
.metric-card .metric{font-size:2rem;font-weight:900;color:var(--yv-primary);line-height:1}
.badge-row{display:flex;gap:.6rem;flex-wrap:wrap}
.badge{padding:.45rem .75rem;border-radius:999px;background:rgba(37,185,197,.12);font-weight:700;color:#186f76}
.band{
  padding:2rem;border-radius:var(--yv-radius);
  background:linear-gradient(90deg, rgba(139,51,208,.98), rgba(242,75,167,.92));
  color:#fff;box-shadow:var(--yv-shadow)
}
.band a{color:#fff;text-decoration:underline}
.split{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:center}
.photo-block{
  min-height:320px;border-radius:var(--yv-radius);overflow:hidden;position:relative;
  background:linear-gradient(135deg, rgba(37,185,197,.20), rgba(139,51,208,.20)), #fff;
  border:1px solid var(--yv-border)
}
.photo-label{
  position:absolute;left:1rem;bottom:1rem;background:rgba(47,33,89,.82);color:#fff;
  border-radius:999px;padding:.55rem .8rem;font-size:.9rem;font-weight:700
}
.placeholder-people{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 22% 62%, rgba(139,51,208,.88) 0 9%, transparent 9.5%),
    radial-gradient(circle at 50% 58%, rgba(37,185,197,.88) 0 10%, transparent 10.5%),
    radial-gradient(circle at 76% 64%, rgba(242,75,167,.88) 0 9%, transparent 9.5%),
    linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.45)),
    linear-gradient(120deg, rgba(37,185,197,.35), rgba(242,75,167,.25) 50%, rgba(139,51,208,.30));
}
.placeholder-people::before,
.placeholder-people::after{
  content:"";position:absolute;left:10%;right:10%;bottom:18%;height:28%;
  border-radius:40% 40% 26% 26% / 60% 60% 30% 30%;
  background:linear-gradient(90deg, rgba(139,51,208,.75), rgba(37,185,197,.70), rgba(242,75,167,.75));
  filter:blur(1px);opacity:.86
}
.placeholder-people::after{left:22%;right:22%;bottom:10%;height:14%}
.testimonial p{font-size:1.03rem}
.testimonial cite{display:block;margin-top:1rem;font-style:normal;color:var(--yv-muted);font-weight:700}
.site-footer{padding:2.5rem 0 3rem;border-top:1px solid var(--yv-border);color:var(--yv-muted)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1.2rem}
input, textarea{width:100%;padding:.9rem 1rem;border-radius:16px;border:1px solid var(--yv-border);font:inherit}
textarea{min-height:160px}
form p{margin:0 0 .9rem}
@media (max-width: 980px){
  .hero-grid,.grid-3,.grid-4,.split,.footer-grid{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .menu-toggle{display:block}
  .main-nav{display:none}
  .main-nav.is-open{display:block;position:absolute;left:0;right:0;top:78px;background:#fff;border-bottom:1px solid var(--yv-border)}
  .main-nav ul{flex-direction:column;padding:1rem}
}
