/* Auto-built by scripts/apply_fix_v3.py — do not edit by hand */

/* ==== ROUTE__slash__landing.html ==== */
:root{
  --bg:#f2f2f5; --card:#fff; --ink:#111114; --ink-2:#6b6b73; --ink-3:#9a9aa2;
  --line:#e8e8ed; --green:#2fb457; --green-soft:rgba(47,180,87,.12); --blue:#0071e3;
  --r:22px; --r-sm:14px; --pad:18px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
img{max-width:100%;display:block}

.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 120px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad)}
.topbar-in{max-width:440px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:19px;font-weight:760;letter-spacing:-.02em;text-transform:none;color:var(--ink);
  margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
h1{font-size:30px;line-height:1.12;letter-spacing:-.03em;font-weight:760;margin:0}
h2{font-size:20px;letter-spacing:-.015em;margin:0 0 4px}
.lead{font-size:15.5px;color:var(--ink-2);margin:12px 0 0;line-height:1.5}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border-radius:15px;
  background:var(--ink);color:#fff;font-size:16.5px;font-weight:600;transition:transform .12s,opacity .15s}
.btn:active{transform:scale(.985);opacity:.92}
.btn:disabled{opacity:.35;transform:none}
.btn small{display:block;font-size:12.5px;font-weight:500;opacity:.7;margin-top:2px}
.btn-quiet{background:#f2f2f5;color:var(--ink)}

.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:.3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:var(--blue);box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0}
.st-line.is-done{background:var(--ink)}

.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.92);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto}
.dock-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:24px 0 8px}
.foot a{margin:0 8px}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- hero ---------- */
.hero{padding-top:22px}
.hero h1 span{display:block}
.cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin-top:20px;
  border-radius:16px;background:var(--ink);color:#fff;font-size:17px;font-weight:600;transition:transform .12s}
.cta:active{transform:scale(.985)}
.cta em{font-style:normal;font-weight:500;opacity:.62;font-size:14.5px}

