/* Живая сезонная атмосфера поверх всего сайта: свечение по краям + частицы.
   Крем-фон сайта сохраняется; слой не перехватывает клики. */
.bd-atmos{ position:fixed; inset:0; z-index:60; pointer-events:none; overflow:hidden; }

/* Свечение: тон по краям/сверху, центр (где контент) чище */
.bd-atmos__glow{ position:absolute; inset:0; }
.bd-atmos.season-winter .bd-atmos__glow{ background:
  radial-gradient(125% 80% at 50% -12%, rgba(150,190,225,.42), transparent 58%),
  radial-gradient(75% 60% at 100% 110%, rgba(180,205,230,.26), transparent 62%); }
.bd-atmos.season-spring .bd-atmos__glow{ background:
  radial-gradient(125% 80% at 50% -12%, rgba(150,196,128,.38), transparent 58%),
  radial-gradient(75% 60% at 0% 110%, rgba(214,196,176,.22), transparent 62%); }
.bd-atmos.season-summer .bd-atmos__glow{ background:
  radial-gradient(125% 80% at 50% -12%, rgba(245,200,120,.40), transparent 58%),
  radial-gradient(75% 60% at 100% 110%, rgba(240,210,150,.24), transparent 62%); }
.bd-atmos.season-autumn .bd-atmos__glow{ background:
  radial-gradient(125% 80% at 50% -12%, rgba(210,140,70,.42), transparent 58%),
  radial-gradient(75% 60% at 0% 110%, rgba(180,110,60,.24), transparent 62%); }

/* Частицы — заметные, но спокойные */
.bd-atmos__particles{ position:absolute; inset:0; }
.bd-atmos__particles .p{ position:absolute; top:-8%; opacity:0; will-change:transform,opacity;
  animation-timing-function:linear; animation-iteration-count:1; animation-fill-mode:forwards; }
.bd-atmos.season-winter .p{ color:rgba(196,222,245,.95); font-size:14px; line-height:1;
  text-shadow:0 0 6px rgba(120,160,205,.7);
  animation-name:bd-a-sway; }
.bd-atmos.season-winter .p::before{ content:"\2745"; } /* ❅ снежинка */
.bd-atmos.season-spring .p{ color:rgba(240,168,196,.92); font-size:14px; line-height:1;
  text-shadow:0 0 5px rgba(220,150,180,.4);
  animation-name:bd-a-sway; }
