/* ===== Resets ===== */
* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Helvetica, Arial, sans-serif;
  color: #4A4A4A;
  background: #fff;
}

:root{
  --c-primary:#BAD7B9;
  --c-light:#E3F0E1;
  --c-mid:#A5C7A1;
  --c-accent:#7BA87B;
  --c-dark:#4A4A4A;
  --shadow-sm:0 2px 8px rgba(0,0,0,.06);
  --shadow-md:0 10px 28px rgba(0,0,0,.10);
  --radius:18px;
  --wrap:1200px;
}

/* ===== HERO WRAPPER ===== */
.hero-header{
  position:relative;
  min-height:calc(var(--vh,1svh) * 100);
  width:100%;
  overflow:hidden;
}

.hero-media{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:linear-gradient(135deg,var(--c-primary),var(--c-mid));
}

.hero-media video,
.hero-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hero-tint{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,.55) 10%, rgba(0,0,0,.25) 52%, rgba(0,0,0,.55) 100%);
  pointer-events:none;
}

/* ===== NAV OVER MEDIA ===== */
.nav-overlay{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:30;
  background:transparent;
  transition: background .28s ease, backdrop-filter .28s ease, -webkit-backdrop-filter .28s ease, box-shadow .28s ease, transform .28s ease;
}

.nav-overlay.is-scrolled{
  background: rgba(123,168,123,.68);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  backdrop-filter: blur(8px) saturate(120%);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.nav-overlay.is-scrolled .nav-links a,
.nav-overlay.is-scrolled .brand{
  color:#fff;
  text-shadow:0 1px 0 rgba(0,0,0,.16);
}

.nav-overlay.is-scrolled .nav-links a:hover{
  color:#fff;
  opacity:.9;
}

.nav-overlay.is-scrolled .hamb{ color:#fff; }

.nav-overlay.is-scrolled .brand-logo img{
  filter: drop-shadow(0 1px 1.5px rgba(0,0,0,.35));
}

.nav-overlay.is-scrolled .nav{
  min-height:72px;
  padding:10px 20px;
}

.nav-overlay.is-scrolled .brand-logo{ height:72px; }

@media (max-width: 960px){
  .nav-overlay.is-scrolled .brand-logo{ height:48px; }
}

.nav{
  max-width:var(--wrap);
  margin:0 auto;
  padding:14px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  min-height:88px;
}

.nav-links{ display:flex; align-items:center; gap:20px; }

.nav-links a{
  text-decoration:none;
  color:var(--c-dark);
  font-weight:500;
}

.nav-links a:hover{ color:var(--c-accent); }

.brand{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  text-decoration:none;
  color:var(--c-dark);
  z-index:11;
}

.brand-logo{
  display:block;
  height:90px;
  width:auto;
  background:transparent;
}

.brand-logo img{
  display:block;
  height:100%;
  width:auto;
  object-fit:contain;
}

@media (max-width: 960px){
  .brand{ position:static; transform:none; }
  .brand-logo{ height:48px; }
}

.btn{
  --btn-bg:var(--c-accent);
  --btn-fg:#fff;
  --btn-hover-fg:var(--c-accent);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.7rem 1.1rem;
  border-radius:12px;
  border:2px solid var(--btn-bg);
  background:var(--btn-bg);
  color:var(--btn-fg);
  font-weight:800;
  text-decoration:none;
  transition:background .25s ease, color .25s ease, border-color .25s ease, transform .18s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}

.btn:hover,
.btn:focus-visible{
  background:transparent;
  color:var(--btn-hover-fg);
  border-color:var(--btn-hover-fg);
  transform:translateY(-1px);
}

.hamb{
  display:none;
  background:none;
  border:0;
  z-index:12;
}

@media(max-width:960px){
  .hamb{ display:block; }
  .nav-links{ display:none; }
}

/* ===== HERO CONTENT ===== */
.hero-content{
  position:relative;
  z-index:5;
  min-height:inherit;
  display:grid;
  place-items:center;
  text-align:center;
  padding:clamp(16px,3vw,28px);
}

.hero-wrap{ max-width:min(90ch,1100px); margin:auto; }

.hero-eyebrow{
  display:inline-block;
  font-weight:700;
  letter-spacing:.02em;
  padding:.4rem .75rem;
  border-radius:999px;
  background:rgba(227,240,225,.75);
  color:#0f1a0f;
  font-size:clamp(12px,1.6vw,14px);
}

.hero-title{
  margin:.6rem 0 .4rem;
  font-size:clamp(32px,5.2vw,64px);
  line-height:1.08;
  font-weight:800;
  text-wrap:balance;
  color:#fff;
  text-shadow:0 1px 0 rgba(0,0,0,.15);
}

.hero-sub{
  margin:0 auto 1.1rem;
  max-width:72ch;
  font-size:clamp(16px,2.2vw,20px);
  color:#f2f6f1;
}

/* Mission ticker */
.mission-ticker{
  margin-top: clamp(16px, 2.8vw, 32px);
  min-height: 1.9em;
  font-size: clamp(16px, 2.4vw, 20px);
  line-height: 1.55;
  color: #E9F2E9;
  text-align:center;
  opacity:.95;
  position:relative;
}

.about__list li { text-align: center; }

.mission-ticker span{
  display:inline-block;
  transition: opacity .6s ease, transform .6s ease;
}

.mission-ticker .out{
  opacity:0;
  transform:translateY(-6px);
  position:absolute;
}

.mission-ticker .in{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){
  .mission-ticker span{ transition:none; }
}

@media (max-width: 480px){
  .mission-ticker{ font-size: clamp(16px, 4.6vw, 19px); }
}

.hero-actions{
  display:flex;
  gap:.75rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:.6rem;
}

/* ===== Mobile menu (панел + overlay, единствен блок) ===== */
.mobile{
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
}

.mobile[hidden]{ display:none !important; }

.mobile:not([hidden]){ display:block; }

/* тъмен overlay над клипа */
.mobile:not([hidden])::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(15,26,15,.45);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  backdrop-filter: blur(8px) saturate(120%);
  pointer-events:none;
}

/* панелът, който се плъзга отдясно */
.mobile-links{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width: min(92vw, 420px);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,250,246,.96));
  border-left: 1px solid rgba(0,0,0,.06);
  box-shadow: -12px 0 36px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  padding: calc(env(safe-area-inset-top,0) + 8px) 16px 16px;
  overflow:auto;
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.25,1,.5,1);
}

.mobile:not([hidden]) .mobile-links{ transform: translateX(0); }

/* линкове вътре */
.mobile .mobile-links a{
  display:block;
  text-decoration:none;
  color:#213221;
  font-weight:700;
  padding:12px 10px;
  border-radius:12px;
}

