.booking-v2{--bk-navy:#012351;--bk-blue:#168fd3;--bk-cyan:#20b8d8;--bk-bg:#f3f8fc;--bk-line:#d9e6f1;--bk-text:#102a4c;--bk-muted:#64748b;margin:0;background:var(--bk-bg);color:var(--bk-text);font-family:Inter,sans-serif}.booking-v2 *{box-sizing:border-box}.booking-shell{width:min(1180px,calc(100% - 32px));margin:auto;padding:42px 0 60px}.booking-intro{text-align:center}.booking-eyebrow{color:#168fd3;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.booking-intro h1{margin:8px 0 5px;color:#012351;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em}.booking-intro p{margin:0;color:var(--bk-muted)}.booking-steps{max-width:710px;display:flex;align-items:center;justify-content:center;margin:28px auto 32px}.booking-steps i{height:2px;flex:1;background:#cbdbe8}.booking-step{display:grid;place-items:center;gap:6px;min-width:80px;color:#718198}.booking-step span{width:36px;height:36px;display:grid;place-items:center;border:2px solid #cbdbe8;border-radius:50%;background:#fff;font-weight:800}.booking-step b{font-size:12px}.booking-step.active{color:#087fc1}.booking-step.active span{border-color:#168fd3;background:#168fd3;color:#fff}.booking-step.done span{border-color:#22c55e;background:#22c55e;color:#fff}.booking-notice,.booking-error{margin:0 0 18px;padding:13px 16px;border-radius:12px;font-size:13px}.booking-notice{border:1px solid #b8e5f4;background:#eaf9ff;color:#075a91}.booking-error{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.booking-panels{display:grid;gap:16px}.booking-card{padding:24px;border:1px solid var(--bk-line);border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(1,35,81,.055)}.booking-pane{display:none}.booking-pane.active{display:grid;gap:16px}.booking-card-title{display:flex;align-items:flex-start;gap:12px}.booking-card-title>span{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:12px;background:#eaf7fe;color:#168fd3;font-size:20px}.booking-card-title h2{margin:0;color:#102a4c;font-size:19px}.booking-card-title p{margin:4px 0 0;color:var(--bk-muted);font-size:12px}.booking-field label{display:block;margin-bottom:7px;color:#51647b;font-size:12px;font-weight:700}.booking-field input,.booking-field select,.booking-field textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--bk-line);border-radius:11px;background:#fff;color:#102a4c;font:14px Inter}.booking-field textarea{resize:vertical}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{outline:3px solid rgba(36,155,225,.12);border-color:#249be1}.booking-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:12px}.booking-grid.two{grid-template-columns:1fr 1fr}.booking-check,.booking-terms{display:flex;align-items:flex-start;gap:9px;color:#455b75;font-size:13px}.booking-check input,.booking-terms input{margin-top:2px}.booking-vehicles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.booking-vehicle{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr) 20px;gap:13px;align-items:center;padding:13px;border:2px solid var(--bk-line);border-radius:14px;cursor:pointer;transition:.16s}.booking-vehicle:hover{border-color:#8bc9ed}.booking-vehicle:has(input:checked){border-color:#249be1;background:#f5fbff}.booking-vehicle input{position:absolute;opacity:0}.vehicle-photo{width:112px;height:72px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#eef4f8}.vehicle-photo img{width:100%;height:100%;object-fit:cover}.vehicle-photo>span{font-size:32px}.vehicle-info b,.vehicle-info small,.vehicle-info em{display:block}.vehicle-info b{font-size:14px}.vehicle-info small{margin-top:4px;color:#168fd3;font-size:11px}.vehicle-info em{margin-top:8px;color:#64748b;font-size:10px;font-style:normal}.vehicle-choice{width:18px;height:18px;border:2px solid #b6c8d8;border-radius:50%}.booking-vehicle:has(input:checked) .vehicle-choice{border:5px solid #249be1}.booking-empty,.booking-capacity-error{text-align:center;padding:25px;border:1px dashed #b8cede;border-radius:13px;color:#64748b}.booking-empty b{color:#102a4c}.booking-empty p,.booking-capacity-error{font-size:12px}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-options label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--bk-line);border-radius:11px;color:#344b66;font-size:12px}.booking-options span{display:flex;justify-content:space-between;gap:8px;width:100%}.booking-options small{color:#168fd3}.booking-terms{padding-top:14px;border-top:1px solid var(--bk-line)}.booking-nav{display:flex;justify-content:flex-end;gap:10px}.booking-button{min-height:48px;padding:0 24px;border-radius:11px;font:700 14px Inter;cursor:pointer}.booking-button.primary{border:0;background:linear-gradient(135deg,#168fd3,#249be1);color:#fff}.booking-button.secondary{border:1px solid #b9ccdc;background:#fff;color:#173a63}.booking-summary{position:sticky;top:96px;padding:21px;border:1px solid var(--bk-line);border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(1,35,81,.06)}.booking-summary-head{display:flex;justify-content:space-between;align-items:center}.booking-summary-head h3{margin:0;font-size:17px}.booking-summary-head button{border:0;background:none;color:#168fd3;font-weight:700;cursor:pointer}.summary-route{display:flex;align-items:center;gap:7px;margin:20px 0;padding-bottom:16px;border-bottom:1px solid var(--bk-line);font-size:12px}.summary-route b{overflow:hidden;text-overflow:ellipsis}.summary-route span{color:#249be1}.booking-summary dl{display:grid;gap:10px;margin:0}.booking-summary dl div{display:flex;justify-content:space-between;gap:14px;font-size:12px}.booking-summary dt{color:#718198}.booking-summary dd{margin:0;text-align:right;font-weight:700}.summary-total{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-top:17px;padding-top:17px;border-top:1px solid var(--bk-line)}.summary-total span{font-size:13px;font-weight:700}.summary-total small{display:block;margin-top:5px;color:#718198;font-size:9px;font-weight:500;line-height:1.4}.summary-total strong{white-space:nowrap;color:#087fc1;font-size:25px}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:-1}.booking-vehicles{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.booking-shell{width:min(100% - 24px,1180px);padding:25px 0 95px}.booking-intro{text-align:left}.booking-intro h1{font-size:28px}.booking-intro p{font-size:13px}.booking-steps{margin:22px 0}.booking-step{min-width:66px}.booking-step span{width:31px;height:31px}.booking-step b{font-size:10px}.booking-card{padding:16px;border-radius:15px}.booking-card-title h2{font-size:16px}.booking-grid,.booking-grid.two{grid-template-columns:1fr}.booking-vehicles{grid-template-columns:1fr}.booking-vehicle{grid-template-columns:92px minmax(0,1fr) 18px;padding:10px}.vehicle-photo{width:92px;height:62px}.booking-options{grid-template-columns:1fr}.booking-summary{padding:16px}.booking-nav{position:fixed;left:0;right:0;bottom:0;z-index:45;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--bk-line);box-shadow:0 -10px 25px rgba(1,35,81,.08);backdrop-filter:blur(12px)}.booking-button{flex:1}.booking-v2 .hv-footer{padding-bottom:78px}}
@media(prefers-reduced-motion:reduce){.booking-v2 *{transition:none!important;scroll-behavior:auto!important}}
.booking-done{width:min(920px,calc(100% - 28px));margin:auto;padding:55px 0 70px;text-align:center}.done-success{width:66px;height:66px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#22c55e;color:#fff;font-size:34px;font-weight:800;box-shadow:0 12px 28px rgba(34,197,94,.22)}.booking-done h1{margin:20px 0 8px;color:#012351;font-size:clamp(27px,4vw,40px);letter-spacing:-.035em}.booking-done>p{margin:0;color:#64748b}.done-reference{display:inline-grid;gap:5px;margin:24px auto;padding:14px 28px;border-radius:14px;background:#eaf7fe}.done-reference small{color:#64748b}.done-reference strong{color:#012351;font-size:22px}.done-trip{display:grid;grid-template-columns:minmax(0,1.5fr) 1fr auto;gap:24px;align-items:center;padding:24px;text-align:left;border:1px solid #d9e6f1;border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(1,35,81,.06)}.done-route{display:grid;grid-template-columns:18px 1fr;gap:13px}.done-route>span{position:relative;height:62px;border-left:2px solid #b9d3e7}.done-route>span:before,.done-route>span:after{content:"";position:absolute;left:-6px;width:10px;height:10px;border-radius:50%;background:#249be1}.done-route>span:after{top:auto;bottom:0;background:#22c55e}.done-route b,.done-route small{display:block}.done-route b:nth-of-type(2){margin-top:12px}.done-route small{margin-top:2px;color:#718198;font-size:10px}.done-details{display:grid;gap:9px;color:#4e647d;font-size:12px}.done-price{display:grid;justify-items:end;gap:8px;padding-left:22px;border-left:1px solid #d9e6f1}.done-price small{color:#64748b}.done-price strong{color:#087fc1;font-size:28px}.done-timeline{display:flex;align-items:start;margin:30px auto;max-width:760px}.done-timeline>span{height:2px;flex:1;margin-top:18px;background:#cbdbe8}.done-timeline>div{width:155px;display:grid;place-items:center;gap:8px;color:#718198;font-size:11px}.done-timeline i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#d9e2ea;color:#fff;font-style:normal;font-weight:800}.done-timeline .complete i{background:#22c55e}.done-timeline .current{color:#012351}.done-timeline .current i{background:#249be1;box-shadow:0 0 0 4px #dff3fd}.done-info{max-width:700px;margin:0 auto 20px;padding:13px 16px;border:1px solid #bfe4f4;border-radius:12px;background:#eaf8ff;color:#075a91;font-size:12px}.done-actions{max-width:430px;display:grid;gap:10px;margin:auto}.done-actions .booking-button{display:flex;align-items:center;justify-content:center}.done-home{color:#168fd3;font-size:12px;font-weight:700;text-decoration:underline!important}@media(max-width:650px){.booking-done{padding:32px 0 48px}.done-trip{grid-template-columns:1fr;gap:16px;padding:17px}.done-price{justify-items:start;padding:15px 0 0;border-left:0;border-top:1px solid #d9e6f1}.done-timeline{display:grid;grid-template-columns:36px 1fr;gap:0 12px;text-align:left}.done-timeline>span{width:2px;height:25px;margin:0 0 0 17px}.done-timeline>div{width:auto;display:grid;grid-template-columns:36px 1fr;justify-items:start}.done-timeline i{grid-row:1}.done-timeline b{align-self:center}.done-success{width:56px;height:56px}.booking-done>p{font-size:13px}}
