/* Страница «Выходные с ведущим» (page-px-landing-weekend.php). Дополняет program-etalon.css. */
:root { --wk-ease: cubic-bezier(.22,.8,.26,1); --wk-pink: #f2a3bf; }
.wk-page .etl-section .section__title { max-width: 920px; }

/* ── Первый экран: студийный портрет, снег, пульс кнопки ─────────────── */
.wk-hero { background: #0a1f3f; }
.wk-hero__poster { width: 100%; height: 100%; object-fit: cover; object-position: 68% 30%; display: block; transform: scale(1.04); animation: etlKen 26s ease-in-out infinite alternate; }
.wk-hero__shade { background: linear-gradient(90deg, rgba(5,38,22,.92) 0%, rgba(5,38,22,.72) 38%, rgba(5,38,22,.18) 68%, rgba(5,38,22,.05) 100%), linear-gradient(180deg, rgba(5,38,22,.3) 0%, rgba(5,38,22,0) 35%, rgba(5,38,22,.8) 100%); }
.wk-hero__content { max-width: 700px; }
.wk-hero__title { font-size: 48px; }
.wk-hero__subtitle { max-width: 600px; }
.wk-snow { position: absolute; inset: 0; pointer-events: none; overflow: hidden; opacity: .55; }
.wk-snow i { position: absolute; top: -6%; width: 5px; height: 5px; border-radius: 50%; background: #fff; opacity: .7; filter: blur(.4px); animation: wkSnow linear infinite; }
@keyframes wkSnow { 0% { transform: translate3d(0,0,0); opacity: 0; } 10% { opacity: .8; } 100% { transform: translate3d(var(--dx, 20px), 110vh, 0); opacity: 0; } }
.wk-pulse { position: relative; }
.wk-pulse::after { content: ''; position: absolute; inset: -4px; border-radius: inherit; border: 2px solid rgba(193,56,99,.7); animation: wkPulse 2.4s ease-out infinite; pointer-events: none; }
@keyframes wkPulse { 0% { transform: scale(.96); opacity: .9; } 70% { transform: scale(1.12); opacity: 0; } 100% { opacity: 0; } }

/* ── Кто ведёт: портрет, счётчики, чипы СМИ ─────────────────────────── */
.wk-intro .etl-split__media img { object-position: 50% 18%; }
.wk-stats { list-style: none; margin: 10px 0 20px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.wk-stats li { padding: 16px 18px; border-radius: 16px; background: rgba(5,38,22,.04); border: 1px solid rgba(5,38,22,.08); opacity: 0; transform: translateY(16px); transition: opacity .7s var(--wk-ease), transform .7s var(--wk-ease); transition-delay: calc(var(--i, 0) * .12s); }
.is-in .wk-stats li, .wk-stats li.is-in { opacity: 1; transform: none; }
.wk-stats strong { display: block; font-family: Unbounded, sans-serif; font-weight: 600; font-size: 28px; line-height: 1; color: #c13863; }
.wk-stats b { display: inline-block; font-family: Unbounded, sans-serif; font-weight: 500; font-size: 13px; color: #052616; margin-top: 6px; }
.wk-stats span { display: block; font-family: 'Open Sans', Arial, sans-serif; font-size: 12.5px; line-height: 1.4; color: rgba(5,38,22,.65); margin-top: 4px; }
.wk-media { font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; color: rgba(5,38,22,.7); margin: 0 0 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.wk-media__chip { display: inline-block; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(5,38,22,.18); font-family: Unbounded, sans-serif; font-size: 11px; color: #052616; background: #fff; transition: transform .3s var(--wk-ease), background .3s, color .3s; }
.wk-media__chip:hover { background: #052616; color: #fff; transform: translateY(-2px); }

/* ── Что вы увезёте: наклон карточек ────────────────────────────────── */
.wk-take .services-r__item { transition: transform .4s var(--wk-ease), box-shadow .4s; transform-style: preserve-3d; }
.wk-take .services-r__item:hover { box-shadow: 0 30px 50px -30px rgba(5,38,22,.5); }

/* ── Для кого: самопроверка ─────────────────────────────────────────── */
.wk-who__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
.wk-check { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wk-check li { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--wk-ease), transform .6s var(--wk-ease); transition-delay: calc(var(--i, 0) * .08s); }
section.is-in .wk-check li { opacity: 1; transform: none; }
.wk-check__btn { width: 100%; display: flex; align-items: center; gap: 14px; text-align: left; padding: 16px 18px; border-radius: 16px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; line-height: 1.45; cursor: pointer; transition: background .3s, border-color .3s, transform .3s var(--wk-ease); }
.wk-check__btn:hover { background: rgba(255,255,255,.1); transform: translateY(-2px); }
.wk-check__btn[aria-pressed="true"] { background: rgba(193,56,99,.22); border-color: rgba(242,163,191,.7); }
.wk-check__box { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 8px; border: 2px solid rgba(255,255,255,.5); display: grid; place-items: center; transition: background .3s, border-color .3s; }
.wk-check__box svg { width: 14px; height: 14px; color: #fff; transform: scale(0); transition: transform .3s var(--wk-ease); }
.wk-check__btn[aria-pressed="true"] .wk-check__box { background: #c13863; border-color: #c13863; }
.wk-check__btn[aria-pressed="true"] .wk-check__box svg { transform: scale(1); }
.wk-verdict { margin-top: 22px; display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; padding: 18px 22px; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); transition: background .4s, border-color .4s; }
.wk-verdict.is-hot { background: rgba(193,56,99,.2); border-color: rgba(242,163,191,.6); }
.wk-verdict__count { font-family: Unbounded, sans-serif; font-size: 13px; color: rgba(255,255,255,.75); white-space: nowrap; }
.wk-verdict__count b { font-size: 26px; color: #fff; margin-right: 4px; display: inline-block; transition: transform .3s var(--wk-ease); }
.wk-verdict__count b.bump { animation: etlBump .4s var(--wk-ease); }
.wk-verdict__text { margin: 0; flex: 1 1 260px; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; line-height: 1.5; color: #fff; }
.wk-who__not { position: sticky; top: 90px; }
.wk-not { list-style: none; margin: 0 0 16px; padding: 0; }
.wk-not li { position: relative; padding-left: 28px; margin: 0 0 10px; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.85); }
.wk-not li::before, .wk-not li::after { content: ''; position: absolute; left: 4px; top: 10px; width: 14px; height: 2px; background: #f2a3bf; transform: rotate(45deg); }
.wk-not li::after { transform: rotate(-45deg); }
.wk-who__outro { margin: 0; font-family: Unbounded, sans-serif; font-weight: 400; font-size: 14px; line-height: 1.5; color: #fff; }

/* ── Почему редкость: липкий портрет + список ───────────────────────── */
.wk-rare__grid { display: grid; grid-template-columns: 380px 1fr; gap: 50px; align-items: start; }
.wk-rare__sticky { position: sticky; top: 90px; border-radius: 24px; overflow: hidden; background: #e9e9ea; box-shadow: 0 40px 60px -40px rgba(5,38,22,.5); }
.wk-rare__sticky img { width: 100%; height: auto; display: block; aspect-ratio: 3/4.6; object-fit: cover; object-position: 50% 10%; transform: translateY(var(--py, 0)); transition: transform .2s linear; }
.wk-rare__tag { position: absolute; left: 18px; right: 18px; bottom: 18px; padding: 10px 14px; border-radius: 12px; background: rgba(5,38,22,.8); backdrop-filter: blur(8px); color: #fff; font-family: Unbounded, sans-serif; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.wk-rare__list { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 14px; }
.wk-rare__item { display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: center; transition: transform .4s var(--wk-ease), box-shadow .4s, border-color .4s; }
.wk-rare__item:hover { transform: translateX(8px); border-color: rgba(193,56,99,.35); box-shadow: 0 24px 40px -30px rgba(193,56,99,.6); }
.wk-rare__big { font-family: Unbounded, sans-serif; font-weight: 600; font-size: 34px; line-height: 1; color: #c13863; letter-spacing: -.02em; }
.wk-rare__item .etl-h3 { margin-bottom: 8px; }
.wk-strip { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.wk-strip li { padding: 10px 16px; border-radius: 999px; background: #052616; color: #fff; font-family: Unbounded, sans-serif; font-size: 12px; opacity: 0; transform: translateY(10px) scale(.96); transition: opacity .5s var(--wk-ease), transform .5s var(--wk-ease); transition-delay: calc(var(--i, 0) * .07s); }
section.is-in .wk-strip li { opacity: 1; transform: none; }
.wk-strip li:nth-child(1) { background: #c13863; }
.wk-seats { display: inline-flex; gap: 5px; align-items: center; }
.wk-seats i { width: 10px; height: 14px; border-radius: 3px 3px 5px 5px; background: #c13863; opacity: .25; transform: scaleY(.6); transform-origin: bottom; transition: opacity .4s, transform .4s var(--wk-ease); transition-delay: calc(var(--i, 0) * .06s); }
.etl-cta.is-in .wk-seats i { opacity: 1; transform: none; }
.etl-cta.is-in .wk-seats i:nth-child(n+10) { opacity: .25; }
.wk-cta .etl-cta__btns { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }

/* ── Расписание: вкладки дней, фильтр, таймлайн ─────────────────────── */
.wk-sched__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.wk-tabs { display: flex; gap: 8px; }
.wk-tab { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; text-align: left; padding: 12px 18px; border-radius: 16px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; cursor: pointer; transition: background .3s, border-color .3s, transform .3s var(--wk-ease); }
.wk-tab:hover { background: rgba(255,255,255,.12); transform: translateY(-2px); }
.wk-tab.is-on { background: #c13863; border-color: #c13863; box-shadow: 0 16px 30px -14px rgba(193,56,99,.9); }
.wk-tab__num { grid-row: span 2; font-family: Unbounded, sans-serif; font-weight: 600; font-size: 22px; opacity: .55; }
.wk-tab.is-on .wk-tab__num { opacity: 1; }
.wk-tab__name { font-family: Unbounded, sans-serif; font-size: 14px; }
.wk-tab__stage { font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; opacity: .75; }
.wk-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; color: #fff; user-select: none; }
.wk-switch__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.wk-switch__track { width: 44px; height: 24px; border-radius: 999px; background: rgba(255,255,255,.25); position: relative; transition: background .3s; flex: 0 0 44px; }
.wk-switch__track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .3s var(--wk-ease); }
.wk-switch__input:checked + .wk-switch__track { background: #c13863; }
.wk-switch__input:checked + .wk-switch__track::after { transform: translateX(20px); }
.wk-switch__input:focus-visible + .wk-switch__track { outline: 2px solid #fff; outline-offset: 2px; }
.wk-day { display: none; }
.wk-day.is-on { display: block; animation: etlUp .6s var(--wk-ease) both; }
.wk-day__desc { font-family: 'Open Sans', Arial, sans-serif; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.85); max-width: 760px; margin: 0 0 24px; }
.wk-tl { list-style: none; margin: 0; padding: 0; position: relative; }
.wk-tl::before { content: ''; position: absolute; left: 95px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(180deg, rgba(255,255,255,.25), rgba(255,255,255,.08)); }
.wk-tl__item { display: grid; grid-template-columns: 72px 48px 1fr; gap: 0 18px; align-items: start; padding: 10px 0; opacity: 0; transform: translateX(-16px); transition: opacity .5s var(--wk-ease), transform .5s var(--wk-ease), max-height .4s; transition-delay: calc(var(--i, 0) * .06s); }
.wk-day.is-on .wk-tl__item { opacity: 1; transform: none; }
.wk-tl__time { font-family: Unbounded, sans-serif; font-size: 14px; color: rgba(255,255,255,.75); padding-top: 12px; text-align: right; }
.wk-tl__dot { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: rgba(5,38,22,.9); display: grid; place-items: center; color: #fff; position: relative; z-index: 1; transition: transform .4s var(--wk-ease), background .3s, border-color .3s; }
.wk-tl__dot svg { width: 22px; height: 22px; }
.wk-tl__item:hover .wk-tl__dot { transform: scale(1.1); border-color: #f2a3bf; }
.wk-tl__item--meet .wk-tl__dot { background: linear-gradient(135deg, #c13863, #f06d98); border-color: transparent; box-shadow: 0 10px 24px -10px rgba(193,56,99,.9); animation: etlPulse 3s ease-in-out infinite; }
.wk-tl__body { padding: 8px 0 8px; border-bottom: 1px solid rgba(255,255,255,.08); }
.wk-tl__title { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; text-align: left; background: none; border: 0; padding: 4px 0; color: #fff; font-family: Unbounded, sans-serif; font-weight: 400; font-size: 15.5px; line-height: 1.4; cursor: pointer; }
.wk-tl__title--plain { cursor: default; }
.wk-tl__item--meet .wk-tl__title { font-weight: 500; color: #ffd4e2; }
.wk-tl__chev { width: 14px; height: 9px; flex: 0 0 14px; transition: transform .35s var(--wk-ease); opacity: .7; }
.wk-tl__title[aria-expanded="true"] .wk-tl__chev { transform: rotate(180deg); }
.wk-tl__more { overflow: hidden; }
.wk-tl__more p { margin: 8px 0 6px; font-family: 'Open Sans', Arial, sans-serif; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,.82); max-width: 760px; }
.wk-sched.is-meet .wk-tl__item:not(.wk-tl__item--meet) { display: none; }
.wk-sched.is-meet .wk-tl__item--meet { background: rgba(255,255,255,.04); border-radius: 16px; padding-right: 16px; margin: 6px 0; }

/* ── Дыхательный тренажёр ───────────────────────────────────────────── */
.wk-breathe__grid { display: grid; grid-template-columns: 1fr 440px; gap: 50px; align-items: center; }
.wk-breathe__widget { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 28px; background: radial-gradient(circle at 50% 30%, rgba(193,56,99,.08), rgba(5,38,22,.03) 70%); }
.wk-orb { position: relative; width: 260px; height: 230px; display: grid; place-items: center; margin-bottom: 14px; --s: .6; --t: 1000ms; }
.wk-orb__ring { position: absolute; inset: 14px; border-radius: 50%; background: radial-gradient(circle, rgba(193,56,99,.16), rgba(193,56,99,.04) 60%, transparent 72%); transform: scale(calc(.7 + var(--s) * .35)); transition: transform var(--t) cubic-bezier(.4,0,.2,1); }
.wk-lungs { position: relative; width: 250px; height: 212px; display: block; overflow: visible; }
.wk-lungs__body { transform-box: fill-box; transform-origin: 50% 50%; transform: scale(calc(.8 + var(--s) * .28)); transition: transform var(--t) cubic-bezier(.4,0,.2,1); }
.wk-lungs__lobe { fill: rgba(193,56,99,.14); stroke: #c13863; stroke-width: 2.2; transition: fill var(--t) cubic-bezier(.4,0,.2,1), stroke .6s; }
.wk-lungs__vein { stroke: #c13863; stroke-width: 1.4; opacity: .55; }
.wk-lungs__trachea { stroke: #c13863; stroke-width: 2.2; transition: stroke .6s; }
[data-breathe].is-run .wk-lungs__lobe { fill: rgba(193,56,99,calc(.1 + var(--s) * .3)); }
[data-breathe].is-run .wk-orb__ring { animation: etlBreathe 4s ease-in-out infinite; }
.wk-breathe__phase { margin: 0 0 4px; font-family: Unbounded, sans-serif; font-weight: 500; font-size: 20px; color: #052616; min-height: 28px; }
.wk-breathe__cycle { margin: 0 0 18px; font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; color: rgba(5,38,22,.6); }
.wk-breathe__btns { display: flex; gap: 12px; align-items: center; }
.wk-breathe__stop { background: none; border: 0; color: rgba(5,38,22,.6); font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; text-decoration: underline; cursor: pointer; }
[data-breathe].is-done .wk-lungs__lobe { fill: rgba(11,122,75,.18); stroke: #0b7a4b; }
[data-breathe].is-done .wk-lungs__trachea, [data-breathe].is-done .wk-lungs__vein { stroke: #0b7a4b; }

/* ── Ведущий подробно ───────────────────────────────────────────────── */
.wk-host__photo img { aspect-ratio: 3/4; object-position: 50% 15%; transition: transform 1.2s var(--wk-ease); }
.wk-host__photo:hover img { transform: scale(1.04); }
.wk-mosaic { margin-top: 10px; }
.wk-host .etl-doctor__body .etl-split__btn { margin: 20px 0 0; }

/* ── СПА: зоны без фото ─────────────────────────────────────────────── */
.wk-spa .etl-zone { min-height: 260px; }
.wk-zone--plain { background: linear-gradient(160deg, #0b3a24, #052616); }
.wk-zone--plain::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 70% 20%, rgba(193,56,99,.35), transparent 55%); opacity: .8; transition: opacity .6s; }
.wk-zone--plain:hover::before { opacity: 1; }
.wk-spa .etl-zones { grid-template-columns: repeat(4, 1fr); }
.wk-spa .etl-zone:nth-child(1) { grid-column: span 2; }

/* ── Что входит ─────────────────────────────────────────────────────── */
.wk-inc__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.wk-inc__item { position: relative; padding-top: 56px; transition: transform .4s var(--wk-ease), background .4s; }
.wk-inc__item:hover { transform: translateY(-6px); background: rgba(255,255,255,.1); }
.wk-inc__num { position: absolute; left: 22px; top: 18px; font-family: Unbounded, sans-serif; font-size: 12px; letter-spacing: .14em; color: #f2a3bf; }
.wk-inc__item .etl-h3 { font-size: 17px; margin-bottom: 8px; }
.wk-inc__extra { margin: 18px 0 0; font-family: 'Open Sans', Arial, sans-serif; font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.75); max-width: 900px; }

/* ── Цена и калькулятор ─────────────────────────────────────────────── */
.wk-prices__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; align-items: start; }
.wk-price__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.wk-price { display: flex; align-items: center; justify-content: space-between; gap: 20px; transition: transform .4s var(--wk-ease), border-color .4s, box-shadow .4s; }
.wk-price:hover { transform: translateX(6px); border-color: rgba(193,56,99,.35); box-shadow: 0 24px 40px -30px rgba(193,56,99,.6); }
.wk-price--main { border-color: rgba(193,56,99,.4); background: linear-gradient(135deg, rgba(193,56,99,.08), rgba(5,38,22,.03)); }
.wk-price__body .etl-h3 { font-size: 17px; margin-bottom: 6px; }
.wk-price__side { text-align: right; flex: 0 0 auto; }
.wk-price__side .etl-price { display: block; font-family: Unbounded, sans-serif; font-weight: 600; font-size: 24px; color: #052616; white-space: nowrap; }
.wk-price__side small { font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; color: rgba(5,38,22,.6); }
.wk-calc { position: sticky; top: 90px; background: #052616; color: #fff; border-color: transparent; }
.wk-calc .etl-h3 { color: #fff; }
.wk-calc__row { display: grid; grid-template-columns: 110px 1fr; gap: 12px; align-items: center; margin-bottom: 14px; }
.wk-calc__label { font-family: Unbounded, sans-serif; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #f2a3bf; }
.wk-calc .etl-seg { display: flex; gap: 6px; flex-wrap: wrap; }
.wk-calc .etl-seg button { padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: #fff; font-family: Unbounded, sans-serif; font-size: 12px; cursor: pointer; transition: background .3s, border-color .3s, transform .3s var(--wk-ease); }
.wk-calc .etl-seg button:hover { transform: translateY(-2px); }
.wk-calc .etl-seg button.is-on { background: #c13863; border-color: #c13863; }
.wk-calc__result { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); }
.wk-calc .etl-calc__eyebrow { display: block; font-family: Unbounded, sans-serif; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 8px; }
.wk-calc__total { font-family: Unbounded, sans-serif; font-weight: 600; font-size: 40px; line-height: 1; color: #fff; margin-bottom: 8px; }
.wk-calc__total.bump { animation: etlBump .4s var(--wk-ease); }
.wk-calc__per { margin: 0 0 6px; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; color: rgba(255,255,255,.8); }
.wk-calc__hint { margin: 0 0 18px; font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.65); min-height: 20px; }
.wk-calc__btn { width: 100%; justify-content: center; }

/* ── Вопросы с фото ─────────────────────────────────────────────────── */
.wk-faq__grid { display: grid; grid-template-columns: 1fr 340px; gap: 50px; align-items: start; }
.wk-faq__photo { position: sticky; top: 90px; margin: 0; border-radius: 24px; overflow: hidden; background: #f3f3f3; }
.wk-faq__photo img { width: 100%; height: auto; display: block; aspect-ratio: 3/4; object-fit: cover; object-position: 50% 10%; }
.wk-faq__photo figcaption { padding: 16px 18px; font-family: 'Open Sans', Arial, sans-serif; font-size: 13.5px; line-height: 1.5; color: rgba(5,38,22,.75); }

/* ── Адаптив ────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .wk-rare__grid { grid-template-columns: 300px 1fr; gap: 30px; }
  .wk-breathe__grid { grid-template-columns: 1fr 380px; gap: 30px; }
  .wk-spa .etl-zones { grid-template-columns: repeat(3, 1fr); }
  .wk-spa .etl-zone:nth-child(1) { grid-column: span 1; }
  .wk-faq__grid { grid-template-columns: 1fr 280px; gap: 30px; }
}
@media (max-width: 900px) {
  .wk-hero__title { font-size: 36px; }
  .wk-hero__poster { object-position: 72% 20%; }
  .wk-who__grid, .wk-rare__grid, .wk-breathe__grid, .wk-prices__grid, .wk-faq__grid { grid-template-columns: 1fr; }
  .wk-who__not, .wk-calc, .wk-faq__photo { position: static; }
  .wk-rare__photo { max-width: 360px; }
  .wk-rare__sticky { position: static; }
  .wk-inc__grid { grid-template-columns: 1fr 1fr; }
  .wk-faq__photo { display: none; }
  .wk-tl::before { left: 84px; }
  .wk-tl__item { grid-template-columns: 60px 48px 1fr; gap: 0 14px; }
  .wk-spa .etl-zones { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .wk-hero__title { font-size: 28px; }
  .wk-hero__poster { object-position: 62% 0; }
  .wk-stats { grid-template-columns: 1fr; gap: 8px; }
  .wk-stats li { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: baseline; padding: 12px 14px; }
  .wk-stats strong { font-size: 22px; }
  .wk-stats span { grid-column: span 2; margin-top: 0; }
  .wk-check { grid-template-columns: 1fr; gap: 8px; }
  .wk-check__btn { padding: 12px 14px; font-size: 14px; }
  .wk-rare__item { grid-template-columns: 1fr; gap: 6px; }
  .wk-rare__big { font-size: 28px; }
  .wk-tabs { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .wk-tab { padding: 10px 10px; grid-template-columns: 1fr; row-gap: 2px; }
  .wk-tab__num { display: none; }
  .wk-tab__name { font-size: 12.5px; }
  .wk-tab__stage { font-size: 11px; }
  .wk-tl::before { left: 19px; }
  .wk-tl__item { grid-template-columns: 40px 1fr; grid-template-rows: auto auto; gap: 2px 12px; }
  .wk-tl__time { grid-column: 2; grid-row: 1; text-align: left; padding: 0; font-size: 12px; color: #f2a3bf; }
  .wk-tl__dot { grid-column: 1; grid-row: 1 / span 2; width: 40px; height: 40px; }
  .wk-tl__dot svg { width: 18px; height: 18px; }
  .wk-tl__body { grid-column: 2; grid-row: 2; padding-top: 0; }
  .wk-tl__title { font-size: 14.5px; }
  .wk-orb { width: 190px; height: 190px; }
  .wk-lungs { width: 210px; height: 178px; }
  .wk-inc__grid { grid-template-columns: 1fr; }
  .wk-price { flex-direction: column; align-items: flex-start; gap: 10px; }
  .wk-price__side { text-align: left; }
  .wk-calc__row { grid-template-columns: 1fr; gap: 6px; }
  .wk-calc__total { font-size: 32px; }
  .wk-cta .etl-cta__btns { align-items: flex-start; }
  .wk-spa .etl-zones { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .wk-snow, .wk-pulse::after { display: none; }
  .wk-hero__poster { animation: none; }
  .wk-tl__item--meet .wk-tl__dot { animation: none; }
}

/* Мозаика ведущего: кадрирование по лицам */
.wk-mosaic .etl-mosaic__item img { object-position: 50% 22%; }
.wk-mosaic .etl-mosaic__item:nth-child(1) img { object-position: 50% 12%; }
.wk-mosaic .etl-mosaic__item:nth-child(5), .wk-mosaic .etl-mosaic__item:nth-child(6) { grid-column: span 2; }
@media (max-width: 900px) { .wk-mosaic .etl-mosaic__item:nth-child(5), .wk-mosaic .etl-mosaic__item:nth-child(6) { grid-column: span 1; } }

/* ── СПА на светлом фоне: заголовок и подзаголовок тёмные ───────────── */
.wk-spa.etl-zones-section .section__title, .wk-spa.etl-zones-section .etl-subtitle { color: #052616; }
.wk-spa.etl-zones-section .etl-subtitle { color: rgba(5,38,22,.7); }
.wk-spa.etl-zones-section .etl-more a { color: #c13863; }

/* ── Остаться в санатории после выходных ────────────────────────────── */
.wk-stay-note { margin-top: 30px; }
.wk-stay-note .etl-cta__title { color: #fff; }
.wk-stay-note .etl-cta__desc { color: rgba(255,255,255,.8); }
.wk-stay .etl-split__media img { object-position: 50% 60%; }
.wk-progs { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.wk-progs li { opacity: 0; transform: translateY(10px); transition: opacity .5s var(--wk-ease), transform .5s var(--wk-ease); transition-delay: calc(var(--i, 0) * .06s); }
.is-in .wk-progs li { opacity: 1; transform: none; }
.wk-progs a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(5,38,22,.18); background: #fff; color: #052616; font-family: Unbounded, sans-serif; font-size: 12px; text-decoration: none; transition: background .3s, color .3s, border-color .3s, transform .3s var(--wk-ease); }
.wk-progs a svg { width: 14px; height: 14px; transition: transform .3s var(--wk-ease); }
.wk-progs a:hover { background: #052616; border-color: #052616; color: #fff; transform: translateY(-2px); }
.wk-progs a:hover svg { transform: translateX(3px); }
.wk-stay__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.wk-stay__second { background: transparent !important; border: 1px solid rgba(193,56,99,.5); color: #c13863 !important; box-shadow: none !important; padding: 12px 20px; }
.wk-stay__second:hover { background: rgba(193,56,99,.08) !important; }
@media (max-width: 600px) {
  .wk-stay__btns .btn { width: 100%; justify-content: center; }
}

/* ── Силуэт человека вокруг лёгких ──────────────────────────────────── */
.wk-lungs__torso { fill: none; stroke: rgba(5,38,22,.34); stroke-width: 1.6; }
.wk-lungs__arm { fill: none; stroke: rgba(5,38,22,.24); stroke-width: 1.4; }
[data-breathe].is-done .wk-lungs__torso, [data-breathe].is-done .wk-lungs__arm { stroke: rgba(11,122,75,.5); }

/* ── Обратный отсчёт до заезда ──────────────────────────────────────── */
.wk-count { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 26px; padding: 14px 18px; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); font-family: 'Open Sans', Arial, sans-serif; animation: etlUp 1s var(--wk-ease) both; animation-delay: .34s; }
.wk-count__date { font-family: Unbounded, sans-serif; font-weight: 500; font-size: 15px; color: #fff; white-space: nowrap; }
.wk-count__cells { display: flex; gap: 6px; }
.wk-count__cell { display: flex; flex-direction: column; align-items: center; min-width: 50px; padding: 6px 6px 5px; border-radius: 10px; background: rgba(5,38,22,.45); }
.wk-count__cell b { font-family: Unbounded, sans-serif; font-weight: 600; font-size: 18px; line-height: 1; color: #f2a3bf; font-variant-numeric: tabular-nums; }
.wk-count__cell b.tick { animation: etlBump .3s var(--wk-ease); }
.wk-count__cell i { font-style: normal; font-size: 10px; color: rgba(255,255,255,.7); margin-top: 3px; letter-spacing: .04em; }
.wk-count__label { font-size: 12.5px; color: rgba(255,255,255,.75); }
.wk-count.is-live .wk-count__label { color: #f2a3bf; }
@media (max-width: 600px) {
  .wk-count { padding: 12px 14px; gap: 8px 12px; }
  .wk-count__cell { min-width: 44px; }
  .wk-count__cell b { font-size: 16px; }
}

/* ── «Как остаться дольше»: яркая кнопка в плашке под расписанием ────── */
.wk-stay-note { border-color: rgba(242,163,191,.45); background: linear-gradient(135deg, rgba(193,56,99,.28), rgba(255,255,255,.06)); }
.wk-stay-note__btn { display: inline-flex; align-items: center; gap: 10px; background: linear-gradient(135deg, #c13863, #f06d98) !important; color: #fff !important; box-shadow: 0 16px 34px -12px rgba(193,56,99,1); white-space: nowrap; }
.wk-stay-note__btn svg { width: 18px; height: 18px; transition: transform .3s var(--wk-ease); }
.wk-stay-note__btn:hover { transform: translateY(-2px); }
.wk-stay-note__btn:hover svg { transform: translateX(4px); }
.wk-stay-note__btn.wk-pulse::after { border-color: rgba(242,163,191,.9); }
@media (max-width: 600px) { .wk-stay-note__btn { width: 100%; justify-content: center; } }

/* ── Промокод в калькуляторе ────────────────────────────────────────── */
.wk-promo { margin-bottom: 22px; }
.wk-promo__field { display: flex; gap: 8px; }
.wk-promo__input { flex: 1 1 auto; min-width: 0; padding: 10px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: #fff; font-family: Unbounded, sans-serif; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; outline: none; transition: border-color .3s, background .3s; }
.wk-promo__input::placeholder { color: rgba(255,255,255,.45); text-transform: none; letter-spacing: 0; font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; }
.wk-promo__input:focus { border-color: #f2a3bf; background: rgba(255,255,255,.1); }
.wk-promo.is-ok .wk-promo__input { border-color: #5fd0a0; background: rgba(95,208,160,.12); }
.wk-promo.is-bad .wk-promo__input { border-color: #f06d98; animation: wkShake .4s var(--wk-ease); }
.wk-promo__btn { flex: 0 0 auto; padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.1); color: #fff; font-family: Unbounded, sans-serif; font-size: 12px; cursor: pointer; transition: background .3s, transform .3s var(--wk-ease); }
.wk-promo__btn:hover { background: #c13863; border-color: #c13863; transform: translateY(-2px); }
.wk-promo__msg { grid-column: 1 / -1; margin: 6px 0 0; font-family: 'Open Sans', Arial, sans-serif; font-size: 12.5px; line-height: 1.4; color: rgba(255,255,255,.65); }
.wk-promo__msg:empty { display: none; }
.wk-promo.is-ok .wk-promo__msg { color: #5fd0a0; }
.wk-promo.is-bad .wk-promo__msg { color: #f2a3bf; }
.wk-calc__old { display: inline-block; margin-left: 10px; font-size: 18px; font-weight: 400; color: rgba(255,255,255,.5); vertical-align: middle; }
@keyframes wkShake { 0%, 100% { transform: none; } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
@media (max-width: 600px) { .wk-promo__field { flex-wrap: wrap; } .wk-promo__btn { width: 100%; } }
/* Поле промокода: перебиваем общие стили темы. По умолчанию белое поле с тёмно-зелёным текстом,
   верный промокод - зелёное поле с белым текстом, неверный - белое поле с розовой рамкой и текстом */
.wk-calc input.wk-promo__input, .wk-calc input.wk-promo__input:focus, .wk-calc input.wk-promo__input:hover { background: #fff !important; color: #052616 !important; border: 1px solid rgba(255,255,255,.3) !important; border-radius: 999px !important; box-shadow: none !important; height: auto !important; margin: 0 !important; padding: 10px 14px !important; width: auto !important; transition: background .3s, color .3s, border-color .3s; }
.wk-calc input.wk-promo__input:focus { border-color: #f2a3bf !important; }
.wk-calc input.wk-promo__input::placeholder { color: rgba(5,38,22,.5) !important; opacity: 1; }
.wk-calc .wk-promo.is-ok input.wk-promo__input, .wk-calc .wk-promo.is-ok input.wk-promo__input:focus { background: #0b7a4b !important; color: #fff !important; border-color: #5fd0a0 !important; }
.wk-calc .wk-promo.is-bad input.wk-promo__input { background: #fff !important; color: #c13863 !important; border-color: #f06d98 !important; }
.wk-calc button.wk-promo__btn { background: rgba(255,255,255,.12) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.3) !important; border-radius: 999px !important; height: auto !important; margin: 0 !important; padding: 10px 16px !important; }
.wk-calc button.wk-promo__btn:hover { background: #c13863 !important; border-color: #c13863 !important; }

/* ── Калькулятор компактнее и вровень с карточками цен на десктопе ──── */
.wk-calc.etl-card { padding: 22px 24px; }
.wk-calc .etl-h3 { margin-bottom: 10px; font-size: 18px; }
.wk-calc__row { margin-bottom: 10px; }
.wk-calc .wk-promo { margin-bottom: 12px; }
.wk-calc__result { padding-top: 12px; }
.wk-calc .etl-calc__eyebrow { margin-bottom: 4px; }
.wk-calc__total { font-size: 32px; margin-bottom: 4px; }
.wk-calc__old { font-size: 15px; }
.wk-calc__per { margin-bottom: 4px; font-size: 13px; }
.wk-calc__hint { margin-bottom: 12px; font-size: 12.5px; min-height: 0; }
.wk-calc .wk-calc__btn { padding-top: 12px; padding-bottom: 12px; }
@media (min-width: 901px) {
  .wk-prices__grid { align-items: stretch; }
  .wk-price__list { display: flex; flex-direction: column; gap: 12px; }
  .wk-price { flex: 1 1 auto; }
  .wk-calc { position: static; display: flex; flex-direction: column; }
  .wk-calc__result { margin-top: auto; }
}