.mobile .mobile-links a:hover{ background:#F6FAF6; }

/* CTA вътре – широк */
.mobile .mobile-links .btn{
  width:100%;
  text-align:center !important;
  font-weight:800;
  border-width:2px;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
  margin-top:4px;
}

/* „X“ бутон */
.m-close{
  position:absolute;
  right:12px;
  top:12px;
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow: var(--shadow-sm);
}

.m-close:hover{ transform: translateY(-1px); }

/* заключваме скрол на тялото само когато е отворено */
html.no-scroll,
body.no-scroll {
  overflow: hidden;
  height: 100%;
}
/* fix: размер на логото в мобилния панел */
.m-head .m-brand img{
  height:32px;           /* беше без твърд лимит при теб на някои екрани */
  width:auto;
}

.m-head{ padding:8px 10px 10px; }

.m-head .m-brand span{
  font-size:15px;
  font-weight:800;
}

/* допълнително – по-малко лого в горната навигация на малки екрани */
@media (max-width:480px){
  .brand-logo{ height:40px; }     /* беше 48px */
}

/* ===== TRUST STRIP ===== */
.trust{ background:#fff; border-bottom:1px solid rgba(0,0,0,.06); }

.trust__in{
  max-width:var(--wrap);
  margin:0 auto;
  padding:18px 20px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  justify-content:space-between;
}

.trust__rating{ display:flex; align-items:center; gap:10px; }

.stars{ display:inline-flex; gap:4px; color:#E1B900; }

.stars svg{ width:18px; height:18px; }

.trust__logos{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  opacity:.9;
}

.trust__logos img{
  height:32px;
  width:auto;
  filter:grayscale(100%);
  opacity:.7;
}

.trust__logos img:hover{ opacity:1; filter:none; }

/* ===== BENEFITS ===== */
.benefits{
  background:linear-gradient(180deg, #fff 0%, var(--c-light) 100%);
  padding:clamp(56px, 8vw, 96px) 20px;
}

.benefits__container{ max-width: 1440px; margin: 0 auto; }

.benefits__header{ text-align:center; margin-bottom:clamp(20px, 3.5vw, 28px); }

.benefits__title{
  margin:0 0 8px;
  font-size:clamp(28px, 4vw, 40px);
  line-height:1.15;
  font-weight:800;
  color:var(--c-accent);
  letter-spacing:.2px;
  text-align:center;
  width:100%;
}

.benefits__lead{
  margin:0 auto;
  max-width:70ch;
  font-size:clamp(16px, 2.2vw, 18px);
  color:var(--c-dark);
  opacity:.9;
}

.benefits__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(12px, 2.2vw, 18px);
  margin-top:clamp(24px, 4vw, 36px);
}

@media (min-width: 680px){
  .benefits__grid{ grid-template-columns:repeat(2, 1fr); }
}

@media (min-width: 1024px){
  .benefits__grid{ grid-template-columns:repeat(3, 1fr); }
}

.benefit-card{
  position:relative;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:20px 18px 18px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
  opacity:0;
  transform:translateY(18px) scale(.98);
}

.benefit-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 40px rgba(123,168,123,.18);
  border-color:var(--c-primary);
  background:linear-gradient(180deg, #fff 0%, rgba(186,215,185,.15) 100%);
}

.benefit-card::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:10px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--c-primary), var(--c-accent));
  opacity:.5;
}

.b-badge{
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-weight:800;
  color:#1f2a1f;
  background:linear-gradient(135deg, var(--c-primary), var(--c-mid));
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  margin-bottom:10px;
}

.b-title{
  margin:6px 0 6px;
  font-size:clamp(17px, 2.2vw, 18px);
  font-weight:700;
  color:#223322;
  letter-spacing:.2px;
}

.b-text{
  margin:0;
  color:#445544;
  font-size:clamp(14px, 1.9vw, 16px);
  line-height:1.6;
}

.benefits__footer{ text-align:center; margin-top:clamp(26px, 5vw, 40px); }

.benefits__note{
  margin:0 auto;
  max-width:80ch;
  font-size:clamp(15px, 2vw, 17px);
  color:#2c3b2c;
  background:rgba(186,215,185,.25);
  border:1px solid rgba(0,0,0,.06);
  padding:14px 16px;
  border-radius:14px;
}

.benefit-card.in-view{
  opacity:1;
  transform:translateY(0) scale(1);
  transition:opacity .55s ease-out, transform .55s ease-out;
  transition-delay: calc(var(--i, 0) * 70ms);
}

@media (prefers-reduced-motion: reduce){
  .benefit-card,
  .benefit-card.in-view{
    opacity:1;
    transform:none;
    transition:none;
  }
}

/* ===== BENEFITS FIXED/OVERRIDE ===== */
.benefits__grid{
  display:grid;
  gap:28px;
  grid-template-columns:1fr;
}

@media(min-width:900px){
  .benefits__grid{ grid-template-columns:repeat(6,1fr); }
}

.benefits .benefit-card.in-view{ transition:none !important; }

.benefits .benefit-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:none !important;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
  padding:0;
  position:relative;
  opacity:0;
  transform:translateY(40px) translateZ(0);
  visibility:hidden;
  will-change:opacity, transform;
  backface-visibility:hidden;
  contain:paint;
}

.benefits .benefit-card::before{ display:none !important; }

.benefits .benefit-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.benefits .b-title{
  background:#F6FAF6;
  color:#7BA87B;
  font-weight:700;
  font-size:18px;
  text-align:center;
  padding:12px;
}

.benefits .b-text{
  font-size:15px;
  color:#333;
  text-align:center;
  padding:16px;
  flex-grow:1;
}

.benefits .benefit-card.in-view{
  visibility:visible;
  animation:fadeUpSmooth 1.2s cubic-bezier(.25,1,.5,1) forwards;
}

@keyframes fadeUpSmooth{
  from{ opacity:0; transform:translateY(40px) translateZ(0); }
  to{ opacity:1; transform:translateY(0) translateZ(0); }
}

.benefits .benefit-card:nth-child(1).in-view{ animation-delay:.10s; }
.benefits .benefit-card:nth-child(2).in-view{ animation-delay:.30s; }
.benefits .benefit-card:nth-child(3).in-view{ animation-delay:.50s; }
.benefits .benefit-card:nth-child(4).in-view{ animation-delay:.70s; }
.benefits .benefit-card:nth-child(5).in-view{ animation-delay:.90s; }
.benefits .benefit-card:nth-child(6).in-view{ animation-delay:1.10s; }

