/* Этап 1: первый экран легче, панель на обеих страницах, полоса «Ваши даты»,
   шторка заявки, плашка cookie, контраст подписей. Грузится после site.css и zima.css. */

/* ── контраст: подписи и надписи над заголовками читаются (4,5:1 и выше) ── */
:root{--mute:#6B6358}
.eyebrow,.z-date__k{color:var(--moss-dk)}

/* ── первый экран: картинка-заставка сразу, видео проявляется, когда пошло ── */
.hero__bg picture{position:absolute;inset:0;display:block}
.hero__bg img{animation:none}
.hero__bg video{opacity:0;transition:opacity .9s ease}
.hero__bg video.on{opacity:1}
.z-hero .hero__poster img{object-position:50% 78%}
@media (max-width:820px){.z-hero .hero__poster img{object-position:50% 50%}}
.hero__pause{position:absolute;right:clamp(16px,3vw,32px);bottom:96px;z-index:3;width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;background:rgba(9,15,24,.42);border:1px solid rgba(255,255,255,.55);cursor:pointer}
.hero__pause svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.hero__pause[hidden]{display:none}
.hero__pause[aria-pressed="true"] svg{fill:#fff}
@media (max-width:820px){.hero__pause{bottom:auto;top:min(calc(100svh - 124px),calc(100% - 140px))}}
.hero__pause:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* ── кнопки: наведение только мышкой, на таче короткое нажатие ── */
@media (hover:none){
  .btn:hover{transform:none;box-shadow:none}
  .btn:hover::after{left:-30%}
  .btn:active{transform:scale(.98)}
}

/* ── формы ── */
#book{scroll-margin-top:72px}
.fld .hint{font-size:12.5px;color:var(--mute)}
.z-calc__hol{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;color:var(--ink2);cursor:pointer}
.z-calc__hol input{width:18px;height:18px;accent-color:var(--moss-dk);flex-shrink:0}

/* ── полоса «Ваши даты» под первым экраном ── */
.z-strip{background:var(--paper);border-bottom:1px solid var(--line);padding:30px 0 24px}
.z-strip__in{display:grid;gap:16px}
.z-strip__h{margin:0;font-size:clamp(20px,2.4vw,26px)}
.z-strip__chips{display:flex;flex-wrap:wrap;gap:8px}
.z-pick{min-height:44px;padding:9px 16px;border:1.5px solid var(--line2);border-radius:40px;background:#fff;
  color:var(--ink);font-size:14.5px;line-height:1.25;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.z-pick[aria-checked="true"]{background:var(--moss-dk);border-color:var(--moss-dk);color:#fff}
.z-pick:focus-visible{outline:2px solid var(--moss-dk);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.z-pick:hover{border-color:var(--moss)}}
.z-strip__row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.z-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line2);border-radius:40px;background:#fff}
.z-stepper button{width:44px;height:44px;font-size:21px;line-height:1;color:var(--moss-dk);cursor:pointer}
.z-stepper button:disabled{color:var(--line2);cursor:default}
.z-stepper span{min-width:96px;text-align:center;font-size:14.5px;color:var(--ink2)}
.z-stepper b{font-family:'Exo2',sans-serif;color:var(--ink)}
.z-strip__sum{margin:0;flex:1 1 280px;font-size:15px;color:var(--ink2);line-height:1.5}
.z-strip__sum b{font-family:'Exo2',sans-serif;font-size:17px;color:var(--ink);white-space:nowrap}
.z-strip__btn{flex:0 0 auto}
.z-strip__note{margin:0;font-size:13px;color:var(--mute)}
@media (max-width:560px){
  .z-strip{padding:24px 0 20px}
  .z-strip__chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding:2px 16px 4px;scroll-padding-inline:16px;scrollbar-width:none;scroll-snap-type:x proximity}
  .z-strip__chips::-webkit-scrollbar{display:none}
  .z-pick{flex:0 0 auto;scroll-snap-align:start}
  .z-strip__btn{width:100%}
}

/* ── шторка заявки ── */
.z-sheet{width:100%;max-width:520px;max-height:92vh;max-height:92dvh;margin:auto auto 0;padding:0;border:0;
  border-radius:14px 14px 0 0;background:#fff;color:var(--ink);overflow:auto;box-shadow:0 -12px 40px rgba(0,0,0,.25)}
.z-sheet::backdrop{background:rgba(14,24,13,.55)}
@media (min-width:561px){.z-sheet{margin:auto;border-radius:12px}}
.z-sheet__f{position:relative;display:grid;gap:14px;padding:26px 22px calc(22px + env(safe-area-inset-bottom))}
.z-sheet h2{margin:0 40px 0 0;font-size:clamp(21px,2.6vw,26px)}
.z-sheet__sum{margin:-4px 0 2px;font-size:14.5px;color:var(--ink2)}
.z-sheet__x{position:absolute;right:8px;top:8px;width:44px;height:44px;font-size:28px;line-height:1;color:var(--mute);cursor:pointer}
.z-sheet .consent{margin:0;color:var(--mute)}
.z-sheet .consent a{color:var(--moss-dk)}
.z-sheet .consent input{accent-color:var(--moss-dk)}
.z-sheet .ok{margin-top:0}
.ok.err{background:#FBEDEA;color:#8A2E1F}

/* ── нижняя панель на телефоне: на обеих страницах ── */
.z-bar{display:none}
@media (max-width:820px){
  .z-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);
    box-shadow:0 -6px 24px rgba(0,0,0,.12);transform:translateY(110%);transition:transform .3s}
  .z-bar.on{transform:none}
  .z-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 12px;
    border-radius:var(--r);font-weight:600;font-size:14.5px;line-height:1.2;text-align:center}
  .z-bar__call,.z-bar__msg{flex:0 0 auto;border:1.5px solid var(--moss);color:var(--moss-dk)}
  .z-bar__call svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}
  .z-bar__go{flex:1 1 auto;min-width:0;background:var(--moss-dk);color:#fff}
  .z-bar--3 .z-bar__call span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .up,.zima .up{display:none}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  body.has-draft{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
  body.bar-on .draftbar{bottom:calc(78px + env(safe-area-inset-bottom))}
}

/* ── плашка cookie ── */
.cookie{position:fixed;left:12px;bottom:12px;z-index:90;width:min(560px,calc(100% - 24px));display:grid;gap:12px;
  padding:16px 18px;background:#fff;border:1px solid var(--line2);border-radius:10px;box-shadow:var(--sh);
  font-size:14px;line-height:1.5;color:var(--ink2)}
.cookie[hidden]{display:none}
.cookie p{margin:0}
.cookie a{color:var(--moss-dk);text-decoration:underline}
.cookie__btns{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:440px){
  .z-bar__call span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .z-bar__call{padding:0 15px}
}
@media (max-width:820px){body.bar-on .cookie{bottom:calc(78px + env(safe-area-inset-bottom))}}

/* ── согласие перед кнопкой, строка о политике под кнопкой ── */
.form-policy{margin:10px 0 0;font-size:12.8px;line-height:1.5;color:var(--mute)}
.form-policy a{color:var(--moss-dk);text-decoration:underline}
.band .form-policy{color:rgba(255,255,255,.78)}
.band .form-policy a{color:#fff}
.bform .form-policy{grid-column:1/-1;margin:0}
@media (min-width:821px){
  .bform .fld--date{grid-column:3/5}
  .bform .consent--row{grid-column:1/4;grid-row:2;margin:0;align-self:center}
  .bform .btn{grid-column:4;grid-row:2}
  .bform .form-policy{grid-row:3}
}
@media (max-width:820px){.bform .form-policy{order:3}}
.fld .hint{display:block;margin-top:2px;line-height:1.45}

/* ── «Настройки cookie» в подвале ── */
.cookie-link{margin-left:14px;padding:0;background:none;border:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}

/* ── правки по проверке ── */
html{scroll-behavior:auto}
.nobr{white-space:nowrap}
@media (max-width:360px){.z-bar a{font-size:13.5px;padding:0 9px}}
.z-sheet:not([open]){display:none}
html.sheet-open{overflow:hidden}
.book__f .consent.err,.book__f .consent.err a,.z-sheet .consent.err,.z-sheet .consent.err a{color:#C6533F}
.book__f .consent.err input,.z-sheet .consent.err input{outline:2px solid #C6533F;outline-offset:2px}
.band .consent.err input{outline:2px solid #FFE08A;outline-offset:2px}
.z-calc__msg{margin:10px 0 0;font-size:13px;color:#7A5A32}
.z-seg button[aria-pressed]{cursor:pointer}
.z-stepper button[aria-disabled="true"]{color:var(--line2);cursor:default}

/* ── подсказка редактору после запуска ── */
.dm-admin-note{position:fixed;left:12px;bottom:12px;z-index:95;max-width:calc(100% - 24px);padding:9px 13px;border-radius:8px;
  background:#1d2327;color:#fff;font-size:13px;line-height:1.45;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.dm-admin-note a{color:#9ec2e6;text-decoration:underline}
@media (max-width:820px){.dm-admin-note{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* ── режим запуска: блоков может стать меньше ── */
/* нечётная последняя карточка «Зима»/«Лето» на всю ширину, без пустого места справа */
@media (min-width:561px){.svc>.svc__i:last-child:nth-child(odd){grid-column:1/-1}}
/* «Как ездим»: колонок столько, сколько пунктов */
@media (min-width:821px){.z-how{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr}}
/* ── телефоны: поля форм 16px, иначе iPhone увеличивает страницу при вводе; ссылки и кнопки выше, под палец ── */
@media (max-width:900px){
  input[type=date],input[type=text],input[type=tel],input[type=number],select,textarea{font-size:16px}
  .z-seg button{padding:10px 18px}
  .fcont__i b a{display:inline-block;padding-block:6px}
  .ftr__bot a,.ftr__bot .cookie-link{display:inline-block;padding-block:9px}
}
/* полоса «Как добраться»: кнопка рядом с длинным текстом не сжимается и не переносит надпись */
.strip .btn{flex-shrink:0;white-space:nowrap}
