/* ============================================================
   «СОН В ГУАШИ» — стилевой слой (стиль №6)
   Подключается ПОСЛЕ art-direction.css в strashnye-skazki-dream.html.
   Образ: вечер из анимационного фильма — глубокая бирюза и сосна,
   туман лентами, янтарные окна, плывущие огоньки. Мягко, округло, свеченье.
   ============================================================ */

:root{
  --dusk:#0c232b;       /* глубокие сумерки */
  --dusk-2:#123136;
  --teal:#1c4341;
  --verdigris:#4f8073;
  --mist:#dfe6e0;       /* светлые «туманные» секции, чуть серее */
  --mist-2:#d1dbd4;
  --panel:#eef2ec;
  --bg:var(--mist); --bg-2:var(--mist-2); --paper:var(--mist);
  --ink:#16292f;
  --dim:#4f6664;
  --amber:#cfa257;      /* приглушённый янтарь */
  --amber-hi:#e6c98a;
  --marigold:#c47a36;
  --violet:#4b4776;
  --cream:#ece2cb;
  --gold:#8e6a2a; --gold-hi:var(--amber-hi);
  --ember:#c4633a; --ember-hi:var(--marigold);
  --moss:#5f8a6a;
  --line:rgba(23,48,54,.16);
  --line-strong:rgba(23,48,54,.34);
  --forest:var(--dusk);
  --glow:0 10px 30px rgba(207,162,87,.22);
}

html{scroll-padding-top:104px}
body{
  background:var(--mist);color:var(--ink);font-size:1.0625rem;line-height:1.8;
}
/* рассеянные цветные свечения под всей страницей */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60vw 40vh at 8% 12%,rgba(79,128,115,.12),transparent 70%),
    radial-gradient(50vw 40vh at 92% 70%,rgba(207,162,87,.08),transparent 70%),
    radial-gradient(40vw 30vh at 50% 100%,rgba(75,71,118,.10),transparent 70%);
}
.grain{opacity:.035;mix-blend-mode:multiply}
::selection{background:var(--amber);color:var(--dusk)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:4px}

