/* /book redesign skin (preview + functional staging).
   Visual only: re-maps the booking engine's own CSS variables and component
   styles to the navy / steel-blue / silver system. No selectors, IDs, markup or
   scripts used by the booking flow are changed. */
body.sst-book{
  --navy:#10263C; --navy-mid:#163452; --navy-lt:#426781; --blue:#075D99; --blue-bg:#EAF1F6;
  --silver:#B7C4CE; --silver-lt:#EEF2F5; --off:#F4F7F9; --border:#DCE4EA; --mid:#56687A; --slate:#202D38; --dark:#0B1C2D;
  --grad:linear-gradient(135deg,#10263C 0%,#163452 55%,#426781 100%);
  --ff-head:'Montserrat','Segoe UI',system-ui,sans-serif; --ff-ui:'Inter','Segoe UI',system-ui,sans-serif;
  --r:10px; --r-lg:14px; --r-xl:18px;
  background:var(--off)!important;
}
body.sst-book .booking-layout{grid-template-columns:440px 1fr;min-height:calc(100vh - 112px);background:var(--off)}
body.sst-book .booking-panel{top:79px;max-height:calc(100vh - 79px);box-shadow:8px 0 40px rgba(16,38,60,.16);border-right:1px solid var(--border)}
body.sst-book .bk-header{background:linear-gradient(135deg,#10263C,#163452 60%,#2B4C68);padding:26px 26px 20px}
body.sst-book .bk-header-title{font:800 26px/1.1 var(--ff-head)!important;text-transform:uppercase!important;letter-spacing:-.01em!important;color:#fff}
body.sst-book .bk-header-sub{color:var(--silver);font-size:13.5px;letter-spacing:0}
body.sst-book .bk-trust-item{color:#DCE6EE;font-size:12.5px}
body.sst-book .progress-bar{background:#fff;padding:16px 26px}
body.sst-book .prog-dot{border-color:var(--silver);font-family:var(--ff-ui);font-weight:700}
body.sst-book .prog-step.active .prog-dot{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;box-shadow:0 0 0 4px rgba(7,93,153,.16)}
body.sst-book .prog-step.done .prog-dot{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
body.sst-book .prog-step.done{color:var(--navy)!important}
body.sst-book .bk-step{padding:22px 26px 26px}
body.sst-book .step-title{font:800 20px/1.2 var(--ff-head)!important;color:var(--navy)!important;text-transform:none!important}
body.sst-book .step-sub{color:var(--mid);font-size:13.5px}
body.sst-book .f-label{font:700 13px/1.2 var(--ff-ui)!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--navy)!important}
body.sst-book .f-ctrl{min-height:50px;border:1.5px solid #CBD6DE!important;border-radius:10px!important;font:500 15.5px/1.3 var(--ff-ui)!important;color:var(--slate)!important;background:#fff!important}
body.sst-book .f-ctrl:focus{border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(7,93,153,.14)!important}
body.sst-book .timing-btn{min-height:46px;border-radius:10px!important;border:1.5px solid #CBD6DE!important;font:700 14px/1 var(--ff-ui)!important;color:var(--navy)!important;background:#fff!important}
body.sst-book .timing-btn.active{background:var(--blue-bg)!important;border-color:var(--blue)!important;color:var(--blue)!important}
body.sst-book .btn{font-family:var(--ff-ui)!important;border-radius:10px!important;letter-spacing:0!important;text-transform:none!important}
body.sst-book .btn-next,body.sst-book .btn-confirm{background:var(--blue)!important;color:#fff!important;min-height:52px;font-weight:700!important;font-size:15.5px!important;box-shadow:0 10px 22px rgba(7,93,153,.26)}
body.sst-book .btn-next:hover,body.sst-book .btn-confirm:hover{background:#064B7C!important}
body.sst-book .btn-back{background:#fff!important;border:1.5px solid var(--border)!important;color:var(--navy)!important}
body.sst-book .fare-box{background:linear-gradient(135deg,#10263C,#163452)!important;border-radius:14px!important;color:#fff}
body.sst-book .fare-total-val{font-family:var(--ff-head)!important;font-weight:800!important}
body.sst-book .veh-lbl{border:1.5px solid var(--border)!important;border-radius:14px!important;background:#fff!important;transition:border-color .2s,box-shadow .2s}
body.sst-book .veh-radio:checked+.veh-lbl,body.sst-book .veh-lbl:has(.veh-radio:checked){border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(7,93,153,.12)!important}
body.sst-book .veh-name{font:800 16px/1.2 var(--ff-head)!important;color:var(--navy)!important}
body.sst-book .veh-price{color:var(--blue)!important;font-family:var(--ff-head)!important;font-weight:800!important}
body.sst-book .map-panel,body.sst-book .map-placeholder{background:linear-gradient(160deg,#EAF1F6,#DCE7EF)!important}
@media (max-width:900px){
  body.sst-book .booking-layout{grid-template-columns:1fr}
  body.sst-book .booking-panel{position:static;max-height:none;box-shadow:none}
}
html body.sst-book :is(.bk-header-title){font-size:26px!important;text-transform:uppercase!important}
html body.sst-book :is(.step-title){font-size:20px!important;text-transform:none!important}
html body.sst-book :is(.veh-name){font-size:16px!important}
body.sst-book .prog-line.done{background:var(--blue)!important}

/* ── /book layout (8 Nov 2026 owner review) ──────────────────────────────────────────
   Compact booking header (64px), one page scroll (no nested panel scroll), wider panel,
   map sticky beside it on desktop, compact footer after the flow. */
body.sst-book{--book-head:64px}
body.sst-book .sst-book-header .sst-header-inner{min-height:var(--book-head);gap:16px}
body.sst-book .sst-book-header .sst-logo{width:170px;height:auto}
body.sst-book .sst-book-secure{display:flex;align-items:center;gap:8px;margin:0;color:#DCE6EE;font:600 13.5px/1.2 var(--ff-ui)}
body.sst-book .sst-book-secure svg{width:18px;height:18px;color:#9FC3DE}
body.sst-book .sst-book-header .sst-header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
body.sst-book .sst-book-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 12px;border-radius:10px;color:#fff!important;text-decoration:none;font:600 14px/1 var(--ff-ui)}
body.sst-book .sst-book-link:hover,body.sst-book .sst-book-link:focus-visible{background:rgba(255,255,255,.1)}
body.sst-book .sst-book-link svg{width:18px;height:18px}
body.sst-book .sst-book-header .sst-phone-pill{min-height:40px;padding:0 14px;font-size:14px}

body.sst-book .booking-layout{grid-template-columns:minmax(500px,44%) 1fr!important;min-height:calc(100vh - var(--book-head))!important;align-items:start}
body.sst-book .booking-panel{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important;min-height:calc(100vh - var(--book-head))}
body.sst-book .map-panel{position:sticky;top:var(--book-head);height:calc(100vh - var(--book-head));align-self:start}
body.sst-book .map-panel #map-container,body.sst-book .map-panel .map-placeholder{min-height:0!important;height:100%!important}
body.sst-book .bk-step{padding:24px clamp(22px,3vw,40px) 30px}
body.sst-book .bk-header,body.sst-book .progress-bar{padding-left:clamp(22px,3vw,40px);padding-right:clamp(22px,3vw,40px)}
body.sst-book .veh-lbl{min-height:96px}
body.sst-book .veh-img{width:110px;height:72px;object-fit:cover;border-radius:10px}
body.sst-book .veh-img-missing{visibility:hidden}

/* Confirmation: booking reference clearly visible */
body.sst-book .confirm-ref{display:inline-block;margin:10px 0 6px;padding:12px 22px;border:2px dashed var(--blue);border-radius:12px;background:var(--blue-bg);color:var(--navy)!important;font:800 clamp(26px,4vw,34px)/1.1 var(--ff-head)!important;letter-spacing:.04em}
body.sst-book .confirm-ref::before{content:'Booking reference';display:block;margin-bottom:6px;font:700 12px/1 var(--ff-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}

/* Compact booking footer, after the flow */
body.sst-book .sst-book-footer{background:var(--navy);color:#C9D6E0;font:500 13px/1.5 var(--ff-ui);padding:18px 0}
body.sst-book .sst-book-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
body.sst-book .sst-book-footer p{margin:0}
body.sst-book .sst-book-footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
body.sst-book .sst-book-footer a{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;min-height:32px}
body.sst-book .sst-book-footer a:hover,body.sst-book .sst-book-footer a:focus-visible{text-decoration:underline}
body.sst-book .sst-book-footer svg{width:15px;height:15px}

/* Places autocomplete above the sticky header and map */
body.sst-book .pac-container{z-index:2147483647!important}

@media (max-width:1199px) and (min-width:901px){
  body.sst-book .booking-layout{grid-template-columns:minmax(440px,54%) 1fr!important}
}
@media (max-width:900px){
  body.sst-book .booking-layout{grid-template-columns:1fr!important}
  body.sst-book .booking-panel{min-height:0;box-shadow:none}
  body.sst-book .map-panel{position:static;height:auto}
  body.sst-book .sst-book-secure{display:none}
  body.sst-book .sst-book-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  body.sst-book .sst-book-header .sst-logo{width:140px}
}
@media (max-width:420px){
  body.sst-book .sst-book-header .sst-phone-pill span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  body.sst-book .sst-book-header .sst-phone-pill{padding:0 12px}
  body.sst-book .veh-img{width:84px;height:56px}
}
/* Header height must equal --book-head (map sticks right below it) */
body.sst-book .sst-book-header{height:var(--book-head);overflow:visible}
body.sst-book .sst-book-header .sst-header-inner{height:var(--book-head);min-height:0!important;padding-top:0;padding-bottom:0}
body.sst-book .sst-book-header .sst-brand{display:flex;align-items:center;height:100%}
body.sst-book .sst-book-header .sst-logo{height:44px!important;width:auto!important;max-width:none}
@media (max-width:420px){body.sst-book .sst-book-header .sst-logo{height:36px!important}}
