/* Booking module — additions only; all tokens come from /assets/css/style.css */
.b-root{max-width:760px;margin-inline:auto}
.b-progress{display:flex;gap:.5rem;list-style:none;margin:0 0 1.6rem;padding:0}
.b-progress li{flex:1;text-align:center;font:600 .78rem var(--font);color:var(--muted);padding:.55rem .2rem;border-bottom:3px solid var(--line)}
.b-progress li.is-current{color:var(--navy);border-color:var(--orange)}
.b-progress li.is-done{color:var(--navy-2);border-color:var(--navy-3)}
.b-step{border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem 1.6rem 1.2rem;background:#fff;box-shadow:var(--shadow)}
.b-step h2{font-size:1.5rem;margin:0 0 1rem}
.b-step h2:focus{outline:none}
.b-field,.b-step label{display:block;margin-bottom:1rem;font-weight:600;font-size:.95rem}
.b-step input:not([type=radio]):not([type=checkbox]),.b-step select,.b-step textarea{width:100%;margin-top:.35rem;padding:.8rem .9rem;border:1.5px solid rgba(13,27,42,.22);border-radius:12px;font:inherit;font-weight:500;background:#fff;color:var(--ink);min-height:48px}
.b-step input:focus-visible,.b-step select:focus-visible,.b-step textarea:focus-visible{outline:3px solid rgba(249,115,22,.45);outline-offset:1px;border-color:var(--orange)}
.b-step [aria-invalid=true]{border-color:#b91c1c}
.b-err{display:block;color:#b91c1c;font-weight:600;margin-top:.3rem}
.b-radios{display:flex;gap:.8rem;flex-wrap:wrap;margin:.4rem 0 1rem}
.b-radios label{display:flex;align-items:center;gap:.5rem;margin:0;padding:.7rem 1rem;border:1.5px solid rgba(13,27,42,.22);border-radius:12px;cursor:pointer;min-height:48px}
.b-radios input:checked+span{color:var(--orange-2)}
.b-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.b-grid .full{grid-column:1/-1}
.b-actions{display:flex;gap:.8rem;justify-content:space-between;margin-top:1.2rem;flex-wrap:wrap}
.b-price{border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.3rem;background:var(--ice-2)}
.b-price--quote{background:#fff7ed;border-color:rgba(249,115,22,.35)}
.b-price__route{font-weight:700;margin:0}.b-price__veh{margin:.1rem 0 .8rem;color:var(--muted)}
.b-lines{margin:0}.b-lines div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}
.b-lines dt{font-weight:500}.b-lines dd{margin:0;font-weight:700;white-space:nowrap}
.b-lines__disc dd{color:#15803d}
.b-lines__total{border-bottom:0!important;font-size:1.25rem}.b-lines__total dd{font-family:var(--font-d);font-size:1.7rem}
.b-note{font-size:.88rem;color:var(--muted);margin:.8rem 0 0}
.b-ok{font-size:1.1rem;font-weight:600}
.b-consent{display:flex!important;gap:.7rem;align-items:flex-start;font-weight:500!important}
.b-consent input{width:auto!important;margin-top:.25rem!important;min-height:0!important}
.b-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.b-loading{color:var(--muted)}
@media(max-width:640px){.b-grid{grid-template-columns:1fr}.b-step{padding:1.2rem 1rem .8rem}.b-actions .btn{flex:1}}

.b-help{display:block;font-weight:400;color:var(--muted);font-size:.82rem;margin-top:.15rem}
.b-kid{margin-bottom:.2rem}

.b-proto{border:1px dashed var(--orange);padding:.5rem .7rem;border-radius:10px;color:var(--orange-2)}