.bd-atmos.season-spring .p::before{ content:"\2740"; } /* ❀ лепесток/цветок */
.bd-atmos.season-summer .p{ width:12px;height:12px;
  background:linear-gradient(135deg,#8fae5a,#5f7d39);
  border-radius:0 100% 0 100%;   /* зелёный листок */
  animation-name:bd-a-sway; }
.bd-atmos.season-summer .p::before{ content:""; position:absolute; left:50%; top:12%;
  width:1px; height:76%; background:rgba(240,250,225,.55); transform:translateX(-50%); } /* прожилка */
.bd-atmos.season-summer .p::after{ content:""; position:absolute; left:50%; bottom:-4px;
  width:1.5px; height:5px; background:#4d6630; transform:translateX(-50%); border-radius:1px; } /* черешок */
.bd-atmos.season-autumn .p{ width:12px;height:12px;
  border-radius:0 100% 0 100%;   /* лист (острые кончики по диагонали) */
  animation-name:bd-a-sway; }
.bd-atmos.season-autumn .p::before{ content:""; position:absolute; left:50%; top:12%;
  width:1px; height:76%; background:rgba(255,236,212,.5); transform:translateX(-50%); } /* прожилка */
.bd-atmos.season-autumn .p::after{ content:""; position:absolute; left:50%; bottom:-4px;
  width:1.5px; height:5px; background:#6f4420; transform:translateX(-50%); border-radius:1px; } /* черешок */
.bd-atmos.season-autumn .p:nth-child(3n)  { background:linear-gradient(135deg,#d98a33,#b5641f); } /* янтарь */
.bd-atmos.season-autumn .p:nth-child(3n+1){ background:linear-gradient(135deg,#c25a2a,#8f3b18); } /* рыжий */
.bd-atmos.season-autumn .p:nth-child(3n+2){ background:linear-gradient(135deg,#caa23e,#9c7320); } /* золотой */

@keyframes bd-a-sway{ 0%{transform:translate(0,0) rotate(0);opacity:0} 12%{opacity:.9} 88%{opacity:.9} 100%{transform:translate(50px,108vh) rotate(300deg);opacity:0} }

@media (prefers-reduced-motion:reduce){ .bd-atmos__particles{ display:none; } }

/* ── Сезонная «кучка» на CTA: ПОСТЕПЕННО копится, при скролле вниз осыпается ──
   (leaf-cta.js). Снег — мягкая шапка растёт scaleY; листья — SVG, оседают по одному. */
.bd-cap{ position:absolute; left:6px; right:6px; pointer-events:none; z-index:3; }

/* Снег: мягкая шапка с комками; растёт снизу вверх (scaleY от 0 к 1) */
.bd-cap--snow{ top:5px; height:11px; transform-origin:50% 100%; transform:scaleY(0); opacity:0;
  border-radius:9px 9px 5px 5px; background:linear-gradient(#ffffff,#eaf2fb);
  box-shadow:0 2px 5px rgba(90,120,160,.28), inset 0 -2px 3px rgba(175,200,232,.55);
  transition:transform .4s ease-out, opacity .4s ease-out; }
.bd-cap--snow > i, .bd-cap--snow::before, .bd-cap--snow::after{ content:""; position:absolute;
  top:-5px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(120,150,190,.18); }
.bd-cap--snow::before{ left:16%; width:20px; height:15px; }
.bd-cap--snow::after{ right:20%; width:26px; height:16px; }
.bd-cap--snow > i{ left:46%; width:22px; height:15px; }

/* Листья: реалистичный SVG-лист, появляется по одному с «оседанием» */
.bd-cap--leaf{ top:-5px; height:18px; }
.bd-cap-leaf{ position:absolute; bottom:0; width:18px; height:23px; transform-origin:50% 100%;
  opacity:0; transform:translateY(-8px) scale(.45) rotate(var(--rot,0deg));
  transition:transform .5s cubic-bezier(.34,1.45,.64,1), opacity .35s ease;
  filter:drop-shadow(0 1.5px 1.5px rgba(45,30,10,.34)); }
.bd-cap-leaf.is-in{ opacity:1; transform:translateY(0) scale(1) rotate(var(--rot,0deg)); }
.bd-cap-leaf svg{ display:block; width:100%; height:100%; }

/* Осыпающиеся частицы (position:fixed, падают по вьюпорту) */
.bd-shed{ position:fixed; z-index:61; pointer-events:none; will-change:transform,opacity; }
.bd-shed--snow{ width:7px; height:7px; border-radius:50%;
  background:radial-gradient(circle at 40% 35%, #fff, #d7e6f6); box-shadow:0 0 4px rgba(150,185,225,.6); }
.bd-shed--leaf{ width:18px; height:23px; filter:drop-shadow(0 1.5px 1.5px rgba(45,30,10,.34)); }
.bd-shed--leaf svg{ display:block; width:100%; height:100%; }

@media (prefers-reduced-motion:reduce){ .bd-cap, .bd-shed{ display:none; } }

/* Сезонный акцент на мелочах (НЕ на бренд-кнопках) */
body.season-winter { --bd-accent:#6f97b8; }  /* прохладный сине-стальной */
body.season-spring { --bd-accent:#7fa653; }  /* свежий зелёный */
body.season-summer { --bd-accent:#d2a23a; }  /* тёплое золото */
body.season-autumn { --bd-accent:#b5651f; }  /* янтарь/рыжина */
body { --bd-accent:#9b6b43; }                /* фолбэк = брендовое дерево */

/* применяем только к мелочам: лейблы секций, подчёркивание ссылок-навигации/футера */
.section-label { color:var(--bd-accent); }
.header__nav a:hover::after { background:var(--bd-accent); }
.footer__contacts a:hover, .footer__nav a:hover { color:var(--bd-accent); }

/* ── Пар в герое ────────────────────────────────────────────────────── */
.hero{ position:relative; }
.hero__steam{ position:absolute; left:0; right:0; bottom:0; height:70%;
  pointer-events:none; overflow:hidden; z-index:0; }
.hero__inner{ position:relative; z-index:1; }   /* контент героя над паром */
.hero__steam-puff{ position:absolute; bottom:-10%; width:240px; height:240px;
  border-radius:50%; background:radial-gradient(circle at 50% 50%,
    rgba(255,255,255,.20), rgba(255,255,255,.07) 45%, transparent 70%);
  filter:blur(14px); opacity:0; will-change:transform,opacity;
  animation:bd-steam 11s ease-in infinite; }
.hero__steam-puff:nth-child(1){ left:12%; animation-delay:0s; }
.hero__steam-puff:nth-child(2){ left:46%; width:300px; height:300px; animation-delay:3.5s; }
.hero__steam-puff:nth-child(3){ left:74%; width:210px; height:210px; animation-delay:7s; }
@keyframes bd-steam{
  0%{ transform:translateY(0) scale(.8); opacity:0; }
  20%{ opacity:.18; }
  70%{ opacity:.12; }
  100%{ transform:translateY(-150px) scale(1.25); opacity:0; }
}
@media (max-width:700px){ .hero__steam-puff:nth-child(3){ display:none; }
  .hero__steam-puff{ width:180px; height:180px; } }
@media (prefers-reduced-motion:reduce){ .hero__steam-puff{ animation:none; opacity:.08; } }

/* ── Тепло от печи на карточках бани/парений ────────────────────────── */
.bd-warm{ position:relative; }
.bd-warm::before{ content:""; position:absolute; inset:-2px; border-radius:inherit;
  pointer-events:none; z-index:0; opacity:.5;
  background:radial-gradient(120% 90% at 50% 115%,
    rgba(214,140,60,.40), rgba(190,110,50,.16) 45%, transparent 70%);
  animation:bd-warm-pulse 6s ease-in-out infinite; }
.bd-warm > *{ position:relative; z-index:1; }   /* контент над свечением */
.bd-warm:hover::before{ opacity:.72; }
@keyframes bd-warm-pulse{ 0%,100%{ opacity:.40; } 50%{ opacity:.62; } }
@media (prefers-reduced-motion:reduce){ .bd-warm::before{ animation:none; opacity:.5; } }