@media (prefers-reduced-motion: reduce){
  .benefits .benefit-card,
  .benefits .benefit-card.in-view{
    visibility:visible;
    opacity:1;
    transform:none;
    animation:none;
    transition:none;
  }
}

@media (min-width: 900px){
  .benefits__grid{
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
  }
}

/* ===== CLASSES / LEVELS (обща тема, светла) ===== */
.classes{ background:#fff; padding:clamp(56px,8vw,90px) 20px; }

.wrap{ max-width:var(--wrap); margin:0 auto; }

.section-title{
  font-size:clamp(26px,3.8vw,36px);
  margin:0 0 10px;
  color:#213221;
  font-weight:800;
  text-align:center;
}

.section-sub{
  text-align:center;
  color:#445544;
  max-width:72ch;
  margin:0 auto 26px;
}

.classes__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

@media(min-width:960px){
  .classes__grid{
    grid-template-columns:2fr 1fr;
    gap:26px;
  }
}

.class-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

@media(min-width:720px){
  .class-cards{ grid-template-columns:repeat(2,1fr); }
}

.class-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease, box-shadow .25s ease;
}

.class-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }

.class-card h3{
  margin:6px 0 6px;
  font-size:18px;
  color:#1f2a1f;
}

.class-card p{ margin:0; color:#455; }

.forwho{
  background:linear-gradient(180deg, #F7FBF7, #EAF5EA);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow-sm);
}

.forwho h4{ margin:0 0 8px; color:#234; font-size:17px; }

.forwho ul{
  margin:0;
  padding-left:18px;
  color:#445;
  line-height:1.6;
}

/* ===== CLASSES (parallax фон за секцията) ===== */
#classes .section-title { color: #E3F0E1; }
#classes .section-sub { color: #E3F0E1; }

.classes{
  position:relative;
  background:url("/assets/hero/classes10.jpg") no-repeat center center;
  background-size:cover;
  background-attachment:fixed;
  color:#fff;
  padding:clamp(60px, 8vw, 100px) 20px;
}

.classes::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.4);
}

.classes .wrap{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:0 auto;
}

.section-title{
  text-align:center;
  font-size:clamp(28px, 4vw, 40px);
  font-weight:800;
  margin-bottom:20px;
}

.section-sub{
  text-align:center;
  font-size:clamp(16px, 2vw, 20px);
  margin-bottom:40px;
  max-width:70ch;
  margin-left:auto;
  margin-right:auto;
}

.classes__grid{ display:block; }

.class-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

@media (min-width:900px){
  .class-cards{ grid-template-columns:repeat(3, 1fr); }
}

.class-card{
  background:rgba(255,255,255,.9);
  color:#222;
  border-radius:14px;
  padding:20px;
  box-shadow:0 6px 20px rgba(0,0,0,.1);
  transition:transform .3s ease;
}

.class-card:hover{ transform:translateY(-6px); }

.class-card h3{
  margin:6px 0 10px;
  font-size:20px;
  color:#1f2a1f;
}

.class-card p{
  margin:0;
  color:#455;
  line-height:1.6;
}

/* ==== DARK, GLASSY КАРТИ ЗА #classes ==== */
#classes .class-cards{
  display:grid;
  grid-template-columns: 1fr;
  gap:18px;
}

@media (min-width: 900px){
  #classes .class-cards{ grid-template-columns: repeat(3, 1fr); }
}

#classes .class-card{
  position:relative;
  background: rgba(0,0,0,.68);
  color:#fff;
  border: 1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:22px 20px 20px;
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
  backdrop-filter: blur(6px) saturate(120%);
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

#classes .class-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(0,0,0,.45);
  background: rgba(0,0,0,.74);
}

#classes .class-card::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:12px;
  height:3px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
  opacity:.55;
}

#classes .class-card h3{
  margin:8px 0 10px;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight:800;
  color: #E3F0E1;
  letter-spacing:.2px;
}

#classes .class-card p{
  margin:0;
  color:#F2F6F1;
  line-height:1.65;
  font-size: clamp(14px, 1.9vw, 16px);
}

#classes .class-card{ display:flex; flex-direction:column; min-height: 100%; }

#classes .card-actions{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

#classes .btn.btn--ghost{
  background: transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.85);
  --btn-hover-fg:#0f1a0f;
}

#classes .btn.btn--ghost:hover,
#classes .btn.btn--ghost:focus-visible{
  background:#fff;
  color:#0f1a0f;
  border-color:#fff;
  transform:translateY(-1px);
}

@media (min-width: 980px){
  #classes .class-cards{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

#classes .class-card{
  position: relative;
  width: 100%;
  isolation: isolate;
  will-change: transform;
}

@media (hover: none){
  #classes .class-card:hover{ transform:none; }
}

@media (max-width: 768px){
  .classes{ background-attachment: fixed; }
}

/* === Calendar === */
.cal{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:12px;
}

.cal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px;
}

.cal__title{ font-weight:800; color:#213221; }

.cal__nav{
  border:1px solid var(--c-primary);
  background:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}

.cal__nav:hover{
  background:#FBFEFB;
  transform:translateY(-1px);
}

.cal__weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
  margin:6px 0 8px;
  color:#556;
  font-size:13px;
  text-align:center;
}

.cal__grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}

.cal__day{
  display:grid;
  place-items:center;
  aspect-ratio:1/1;
  border-radius:12px;
  cursor:pointer;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  color:#213221;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  font-weight:600;
}

.cal__day:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

.cal__day--muted{
  color:#99a;
  background:#f7f9f7;
  pointer-events:none;
}

.cal__day--today{
  outline:2px solid var(--c-primary);
  outline-offset:-2px;
}

.cal__day--selected{
  background:var(--c-primary);
  color:#0f1a0f;
}