.carousel{position:relative;margin-top:22px;border-radius:var(--r);overflow:hidden;background:#e6e6ec;box-shadow:var(--sh)}
.car-track{display:flex;transition:transform .35s cubic-bezier(.32,.72,0,1)}
.car-track figure{margin:0;flex:0 0 100%}
.car-track img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#e6e6ec;display:block}
.car-track figure.noimg{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#eef0f4,#e2e5ec)}
.car-track figure.noimg img{display:none}
.car-track figure.noimg::after{content:"Фото капсулы";color:var(--ink-3);font-size:14px;font-weight:600}
.car-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}
.car-dots button{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55)}
.car-dots button[aria-current=true]{background:#fff;width:20px;border-radius:999px}
.car-cap{font-size:13px;color:var(--ink-3);text-align:center;margin-top:10px}
.pull{margin:26px 0 4px;padding:0 10px;text-align:center}
.pull p{margin:0;font-size:17px;line-height:1.5;font-weight:500;color:var(--ink-2);letter-spacing:-.005em}
.pull span{color:var(--ink);font-weight:600}

/* ---------- chips / tasks ---------- */
.tasks{display:flex;flex-wrap:wrap;gap:8px}
.task{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:999px;background:#f4f4f7;
  font-size:14px;font-weight:500}
.task svg{color:var(--ink-3);flex:none}

/* ---------- what's inside ---------- */
.inside{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ins{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--r-sm);background:#fafafc;
  border:1px solid var(--line)}
.ins-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.ins-ic svg{width:22px;height:22px}
.ins-t{font-size:13.5px;font-weight:600;line-height:1.3}
.i-desk{background:#eef2ff;color:#4f66e6}
.i-power{background:#fff1e6;color:#e8873a}
.i-wifi{background:#e6f7ee;color:#1ea866}
.i-air{background:#e6f6fb;color:#1aa6c9}
.i-light{background:#fff6db;color:#d9a300}
.i-quiet{background:#f1ecfb;color:#8256d6}
details.specs{margin-top:14px;border-top:1px solid var(--line);padding-top:4px}
details.specs summary{list-style:none;display:flex;align-items:center;justify-content:space-between;
  padding:13px 2px 4px;font-size:15px;font-weight:600;cursor:pointer}
details.specs summary::-webkit-details-marker{display:none}
details.specs summary .pm{color:var(--ink-3);font-size:20px;line-height:1;transition:transform .2s}
details.specs[open] summary .pm{transform:rotate(45deg)}
.spec-row{display:flex;justify-content:space-between;gap:16px;padding:11px 2px;border-top:1px solid var(--line);
  font-size:14.5px}
.spec-row span{color:var(--ink-3);flex:none}
.spec-row b{font-weight:600;text-align:right}

/* ---------- steps ---------- */
.step{display:flex;gap:14px;padding:14px 0}
.step+.step{border-top:1px solid var(--line)}
.step-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:13.5px;
  font-weight:700;display:flex;align-items:center;justify-content:center}
.step-t{font-size:15.5px;font-weight:600}
.step-d{font-size:14px;color:var(--ink-2);margin-top:3px;line-height:1.4}

/* ---------- tariffs ---------- */
.tariff{display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:16px;background:#f5f5f7;
  border:2px solid transparent;margin-bottom:9px;transition:.15s}
.tariff:active{background:#eeeef3}
.tariff.featured{background:rgba(0,113,227,.06);border-color:var(--blue)}
.tariff.soon{opacity:.55;cursor:default}
.badge.grey{background:#9a9aa2}
.tariff-i{flex:1}
.tariff-i b{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.tariff-i small{display:block;font-size:13px;color:var(--ink-3);margin-top:2px}
.tariff-p{font-size:16.5px;font-weight:700;font-variant-numeric:tabular-nums}
.badge{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:#fff;background:var(--blue);border-radius:999px;padding:3px 8px;vertical-align:2px}

/* ---------- rules ---------- */
.rules-acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;padding:2px}
.rules-acc summary::-webkit-details-marker{display:none}
.rules-acc summary .pm{color:var(--ink-3);font-size:22px;line-height:1;transition:transform .2s}
.rules-acc[open] summary .pm{transform:rotate(45deg)}
.rules-body{margin-top:6px}
.rule-head{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:16px 0 4px}
.rule-head:first-of-type{margin-top:2px}
.rule-head.no{color:#d0342c}
.rule-head.yes{color:#1d7d3f}
.rule{display:flex;gap:11px;align-items:flex-start;padding:12px 0;font-size:14px;line-height:1.4;color:var(--ink-2)}
.rule+.rule{border-top:1px solid var(--line)}
.rule b{display:block;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:2px}
.rule-foot{font-size:13px;color:var(--ink-3);line-height:1.4;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.rule .ic{flex:none;width:22px;height:22px;border-radius:7px;background:#f4f4f7;color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px}
.rule.no .ic{background:rgba(255,59,48,.09);color:#d0342c}
.rule.yes .ic{background:var(--green-soft);color:#1d7d3f}

/* ---------- video row ---------- */
.video-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-top:16px;padding:12px;
  border-radius:var(--r-sm);background:#f7f7fa;border:1px solid var(--line);transition:background .15s}
.video-row:active{background:#efeff4}
.video-thumb{flex:none;width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center}
.video-copy{flex:1;min-width:0}
.video-copy b{display:block;font-size:15px;font-weight:600}
.video-copy small{display:block;font-size:13px;color:var(--ink-3)}
.video-chev{flex:none;color:var(--ink-3)}
.video-row.empty{opacity:.55}
.video-row.empty .video-thumb{background:var(--line);color:var(--ink-3)}
.video-frame{position:relative;width:100%;aspect-ratio:9/16;max-height:62vh;border-radius:16px;overflow:hidden;
  background:#111114;margin-bottom:8px}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}

/* ---------- find ---------- */
.find-addr{font-size:16.5px;font-weight:700;line-height:1.3}
.find-sub{font-size:14.5px;color:var(--ink-2);margin-top:7px;line-height:1.45}
.maps{display:flex;gap:8px;margin-top:14px}
.maps a{flex:1;text-align:center;padding:12px 0;border-radius:12px;background:#f4f4f7;color:var(--ink-2);
  font-size:13.5px;font-weight:600}
.contact{display:flex;align-items:center;gap:12px;padding:13px;border-radius:var(--r-sm);background:#fafafc;
  border:1px solid var(--line);margin-top:8px}
.contact .ic{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;color:var(--ink-2);flex:none}
.contact b{display:block;font-size:15px}
.contact small{color:var(--ink-3);font-size:13px}
.contacts-acc summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:2px}
.contacts-acc summary::-webkit-details-marker{display:none}
.c-head{flex:1;min-width:0}
.c-sub{display:block;font-size:13.5px;color:var(--ink-2);margin-top:3px}
.c-badges{display:flex;gap:4px;flex:none}
.c-mini{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:800;color:#fff}
.c-mini.wa{background:#25d366}.c-mini.tg{background:#2aabee}.c-mini.mx{background:#5b6ef5}
.contacts-acc summary .pm{color:var(--ink-3);font-size:22px;line-height:1;flex:none;transition:transform .2s}
.contacts-acc[open] summary .pm{transform:rotate(45deg)}
.contacts-acc[open] .c-badges{display:none}
.contacts-body{margin-top:4px}
.contacts-body .contact:first-child{margin-top:10px}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* ==== ROUTE__bookings_new.html ==== */
:root{
  --bg:#f2f2f5; --card:#fff; --ink:#111114; --ink-2:#6b6b73; --ink-3:#9a9aa2;
  --line:#e8e8ed; --green:#2fb457; --green-soft:rgba(47,180,87,.12); --blue:#0071e3;
  --r:22px; --r-sm:14px; --pad:18px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
img{max-width:100%;display:block}

.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 120px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad)}
.topbar-in{max-width:440px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
h1{font-size:30px;line-height:1.12;letter-spacing:-.03em;font-weight:760;margin:0}
h2{font-size:20px;letter-spacing:-.015em;margin:0 0 4px}
.lead{font-size:15.5px;color:var(--ink-2);margin:12px 0 0;line-height:1.5}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border-radius:15px;
  background:var(--ink);color:#fff;font-size:16.5px;font-weight:600;transition:transform .12s,opacity .15s}
.btn:active{transform:scale(.985);opacity:.92}
.btn:disabled{opacity:.35;transform:none}
.btn small{display:block;font-size:12.5px;font-weight:500;opacity:.7;margin-top:2px}
.btn-quiet{background:#f2f2f5;color:var(--ink)}

.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:.3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:var(--blue);box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0}
.st-line.is-done{background:var(--ink)}

.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.92);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto}
.dock-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:24px 0 8px}
.foot a{margin:0 8px}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.hero-b{padding:18px 0 4px}
.hero-b h1{font-size:26px}

/* дни: горизонтальная лента с подсказкой прокрутки */
.days-wrap{position:relative;margin:0 -20px}
.days{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 20px 10px;
  -ms-overflow-style:none}
.days::-webkit-scrollbar{height:4px}
.days::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.day{flex:0 0 auto;scroll-snap-align:start;min-width:74px;padding:11px 12px;border-radius:14px;background:#f4f4f7;
  text-align:center;border:2px solid transparent;transition:.15s}
.day b{display:block;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.day small{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}
.day[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.day[aria-pressed=true] small{color:rgba(255,255,255,.65)}
.fade-r{position:absolute;top:0;right:0;width:34px;height:100%;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),#fff 78%)}

/* время */
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.slot{padding:13px 0;border-radius:13px;background:#f4f4f7;font-size:15.5px;font-weight:600;
  font-variant-numeric:tabular-nums;border:2px solid transparent;transition:.15s}
.slot[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.slots-note{font-size:13px;color:var(--ink-3);margin-top:10px}

/* длительность */
#durCard{animation:pop .28s cubic-bezier(.32,.72,0,1)}
@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.dur{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 16px;border-radius:16px;
  background:#f5f5f7;border:2px solid transparent;margin-bottom:9px;transition:.15s}
.dur[aria-checked=true]{background:rgba(0,113,227,.06);border-color:var(--blue)}
.dur-i{flex:1}
.dur-i b{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.dur-i small{display:block;font-size:13.5px;color:var(--ink-3);margin-top:2px;font-variant-numeric:tabular-nums}
.dur-p{font-size:16.5px;font-weight:700;font-variant-numeric:tabular-nums}
.badge{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:#fff;background:var(--blue);border-radius:999px;padding:3px 8px;vertical-align:2px}
.empty-hint{font-size:14.5px;color:var(--ink-3);text-align:center;padding:6px 0 2px}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* ==== ROUTE__checkout_pre_payment.html ==== */
:root{
  --bg:#f2f2f5; --card:#fff; --ink:#111114; --ink-2:#6b6b73; --ink-3:#9a9aa2;
  --line:#e8e8ed; --green:#2fb457; --green-soft:rgba(47,180,87,.12); --blue:#0071e3;
  --r:22px; --r-sm:14px; --pad:18px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
img{max-width:100%;display:block}

.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 120px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad)}
.topbar-in{max-width:440px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
h1{font-size:30px;line-height:1.12;letter-spacing:-.03em;font-weight:760;margin:0}
h2{font-size:20px;letter-spacing:-.015em;margin:0 0 4px}
.lead{font-size:15.5px;color:var(--ink-2);margin:12px 0 0;line-height:1.5}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border-radius:15px;
  background:var(--ink);color:#fff;font-size:16.5px;font-weight:600;transition:transform .12s,opacity .15s}
.btn:active{transform:scale(.985);opacity:.92}
.btn:disabled{opacity:.35;transform:none}
.btn small{display:block;font-size:12.5px;font-weight:500;opacity:.7;margin-top:2px}
.btn-quiet{background:#f2f2f5;color:var(--ink)}

.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:.3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:var(--blue);box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0}
.st-line.is-done{background:var(--ink)}

.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.92);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto}
.dock-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:24px 0 8px}
.foot a{margin:0 8px}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.hero-p{padding:18px 0 4px}
.hero-p h1{font-size:26px}
.order div.row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;font-size:15px}
.order div.row+div.row{border-top:1px solid var(--line)}
.order .k{color:var(--ink-3);flex:none}
.order .v{font-weight:600;text-align:right}
.order .total{padding-top:15px;margin-top:2px;border-top:2px solid var(--ink)}
.order .total .k{color:var(--ink);font-weight:600;font-size:16px}
.order .total .v{font-size:22px;font-weight:760;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
label.f{display:block}
label.f>span{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:7px}
input[type=email]{width:100%;padding:15px 15px;border-radius:14px;border:1px solid var(--line);background:#fafafc;font-size:16px}
input[type=email]:focus{outline:none;border-color:var(--ink);background:#fff}
input.bad{border-color:#d0342c;background:#fff5f5}
.hint{font-size:13px;color:var(--ink-3);margin-top:9px;line-height:1.4}
.agree{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:2px}
.agree input{position:absolute;opacity:0;width:0;height:0}
.box{flex:none;width:24px;height:24px;border-radius:8px;border:2px solid #c9c9d2;background:#fff;
  display:flex;align-items:center;justify-content:center;margin-top:1px;transition:.15s}
.agree input:checked+.box{background:var(--ink);border-color:var(--ink)}
.box svg{opacity:0;color:#fff}
.agree input:checked+.box svg{opacity:1}
.agree input:focus-visible+.box{outline:2px solid var(--blue);outline-offset:2px}
.agree span.t{font-size:14.5px;line-height:1.4}
.agree a{text-decoration:underline;text-underline-offset:2px}
.safe{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-3);margin-top:14px;line-height:1.4}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* ==== ROUTE__bookings_id_success__STATE_1_BEFORE.html ==== */
:root{
  --bg:#f2f2f5;
  --card:#ffffff;
  --ink:#111114;
  --ink-2:#6b6b73;
  --ink-3:#9a9aa2;
  --line:#e8e8ed;
  --green:#2fb457;
  --green-soft:rgba(47,180,87,.12);
  --accent:#111114;
  --r:22px;
  --r-sm:14px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
  --pad:18px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #0071e3;outline-offset:3px;border-radius:8px}

/* ---------- shell ---------- */
.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 132px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad);margin:0 calc(var(--pad)*-1) 0}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

/* ---------- stepper ---------- */
.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px;padding:0}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:background .3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:#0071e3;box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);transition:color .3s}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0;transition:background .3s}
.st-line.is-done{background:var(--ink)}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}

/* ---------- hero ---------- */
.hero{margin-top:16px;padding-bottom:18px}
.hero-time{font-size:38px;line-height:1.05;font-weight:760;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.hero-time .dash{color:var(--ink-3);font-weight:600;margin:0 4px}
.hero-meta{margin-top:6px;font-size:15px;color:var(--ink-2)}
.hero-meta b{color:var(--ink);font-weight:600}

/* signature: session timeline */
.tl{margin-top:20px}
.tl-track{position:relative;height:6px;border-radius:999px;background:var(--line);overflow:visible}
.tl-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:var(--green);transition:width .6s ease}
.tl-now{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:var(--ink);
  border:3px solid #fff;transform:translate(-50%,-50%);box-shadow:0 1px 4px rgba(0,0,0,.25);transition:left .6s ease}
.tl-labels{display:flex;justify-content:space-between;margin-top:9px;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tl-status{margin-top:16px;display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}
.tl-status .dot{width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex:none}
.is-live .tl-status .dot{background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.tl-status small{display:block;font-size:13.5px;font-weight:400;color:var(--ink-2)}

/* ---------- rows / buttons ---------- */
.addr{font-size:16px;font-weight:600;line-height:1.35}
.addr-sub{margin-top:6px;font-size:14.5px;color:var(--ink-2)}
/* ---------- video row ---------- */
.video-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-top:14px;padding:12px;
  border-radius:var(--r-sm);background:#f7f7fa;border:1px solid var(--line);transition:background .15s}
.video-row:active{background:#efeff4}
.video-thumb{flex:none;width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center}
.video-copy{flex:1;min-width:0}
.video-copy b{display:block;font-size:15px;font-weight:600}
.video-copy small{display:block;font-size:13px;color:var(--ink-3)}
.video-chev{flex:none;color:var(--ink-3)}
.video-row.empty{opacity:.55}
.video-row.empty .video-thumb{background:var(--line);color:var(--ink-3)}
.video-frame{position:relative;width:100%;aspect-ratio:9/16;max-height:62vh;border-radius:16px;overflow:hidden;
  background:#111114;margin-bottom:8px}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}

/* ---------- menu rows ---------- */
.menu{padding:6px 8px}
.menu-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 10px;border-radius:15px;
  transition:background .15s}
.menu-row:active{background:#f2f2f5}
.menu-row+.menu-row{position:relative}
.menu-row+.menu-row::before{content:"";position:absolute;top:0;left:52px;right:10px;height:1px;background:var(--line)}
.mr-ic{flex:none;width:36px;height:36px;border-radius:11px;background:#f4f4f7;color:var(--ink-2);
  display:flex;align-items:center;justify-content:center}
.mr-txt{flex:1;min-width:0}
.mr-txt b{display:block;font-size:15.5px;font-weight:600}
.mr-txt small{display:block;font-size:13px;color:var(--ink-3);line-height:1.3}
.mr-ch{flex:none;color:var(--ink-3)}
.menu-row.accent .mr-ic{background:rgba(0,113,227,.1);color:#0071e3}
.menu-row.accent .mr-txt b{color:#0071e3}
.menu-row.accent .mr-ch{color:#0071e3}

/* ---------- plans (продление) ---------- */
.plan{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 16px;border-radius:16px;
  background:#f5f5f7;border:2px solid transparent;margin-bottom:9px;transition:border-color .15s,background .15s}
.plan[aria-checked=true]{background:#fff;border-color:var(--ink)}
.plan-main{flex:1;min-width:0}
.plan-main b{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.plan-main small{display:block;font-size:13.5px;color:var(--ink-3);margin-top:2px}
.plan-price{font-size:16.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.badge{display:inline-block;margin-top:7px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:#fff;background:#0071e3;border-radius:999px;padding:3px 9px}
.sheet-hint{text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:10px}

/* ---------- photos ---------- */
.photos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.photo-add{width:76px;height:76px;border-radius:14px;border:1.5px dashed #c9c9d2;background:#fafafc;color:var(--ink-3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:600}
.photo-add:active{background:#f2f2f5}
.thumb{position:relative;width:76px;height:76px;border-radius:14px;overflow:hidden;background:#eee}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.6);
  color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
.photo-hint{font-size:13px;color:var(--ink-3);margin:0 0 14px;line-height:1.35}
.photo-hint.urge{color:#0071e3;font-weight:600}

/* ---------- review ---------- */
.rv-q{font-size:19px;font-weight:700;letter-spacing:-.015em}
.rv-sub{font-size:14px;color:var(--ink-3);margin-top:3px}
.stars{display:flex;gap:2px;margin:14px 0 2px}
.star{width:50px;height:50px;display:flex;align-items:center;justify-content:center;color:#d9d9e0;transition:transform .12s}
.star:active{transform:scale(.9)}
.star svg{width:34px;height:34px;fill:currentColor}
.star.on{color:#f6a609}
.rv-tags-t{font-size:14px;font-weight:600;color:var(--ink-2);margin:16px 0 9px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:9px 13px;border-radius:999px;background:#f4f4f7;border:1.5px solid transparent;
  font-size:14px;font-weight:500;color:var(--ink-2);transition:.15s}
.chip[aria-pressed=true]{background:#fff;border-color:var(--ink);color:var(--ink);font-weight:600}
#rvText{width:100%;margin-top:12px;padding:13px 14px;border-radius:13px;border:1px solid var(--line);
  background:#fafafc;font-size:15px;min-height:74px;resize:vertical}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;border-radius:15px;
  background:var(--accent);color:#fff;font-size:16px;font-weight:600;margin-top:16px;transition:transform .12s ease,opacity .12s}
.btn:active{transform:scale(.985);opacity:.9}
.btn-quiet{background:#f2f2f5;color:var(--ink)}
.maps{display:flex;gap:8px;margin-top:10px}
.maps a{flex:1;text-align:center;padding:11px 0;border-radius:12px;background:#f4f4f7;color:var(--ink-2);
  font-size:13.5px;font-weight:600;text-decoration:none}
.maps a:active{background:#ececf1}

/* ---------- locked pult ---------- */
.locked{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r-sm);
  background:#f7f7fa;border:1px dashed var(--line)}
.locked svg{flex:none;color:var(--ink-3)}
.locked-txt{font-size:14.5px;color:var(--ink-2)}
.locked-txt b{display:block;color:var(--ink);font-weight:600;font-size:15px}
.pult-list{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.pult-list li{font-size:13px;color:var(--ink-3);background:#f7f7fa;border-radius:999px;padding:6px 11px}

/* ---------- unlock ---------- */
.slide{position:relative;height:60px;border-radius:17px;background:#f0f0f4;
  overflow:hidden;touch-action:pan-y;user-select:none;transition:background .25s}
.slide.open{background:linear-gradient(90deg,#f4f4f7,#e6f7ec)}
.slide-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 68px 0 68px;
  font-size:14.5px;font-weight:600;color:var(--ink-2);pointer-events:none;text-align:center;line-height:1.2}
.slide-thumb{position:absolute;top:5px;left:5px;width:50px;height:50px;border-radius:13px;background:var(--ink);
  display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.22)}
.slide.open .slide-thumb{background:var(--green);box-shadow:0 3px 10px rgba(47,180,87,.35)}
.slide.open .slide-hint{color:#1d7d3f}

/* ---------- controls ---------- */
.ctrl{margin-top:12px;padding:16px;border-radius:var(--r-sm);background:#fafafc;border:1px solid var(--line)}
.ctrl-top{display:flex;align-items:center;justify-content:space-between}
.ctrl-name{font-size:15.5px;font-weight:600}
.ctrl-val{font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin-top:6px}
input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;
  background:linear-gradient(90deg,var(--ink) var(--p,80%),var(--line) var(--p,80%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.25);margin-top:-9px}
input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--line)}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.25)}

.seg{display:flex;gap:4px;margin-top:10px;padding:4px;background:#f0f0f4;border-radius:12px}
.seg button{flex:1;padding:9px 0;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-2);transition:.15s}
.seg button[aria-checked=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.13)}

.note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13.5px;color:var(--ink-3);line-height:1.4}
.note svg{flex:none;margin-top:1px}

/* ---------- bottom bar + sheet ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.9);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto;display:flex;gap:10px}
.dock button{flex:1;height:50px;border-radius:15px;background:#fff;font-size:15.5px;font-weight:600;box-shadow:var(--sh);
  display:flex;align-items:center;justify-content:center;gap:8px}
.dock button.primary{background:var(--accent);color:#fff}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);transition:transform .3s cubic-bezier(.32,.72,0,1);
  max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}
.sheet h2{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}
.sheet p{margin:0 0 14px;font-size:14.5px;color:var(--ink-2)}
.contact{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-sm);background:#fafafc;
  border:1px solid var(--line);text-decoration:none;margin-bottom:8px}
.contact .ic{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--ink-2);flex:none}
.contact b{display:block;font-size:15px}
.contact small{color:var(--ink-3);font-size:13px}
label.f{display:block;margin-bottom:12px}
label.f span{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
label.f select,label.f textarea{width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--line);
  background:#fafafc;font-size:15px}
label.f textarea{min-height:88px;resize:vertical}
.sheet-links{display:flex;justify-content:center;gap:18px;margin-top:16px;font-size:13px;color:var(--ink-3)}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:22px 0 4px}
.foot a{margin:0 8px;text-decoration:none}


@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* кнопка ожидания + обратный отсчёт в доке */
.wait-btn{margin-top:16px}
.wait-note{margin-top:9px;font-size:13px;color:var(--ink-3);text-align:center;line-height:1.4}
.dock button:disabled{background:#e4e4ea;color:var(--ink-3);opacity:1;cursor:default}
.dock button.counting{font-variant-numeric:tabular-nums}
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);z-index:70;
  background:rgba(17,17,20,.94);color:#fff;font-size:14.5px;font-weight:500;line-height:1.35;
  padding:13px 18px;border-radius:14px;max-width:330px;text-align:center;
  opacity:0;pointer-events:none;transition:opacity .22s,transform .22s}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ==== ROUTE__bookings_id_success__STATE_2_SESSION_LIVE.html ==== */
:root{
  --bg:#f2f2f5;
  --card:#ffffff;
  --ink:#111114;
  --ink-2:#6b6b73;
  --ink-3:#9a9aa2;
  --line:#e8e8ed;
  --green:#2fb457;
  --green-soft:rgba(47,180,87,.12);
  --accent:#111114;
  --r:22px;
  --r-sm:14px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
  --pad:18px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #0071e3;outline-offset:3px;border-radius:8px}

/* ---------- shell ---------- */
.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 132px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad);margin:0 calc(var(--pad)*-1) 0}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

/* ---------- stepper ---------- */
.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px;padding:0}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:background .3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:#0071e3;box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);transition:color .3s}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0;transition:background .3s}
.st-line.is-done{background:var(--ink)}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}

/* ---------- hero ---------- */
.hero{margin-top:16px;padding-bottom:18px}
.hero-time{font-size:38px;line-height:1.05;font-weight:760;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.hero-time .dash{color:var(--ink-3);font-weight:600;margin:0 4px}
.hero-meta{margin-top:6px;font-size:15px;color:var(--ink-2)}
.hero-meta b{color:var(--ink);font-weight:600}

/* signature: session timeline */
.tl{margin-top:20px}
.tl-track{position:relative;height:6px;border-radius:999px;background:var(--line);overflow:visible}
.tl-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:var(--green);transition:width .6s ease}
.tl-now{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:var(--ink);
  border:3px solid #fff;transform:translate(-50%,-50%);box-shadow:0 1px 4px rgba(0,0,0,.25);transition:left .6s ease}
.tl-labels{display:flex;justify-content:space-between;margin-top:9px;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tl-status{margin-top:16px;display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}
.tl-status .dot{width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex:none}
.is-live .tl-status .dot{background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.tl-status small{display:block;font-size:13.5px;font-weight:400;color:var(--ink-2)}

/* ---------- rows / buttons ---------- */
.addr{font-size:16px;font-weight:600;line-height:1.35}
.addr-sub{margin-top:6px;font-size:14.5px;color:var(--ink-2)}
/* ---------- video row ---------- */
.video-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-top:14px;padding:12px;
  border-radius:var(--r-sm);background:#f7f7fa;border:1px solid var(--line);transition:background .15s}
.video-row:active{background:#efeff4}
.video-thumb{flex:none;width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center}
.video-copy{flex:1;min-width:0}
.video-copy b{display:block;font-size:15px;font-weight:600}
.video-copy small{display:block;font-size:13px;color:var(--ink-3)}
.video-chev{flex:none;color:var(--ink-3)}
.video-row.empty{opacity:.55}
.video-row.empty .video-thumb{background:var(--line);color:var(--ink-3)}
.video-frame{position:relative;width:100%;aspect-ratio:9/16;max-height:62vh;border-radius:16px;overflow:hidden;
  background:#111114;margin-bottom:8px}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}

/* ---------- menu rows ---------- */
.menu{padding:6px 8px}
.menu-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 10px;border-radius:15px;
  transition:background .15s}
.menu-row:active{background:#f2f2f5}
.menu-row+.menu-row{position:relative}
.menu-row+.menu-row::before{content:"";position:absolute;top:0;left:52px;right:10px;height:1px;background:var(--line)}
.mr-ic{flex:none;width:36px;height:36px;border-radius:11px;background:#f4f4f7;color:var(--ink-2);
  display:flex;align-items:center;justify-content:center}
.mr-txt{flex:1;min-width:0}
.mr-txt b{display:block;font-size:15.5px;font-weight:600}
.mr-txt small{display:block;font-size:13px;color:var(--ink-3);line-height:1.3}
.mr-ch{flex:none;color:var(--ink-3)}
.menu-row.accent .mr-ic{background:rgba(0,113,227,.1);color:#0071e3}
.menu-row.accent .mr-txt b{color:#0071e3}
.menu-row.accent .mr-ch{color:#0071e3}

/* ---------- plans (продление) ---------- */
.plan{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 16px;border-radius:16px;
  background:#f5f5f7;border:2px solid transparent;margin-bottom:9px;transition:border-color .15s,background .15s}
.plan[aria-checked=true]{background:#fff;border-color:var(--ink)}
.plan-main{flex:1;min-width:0}
.plan-main b{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.plan-main small{display:block;font-size:13.5px;color:var(--ink-3);margin-top:2px}
.plan-price{font-size:16.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.badge{display:inline-block;margin-top:7px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:#fff;background:#0071e3;border-radius:999px;padding:3px 9px}
.sheet-hint{text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:10px}

/* ---------- photos ---------- */
.photos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.photo-add{width:76px;height:76px;border-radius:14px;border:1.5px dashed #c9c9d2;background:#fafafc;color:var(--ink-3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:600}
.photo-add:active{background:#f2f2f5}
.thumb{position:relative;width:76px;height:76px;border-radius:14px;overflow:hidden;background:#eee}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.6);
  color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
.photo-hint{font-size:13px;color:var(--ink-3);margin:0 0 14px;line-height:1.35}
.photo-hint.urge{color:#0071e3;font-weight:600}

/* ---------- review ---------- */
.rv-q{font-size:19px;font-weight:700;letter-spacing:-.015em}
.rv-sub{font-size:14px;color:var(--ink-3);margin-top:3px}
.stars{display:flex;gap:2px;margin:14px 0 2px}
.star{width:50px;height:50px;display:flex;align-items:center;justify-content:center;color:#d9d9e0;transition:transform .12s}
.star:active{transform:scale(.9)}
.star svg{width:34px;height:34px;fill:currentColor}
.star.on{color:#f6a609}
.rv-tags-t{font-size:14px;font-weight:600;color:var(--ink-2);margin:16px 0 9px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:9px 13px;border-radius:999px;background:#f4f4f7;border:1.5px solid transparent;
  font-size:14px;font-weight:500;color:var(--ink-2);transition:.15s}
.chip[aria-pressed=true]{background:#fff;border-color:var(--ink);color:var(--ink);font-weight:600}
#rvText{width:100%;margin-top:12px;padding:13px 14px;border-radius:13px;border:1px solid var(--line);
  background:#fafafc;font-size:15px;min-height:74px;resize:vertical}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;border-radius:15px;
  background:var(--accent);color:#fff;font-size:16px;font-weight:600;margin-top:16px;transition:transform .12s ease,opacity .12s}
.btn:active{transform:scale(.985);opacity:.9}
.btn-quiet{background:#f2f2f5;color:var(--ink)}
.maps{display:flex;gap:8px;margin-top:10px}
.maps a{flex:1;text-align:center;padding:11px 0;border-radius:12px;background:#f4f4f7;color:var(--ink-2);
  font-size:13.5px;font-weight:600;text-decoration:none}
.maps a:active{background:#ececf1}

/* ---------- locked pult ---------- */
.locked{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r-sm);
  background:#f7f7fa;border:1px dashed var(--line)}
.locked svg{flex:none;color:var(--ink-3)}
.locked-txt{font-size:14.5px;color:var(--ink-2)}
.locked-txt b{display:block;color:var(--ink);font-weight:600;font-size:15px}
.pult-list{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.pult-list li{font-size:13px;color:var(--ink-3);background:#f7f7fa;border-radius:999px;padding:6px 11px}

/* ---------- unlock ---------- */
.slide{position:relative;height:60px;border-radius:17px;background:#f0f0f4;
  overflow:hidden;touch-action:pan-y;user-select:none;transition:background .25s}
.slide.open{background:linear-gradient(90deg,#f4f4f7,#e6f7ec)}
.slide-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 68px 0 68px;
  font-size:14.5px;font-weight:600;color:var(--ink-2);pointer-events:none;text-align:center;line-height:1.2}
.slide-thumb{position:absolute;top:5px;left:5px;width:50px;height:50px;border-radius:13px;background:var(--ink);
  display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.22)}
.slide.open .slide-thumb{background:var(--green);box-shadow:0 3px 10px rgba(47,180,87,.35)}
.slide.open .slide-hint{color:#1d7d3f}

/* ---------- controls ---------- */
.ctrl{margin-top:12px;padding:16px;border-radius:var(--r-sm);background:#fafafc;border:1px solid var(--line)}
.ctrl-top{display:flex;align-items:center;justify-content:space-between}
.ctrl-name{font-size:15.5px;font-weight:600}
.ctrl-val{font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin-top:6px}
input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;
  background:linear-gradient(90deg,var(--ink) var(--p,80%),var(--line) var(--p,80%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.25);margin-top:-9px}
input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--line)}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.25)}

.seg{display:flex;gap:4px;margin-top:10px;padding:4px;background:#f0f0f4;border-radius:12px}
.seg button{flex:1;padding:9px 0;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-2);transition:.15s}
.seg button[aria-checked=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.13)}

.note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13.5px;color:var(--ink-3);line-height:1.4}
.note svg{flex:none;margin-top:1px}

/* ---------- bottom bar + sheet ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.9);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto;display:flex;gap:10px}
.dock button{flex:1;height:50px;border-radius:15px;background:#fff;font-size:15.5px;font-weight:600;box-shadow:var(--sh);
  display:flex;align-items:center;justify-content:center;gap:8px}
.dock button.primary{background:var(--accent);color:#fff}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);transition:transform .3s cubic-bezier(.32,.72,0,1);
  max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}
.sheet h2{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}
.sheet p{margin:0 0 14px;font-size:14.5px;color:var(--ink-2)}
.contact{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-sm);background:#fafafc;
  border:1px solid var(--line);text-decoration:none;margin-bottom:8px}
.contact .ic{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--ink-2);flex:none}
.contact b{display:block;font-size:15px}
.contact small{color:var(--ink-3);font-size:13px}
label.f{display:block;margin-bottom:12px}
label.f span{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
label.f select,label.f textarea{width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--line);
  background:#fafafc;font-size:15px}
label.f textarea{min-height:88px;resize:vertical}
.sheet-links{display:flex;justify-content:center;gap:18px;margin-top:16px;font-size:13px;color:var(--ink-3)}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:22px 0 4px}
.foot a{margin:0 8px;text-decoration:none}


@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* кнопка ожидания + обратный отсчёт в доке */
.wait-btn{margin-top:16px}
.wait-note{margin-top:9px;font-size:13px;color:var(--ink-3);text-align:center;line-height:1.4}
.dock button:disabled{background:#e4e4ea;color:var(--ink-3);opacity:1;cursor:default}
.dock button.counting{font-variant-numeric:tabular-nums}
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);z-index:70;
  background:rgba(17,17,20,.94);color:#fff;font-size:14.5px;font-weight:500;line-height:1.35;
  padding:13px 18px;border-radius:14px;max-width:330px;text-align:center;
  opacity:0;pointer-events:none;transition:opacity .22s,transform .22s}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ==== ROUTE__bookings_id_success__STATE_3_FINISHED.html ==== */
:root{
  --bg:#f2f2f5;
  --card:#ffffff;
  --ink:#111114;
  --ink-2:#6b6b73;
  --ink-3:#9a9aa2;
  --line:#e8e8ed;
  --green:#2fb457;
  --green-soft:rgba(47,180,87,.12);
  --accent:#111114;
  --r:22px;
  --r-sm:14px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
  --pad:18px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #0071e3;outline-offset:3px;border-radius:8px}

/* ---------- shell ---------- */
.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 132px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad);margin:0 calc(var(--pad)*-1) 0}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

/* ---------- stepper ---------- */
.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px;padding:0}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:background .3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:#0071e3;box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);transition:color .3s}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0;transition:background .3s}
.st-line.is-done{background:var(--ink)}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}

/* ---------- hero ---------- */
.hero{margin-top:16px;padding-bottom:18px}
.hero-time{font-size:38px;line-height:1.05;font-weight:760;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.hero-time .dash{color:var(--ink-3);font-weight:600;margin:0 4px}
.hero-meta{margin-top:6px;font-size:15px;color:var(--ink-2)}
.hero-meta b{color:var(--ink);font-weight:600}

/* signature: session timeline */
.tl{margin-top:20px}
.tl-track{position:relative;height:6px;border-radius:999px;background:var(--line);overflow:visible}
.tl-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:var(--green);transition:width .6s ease}
.tl-now{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:var(--ink);
  border:3px solid #fff;transform:translate(-50%,-50%);box-shadow:0 1px 4px rgba(0,0,0,.25);transition:left .6s ease}
.tl-labels{display:flex;justify-content:space-between;margin-top:9px;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tl-status{margin-top:16px;display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}
.tl-status .dot{width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex:none}
.is-live .tl-status .dot{background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.tl-status small{display:block;font-size:13.5px;font-weight:400;color:var(--ink-2)}

/* ---------- rows / buttons ---------- */
.addr{font-size:16px;font-weight:600;line-height:1.35}
.addr-sub{margin-top:6px;font-size:14.5px;color:var(--ink-2)}
/* ---------- video row ---------- */
.video-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-top:14px;padding:12px;
  border-radius:var(--r-sm);background:#f7f7fa;border:1px solid var(--line);transition:background .15s}
.video-row:active{background:#efeff4}
.video-thumb{flex:none;width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center}
.video-copy{flex:1;min-width:0}
.video-copy b{display:block;font-size:15px;font-weight:600}
.video-copy small{display:block;font-size:13px;color:var(--ink-3)}
.video-chev{flex:none;color:var(--ink-3)}
.video-row.empty{opacity:.55}
.video-row.empty .video-thumb{background:var(--line);color:var(--ink-3)}
.video-frame{position:relative;width:100%;aspect-ratio:9/16;max-height:62vh;border-radius:16px;overflow:hidden;
  background:#111114;margin-bottom:8px}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}

/* ---------- menu rows ---------- */
.menu{padding:6px 8px}
.menu-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 10px;border-radius:15px;
  transition:background .15s}
.menu-row:active{background:#f2f2f5}
.menu-row+.menu-row{position:relative}
.menu-row+.menu-row::before{content:"";position:absolute;top:0;left:52px;right:10px;height:1px;background:var(--line)}
.mr-ic{flex:none;width:36px;height:36px;border-radius:11px;background:#f4f4f7;color:var(--ink-2);
  display:flex;align-items:center;justify-content:center}
.mr-txt{flex:1;min-width:0}
.mr-txt b{display:block;font-size:15.5px;font-weight:600}
.mr-txt small{display:block;font-size:13px;color:var(--ink-3);line-height:1.3}
.mr-ch{flex:none;color:var(--ink-3)}
.menu-row.accent .mr-ic{background:rgba(0,113,227,.1);color:#0071e3}
.menu-row.accent .mr-txt b{color:#0071e3}
.menu-row.accent .mr-ch{color:#0071e3}

/* ---------- plans (продление) ---------- */
.plan{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 16px;border-radius:16px;
  background:#f5f5f7;border:2px solid transparent;margin-bottom:9px;transition:border-color .15s,background .15s}
.plan[aria-checked=true]{background:#fff;border-color:var(--ink)}
.plan-main{flex:1;min-width:0}
.plan-main b{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.plan-main small{display:block;font-size:13.5px;color:var(--ink-3);margin-top:2px}
.plan-price{font-size:16.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.badge{display:inline-block;margin-top:7px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:#fff;background:#0071e3;border-radius:999px;padding:3px 9px}
.sheet-hint{text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:10px}

/* ---------- photos ---------- */
.photos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.photo-add{width:76px;height:76px;border-radius:14px;border:1.5px dashed #c9c9d2;background:#fafafc;color:var(--ink-3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:600}
.photo-add:active{background:#f2f2f5}
.thumb{position:relative;width:76px;height:76px;border-radius:14px;overflow:hidden;background:#eee}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.6);
  color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
.photo-hint{font-size:13px;color:var(--ink-3);margin:0 0 14px;line-height:1.35}
.photo-hint.urge{color:#0071e3;font-weight:600}

/* ---------- review ---------- */
.rv-q{font-size:19px;font-weight:700;letter-spacing:-.015em}
.rv-sub{font-size:14px;color:var(--ink-3);margin-top:3px}
.stars{display:flex;gap:2px;margin:14px 0 2px}
.star{width:50px;height:50px;display:flex;align-items:center;justify-content:center;color:#d9d9e0;transition:transform .12s}
.star:active{transform:scale(.9)}
.star svg{width:34px;height:34px;fill:currentColor}
.star.on{color:#f6a609}
.rv-tags-t{font-size:14px;font-weight:600;color:var(--ink-2);margin:16px 0 9px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:9px 13px;border-radius:999px;background:#f4f4f7;border:1.5px solid transparent;
  font-size:14px;font-weight:500;color:var(--ink-2);transition:.15s}
.chip[aria-pressed=true]{background:#fff;border-color:var(--ink);color:var(--ink);font-weight:600}
#rvText{width:100%;margin-top:12px;padding:13px 14px;border-radius:13px;border:1px solid var(--line);
  background:#fafafc;font-size:15px;min-height:74px;resize:vertical}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;border-radius:15px;
  background:var(--accent);color:#fff;font-size:16px;font-weight:600;margin-top:16px;transition:transform .12s ease,opacity .12s}
.btn:active{transform:scale(.985);opacity:.9}
.btn-quiet{background:#f2f2f5;color:var(--ink)}
.maps{display:flex;gap:8px;margin-top:10px}
.maps a{flex:1;text-align:center;padding:11px 0;border-radius:12px;background:#f4f4f7;color:var(--ink-2);
  font-size:13.5px;font-weight:600;text-decoration:none}
.maps a:active{background:#ececf1}

/* ---------- locked pult ---------- */
.locked{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r-sm);
  background:#f7f7fa;border:1px dashed var(--line)}
.locked svg{flex:none;color:var(--ink-3)}
.locked-txt{font-size:14.5px;color:var(--ink-2)}
.locked-txt b{display:block;color:var(--ink);font-weight:600;font-size:15px}
.pult-list{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.pult-list li{font-size:13px;color:var(--ink-3);background:#f7f7fa;border-radius:999px;padding:6px 11px}

/* ---------- unlock ---------- */
.slide{position:relative;height:60px;border-radius:17px;background:#f0f0f4;
  overflow:hidden;touch-action:pan-y;user-select:none;transition:background .25s}
.slide.open{background:linear-gradient(90deg,#f4f4f7,#e6f7ec)}
.slide-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 68px 0 68px;
  font-size:14.5px;font-weight:600;color:var(--ink-2);pointer-events:none;text-align:center;line-height:1.2}
.slide-thumb{position:absolute;top:5px;left:5px;width:50px;height:50px;border-radius:13px;background:var(--ink);
  display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.22)}
.slide.open .slide-thumb{background:var(--green);box-shadow:0 3px 10px rgba(47,180,87,.35)}
.slide.open .slide-hint{color:#1d7d3f}

/* ---------- controls ---------- */
.ctrl{margin-top:12px;padding:16px;border-radius:var(--r-sm);background:#fafafc;border:1px solid var(--line)}
.ctrl-top{display:flex;align-items:center;justify-content:space-between}
.ctrl-name{font-size:15.5px;font-weight:600}
.ctrl-val{font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin-top:6px}
input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;
  background:linear-gradient(90deg,var(--ink) var(--p,80%),var(--line) var(--p,80%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.25);margin-top:-9px}
input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--line)}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.25)}

.seg{display:flex;gap:4px;margin-top:10px;padding:4px;background:#f0f0f4;border-radius:12px}
.seg button{flex:1;padding:9px 0;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-2);transition:.15s}
.seg button[aria-checked=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.13)}

.note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13.5px;color:var(--ink-3);line-height:1.4}
.note svg{flex:none;margin-top:1px}

/* ---------- bottom bar + sheet ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.9);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto;display:flex;gap:10px}
.dock button{flex:1;height:50px;border-radius:15px;background:#fff;font-size:15.5px;font-weight:600;box-shadow:var(--sh);
  display:flex;align-items:center;justify-content:center;gap:8px}
.dock button.primary{background:var(--accent);color:#fff}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);transition:transform .3s cubic-bezier(.32,.72,0,1);
  max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}
.sheet h2{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}
.sheet p{margin:0 0 14px;font-size:14.5px;color:var(--ink-2)}
.contact{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-sm);background:#fafafc;
  border:1px solid var(--line);text-decoration:none;margin-bottom:8px}
.contact .ic{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--ink-2);flex:none}
.contact b{display:block;font-size:15px}
.contact small{color:var(--ink-3);font-size:13px}
label.f{display:block;margin-bottom:12px}
label.f span{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
label.f select,label.f textarea{width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--line);
  background:#fafafc;font-size:15px}
label.f textarea{min-height:88px;resize:vertical}
.sheet-links{display:flex;justify-content:center;gap:18px;margin-top:16px;font-size:13px;color:var(--ink-3)}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:22px 0 4px}
.foot a{margin:0 8px;text-decoration:none}


@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* кнопка ожидания + обратный отсчёт в доке */
.wait-btn{margin-top:16px}
.wait-note{margin-top:9px;font-size:13px;color:var(--ink-3);text-align:center;line-height:1.4}
.dock button:disabled{background:#e4e4ea;color:var(--ink-3);opacity:1;cursor:default}
.dock button.counting{font-variant-numeric:tabular-nums}
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);z-index:70;
  background:rgba(17,17,20,.94);color:#fff;font-size:14.5px;font-weight:500;line-height:1.35;
  padding:13px 18px;border-radius:14px;max-width:330px;text-align:center;
  opacity:0;pointer-events:none;transition:opacity .22s,transform .22s}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ==== ROUTE__legal_offer.html ==== */
:root{
  --bg:#f2f2f5; --card:#fff; --ink:#111114; --ink-2:#6b6b73; --ink-3:#9a9aa2;
  --line:#e8e8ed; --green:#2fb457; --green-soft:rgba(47,180,87,.12); --blue:#0071e3;
  --r:22px; --r-sm:14px; --pad:18px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
img{max-width:100%;display:block}

.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 120px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad)}
.topbar-in{max-width:440px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
h1{font-size:30px;line-height:1.12;letter-spacing:-.03em;font-weight:760;margin:0}
h2{font-size:20px;letter-spacing:-.015em;margin:0 0 4px}
.lead{font-size:15.5px;color:var(--ink-2);margin:12px 0 0;line-height:1.5}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border-radius:15px;
  background:var(--ink);color:#fff;font-size:16.5px;font-weight:600;transition:transform .12s,opacity .15s}
.btn:active{transform:scale(.985);opacity:.92}
.btn:disabled{opacity:.35;transform:none}
.btn small{display:block;font-size:12.5px;font-weight:500;opacity:.7;margin-top:2px}
.btn-quiet{background:#f2f2f5;color:var(--ink)}

.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:.3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:var(--blue);box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0}
.st-line.is-done{background:var(--ink)}

.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.92);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto}
.dock-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:24px 0 8px}
.foot a{margin:0 8px}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.doc h1{font-size:25px;line-height:1.2;margin:0 0 6px}
.doc .rev{font-size:13.5px;color:var(--ink-3);margin-bottom:18px}
.doc .intro{font-size:15px;color:var(--ink-2);line-height:1.55;margin:0 0 6px}
.doc h2{font-size:16.5px;font-weight:700;letter-spacing:-.01em;margin:26px 0 8px}
.doc p{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin:0 0 9px}
.doc ul{margin:0 0 12px;padding-left:20px}
.doc li{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin-bottom:5px}
.doc b{color:var(--ink);font-weight:600}
.doc a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.legal-foot{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);
  font-size:12px;line-height:1.5;color:var(--ink-3)}
.toc{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.toc a{padding:8px 12px;border-radius:999px;background:#f4f4f7;font-size:13px;font-weight:600;color:var(--ink-2)}
.toc a[aria-current=page]{background:var(--ink);color:#fff}
.back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink-2);
  margin:16px 0 4px}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* ==== ROUTE__legal_privacy.html ==== */
:root{
  --bg:#f2f2f5; --card:#fff; --ink:#111114; --ink-2:#6b6b73; --ink-3:#9a9aa2;
  --line:#e8e8ed; --green:#2fb457; --green-soft:rgba(47,180,87,.12); --blue:#0071e3;
  --r:22px; --r-sm:14px; --pad:18px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
img{max-width:100%;display:block}

.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 120px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad)}
.topbar-in{max-width:440px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
h1{font-size:30px;line-height:1.12;letter-spacing:-.03em;font-weight:760;margin:0}
h2{font-size:20px;letter-spacing:-.015em;margin:0 0 4px}
.lead{font-size:15.5px;color:var(--ink-2);margin:12px 0 0;line-height:1.5}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border-radius:15px;
  background:var(--ink);color:#fff;font-size:16.5px;font-weight:600;transition:transform .12s,opacity .15s}
.btn:active{transform:scale(.985);opacity:.92}
.btn:disabled{opacity:.35;transform:none}
.btn small{display:block;font-size:12.5px;font-weight:500;opacity:.7;margin-top:2px}
.btn-quiet{background:#f2f2f5;color:var(--ink)}

.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:.3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:var(--blue);box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0}
.st-line.is-done{background:var(--ink)}

.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.92);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto}
.dock-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:24px 0 8px}
.foot a{margin:0 8px}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.doc h1{font-size:25px;line-height:1.2;margin:0 0 6px}
.doc .rev{font-size:13.5px;color:var(--ink-3);margin-bottom:18px}
.doc .intro{font-size:15px;color:var(--ink-2);line-height:1.55;margin:0 0 6px}
.doc h2{font-size:16.5px;font-weight:700;letter-spacing:-.01em;margin:26px 0 8px}
.doc p{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin:0 0 9px}
.doc ul{margin:0 0 12px;padding-left:20px}
.doc li{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin-bottom:5px}
.doc b{color:var(--ink);font-weight:600}
.doc a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.legal-foot{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);
  font-size:12px;line-height:1.5;color:var(--ink-3)}
.toc{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.toc a{padding:8px 12px;border-radius:999px;background:#f4f4f7;font-size:13px;font-weight:600;color:var(--ink-2)}
.toc a[aria-current=page]{background:var(--ink);color:#fff}
.back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink-2);
  margin:16px 0 4px}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* ==== ROUTE__legal_consent.html ==== */
:root{
  --bg:#f2f2f5; --card:#fff; --ink:#111114; --ink-2:#6b6b73; --ink-3:#9a9aa2;
  --line:#e8e8ed; --green:#2fb457; --green-soft:rgba(47,180,87,.12); --blue:#0071e3;
  --r:22px; --r-sm:14px; --pad:18px;
  --sh:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
img{max-width:100%;display:block}

.shell{max-width:440px;margin:0 auto;padding:0 var(--pad) 120px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  height:52px;background:rgba(242,242,245,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05);padding:0 var(--pad)}
.topbar-in{max-width:440px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:13px;font-weight:800;letter-spacing:.12em}
.chip-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green);
  background:var(--green-soft);padding:5px 11px;border-radius:999px}
.chip-ok i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:12px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
h1{font-size:30px;line-height:1.12;letter-spacing:-.03em;font-weight:760;margin:0}
h2{font-size:20px;letter-spacing:-.015em;margin:0 0 4px}
.lead{font-size:15.5px;color:var(--ink-2);margin:12px 0 0;line-height:1.5}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border-radius:15px;
  background:var(--ink);color:#fff;font-size:16.5px;font-weight:600;transition:transform .12s,opacity .15s}
.btn:active{transform:scale(.985);opacity:.92}
.btn:disabled{opacity:.35;transform:none}
.btn small{display:block;font-size:12.5px;font-weight:500;opacity:.7;margin-top:2px}
.btn-quiet{background:#f2f2f5;color:var(--ink)}

.stepper{display:flex;align-items:flex-start;margin:18px 2px 4px}
.st-node{position:relative;flex:none;height:30px}
.st-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto;transition:.3s}
.st-node.is-done .st-dot{background:var(--ink)}
.st-node.is-active .st-dot{background:var(--blue);box-shadow:0 0 0 5px rgba(0,113,227,.16)}
.st-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.st-node.is-done .st-label{color:var(--ink-2)}
.st-node.is-active .st-label{color:var(--ink)}
.st-node:first-child .st-label{left:0;transform:none}
.st-node:last-child .st-label{left:auto;right:0;transform:none}
.st-line{flex:1;height:2px;border-radius:2px;background:var(--line);margin:4.5px 7px 0}
.st-line.is-done{background:var(--ink)}

.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(242,242,245,.92);backdrop-filter:blur(14px);border-top:1px solid rgba(0,0,0,.06)}
.dock-in{max-width:440px;margin:0 auto}
.dock-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}

.foot{text-align:center;font-size:12.5px;color:var(--ink-3);padding:24px 0 8px}
.foot a{margin:0 8px}

.scrim{position:fixed;inset:0;background:rgba(10,10,14,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:26px 26px 0 0;
  padding:10px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(102%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);max-width:440px;margin:0 auto;max-height:86vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.grab{width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 14px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.doc h1{font-size:25px;line-height:1.2;margin:0 0 6px}
.doc .rev{font-size:13.5px;color:var(--ink-3);margin-bottom:18px}
.doc .intro{font-size:15px;color:var(--ink-2);line-height:1.55;margin:0 0 6px}
.doc h2{font-size:16.5px;font-weight:700;letter-spacing:-.01em;margin:26px 0 8px}
.doc p{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin:0 0 9px}
.doc ul{margin:0 0 12px;padding-left:20px}
.doc li{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin-bottom:5px}
.doc b{color:var(--ink);font-weight:600}
.doc a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.legal-foot{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);
  font-size:12px;line-height:1.5;color:var(--ink-3)}
.toc{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.toc a{padding:8px 12px;border-radius:999px;background:#f4f4f7;font-size:13px;font-weight:600;color:var(--ink-2)}
.toc a[aria-current=page]{background:var(--ink);color:#fff}
.back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink-2);
  margin:16px 0 4px}

/* ---------- широкий экран ---------- */
@media (min-width:820px){
  body{background:radial-gradient(1200px 600px at 50% -10%,#eceef4,var(--bg))}
  .shell{max-width:480px}
  .topbar{background:rgba(242,242,245,.9)}
  .dock{left:50%;transform:translateX(-50%);width:520px;border-radius:20px 20px 0 0;
        border:1px solid rgba(0,0,0,.06);border-bottom:0;box-shadow:0 -6px 30px rgba(17,17,20,.08)}
}

/* ---------- исправления после деплоя ---------- */
/* нижняя панель: сумма и кнопка не должны слипаться */
.dock-sum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum b{margin-left:auto;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button,.dock a.btn{min-height:52px;font-size:16.5px;font-weight:600}

/* любые текстовые поля выглядят одинаково, а не как дефолтные браузерные */
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  width:100%;padding:15px;border-radius:14px;border:1px solid var(--line);
  background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--ink);background:#fff}

/* карусель не должна занимать весь экран на десктопе */
.car-track img{max-height:66vh}

/* липкая шапка не наезжает на заголовки при переходе по якорю */
h1,h2,.eyebrow{scroll-margin-top:70px}

/* ==== FIX-v3 overrides (must be last) ==== */
.dock-sum{display:flex !important;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:9px;font-size:14px;color:var(--ink-2)}
.dock-sum > span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.dock-sum b{margin-left:auto;flex:none;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock .btn,.dock button.btn,.dock a.btn{
  display:flex !important;align-items:center;justify-content:center;
  width:100%;min-height:52px;border:0;border-radius:15px;
  background:var(--ink) !important;color:#fff !important;
  font-size:16.5px;font-weight:600}
.dock .btn:disabled,.dock button.btn:disabled{opacity:.35;color:#fff !important}
.dock button:disabled{background:#e4e4ea !important;color:var(--ink-3) !important;opacity:1;cursor:default}
.dock button.counting{font-variant-numeric:tabular-nums}
.wait-btn{margin-top:16px}
.wait-note{margin-top:9px;font-size:13px;color:var(--ink-3);text-align:center;line-height:1.4}
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);z-index:70;
  background:rgba(17,17,20,.94);color:#fff;font-size:14.5px;font-weight:500;line-height:1.35;
  padding:13px 18px;border-radius:14px;max-width:330px;text-align:center;
  opacity:0;pointer-events:none;transition:opacity .22s,transform .22s}
.toast.show{opacity:1;transform:translate(-50%,0)}
input.bad{border-color:#d0342c !important;background:#fff5f5 !important}
input[type=text],input[type=tel],input[type=email],input[type=search],textarea,select{
  display:block;width:100%;box-sizing:border-box;padding:15px;border-radius:14px;
  border:1px solid var(--line);background:#fafafc;font-size:16px;color:var(--ink);appearance:none}
.car-track img{max-height:66vh;width:100%;aspect-ratio:3/4;object-fit:cover}
h1,h2,.eyebrow,.hero-p h1,.hero-b h1{scroll-margin-top:70px}

/* ==== FIX-v3b: selected date/time visible ==== */
.day.on,.day[aria-pressed=true]{background:var(--ink) !important;color:#fff !important;border-color:var(--ink) !important}
.day.on small,.day[aria-pressed=true] small{color:rgba(255,255,255,.65) !important}
.slot.on,.slot[aria-pressed=true]{background:var(--ink) !important;color:#fff !important;border-color:var(--ink) !important}
.dur.on,.dur[aria-checked=true]{background:rgba(0,113,227,.06) !important;border-color:var(--blue) !important}

/* Accordion titles on landing must stay readable (later .eyebrow rules use ink-3) */
.rules-acc summary .eyebrow,
.contacts-acc summary .eyebrow{
  color:var(--ink) !important;
  font-size:16.5px !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;
  margin:0 !important;
}
.rules-acc summary .pm,
.contacts-acc summary .pm{color:var(--ink-2) !important}

/* ==== FIX-v3e: stop mobile horizontal wobble ==== */
html{overflow-x:hidden;max-width:100%}
body.pkg-ui{
  overflow-x:hidden;max-width:100%;
  overscroll-behavior-x:none;
  touch-action:pan-y;
  position:relative;
}
body.pkg-ui *,body.pkg-ui *::before,body.pkg-ui *::after{box-sizing:border-box}
body.pkg-ui .shell,
body.pkg-ui .topbar,
body.pkg-ui .topbar-in,
body.pkg-ui .dock,
body.pkg-ui .dock-in,
body.pkg-ui .sheet{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
/* Keep mobile column centered on phones and desktop; only expand to page edges for topbar/dock chrome */
body.pkg-ui .shell{
  max-width:440px;
  margin-left:auto;
  margin-right:auto;
}
body.pkg-ui .topbar-in,
body.pkg-ui .dock-in,
body.pkg-ui .sheet{
  max-width:440px;
  margin-left:auto;
  margin-right:auto;
}
body.pkg-ui .topbar{margin-left:0 !important;margin-right:0 !important;left:0;right:0}
body.pkg-ui .days-wrap{margin-left:0;margin-right:0;overflow:hidden}
body.pkg-ui .days{padding-left:0;padding-right:0;max-width:100%}
body.pkg-ui .stepper{
  margin-left:0;margin-right:0;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
body.pkg-ui .stepper::-webkit-scrollbar{display:none}
body.pkg-ui .st-label{font-size:9px}
body.pkg-ui .dock{
  left:0 !important;
  right:0 !important;
  width:auto !important;
  transform:none !important;
  border-radius:0 !important;
}
body.pkg-ui .dock-in{
  display:flex;
  flex-direction:column;
  gap:9px;
  align-items:stretch;
  max-width:440px;
  margin:0 auto;
  width:100%;
  padding:0;
}
body.pkg-ui .dock .dock-sum{
  min-width:0;
  width:100%;
  margin-bottom:0;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  font-size:16px !important;
  font-weight:650;
  line-height:1.35;
  color:var(--ink) !important;
  letter-spacing:-0.01em;
}
body.pkg-ui .dock .dock-sum span{
  font-size:16px !important;
  font-weight:650;
  color:var(--ink) !important;
}
body.pkg-ui .dock .dock-sum b{display:none !important} /* price only inside the button */
body.pkg-ui .dock .btn,
body.pkg-ui .dock button.primary,
body.pkg-ui .dock #go,
body.pkg-ui .dock #pay,
body.pkg-ui .dock #dockPrimary,
body.pkg-ui .dock a.btn{
  min-width:0;
  width:100%;
  flex:none;
  max-width:100%;
}

/* Landing/header: brand left, status right across the page */
body.home-pkg .topbar,
body.pkg-ui .topbar{
  width:100%;
  padding-left:max(16px, env(safe-area-inset-left));
  padding-right:max(16px, env(safe-area-inset-right));
}
body.home-pkg .topbar-in,
body.pkg-ui .topbar-in{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  display:flex !important;
  align-items:center;
  justify-content:space-between !important;
  gap:12px;
}
body.home-pkg .topbar .brand,
body.pkg-ui .topbar .brand{
  flex:none;
  margin-right:auto;
}
body.home-pkg .topbar .chip-ok,
body.pkg-ui .topbar .chip-ok{
  flex:none;
  margin-left:auto;
  white-space:nowrap;
}
#durCard{scroll-margin-top:64px}
body.pkg-ui .foot.foot-support{
  padding:18px 0 6px;
  font-size:14px;
}
body.pkg-ui .foot.foot-support a,
body.pkg-ui .foot.foot-support .foot-support-btn{
  color:var(--ink-2);
  text-decoration:none;
  font-weight:550;
  border:0;
  border-bottom:1px solid rgba(0,0,0,.14);
  padding:0 0 1px;
  margin:0;
  background:none;
  font:inherit;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
body.pkg-ui .foot.foot-support a:active,
body.pkg-ui .foot.foot-support .foot-support-btn:active{opacity:.7}
body.pult-pkg .rv-thanks{
  font-size:14px;
  font-weight:600;
  color:var(--ink-2);
  margin-bottom:10px;
  letter-spacing:-0.01em;
}
@media (min-width:720px){
  body.pkg-ui .dock{
    left:50% !important;
    right:auto !important;
    width:min(520px,100%) !important;
    transform:translateX(-50%) !important;
    border-radius:20px 20px 0 0 !important;
  }
  body.pkg-ui .shell,
  body.pkg-ui .topbar-in,
  body.pkg-ui .dock-in,
  body.pkg-ui .sheet{
    max-width:480px;
  }
  body.home-pkg .topbar-in,
  body.pkg-ui .topbar-in{
    max-width:480px !important;
    margin:0 auto !important;
  }
}

/* FIX-v3o: await-door status chip */
.chip-warn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#b45309;
  background:rgba(180,83,9,.12);padding:5px 11px;border-radius:999px}
.chip-warn i{width:6px;height:6px;border-radius:50%;background:#b45309;display:block}

/* FIX-v3q: live door sensor signal on end screen */
.door-sig{
  margin-top:14px;display:flex;align-items:flex-start;gap:12px;
  padding:14px 14px;border-radius:16px;border:1px solid transparent;
}
.door-sig.is-open{
  background:rgba(180,83,9,.10);border-color:rgba(180,83,9,.22);
}
.door-sig.is-closed{
  background:rgba(47,180,87,.10);border-color:rgba(47,180,87,.20);
}
.door-sig.is-unknown{
  background:rgba(0,113,227,.06);border-color:rgba(0,113,227,.16);
}
.door-sig-ic{
  flex:none;width:40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
}
.door-sig.is-open .door-sig-ic{background:rgba(180,83,9,.16);color:#b45309;animation:doorPulse 1.4s ease-in-out infinite}
.door-sig.is-closed .door-sig-ic{background:rgba(47,180,87,.16);color:#2fb457}
.door-sig.is-unknown .door-sig-ic{background:rgba(0,113,227,.12);color:#0071e3;animation:doorPulse 1.8s ease-in-out infinite}
.door-sig-ic svg{width:22px;height:22px}
.door-sig-txt{min-width:0;flex:1}
.door-sig-txt b{display:block;font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.door-sig.is-open .door-sig-txt b{color:#92400e}
.door-sig.is-closed .door-sig-txt b{color:#167a3a}
.door-sig.is-unknown .door-sig-txt b{color:#0b5bb5}
.door-sig-txt small{display:block;margin-top:4px;font-size:13px;font-weight:400;color:var(--ink-2);line-height:1.45}
.door-sig-note{
  margin:10px 2px 0;font-size:13px;line-height:1.4;color:var(--ink-3);text-align:center;
}
@keyframes doorPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.06);opacity:.85}
}