/* ---------- ШАПКА: полупрозрачные сумерки ---------- */
header{background:rgba(15,42,51,.86);border-bottom:1px solid rgba(243,233,210,.12);backdrop-filter:blur(18px) saturate(1.2);color:var(--cream)}
nav.links a{color:#d9e2d8}
nav.links a:hover{color:var(--amber-hi)}
nav.links a::after{background:var(--amber)}
.nav-cta{background:var(--amber);color:var(--dusk);border-radius:999px;padding:10px 22px;font-weight:600;box-shadow:0 6px 18px rgba(230,179,90,.35)}
.nav-cta:hover{background:var(--amber-hi);transform:translateY(-1px);box-shadow:0 10px 24px rgba(230,179,90,.45)}
.menu-toggle{color:var(--cream);border-color:rgba(243,233,210,.35);border-radius:999px}
@media(max-width:900px){nav.links{background:var(--dusk)}}

/* ---------- HERO: сон в лесу ---------- */
.hero{background:var(--dusk);color:var(--cream)}
.hero-art{filter:saturate(.72) brightness(.8) contrast(1.06);object-position:60% 55%;animation:heroZoom 70s ease-in-out infinite alternate}
.hero::before{
  background:
    linear-gradient(90deg,rgba(9,28,36,.86) 0%,rgba(9,28,36,.55) 36%,rgba(9,28,36,.14) 64%,rgba(9,28,36,.04) 82%),
    linear-gradient(180deg,rgba(9,28,36,.3),transparent 40%,rgba(9,28,36,.6) 100%),
    linear-gradient(0deg,rgba(18,49,58,.22),rgba(18,49,58,.22));
}
/* мягкий (не рваный) переход в туманную секцию */
.hero::after{
  height:140px;clip-path:none;
  background:linear-gradient(180deg,transparent,var(--mist));
}
.hero-mist{opacity:.85}
.hero-mist span{filter:blur(30px);background:radial-gradient(ellipse at 22% 62%,rgba(178,203,206,.42),transparent 34%),radial-gradient(ellipse at 56% 43%,rgba(186,212,214,.46),transparent 40%),radial-gradient(ellipse at 83% 60%,rgba(160,190,196,.30),transparent 30%)}
/* огоньки-духи */
.hero-scene{z-index:1}
.mote{animation:dreamMote 11s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(230,201,138,.8)) drop-shadow(0 0 9px rgba(207,162,87,.45))}
@keyframes dreamMote{0%,100%{transform:translate(0,0);opacity:.1}25%{opacity:.75}50%{transform:translate(14px,-42px);opacity:.5}75%{opacity:.7}}
.hero-kicker{color:var(--amber-hi);font-weight:500;letter-spacing:.08em}
.hero-place{color:#dfe6da}
.hero-logo{filter:drop-shadow(0 0 22px rgba(245,214,142,.28)) drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.hero-sub{color:#f4efdf;font-weight:400;font-size:clamp(1.45rem,2.3vw,1.9rem);line-height:1.35}
.hero .btn-primary{background:var(--amber);color:var(--dusk);box-shadow:var(--glow)}
.hero .btn-primary:hover{background:var(--amber-hi);box-shadow:0 14px 34px rgba(230,179,90,.42)}
.hero .btn-text{color:#f4efdf;border-color:rgba(244,239,223,.5)}
.hero .btn-text:hover{color:var(--amber-hi);border-color:var(--amber-hi)}
.hero-tags{color:#d7dfd2}
.hero-tags span+span::before{color:var(--amber)}

/* ---------- ОБЩИЕ: округлые кнопки со свечением ---------- */
.btn-primary,.btn-gold,.btn-ghost{border-radius:999px;font-weight:600;padding:14px 28px;transition:all .22s}
.btn-primary,.btn-gold{background:var(--dusk);color:var(--cream);box-shadow:0 8px 22px rgba(15,42,51,.25)}
.btn-primary:hover,.btn-gold:hover{background:var(--teal);transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,42,51,.3)}
.btn-ghost{border:1.5px solid var(--dusk);color:var(--dusk)}
.btn-ghost:hover{background:var(--dusk);color:var(--cream)}
.btn-text{color:var(--dusk);border-bottom:1px solid var(--line-strong)}
.btn-text:hover{color:var(--ember)}

.chapter-label{color:var(--verdigris);letter-spacing:.16em;text-transform:uppercase;font-weight:600;font-size:.8rem}
.chapter-title{color:var(--dusk);font-weight:500}
.chapter-head .rule{height:1px;background:linear-gradient(90deg,var(--verdigris),transparent);opacity:.7}
.section-lede{color:var(--dim);font-size:1.05rem}

/* ---------- ГЛАВА I ---------- */
#concept{background:transparent}
.concept-text p{color:#2c4448}
.concept-text p:first-of-type::first-letter{color:var(--marigold);font-weight:500}
.concept-text .story-line{color:var(--dusk)}
.pillar h4{color:var(--dusk)}
.season-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.season-strip-label{color:var(--verdigris);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.aud .tag{color:var(--verdigris);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}
.aud h4{color:var(--dusk)}

/* ---------- ГЛАВА II: сумерки, светящиеся арки ---------- */
#legends{
  background:
    radial-gradient(70vw 50vh at 20% 20%,rgba(79,128,115,.16),transparent 70%),
    radial-gradient(60vw 40vh at 85% 90%,rgba(196,122,54,.09),transparent 70%),
    linear-gradient(180deg,var(--dusk-2),var(--dusk));
  color:var(--cream);padding-top:0;padding-bottom:110px;
}
#legends>.world-panorama{
  margin-top:0;height:clamp(260px,38vw,520px);
  filter:saturate(.7) brightness(.82) contrast(1.04);mix-blend-mode:normal;object-position:center 45%;
  mask-image:linear-gradient(transparent,#000 8%,#000 78%,transparent);
}
#legends .chapter-label{color:var(--amber)}
#legends .chapter-title{color:var(--cream)}
#legends .chapter-head .rule{background:linear-gradient(90deg,var(--amber),transparent)}
#legends .section-lede{color:#d5ddd1}
.legend-art{
  border-radius:46% 46% 22px 22px;height:290px;filter:saturate(.74) brightness(.86) contrast(1.04);
  box-shadow:0 24px 50px rgba(0,0,0,.42),0 0 0 1px rgba(243,233,210,.10),0 0 40px rgba(230,179,90,.10);
  transition:transform .45s cubic-bezier(.3,1.3,.5,1),box-shadow .35s;
}
.legend-row:hover .legend-art{filter:saturate(.85) brightness(.94) contrast(1.03);transform:translateY(-8px);box-shadow:0 34px 60px rgba(0,0,0,.5),0 0 0 1px rgba(243,233,210,.18),0 0 60px rgba(230,179,90,.28)}
.legend-row:nth-child(1){--world-tone:var(--amber-hi)}
.legend-row:nth-child(2){--world-tone:#a7c9d6}
.legend-row:nth-child(3){--world-tone:#f0a86a}
.legend-content .sub{color:var(--world-tone);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}
.legend-content h4{color:var(--cream)}
.legend-content p{color:#d5ddd1}
.legend-num{display:none!important}  /* номера 01–02–03 на картинках легенд убраны */
.world-link{color:var(--cream);border-bottom-color:rgba(243,233,210,.4)}
.world-link:hover{color:var(--amber-hi);border-bottom-color:var(--amber-hi)}

.world-slavic{background-image:url('art/dream-slavic.jpg');background-position:50% 55%}
.world-celtic{background-image:url('art/dream-celtic.jpg');background-position:50% 50%}
.world-latam{background-image:url('art/dream-mexican.jpg');background-position:50% 50%}
.legend-art{background-size:cover;background-repeat:no-repeat}

/* ---------- ГЛАВА III: афиша в тумане ---------- */
#program{background:transparent}
.program-nav a{border:1px solid var(--line-strong);border-radius:999px;color:var(--dusk)}
.program-nav a:hover{background:var(--dusk);color:var(--cream);border-color:var(--dusk)}
.day-head{border-bottom-color:var(--line-strong)}
.day-head-num{color:var(--marigold)}
.day-head-title{color:var(--dusk)}
.show-card{
  background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.7);border-radius:26px;
  padding:34px 36px;margin-top:22px;box-shadow:0 12px 40px rgba(15,42,51,.08);backdrop-filter:blur(6px);
}
.show-card:hover{border-color:rgba(230,179,90,.55);box-shadow:0 16px 46px rgba(15,42,51,.12)}
.stamp{border:1px solid var(--line-strong);border-radius:999px;color:var(--dusk);background:rgba(255,255,255,.5)}
.p-culture{color:var(--verdigris)}
.show-title{color:var(--dusk)}
.show-by{color:#765720!important}
.show-body p{color:#2c4448}
.show-details summary{border-bottom-color:var(--line-strong);color:var(--dusk)}
.show-buy{border-top:1px solid var(--line)}
.show-gallery{gap:10px;transform:rotate(0);height:380px}
.show-card:nth-child(even) .show-gallery{transform:rotate(0)}
.show-shot{border-radius:18px;background:var(--dusk-2);box-shadow:0 10px 28px rgba(15,42,51,.22)}
.show-shot img,.show-card:hover .show-shot img{filter:saturate(.72) brightness(.86)}
.show-shot:hover img,.show-shot:focus-visible img{filter:saturate(.85) brightness(.94)}
.show-shot .shot-badge{background:rgba(15,42,51,.85);color:var(--cream);border-radius:999px}
.show-shot .shot-badge svg{stroke:var(--amber-hi)}
.note{color:var(--dim)}
.season-note{color:var(--dim)}

/* ---------- Билеты / Место ---------- */
#tickets{background:linear-gradient(180deg,var(--mist-2),var(--mist))}
.ticket-note{border-left:2px solid var(--verdigris)}
.ticket-note h4{color:var(--dusk)}
.ticket-note .tag{color:var(--verdigris);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}
#tickets .btn-gold{background:var(--amber);color:var(--dusk);box-shadow:var(--glow)}
#tickets .btn-gold:hover{background:var(--amber-hi)}

#venue{background:transparent}
.venue-box h3{color:var(--dusk)}
.venue-meta strong{color:var(--dusk)}
.venue-map{
  background:
    radial-gradient(60% 50% at 30% 20%,rgba(94,154,138,.35),transparent 70%),
    radial-gradient(50% 40% at 80% 90%,rgba(230,179,90,.25),transparent 70%),
    var(--dusk);
  color:var(--cream);border-radius:46% 46% 26px 26px;padding:52px 34px 40px;
  box-shadow:0 24px 50px rgba(15,42,51,.28),0 0 40px rgba(230,179,90,.12);
}
.venue-address{color:var(--cream)}
.venue-address small{color:#cfd9cf}
.venue-map figcaption{color:#cfd9cf}
.venue-map a{color:var(--amber-hi);border-bottom-color:rgba(245,214,142,.5)}

/* ---------- ФИНАЛ: мостик, фонарь, луна ---------- */
.cta-band{
  background-color:var(--dusk);
  background-image:url('art/dream-farewell.jpg');
  background-size:cover;background-position:center 55%;background-repeat:no-repeat;
  color:var(--cream);padding:130px 0;border:0;
}
.cta-band::before{
  background:
    linear-gradient(90deg,rgba(9,28,36,.86) 0%,rgba(9,28,36,.5) 45%,rgba(9,28,36,.14) 75%),
    linear-gradient(180deg,var(--mist) 0%,rgba(223,230,224,0) 14%,transparent 60%,rgba(9,28,36,.6) 100%),
    linear-gradient(0deg,rgba(18,49,58,.25),rgba(18,49,58,.25));
}
.cta-band h2{color:var(--cream)}
.cta-band h2 em{color:var(--amber-hi)}
.cta-band p{color:#dfe6da}
.cta-band .btn-gold{background:var(--amber);color:var(--dusk);box-shadow:var(--glow)}
.cta-band .btn-gold:hover{background:var(--amber-hi)}
.cta-moon{display:none}

/* ---------- Подвал ---------- */
footer{background:#0b2128;color:#c9d3c8;border-top:1px solid rgba(243,233,210,.08)}
.footer-grid h5{color:var(--amber-hi)}
.footer-grid a{color:#d5ddd1}
.footer-grid a:hover{color:var(--amber-hi)}
.footer-bottom{border-top:1px solid rgba(201,211,200,.18)}

/* ---------- Лайтбокс ---------- */
.lb{--ink:var(--cream);--dim:#cfd9cf;--gold:var(--amber-hi);background:rgba(11,32,40,.96)}
.lb-btn{background:var(--dusk-2);border-color:#4e6b6a;color:var(--cream);border-radius:999px}
.lb-dot{border-bottom-color:#4e6b6a}
.lb-dot.on{border-color:var(--amber)}

/* ---------- Адаптив ---------- */
@media(max-width:1100px){.legend-art{height:240px}.show-card{padding:26px 24px}}
@media(max-width:900px){
  .legend-art{height:200px}
  .hero::before{background:linear-gradient(90deg,rgba(11,32,40,.9),rgba(11,32,40,.5) 62%,rgba(11,32,40,.12)),linear-gradient(0deg,rgba(11,32,40,.7),transparent 60%)}
}
@media(max-width:680px){
  .hero::before{background:linear-gradient(180deg,rgba(11,32,40,.9),rgba(11,32,40,.6) 45%,rgba(11,32,40,.1) 78%,rgba(11,32,40,.55))}
  .legend-art{width:100px;height:150px;border-radius:50% 50% 12px 12px;box-shadow:0 12px 26px rgba(0,0,0,.4)}
  .show-card{padding:22px 18px;border-radius:20px}
  .show-shot{border-radius:12px}
  .venue-map{border-radius:50% 50% 20px 20px}
  #legends{padding-bottom:70px}
}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none}.mote{animation:none;opacity:.5}}

/* ============================================================
   ТУМАН — вернуть и усилить (входной + постоянный + межсекционный)
   ============================================================ */
/* входной туман: голубовато-серый, заметнее на притушенном hero */
.entry-fog{opacity:1;mix-blend-mode:screen}
.entry-fog .fog-wisp{
  filter:blur(24px);
  background:
    radial-gradient(ellipse at 11% 62%,rgba(198,216,218,.62) 0 9%,rgba(160,186,190,.28) 23%,transparent 48%),
    radial-gradient(ellipse at 34% 38%,rgba(196,214,214,.56) 0 8%,rgba(160,184,188,.26) 25%,transparent 50%),
    radial-gradient(ellipse at 58% 67%,rgba(190,212,214,.62) 0 10%,rgba(152,180,186,.26) 26%,transparent 51%),
    radial-gradient(ellipse at 79% 35%,rgba(200,216,216,.56) 0 8%,rgba(158,186,192,.22) 24%,transparent 48%),
    radial-gradient(ellipse at 94% 63%,rgba(186,208,210,.48) 0 7%,rgba(154,180,186,.20) 22%,transparent 45%);
}
.entry-fog .fog-wisp:nth-child(1){--o:.62;--os:.34}
.entry-fog .fog-wisp:nth-child(2){--o:.48;--os:.25}
.entry-fog .fog-wisp:nth-child(3){--o:.36;--os:.19}
.entry-fog .fog-wisp:nth-child(4){--o:.54;--os:.28}
.entry-fog .fog-wisp:nth-child(5){--o:.30;--os:.16}
.entry-fog .fog-wisp:nth-child(6){--o:.44;--os:.22}

/* постоянная дымка над легендами и финалом */
#legends,.cta-band{position:relative}
#legends::before,.cta-band::after{
  content:"";display:block;position:absolute;inset:0;height:auto;z-index:1;pointer-events:none;overflow:hidden;
  mix-blend-mode:screen;opacity:.5;
  background:
    radial-gradient(60% 34% at 18% 70%,rgba(178,203,206,.36),transparent 70%),
    radial-gradient(70% 30% at 70% 40%,rgba(186,212,214,.30),transparent 70%),
    radial-gradient(50% 26% at 45% 88%,rgba(160,190,196,.26),transparent 70%);
  background-size:160% 100%;
  animation:sectionMist 80s ease-in-out infinite alternate;
}
.cta-band::after{opacity:.42;animation-duration:96s;animation-direction:alternate-reverse}
#legends .wrap,#legends>.world-panorama,.cta-band .wrap{position:relative;z-index:2}
#legends>.world-panorama{z-index:0}
@keyframes sectionMist{
  0%{background-position:0% 50%;opacity:.32}
  40%{opacity:.55}
  100%{background-position:100% 50%;opacity:.4}
}
@media(prefers-reduced-motion:reduce){#legends::before,.cta-band::after{animation:none;opacity:.3}}

/* ---------- Огоньки-духи на весь сайт (canvas) ---------- */
.spirit-lights{
  position:fixed;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;
  mix-blend-mode:screen;opacity:.7;
}
/* в hero свои SVG-огоньки больше не нужны — их заменяет общий слой */
.hero-scene{display:none}
@media(prefers-reduced-motion:reduce){.spirit-lights{display:none}}

/* ---------- Галерея с афишей: афиша слева во всю высоту, 4 фото сеткой справа ---------- */
/* ширина колонки афиши = высота × 0,8, чтобы афиша 4:5 была видна целиком */
.gallery-poster{
  --gh:420px;
  grid-template-columns:calc(var(--gh) * .8) minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);height:var(--gh);
}
.gallery-poster .show-shot:first-child{grid-column:1;grid-row:1 / -1}
.gallery-poster .shot-poster img{object-position:center top;filter:none}
.show-card:hover .gallery-poster .shot-poster img{filter:none}
.gallery-poster .shot-poster:hover img{transform:scale(1.03)}
@media(max-width:1100px){.gallery-poster{--gh:360px}}
@media(max-width:900px){.gallery-poster{--gh:320px}}
@media(max-width:680px){
  .gallery-poster{height:auto;grid-template-columns:1.1fr 1fr;grid-template-rows:auto;gap:8px}
  .gallery-poster .show-shot:first-child{grid-column:1;grid-row:1 / 3;aspect-ratio:4/5}
  .gallery-poster .show-shot{aspect-ratio:1/1}
  .gallery-poster .show-shot:nth-child(4),.gallery-poster .show-shot:nth-child(5){grid-column:span 1}
}
/* вариант: афиша + 3 фото (справа одно крупное сверху, два снизу) */
.gallery-poster-3 .show-shot:nth-child(2){grid-column:2 / 4;grid-row:1}
@media(max-width:680px){.gallery-poster-3 .show-shot:nth-child(2){grid-column:2;grid-row:auto}}
/* длинное название: первая часть — тихая строка над основной */
.show-title .title-pre{display:block;font-style:italic;font-weight:400;font-size:.58em;line-height:1.2;color:var(--dim);margin-bottom:.1em}
/* пояснение-сноска внутри описания */
.show-gloss{font-size:.9em;color:var(--dim);border-left:2px solid var(--amber);padding-left:14px;font-style:italic}
.show-gloss b{font-style:normal;color:var(--ink);font-weight:600}
/* вариант: афиша + 2 иллюстрации (столбиком справа) */
.gallery-poster-2{grid-template-columns:calc(var(--gh) * .8) minmax(0,1fr)}
@media(max-width:680px){.gallery-poster-2{grid-template-columns:1.1fr 1fr}}
.gallery-poster-2 .show-shot:nth-child(2){grid-column:2;grid-row:1}
.gallery-poster-2 .show-shot:nth-child(3){grid-column:2;grid-row:2}

/* кнопки Ticketscloud: один или два сеанса */
.tc-buttons{display:flex;flex-wrap:wrap;gap:10px}
.tc-buttons .btn-primary{margin:0;cursor:pointer;border:0;font:inherit}
/* скрипт Ticketscloud вешает на button[data-tc-event] свой кислотно-зелёный стиль и строчные буквы — возвращаем кнопки сайта */
.tc-buttons button.tc-buy[data-tc-event]{background:var(--dusk)!important;color:var(--cream)!important;text-transform:none!important;
  border:0!important;border-radius:999px!important;padding:14px 28px!important;font:600 1rem/1.4 "Golos Text",Arial,sans-serif!important;
  letter-spacing:0!important;box-shadow:0 8px 22px rgba(15,42,51,.25)!important;text-shadow:none!important;height:auto!important;min-height:48px;width:auto!important}
.tc-buttons button.tc-buy[data-tc-event]:hover,.tc-buttons button.tc-buy[data-tc-event]:focus-visible{background:var(--teal)!important;transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,42,51,.3)!important}

/* сеансы «только по приглашениям» (11:00): кнопка-ссылка на форму заявки для многодетных семей */
.tc-buttons a.tc-buy.tc-invite{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;
  background:transparent!important;color:var(--ink)!important;border:1.5px solid var(--amber)!important;
  border-radius:999px!important;padding:9px 26px!important;font:600 1rem/1.3 "Golos Text",Arial,sans-serif!important;box-shadow:none!important;cursor:pointer;min-height:48px}
.tc-buttons a.tc-buy.tc-invite small{text-align:center;font-weight:500;font-size:.78rem;color:var(--dim);letter-spacing:.01em}
.tc-buttons a.tc-buy.tc-invite:hover,.tc-buttons a.tc-buy.tc-invite:focus-visible{background:var(--amber)!important;color:var(--dusk)!important;transform:translateY(-2px)}
.tc-buttons a.tc-buy.tc-invite:hover small,.tc-buttons a.tc-buy.tc-invite:focus-visible small{color:var(--dusk)}
/* подвал: © Вереск */
.footer-copy{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.footer-copy a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(201,211,200,.35)}
.footer-copy a:hover{color:var(--amber-hi);border-color:var(--amber-hi)}
.footer-copy a.footer-veresk{border:0;display:inline-flex;opacity:.85}
.footer-copy a.footer-veresk:hover{opacity:1}
.footer-copy img{height:22px;width:auto;display:block}

/* ---------- Галереи на телефоне: афиша во всю ширину, под ней ровная сетка квадратов ---------- */
/* если фото нечётное число — последнее растягивается на всю ширину (2:1), чтобы не оставалось дыр */
@media(max-width:680px){
  .show-card .show-gallery.gallery-poster{
    display:grid;height:auto!important;min-height:0!important;padding:0!important;overflow:visible;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:none!important;grid-auto-rows:auto!important;
    gap:8px!important;align-content:start;transform:none!important;background:none!important;border:0!important;
  }
  .show-card .gallery-poster .show-shot{grid-column:auto!important;grid-row:auto!important;aspect-ratio:1/1;width:100%;height:auto;min-height:0}
  .show-card .gallery-poster .show-shot:first-child{grid-column:1 / -1!important;aspect-ratio:4/5}
  .show-card .gallery-poster .show-shot:last-child:nth-child(even){grid-column:1 / -1!important;aspect-ratio:2/1}
  .show-card .gallery-poster .show-shot img{width:100%;height:100%;object-fit:cover}
}


/* =====================================================================
   ПРОИЗВОДИТЕЛЬНОСТЬ НА ТЕЛЕФОНАХ: убираем то, что заставляет браузер
   перерисовывать весь экран на каждом кадре прокрутки
   ===================================================================== */
.hero-off .hero-art,.hero-off .hero-mist span{animation-play-state:paused!important}
/* входной туман на телефонах: не «приклеен» к экрану (iPhone неверно считал его высоту — отсюда
   плашка с резким краем), а лежит поверх первого экрана, уезжает вместе со страницей и мягко
   растворяется снизу. Когда первый экран ушёл из виду — слой убирается скриптом. */
@media (hover:none),(pointer:coarse),(max-width:900px){
  .entry-fog{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;
    height:100vh;height:100lvh;min-height:760px;
    -webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
}
@media (hover:none),(pointer:coarse),(max-width:900px){
  .grain{display:none!important}                                   /* зерно с наложением на весь экран */
  .spirit-lights{mix-blend-mode:normal!important;opacity:.55}      /* огоньки без смешивания с тем, что под ними */
  header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(15,42,51,.97)!important}
  #legends::before,.cta-band::after{animation:none!important;mix-blend-mode:normal!important;opacity:.35!important}
  .hero-art{animation:none!important}                              /* медленный зум большой картинки */
  .show-shot img{transition:none}
  .show-card .show-gallery{contain:layout paint}
}

/* iOS Safari: фиксированные слои во весь экран считаются по «маленькому» вьюпорту,
   и когда адресная строка прячется, снизу остаётся полоса без свечения — «плашка отрывается».
   Растягиваем их на большой вьюпорт (lvh) и прибиваем к верху, а не к низу. */
body::before,.grain,.spirit-lights{top:0!important;bottom:auto!important;height:100vh!important;height:100lvh!important}


/* =====================================================================
   ШЛИФОВКА (QA): раскладка карточек сеансов по ширине экрана,
   лёгкие картинки для телефонов, удобные нажатия
   ===================================================================== */

/* Компьютер (>1100): текст слева, справа афиша + 2 кадра столбиком.
   Остальные фото не теряются — они в просмотрщике, на третьем кадре метка «+N». */
@media(min-width:1101px){
  .show-card{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)!important}
  .gallery-poster,.gallery-poster-2,.gallery-poster-3{grid-template-columns:calc(var(--gh) * .8) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important}
  .gallery-poster .show-shot:nth-child(2){grid-column:2!important;grid-row:1!important}
  .gallery-poster .show-shot:nth-child(3){grid-column:2!important;grid-row:2!important}
  .gallery-poster .show-shot:nth-child(n+4){display:none}
  .gallery-poster .show-shot:nth-child(3):not(:last-child)::after{
    position:absolute;right:10px;bottom:10px;padding:4px 11px;border-radius:999px;
    background:rgba(12,35,43,.82);color:var(--cream);font:600 .85rem/1.3 "Golos Text",Arial,sans-serif;pointer-events:none}
  .gallery-poster .show-shot:nth-child(3):nth-last-child(2)::after{content:"+1 фото"}
  .gallery-poster .show-shot:nth-child(3):nth-last-child(3)::after{content:"+2 фото"}
  .gallery-poster .show-shot:nth-child(3):nth-last-child(4)::after{content:"+3 фото"}
}
/* Планшет (681–1100): карточка в одну колонку — сначала текст, под ним галерея во всю ширину */
@media(min-width:681px) and (max-width:1100px){
  .show-card{grid-template-columns:minmax(0,1fr)!important}
  .show-card .show-gallery{border-left:0}
}

/* Телефоны: лёгкие версии больших иллюстраций (900 px вместо 1600 px) */
@media(max-width:680px){
  .world-slavic{background-image:url('art/m/dream-slavic.jpg')}
  .world-celtic{background-image:url('art/m/dream-celtic.jpg')}
  .world-latam{background-image:url('art/m/dream-mexican.jpg')}
  .cta-band{background-image:url('art/m/dream-farewell.jpg')}
}

/* Сенсорные экраны: ссылки в подвале — с запасом по высоте, чтобы попадать пальцем */
@media (hover:none),(pointer:coarse){
  .footer-grid a{display:block;padding-block:8px}
  .footer-copy a.footer-veresk{padding-block:6px}
}

/* Контраст текста на светлых секциях (проверено по WCAG: мелкий текст ≥ 4.5, крупный ≥ 3) —
   те же оттенки палитры, чуть глубже, чтобы читалось на солнце и на дешёвых экранах */
.show-price{color:#7a5a22!important}
.show-price span{color:var(--dim)}
:is(.chapter-label,.season-strip-label,.tag,.p-culture):not(#legends *):not(.cta-band *):not(.hero *):not(footer *){color:#3b6559}
.day-head-num{color:#a8622a}