.times{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

@media(max-width:520px){
  .times{ grid-template-columns:repeat(2,1fr); }
}

.time-slot{
  padding:12px;
  border:1.5px solid var(--c-primary);
  border-radius:12px;
  background:#FBFEFB;
  text-align:center;
  cursor:pointer;
  font-weight:600;
  color:#213221;
}

.time-slot:hover{ background:#EFF6EF; }

.time-slot.is-selected{
  background:var(--c-primary);
  color:#0f1a0f;
}

.chosen-hint{
  margin-top:10px;
  font-size:14px;
  color:#445;
  background:#F6FAF6;
  border:1px solid rgba(0,0,0,.06);
  border-radius:10px;
  padding:8px 10px;
}

/* ===== SCHEDULE / RESERVE (контейнер) ===== */
.reserve{
  background:#F6FAF6;
  padding:clamp(56px,8vw,90px) 20px;
}

.reserve__box{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow-md);
  padding:18px;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

@media(min-width:900px){
  .reserve__box{ grid-template-columns:1fr 1fr; }
}

.slots{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

@media(max-width:520px){
  .slots{ grid-template-columns:repeat(2,1fr); }
}

.slot{
  padding:12px;
  border:1.5px solid var(--c-primary);
  border-radius:12px;
  background:#FBFEFB;
  text-align:center;
  cursor:pointer;
  font-weight:600;
  color:#213221;
}

.slot:hover{ background: #EFF6EF; }

.slot.is-selected{
  background:var(--c-primary);
  color:#0f1a0f;
}

.booking-embed{
  background:#f4f7f4;
  border:1px dashed #cfe1cf;
  border-radius:12px;
  min-height:220px;
  display:grid;
  place-items:center;
  color:#557;
  padding:12px;
}

/* ===== PRICING ===== */
.pricing{
  background:#fff;
  padding:clamp(56px,8vw,90px) 20px;
}

.price-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:16px;
}

@media(min-width:900px){
  .price-grid{ grid-template-columns:repeat(3,1fr); }
}

.price-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:column;
  gap:10px;
}

.price-card h3{ margin:0; color:#1f2a1f; font-size:20px; }

.price{ font-size:28px; font-weight:800; color:#234; }

.meta{ color:#576; font-size:14px; }

.price-card ul{
  margin:8px 0 0;
  padding-left:18px;
  color:#455;
  line-height:1.6;
}

.notes{
  max-width:var(--wrap);
  margin:20px auto 0;
  color:#566;
  font-size:14px;
  text-align:center;
}

/* ===== STUDIO VISUAL ===== */
.studio{
  background:#F7F9F7;
  padding:clamp(56px,8vw,90px) 20px;
}

.studio__grid{
  max-width:var(--wrap);
  margin:0 auto;
  display:grid;
  gap:18px;
  grid-template-columns:1fr;
}

@media(min-width:960px){
  .studio__grid{ grid-template-columns:1.1fr 1fr; }
}

.studio__media{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.studio__media img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:14px;
  box-shadow:var(--shadow-sm);
}

.studio__text{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow-sm);
}

.studio__text h3{ margin:6px 0 10px; color:#1f2a1f; }

.studio__text ul{
  margin:0;
  padding-left:18px;
  color:#455;
  line-height:1.6;
}

/* ===== TEAM & CERTS ===== */
.team{
  background:#fff;
  padding:clamp(56px,8vw,90px) 20px;
}

.team__grid{
  max-width:var(--wrap);
  margin:0 auto;
  display:grid;
  gap:18px;
  grid-template-columns:1fr;
  align-items: stretch;
}

@media(min-width:900px){
  .team__grid{ grid-template-columns:repeat(3,1fr); }
}

.person{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow-sm);
  text-align:center;
  display:flex;
  flex-direction:column;
}

.person img{
  width:120px;
  height:120px;
  object-fit:cover;
  border-radius:999px;
  border:3px solid var(--c-primary);
  align-self:center;
  display:block;
  margin:0 auto 10px;
}

.person h3{ margin:10px 0 6px; }

.person p{ margin:0 0 12px; color:#566; }

.certs{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:auto;
}

.cert{
  background:#F5F8F5;
  border:1px solid rgba(0,0,0,.06);
  border-radius:12px;
  padding:10px 12px;
  font-size:13px;
  color:#334;
  text-align:center;
}

/* ===== TESTIMONIALS (Carousel) ===== */
.testimonials{
  background:#F6FAF6;
  padding:clamp(56px,8vw,90px) 20px;
  position:relative;
}

.t-wrap{ max-width:var(--wrap); margin:0 auto; }

.t-rail{ overflow:hidden; position:relative; }

.t-track{
  display:flex;
  gap:16px;
  will-change:transform;
  transition:transform .5s ease;
}

.t-card{
  min-width:280px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:16px;
}

.t-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:6px;
}

.t-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid var(--c-primary);
}

.t-name{ font-weight:700; color:#1f2a1f; }

.t-role{ font-size:13px; color:#667; }

.t-stars{ color:#E1B900; letter-spacing:.1em; margin:.35rem 0 .5rem; }

.t-ctrl{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:12px;
}

.t-btn{
  border:1px solid var(--c-primary);
  background:#fff;
  padding:8px 12px;
  border-radius:10px;
  cursor:pointer;
}

.testimonials .more{ text-align:center; margin-top:16px; }

/* ===== FAQ ===== */
.faq{
  background:#fff;
  padding: clamp(56px, 8vw, 90px) 20px;
}

.faq__grid{
  max-width: var(--wrap);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
  align-content: start;
  grid-auto-rows: min-content;
}

@media (min-width: 900px){
  .faq__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.faq details{
  background:#fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
  padding: 12px 14px;
  align-self: start;
  height: auto;
  overflow: visible;
}

.faq summary{
  cursor: pointer;
  list-style: none;
  display: block;
  font-weight: 700;
  color: #213221;
  outline: none;
}

.faq summary::-webkit-details-marker{ display: none; }

.faq details[open] > summary{ margin-bottom: 6px; }

.faq p{ margin: 0; color: #455; padding-top: 2px; }

/* ===== CONTACTS ===== */
.contact{
  background:#F7F9F7;
  padding:clamp(56px,8vw,90px) 20px;
}

.contact__grid{
  max-width:var(--wrap);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

@media(min-width:960px){
  .contact__grid{ grid-template-columns:1.2fr 1fr; }
}

.map-embed{
  background:#eef3ee;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  min-height:320px;
  overflow:hidden;
  display:block;
  color:inherit;
}

.map-embed iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  border-radius:14px;
}

.contact__card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  padding:16px;
  box-shadow:var(--shadow-sm);
}

.contact__card h3{ margin:6px 0 10px; }

.contact__list{
  margin:0;
  padding:0;
  list-style:none;
  color:#334;
}

.contact__list li{ margin:8px 0; }

.contact__list a{
  color:#214;
  text-decoration:none;
  border-bottom:1px dotted #9bbd9b;
}

.contact__list a:hover{ color:#1a6; }

/* ===== FOOTER (първоначален) ===== */
.footer{
  background:#0f1a0f;
  color:#E9F2E9;
  padding:24px 20px;
}

.footer__in{
  max-width:var(--wrap);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

@media(min-width:900px){
  .footer__in{ grid-template-columns:2fr 1fr 1fr; }
}

.footer h4{ margin:0 0 10px; color:#E9F2E9; }

.footer a{ color:#CDE6CD; text-decoration:none; }

.footer a:hover{ color:#fff; }

.footer .legal{
  grid-column:1/-1;
  font-size:13px;
  color:#CDE6CD;
  opacity:.8;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.1);
  padding-top:12px;
}

/* ===== FOOTER (сив override, ако е нужно) ===== */
.footer{
  background:#4A4A4A;
  color:#E3F0E1;
  padding:24px 20px;
}

.footer__in{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

@media (min-width:900px){
  .footer__in{ grid-template-columns:2fr 1fr 1fr; }
}

.footer h4{ margin:0 0 10px; color:#E3F0E1; }

.footer a{
  color:#E3F0E1;
  text-decoration:none;
  opacity:.95;
}

.footer a:hover{
  color:#fff;
  opacity:1;
}

.footer-brand{ display:flex; align-items:center; gap:12px; margin:0 0 10px; }

.footer-logo{ display:inline-flex; line-height:0; }

.footer-logo img{
  height:56px;
  width:auto;
  display:block;
  border-radius:12px;
}

@media (min-width:900px){
  .footer-logo img{ height:64px; }
}

.social {
  display: flex;
  flex-direction: row;
  gap: 16px;
}

.social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none !important;
  border-radius: 0 !important;
  width: auto;
  height: auto;
  text-decoration: none;
}

.social svg {
  width: 50px;
  height: 50px;
  color: var(--c-accent);
  transition: color .25s ease;
}

.social a:hover svg { color: var(--c-light); }

/* ===== VIDEOS ===== */
.videos{
  background:#F6FAF6;
  padding:clamp(56px,8vw,90px) 20px;
}

.v-rail{ position:relative; max-width:var(--wrap); margin:0 auto; }

.v-viewport{ overflow:hidden; }

.v-track{
  --gap:16px;
  display:flex;
  gap:var(--gap);
  will-change:transform;
  transition:transform .5s ease;
}

.v-card{
  position:relative;
  flex:0 0 100%;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.10);
  overflow:hidden;
  background:#000;
  isolation:isolate;
}

@media (min-width:1024px){
  .v-card{ flex:0 0 calc((100% - (var(--gap) * 2)) / 3); }
}

.v-card video{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  background:#000;
}

.v-play{
  position:absolute;
  inset:auto;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:64px;
  height:64px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.9);
  background:rgba(0,0,0,.35);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, opacity .2s ease;
}

.v-play::before{
  content:"";
  width:0;
  height:0;
  border-left:18px solid #fff;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  margin-left:3px;
}

.v-play:hover{
  transform:translate(-50%,-50%) scale(1.05);
  background:rgba(0,0,0,.5);
}

.v-card.is-playing .v-play{
  opacity:0;
  pointer-events:none;
}

.v-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid var(--c-primary);
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
  cursor:pointer;
}

.v-prev{ left:-2px; }
.v-next{ right:-2px; }

.v-arrow:disabled{
  opacity:.5;
  cursor:not-allowed;
}

@media (max-width:480px){
  .v-arrow{ width:38px; height:38px; }
}

/* ===== ABOUT BACKGROUND VARIANT ===== */
.about-bg{
  position: relative;
  background: url('/assets/hero/reformer-machine.jpg') no-repeat center center;
  background-size: cover;
  background-attachment: fixed;
  padding: clamp(80px, 12vw, 140px) 20px;
  color: #fff;
}

.about__overlay{
  background: rgba(0,0,0,0.55);
  border-radius: 16px;
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 30px;
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
}

.about__text .section-title{
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 800;
  margin-bottom: 16px;
  color: var(--c-light);
}

.about__text .section-sub{
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #f0f0f0;
}

.about__list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.about__list li{
  font-size: 16px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
}

/* ==== Hero 100vh коректно ==== */
.hero-header{
  min-height: calc(var(--vh, 1vh) * 100);
  min-height: 100dvh;
}

/* ===== Contact form – glassy green panel ===== */
.contact .contact__card{
  background: linear-gradient(180deg, rgba(186,215,185,.22), rgba(163,198,160,.16)) !important;
  border: 1px solid rgba(123,168,123,.35) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.10) !important;
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  backdrop-filter: blur(8px) saturate(120%);
  padding: 20px !important;
}

/* заглавие и списък вътре в картата */
.contact .contact__card h3{ margin: 6px 0 14px; color:#1f2a1f; }
.contact .contact__list{ margin-bottom: 12px; }

/* Layout на формата */
.contact-form{ display:grid; gap:14px; }

.form-row{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

@media (min-width:720px){
  .form-row{ grid-template-columns:1fr 1fr; }
}

.form-col{ min-width:0; }

/* 🔧 Force full width row (label + textarea) */
.form-row--full{ grid-template-columns:1fr !important; }
.form-row--full > *{ grid-column:1 / -1 !important; }

/* Допълнително подсигуряване по-специфично */
.contact .contact__card .contact-form .form-row--full{ grid-template-columns:1fr !important; }
.contact .contact__card .contact-form .form-row--full > *{ grid-column:1 / -1 !important; }

.form-label{
  display:block;
  font-weight:700;
  color:#213221;
  margin-bottom:6px;
  font-size:14px;
}

/* Полета */
.contact__card .form-control,
.contact__card input[type="text"],
.contact__card input[type="email"],
.contact__card input[type="tel"],
.contact__card textarea,
.contact__card select{
  width:100%;
  padding:12px 14px;
  border:1.5px solid rgba(123,168,123,.35);
  border-radius:14px;
  background:#FBFEFB;
  color:#213221;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
  font:inherit;
}

.contact__card input::placeholder,
.contact__card textarea::placeholder{ color:#8a9; }

.contact__card .form-control:focus,
.contact__card input:focus,
.contact__card textarea:focus,
.contact__card select:focus{
  outline:0;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 4px rgba(123,168,123,.25);
  background:#fff;
}

/* Мини височина за textarea */
textarea.form-control{ min-height:130px; resize:vertical; }

/* Чекбокс + текст */
.form-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:14px;
}

.form-check input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color: var(--c-accent);
}

.form-check a{
  color: var(--c-accent);
  text-decoration: none;
  border-bottom:1px dotted var(--c-accent);
}

.form-check a:hover{ opacity:.9; }

/* Действия */
.form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
}

/* Подобрена карта да съвпада със стила */
.map-embed{
  border-radius:18px !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
  border:1px solid rgba(123,168,123,.28) !important;
  overflow:hidden;
}

/* (по желание) леко маркиране на празни задължителни полета */
.contact__card .form-control:invalid[required]{ border-color: rgba(220,80,80,.45); }

/* Inline грешки под полетата */
.form-control.is-invalid{
  border-color: rgba(220,80,80,.75) !important;
  box-shadow: 0 0 0 4px rgba(220,80,80,.12) !important;
}

.field-error{
  display:block;
  margin-top:6px;
  font-size:13px;
  color:#b3261e;
  line-height:1.4;
}

/* Flash съобщения над формата */
.form-flash{
  max-width:var(--wrap);
  margin:16px auto 0;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:12px;
  background:#EAF5EA;
  color:#234;
  box-shadow:var(--shadow-sm);
}

.form-flash.error{ background:#fff3f3; color:#7a1f1f; }

/* Кутия „Успешно“ вътре в картата (ако решиш да я ползваш) */
.form-success{
  background:#EAF5EA;
  border:1px solid rgba(0,0,0,.06);
  border-radius:12px;
  padding:14px 16px;
  color:#234;
  box-shadow:var(--shadow-sm);
}

/* Доп. отстояние от навигацията със същия фон (не margin, а padding) */
.contact{ padding-top: calc(clamp(56px, 8vw, 90px) + var(--contact-extra, 0px)); }

/* Полето за съобщение винаги да е цяла ширина */
.contact-form .form-row.form-row--full{ grid-template-columns: 1fr !important; }
.contact-form .form-row.form-row--full > *{ grid-column: 1 / -1 !important; }

/* ===== POLISH PACK ===== */

/* по-гладък рендър + плавен скрол към anchors */
html{
  scroll-behavior:smooth;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* акцент лента под всички секционни заглавия */
.section-title{ position:relative; letter-spacing:.2px; }

.section-title::after{
  content:"";
  display:block;
  width:72px;
  height:4px;
  border-radius:999px;
  margin:10px auto 0;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
  opacity:.9;
}

/* четим подзаглавен текст */
.section-sub{ opacity:.92; }

/* унифициран hover uplift за карти/блокове */
.benefit-card,
.class-card,
.price-card,
.person,
.faq details,
.contact__card{
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

.benefit-card:hover,
.class-card:hover,
.price-card:hover,
.person:hover,
.faq details:hover,
.contact__card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}

/* Testimonials – мек fade по краищата на релсата */
.testimonials .t-rail::before,
.testimonials .t-rail::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:56px;
  z-index:3;
  pointer-events:none;
}

.testimonials .t-rail::before{
  left:0;
  background:linear-gradient(to right, #F6FAF6 0%, rgba(246,250,246,0) 100%);
}

.testimonials .t-rail::after{
  right:0;
  background:linear-gradient(to left,  #F6FAF6 0%, rgba(246,250,246,0) 100%);
}

/* FAQ – плюс/минус и лек highlight при отворено */
.faq summary{ position:relative; padding-right:28px; }

.faq summary::after{
  content:"＋";
  position:absolute;
  right:6px;
  top:0;
  line-height:1;
  font-weight:800;
  color:#7BA87B;
  transform:translateY(2px);
  transition:transform .2s ease, color .2s ease;
}

.faq details[open] summary::after{ content:"–"; color:#4A744A; }

.faq details[open]{ background:#F6FAF6; border-color:rgba(123,168,123,.35); }

/* Buttons – по-жив hover и фокус */
.btn{ box-shadow:0 8px 22px rgba(0,0,0,.14); }

.btn:hover,
.btn:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}

/* по-чисти отстояния при скрол към anchors */
section + section{ scroll-margin-top:80px; }

/* дребен фикc: тясна линия при много дълги текстове */
.t-card,
.price-card,
.class-card,
.benefit-card,
.person,
.faq details,
.contact__card{ min-width:0; }

/* По-умерен размер на бутона само в финалния CTA */
.cta-static .btn{
  font-size: clamp(16px, 1.4vw, 18px);
  padding: clamp(10px, 1.1vw, 12px) clamp(20px, 2.2vw, 28px);
  min-width: clamp(160px, 18vw, 220px);
  border-radius: 12px;
  border-width: 2px;
  letter-spacing: .1px;
  box-shadow: 0 8px 22px rgba(0,0,0,.16);
}

.cta-static .btn:hover,
.cta-static .btn:focus-visible{
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

/* Divider над работното време в мобилното меню */
.mobile .m-meta{
  margin-top: 12px !important;         /* вместо auto */
  padding-top: 12px !important;
  border-top: 1px solid rgba(123,168,123,.45) !important; /* по-видима линия */
}

.m-divider {
  border: none;
  border-top: 1px solid rgba(0,0,0,.08);
  margin: 12px 0;
}
/* Отстояние само за страницата Цени */
body.pricing-page .pricing {
  padding-top: clamp(120px, 12vw, 140px);
}

/* =========================================================
   SCROLL DIVIDERS — BASE
   ========================================================= */
.scroll-divider{
  position: relative;
  background: linear-gradient(180deg,#F6FAF6 0%, #ffffff 60%, #F6FAF6 100%);
  overflow: hidden;
}
@media (hover:hover){
  .scroll-divider:hover{
    background: linear-gradient(180deg,#F6FAF6 0%, #FBFEFB 60%, #F6FAF6 100%);
  }
}
.scroll-divider svg *{ shape-rendering:geometricPrecision; text-rendering:geometricPrecision; }
.scroll-divider .sd-wrap{ position:relative; max-width:1400px; margin:0 auto; }

/* Без „джобове“ около разделителя */
section.scroll-divider{ margin-block:0 !important; }
section.scroll-divider + section{ margin-top:0; }
section + section.scroll-divider{ margin-top:0; }

/* =========================================================
   REFORMER (SVG) — по-нисък divider
   ========================================================= */
.scroll-divider.sd--reformer .sd-wrap{
  min-height: clamp(280px, 44vh, 520px);
  display: grid;
  place-items: center;
}
.sd--reformer svg{ width:min(1200px,96vw); height:auto; display:block; }
.sd--reformer .sd-text{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  text-align:center; width:min(92vw,760px);
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(246,250,246,.92));
  border:1px solid rgba(0,0,0,.06); border-radius:16px;
  padding: clamp(12px, 2.2vw, 18px) clamp(16px, 3vw, 24px);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
  z-index:2; opacity:0; pointer-events:none;
}

/* =========================================================
   BOTTLES (IMAGE) — минимален top, сцената е по-високо
   ========================================================= */
.scroll-divider.sd--bottles-img{
  --start-gap: 46px;
  --bottle-w: clamp(140px, 24vw, 240px);

  /* драстично по-малко отгоре */
  --sd-pad-top: 0;
  --sd-pad-bot: clamp(8px, 1.6vh, 16px);
  --sd-min: clamp(260px, 40vh, 440px);

  padding-block: var(--sd-pad-top) var(--sd-pad-bot);
  isolation:isolate;
  z-index:1;
}
@media (max-width:900px){
  .scroll-divider.sd--bottles-img{ --start-gap:34px; }
}
@media (max-width:600px){
  .scroll-divider.sd--bottles-img{
    --start-gap:26px;
    --sd-pad-top:0;
    --sd-pad-bot: clamp(14px, 2.4vh, 28px);
    --sd-min: clamp(260px, 46vh, 420px);
  }
}

/* сцена */
.sd--bottles-img .sd-wrap{ min-height:var(--sd-min); overflow:visible; }

/* бутилки — базово (JS движи с transform) */
.sd--bottles-img .bottle{
  position:absolute;
  top:var(--midY,50%);
  left:calc(50% + var(--pair-shift,0px));
  width:var(--bottle-w);
  transform:translate(-50%,-50%);
  will-change:transform,filter;
  pointer-events:none;
  z-index:3;
}
/* индивидуална баланс-корекция */
.sd--bottles-img .bottle--left{
  left:calc(50% + var(--pair-shift,0px) - var(--balanceX,0px));
  transform:translate(calc(-50% - var(--start-gap)),-50%) rotate(-2deg);
}
.sd--bottles-img .bottle--right{
  left:calc(50% + var(--pair-shift,0px) + var(--balanceX,0px));
  transform:translate(calc(-50% + var(--start-gap)),-50%) rotate(2deg);
}
.sd--bottles-img .bottle--right img{ transform:scaleX(-1); }
.sd--bottles-img .bottle img{ display:block; width:100%; height:auto; filter:drop-shadow(0 10px 24px rgba(0,0,0,.18)); }

/* текстът по средата — следва вертикалния център на сцената */
.sd--bottles-img #sdText{
  position:absolute; left:50%; top:var(--midY,50%); transform:translate(-50%,-50%);
  text-align:center; width:min(92%,820px);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.86));
  border:1px solid rgba(0,0,0,.08); border-radius:16px;
  padding:clamp(14px,3vw,22px) clamp(14px,4vw,28px);
  box-shadow:0 18px 42px rgba(0,0,0,.12);
  z-index:2; opacity:0; pointer-events:none;
}
.sd--bottles-img #sdText .btn{ margin-top:10px; }

@media (prefers-reduced-motion: reduce){
  .sd--reformer .sd-text,
  .sd--bottles-img #sdText{ opacity:1; pointer-events:auto; }
}

/* ===== Локални настройки за #sd-bottles (само вертикално позициониране) =====
   по-малък % = по-нагоре
*/
#sd-bottles{
  --midY: 31%;      /* ↑ вдигнато на desktop, по-малко празно отгоре */
  --pair-shift: -20px;
  --balanceX: 2px;
}
@media (max-width:900px){
  #sd-bottles{ --midY: 31.5%; }
}
@media (max-width:600px){
  #sd-bottles{ --midY: 31%; }   /* ↑ още по-нагоре на mobile */
}
/* === Prices page === */
.prices-hero{padding:32px 0 8px}
.prices-hero .wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:end;justify-content:space-between}
.prices-hero h1{margin:0}
.prices-note{color:#666;font-size:.95rem}

.price-grid{display:grid;gap:16px;margin:18px 0 6px}
@media (min-width:700px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1100px){.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}

.price-card{border:1px solid var(--border, #e7e7e7);border-radius:14px;background:#fff;display:flex;flex-direction:column}
.price-card .hd{padding:14px 16px;border-bottom:1px solid var(--border, #eee)}
.price-card .hd .kind{display:inline-flex;gap:8px;align-items:center}
.price-card .hd .kind .tag{font-size:.78rem;padding:3px 8px;border-radius:999px;background:#f6f6f6}
.price-card .bd{padding:10px 12px}

.price-list{width:100%;border-collapse:collapse}
.price-list td{padding:10px 8px;border-bottom:1px dashed #eee;vertical-align:middle}
.price-list tr:last-child td{border-bottom:0}

.price{font-weight:800;font-size:1.05rem;white-space:nowrap}
.per{color:#777;font-size:.9rem}
.muted{color:#777}

.vip{background:#111;color:#fff}
.vip .hd{border-bottom:1px solid rgba(255,255,255,.12)}
.vip .tag{background:rgba(255,255,255,.12)}
.vip .muted,.vip .per{color:#ddd}

.actions{padding:12px 16px 16px;margin-top:auto}
.btn.wide{width:100%}

.foot-notes{margin:24px 0;color:#666}
.foot-notes li{margin:.2rem 0}
/* ==== PRICES — chips навигация + reveal анимации + VIP блясък ==== */

/* sticky chip bar */
.price-cats{
  position: sticky;
  top: 74px; /* под навигацията */
  z-index: 8;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,250,246,.96));
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  backdrop-filter: blur(8px) saturate(120%);
  border:1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0,0,0,.10);
  padding: 8px;
  display:flex; gap:8px; flex-wrap:wrap; justify-content:center;
  margin: 8px 0 12px;
}

.price-cats .chip{
  --chip-bg:#fff;
  --chip-bd: rgba(123,168,123,.35);
  --chip-fg:#213221;
  display:inline-flex; align-items:center; gap:8px;
  border:1.5px solid var(--chip-bd);
  background:var(--chip-bg);
  color:var(--chip-fg);
  padding:8px 12px; border-radius:999px;
  font-weight:800; text-decoration:none;
  transition: transform .18s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.price-cats .chip:hover{ transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.10); }
.price-cats .chip.on{
  --chip-bg: var(--c-primary);
  --chip-bd: var(--c-primary);
  --chip-fg: #0f1a0f;
}

/* секционни подзаглавия */
.prices .section-kicker{
  margin: 8px 0 2px;
  color:#576;
  text-align:center;
  font-size:14px;
}

/* price grid – запазваме твоята, само лек uplift */
.prices .price-card{
  border-radius: 16px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
  overflow: hidden;
}
.prices .price-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 14px 40px rgba(123,168,123,.18);
  border-color: var(--c-primary);
  background: linear-gradient(180deg, #fff 0%, rgba(186,215,185,.12) 100%);
}

/* mini ribbon (Популярно / Най-изгодно) */
.price-card.has-ribbon{
  position: relative;
}
.price-card.has-ribbon::before{
  content: attr(data-ribbon);
  position:absolute; top:10px; right:-12px;
  background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
  color:#0f1a0f; font-weight:900; font-size:12px;
  padding:6px 10px;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

/* VIP темата – стъклен/тъмен с shimmer рамка */
.price-card.vip{
  position:relative;
  color:#fff;
  background: rgba(0,0,0,.86);
  border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
  backdrop-filter: blur(6px) saturate(120%);
}
.price-card.vip .hd{ border-bottom:1px solid rgba(255,255,255,.12) }
.price-card.vip .kind .tag{ background: rgba(255,255,255,.14); color:#f0f0f0; }
.price-card.vip .muted, .price-card.vip .per{ color:#ddd; }

/* shimmer border */
.price-card.vip::after{
  content:"";
  position:absolute; inset:0; border-radius:16px; pointer-events:none;
  padding:1px;
  background: linear-gradient(135deg, rgba(255,255,255,.25), rgba(123,168,123,.55), rgba(255,255,255,.25));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: vipShine 3.4s linear infinite;
  opacity:.7;
}
@keyframes vipShine{
  0%{ filter:hue-rotate(0deg) brightness(1); }
  50%{ filter:hue-rotate(12deg) brightness(1.08); }
  100%{ filter:hue-rotate(0deg) brightness(1); }
}

/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(22px); will-change:transform, opacity; }
.reveal.in-view{ opacity:1; transform:none; transition: opacity .55s ease-out, transform .55s ease-out; }
.reveal.in-view:nth-child(1){ transition-delay:.05s }
.reveal.in-view:nth-child(2){ transition-delay:.10s }
.reveal.in-view:nth-child(3){ transition-delay:.15s }
.reveal.in-view:nth-child(4){ transition-delay:.20s }

/* мини пояснения под секциите */
.prices .foot-notes{
  background:#F6FAF6;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  padding:12px 14px;
}

/* дребни козметики за таблицата вътре */
.price-list td:first-child{ font-weight:600; color:#223322; }
.price-list .price{ font-size:1.12rem; }

/* по-чисти spacing-и */
.prices .price-grid{ margin-top: 14px; gap: 16px; }
/* ============== PRICES — LAYOUT FIXES ============== */

/* 1) безопасно отстояние под фиксираната навигация */
body.pricing-page .prices-hero { padding-top: clamp(90px, 12vh, 140px); }

/* 2) чип лентата да НЕ е sticky (за да не реже) */
.price-cats{
  position: static !important;
  box-shadow: var(--shadow-sm);
  border-radius: 14px;
}

/* 3) картите да не режат рибъна и да имат „въздух“ */
.prices .price-card{ overflow: visible; padding-bottom: 6px; }
.price-card.has-ribbon::before{
  right: 12px;                 /* вътре в картата, не извън нея */
  top: 10px;
  border-radius: 999px;
}
.price-card .hd{ padding: 16px 18px; }
.price-card .bd{ padding: 12px 16px 8px; }

/* 4) VIP – светъл „glassy“, четим */
.price-card.vip{
  background: linear-gradient(180deg, rgba(186,215,185,.22), rgba(163,198,160,.12)) !important;
  border: 1px solid rgba(123,168,123,.45) !important;
  color: #1f2a1f !important;
  -webkit-backdrop-filter: blur(6px) saturate(120%);
  backdrop-filter: blur(6px) saturate(120%);
}
.price-card.vip .hd{ border-bottom:1px solid rgba(123,168,123,.28) !important; }
.price-card.vip .kind .tag{ background: rgba(123,168,123,.18) !important; color:#1f2a1f !important; }
.price-card.vip .muted, .price-card.vip .per{ color:#2b3b2b !important; }
/* shimmer рамката по-деликатна */
.price-card.vip::after{
  opacity:.45;
  animation: vipShine 4.2s linear infinite;
}

/* 5) по-високи карти и вертикален layout на цената */
.prices .price-grid{ gap: 18px; }
.p-line{
  display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
  padding:12px 0; border-bottom:1px dashed #E8EBE8;
}
.p-line:last-child{ border-bottom:0; }
.p-left{ font-weight:600; color:#223322; }
.p-right{ text-align:right; min-width: 120px; }
.p-price{ font-weight:800; font-size:1.15rem; line-height:1.1; white-space:nowrap; }
.p-per{ font-size:.92rem; color:#687868; margin-top:4px; }

/* бутоните по-стабилни долу */
.price-card .actions{ margin-top:auto; padding:14px 16px 18px; }

/* дребна козметика */
.prices .section-kicker{ margin-bottom: 6px; }
/* базов стил за линковете */
#siteNav .nav .nav-links a:not(.btn) {
  position: relative;
  display: inline-block;
  padding: 8px 16px;
  color: #000;                   /* текстът остава черен */
  font-weight: 600;
  text-decoration: none;
  z-index: 1;
}

/* четка отдолу (зелен цвят пълни маската) */
#siteNav .nav .nav-links a:not(.btn)::before {
  content: "";
  position: absolute;
  inset: -6px -10px;             /* малко по-голямо от текста */
  background: #7BA87B;           /* ТВОЯТ зелен */
  z-index: -1;
  opacity: .95;
  /* маска – PNG с ръбове на четка */
  -webkit-mask: url("/assets/brush/brush-1.png") center / 100% 100% no-repeat;
          mask: url("/assets/brush/brush-1.png") center / 100% 100% no-repeat;

  /* лек релийф за дълбочина */
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
  transition: transform .25s ease, opacity .25s ease;
}

#siteNav .nav .nav-links a:not(.btn):hover::before {
  transform: translateY(-1px) scale(1.02);
  opacity: 1;
}

/* активният таб – същото, просто гарантираме 100% видимост */
#siteNav .nav .nav-links a.is-active:not(.btn)::before,
#siteNav .nav .nav-links a[aria-current="page"]:not(.btn)::before {
  opacity: 1;
}

/* малко „разнообразие“ между табовете: различни четки/ъгли */
#siteNav .nav .nav-links a:not(.btn):nth-child(1)::before {
  -webkit-mask: url("/assets/brush/brush-1.png") center / 110% 100% no-repeat;
          mask: url("/assets/brush/brush-1.png") center / 110% 100% no-repeat;
  transform: rotate(-1deg);
}
#siteNav .nav .nav-links a:not(.btn):nth-child(2)::before {
  -webkit-mask: url("/assets/brush/brush-2.png") center / 105% 100% no-repeat;
          mask: url("/assets/brush/brush-2.png") center / 105% 100% no-repeat;
  transform: rotate(1.5deg);
}
#siteNav .nav .nav-links a:not(.btn):nth-child(3)::before {
  -webkit-mask: url("/assets/brush/brush-3.png") center / 115% 100% no-repeat;
          mask: url("/assets/brush/brush-3.png") center / 115% 100% no-repeat;
  transform: rotate(-2deg);
}
.form label{display:block;margin:10px 0;}
.form input{width:100%;padding:10px;border:1px solid #ddd;border-radius:10px;}
.form .btn{margin-top:8px}