@font-face{font-family:Manrope;src:url('/fonts/manrope/cyrillic.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--navy:#10294f;--blue:#1b437d;--ice:#eaf3f7;--gold:#e9b949;--red:#b63a42;--ink:#132238;--muted:#667489;--line:#dce5ea;--white:#fff;--shadow:0 22px 60px rgba(16,41,79,.13)}
*{box-sizing:border-box}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:linear-gradient(135deg,#f6fbfd 0,#eaf3f7 55%,#f9f2e5 100%);min-height:100vh}button,input{font:inherit}a{color:var(--blue)}
.topbar{height:68px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(16,41,79,.08);backdrop-filter:blur(12px)}.brand{font-weight:800;letter-spacing:.09em;color:var(--navy);text-decoration:none}.topbar span{color:var(--muted);font-size:13px;border-left:1px solid var(--line);padding-left:16px}
main{width:min(1160px,calc(100% - 32px));margin:0 auto;padding:68px 0 72px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);gap:64px;align-items:start}.hero{padding:48px 18px 0 10px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:12px;color:var(--red);margin:0 0 12px}.hero h1{font-size:clamp(42px,4.5vw,62px);line-height:1;letter-spacing:-.05em;margin:0;color:var(--navy)}.hero h1 span{color:var(--red)}.lead{font-size:18px;line-height:1.65;color:#4e6078;max-width:560px;margin:28px 0}.facts{display:flex;flex-wrap:wrap;gap:10px}.facts span{background:#fff;border:1px solid rgba(16,41,79,.1);border-radius:999px;padding:9px 13px;font-size:13px;font-weight:700;color:var(--blue)}
.booking-shell{background:rgba(255,255,255,.94);border:1px solid rgba(16,41,79,.1);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.booking-shell h2,.form-section h2,.success h2{font-size:26px;margin:0;color:var(--navy);letter-spacing:-.025em}.steps{display:flex;align-items:center;margin-bottom:20px}.steps b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:white;font-size:12px}.steps i{height:2px;background:var(--line);flex:1}.step-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-top:26px}.refresh,.back{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer;padding:8px}.notice{margin:0 0 24px;padding:12px 14px;border-radius:12px;background:#fff5d9;color:#70520e;font-size:13px;line-height:1.5;border:1px solid #f1dda6}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.choice{border:1px solid var(--line);border-radius:15px;background:#fff;padding:17px;text-align:left;color:var(--ink);cursor:pointer}.choice strong,.choice span,.choice small{display:block}.choice strong{font-size:18px;color:var(--navy)}.choice span{font-size:13px;font-weight:700;margin-top:2px}.choice small{color:var(--muted);line-height:1.45;margin-top:9px}.choice:hover,.choice.selected{border-color:var(--blue);box-shadow:0 8px 22px rgba(16,41,79,.09)}.choice.selected{outline:2px solid var(--blue);background:#f4f8fc}.paid-field{margin-top:20px}.paid-field small{display:block;margin-top:6px}.group-summary{margin-top:14px;padding:13px 15px;border-radius:12px;background:#e8f5ef;color:#17604d}.continue{width:100%;margin-top:16px;padding:13px;border:0;border-radius:12px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}.continue:disabled{opacity:.4;cursor:not-allowed}.slots{display:grid;gap:10px;margin-top:18px}.slot{width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;padding:15px 17px;display:grid;grid-template-columns:1fr auto;gap:12px;text-align:left;cursor:pointer;transition:.18s ease}.slot:hover:not(:disabled){border-color:var(--blue);transform:translateY(-1px);box-shadow:0 8px 22px rgba(16,41,79,.09)}.slot:disabled{cursor:not-allowed;background:#f5f7f8;color:#8e99a6}.slot strong,.slot small{display:block}.slot strong{color:var(--navy);font-size:16px}.slot small{color:var(--muted);margin-top:3px}.slot em{font-style:normal;font-size:12px;font-weight:800;align-self:center;color:#13745c}.slot:disabled em{color:#87909a}.loading,.empty{padding:28px;text-align:center;border:1px dashed var(--line);border-radius:15px;color:var(--muted)}
.booking-form{margin-top:24px}.chosen{padding:14px 16px;border-radius:14px;background:var(--navy);color:#fff;font-weight:800;margin-bottom:26px}.form-section{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.fields{display:grid;gap:14px}.fields.two{grid-template-columns:1fr 1fr}label{display:block;font-size:13px;font-weight:800;color:var(--navy);margin-top:14px}label small{font-weight:500;color:var(--muted)}input{width:100%;margin-top:6px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}input:focus{outline:3px solid rgba(27,67,125,.13);border-color:var(--blue)}.consent{display:flex;gap:10px;align-items:flex-start;color:#4e6078;font-weight:500;line-height:1.45}.consent input{width:19px;height:19px;margin:1px 0 0;flex:0 0 auto}.submit,.success button{width:100%;margin-top:18px;padding:14px 18px;border:0;border-radius:12px;background:var(--red);color:#fff;font-weight:800;cursor:pointer}.submit:disabled{opacity:.6;cursor:wait}.form-status{min-height:22px;margin:10px 0 0;color:var(--red);font-size:13px}.hp{position:absolute!important;left:-10000px!important}.success{text-align:center;padding:36px 12px}.success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#dff4ec;color:#087457;font-size:30px;font-weight:800}.success p{color:var(--muted)}.success strong{color:var(--navy)}.success button{max-width:300px;background:var(--navy)}
footer{width:min(1160px,calc(100% - 32px));margin:0 auto 34px;display:flex;justify-content:space-between;gap:18px;font-size:13px;color:var(--muted)}footer a{text-decoration:none;font-weight:700}
@media(max-width:960px){main{grid-template-columns:1fr;gap:30px;padding-top:34px}.hero{padding-top:10px}.booking-shell{max-width:680px;width:100%;margin:0 auto}}@media(max-width:620px){main{width:min(100% - 20px,1160px)}.topbar{padding:0 16px}.hero h1{font-size:44px}.lead{font-size:16px}.booking-shell{padding:20px;border-radius:20px}.fields.two,.choice-grid{grid-template-columns:1fr}.step-head{display:block}.booking-shell h2,.form-section h2{font-size:22px}footer{flex-direction:column}}

/* Разделение сценариев физлица и организации */
.audience-note{grid-column:1;grid-row:2;margin:0 10px;padding:18px;border:1px solid #cfdfec;border-radius:16px;background:rgba(255,255,255,.8);line-height:1.5}.audience-note strong{color:var(--navy)}.audience-note p{margin:6px 0 12px;color:var(--muted);font-size:14px}.audience-note a{font-weight:800;text-decoration:none}.booking-shell{grid-column:2;grid-row:1 / span 2}.terms-summary{margin:0 0 20px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#f8fbfd}.terms-summary h3{margin:0 0 12px;color:var(--navy)}.terms-summary dl{display:grid;grid-template-columns:150px 1fr;gap:7px 12px;margin:0;font-size:13px;line-height:1.45}.terms-summary dt{color:var(--muted)}.terms-summary dd{margin:0}
@media(max-width:960px){.audience-note,.booking-shell{grid-column:1;grid-row:auto;max-width:680px;width:100%;margin:0 auto}.booking-shell{margin-top:6px}}@media(max-width:620px){.terms-summary dl{grid-template-columns:1fr;gap:3px}.terms-summary dd{margin-bottom:7px}}
.company-choice{display:flex;align-items:flex-start;gap:11px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#f8fbfd;cursor:pointer}.company-choice input{width:20px;height:20px;margin:1px 0 0;flex:none}.company-choice span,.company-choice small{display:block}.company-choice small{margin-top:3px;line-height:1.4}.company-choice:has(input:checked){border-color:var(--blue);background:#eef5fb}

/* Календарь доступности на шаге 3 */
.booking-calendar{margin-top:20px;padding:17px;border:1px solid var(--line);border-radius:18px;background:#f9fbfc}.calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px}.calendar-toolbar strong{text-align:center;text-transform:capitalize;color:var(--navy)}.calendar-toolbar button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}.calendar-toolbar button:hover{border-color:var(--blue)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-weekdays{margin:16px 0 8px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:11px;font-weight:800}.calendar-day{--day-color:transparent;--day-fill:0%;width:42px;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;margin:auto;background:conic-gradient(var(--day-color) 0 var(--day-fill),#fff var(--day-fill) 100%);color:var(--navy);font-size:13px;font-weight:800;cursor:pointer;position:relative}.calendar-day.available{--day-color:#79cfab}.calendar-day.tentative{--day-color:#f1ca62}.calendar-day.occupied{--day-color:#ed777d}.calendar-day:disabled{border-color:transparent;background:transparent;color:#a3adb7;cursor:default}.calendar-day:not(:disabled):hover{transform:scale(1.06)}.calendar-day.selected{outline:3px solid var(--navy);outline-offset:2px}.calendar-spacer{min-height:42px}.calendar-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:16px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);background:#fff;flex:none}.legend-dot.available{background:#79cfab}.legend-dot.tentative{background:#f1ca62}.legend-dot.occupied{background:#ed777d}.legend-dot.empty-day{background:#fff;border-color:#8c99a8}.calendar-loading{grid-column:1/-1}.times-title{margin:22px 0 0;color:var(--navy);font-size:17px;text-transform:capitalize}.slot.tentative em{color:#9a6a00}.slot.occupied em{color:#b63a42}
@media(max-width:620px){.booking-calendar{padding:13px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day{width:35px}.calendar-spacer{min-height:35px}.calendar-legend{grid-template-columns:1fr}}

/* Подтверждение представителя показывается только в сценарии компании */
[data-company-terms][hidden]{display:none!important}

/* Цвет календарного дня зависит от количества времён */
.calendar-day.scarce{--day-color:#ed777d}.calendar-day.limited{--day-color:#f1ca62}.calendar-day.available{--day-color:#79cfab}.legend-dot.scarce{background:#ed777d}.legend-dot.limited{background:#f1ca62}

/* Сворачиваемые шаги выбора группы */
.booking-step+.booking-step{margin-top:10px}.booking-step.collapsed{margin-top:18px;padding:14px 16px;border-radius:15px;background:#e8f5ef}.booking-step.collapsed .step-head{margin-top:0;align-items:center}.booking-step.collapsed h2{font-size:20px}.booking-step.collapsed .kicker{margin-bottom:5px}.step-selection,.step-explanation{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.step-selection{color:#17604d;font-weight:700}.booking-step-head{align-items:flex-start}[data-size-options][hidden]{display:none!important}
@media(max-width:620px){.booking-step.collapsed .step-head{display:flex}.booking-step.collapsed{padding:13px 14px}.booking-step.collapsed h2{font-size:19px}}

/* Нативный прокручиваемый список количества участников */
.paid-field select{width:100%;margin-top:6px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.paid-field select:focus{outline:3px solid rgba(27,67,125,.13);border-color:var(--blue)}
.pickup-request{position:relative;margin:12px 0 18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f7fafc}.address-control{display:flex;gap:8px;margin-top:7px}.address-control input{margin:0;min-width:0;flex:1}.address-control button{border:0;border-radius:10px;padding:0 14px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.address-control button:disabled{opacity:.55}.address-suggestions{position:absolute;z-index:20;left:14px;right:14px;top:82px;display:none;max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 38px rgba(16,41,79,.18)}.address-suggestions.show{display:block}.address-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:11px 13px;text-align:left;color:var(--ink);cursor:pointer}.address-suggestions button:last-child{border-bottom:0}.address-suggestions button:hover,.address-suggestions button:focus{background:#eef5fa}.address-status{display:block;margin-top:8px;line-height:1.45;color:var(--muted)}.address-status.valid{color:#17604d;font-weight:700}.address-status.error{color:var(--red);font-weight:700}@media(max-width:560px){.address-control{display:block}.address-control button{width:100%;margin-top:8px;padding:11px}.address-suggestions{top:126px}}
.bus-price-note{display:grid;gap:3px;margin-top:10px;padding:11px 12px;border-left:4px solid #d6a11e;border-radius:9px;background:#fff7df;color:#654f13;line-height:1.45}.bus-price-note span{font-size:13px}.bus-price-note[hidden]{display:none}

/* Stilstudia: navy and gold, booking layout retained. */
body{background:linear-gradient(145deg,#071944,#030d28)}.topbar{background:#071944;border-color:#343454}.brand,.topbar span{color:#ffd43b}.hero h1,.lead,.eyebrow,footer,footer a{color:#f9f8f5}.hero h1 span{color:#ffd43b}.submit{background:#ffd43b;color:#10294f}.hero{min-width:0}.hero h1{font-size:clamp(34px,4.1vw,56px);overflow-wrap:anywhere}@media(max-width:960px){.hero{max-width:680px;margin:auto;width:100%}}

/* Match homepage price accent. */
.continue[data-show-slots]{background:#ffd43b;color:#10294f}
.continue[data-show-slots]:hover:not(:disabled){filter:brightness(.96)}
.continue[data-show-slots]:focus-visible{outline:3px solid #1b437d;outline-offset:3px}
