:root{
  color-scheme:dark;
}
html[data-public-theme="light"]{
  color-scheme:light;
  --ink:#f7f4ed;
  --panel:#ffffff;
  --panel-raised:#f0eadf;
  --bone:#111827;
  --bone-dim:#48505f;
  --slate:#667085;
  --brass:#c6a45f;
  --brass-bright:#a97f2e;
  --line-green:#e5eee8;
  --line-green-bright:#4f765e;
  --hairline:rgba(17,24,39,.14);
}
html[data-public-theme="light"] body{background:var(--ink);color:var(--bone);}
html[data-public-theme="light"] .topbar{background:rgba(255,255,255,.92);box-shadow:0 1px 0 rgba(17,24,39,.06);}
html[data-public-theme="light"] .hero{
  background:
    radial-gradient(ellipse 900px 500px at 80% -10%,rgba(198,164,95,.14),transparent 60%),
    radial-gradient(ellipse 700px 400px at 0% 100%,rgba(79,118,94,.08),transparent 60%);
}
html[data-public-theme="light"] .field select,
html[data-public-theme="light"] .field input,
html[data-public-theme="light"] .field textarea{background:#fff;color:var(--bone);}
html[data-public-theme="light"] .field select option{background:#fff;color:var(--bone);}
html[data-public-theme="light"] input:-webkit-autofill,
html[data-public-theme="light"] input:-webkit-autofill:hover,
html[data-public-theme="light"] input:-webkit-autofill:focus{-webkit-text-fill-color:var(--bone);-webkit-box-shadow:0 0 0 1000px #fff inset;caret-color:var(--bone);}
html[data-public-theme="light"] .fleet-tag{background:rgba(17,24,39,.88);color:#f2d28f;}
html[data-public-theme="light"] .pwa-toast{background:#fff;color:#171b24;box-shadow:0 18px 48px rgba(28,35,49,.16);}
html[data-public-theme="light"] .btn-primary{color:#121722;}
html[data-public-theme="light"] .btn-ghost{color:var(--bone);}

.public-theme-toggle{min-width:96px;}
.mobile-nav .public-theme-mobile{width:100%;text-align:left;background:transparent;border:0;color:inherit;font:inherit;padding:12px 0;cursor:pointer;}
.mobile-nav .public-theme-mobile:hover{color:var(--brass-bright);}
@media (max-width:880px){.nav-cta .public-theme-toggle{display:none;}}

.quickbook-open{overflow:hidden;}
.quickbook-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;}
.quickbook-modal.is-open{display:flex;}
.quickbook-backdrop{position:absolute;inset:0;background:rgba(4,8,14,.78);backdrop-filter:blur(8px);}
.quickbook-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:var(--panel);border:1px solid rgba(201,164,92,.42);border-radius:16px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.42);}
.quickbook-close{position:absolute;right:16px;top:12px;width:38px;height:38px;border:0;background:transparent;color:var(--bone-dim);font-size:1.8rem;cursor:pointer;line-height:1;}
.quickbook-eyebrow{margin-bottom:10px;}
.quickbook-dialog h3{font-family:var(--serif);font-size:clamp(1.7rem,4vw,2.25rem);line-height:1.1;padding-right:42px;}
.quickbook-sub{color:var(--bone-dim);margin-top:10px;max-width:54ch;}

.quickbook-modes[hidden],
.quickbook-vehicles[hidden],
.quickbook-back[hidden]{display:none !important;}
.quickbook-modes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;}
.quickbook-mode-card{border:1px solid var(--hairline);background:var(--ink);color:var(--bone);border-radius:12px;padding:20px;text-align:left;cursor:pointer;transition:.16s ease;}
.quickbook-mode-card:hover{border-color:var(--brass);transform:translateY(-2px);}
.quickbook-mode-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(201,164,92,.14);color:var(--brass-bright);font-size:1.2rem;margin-bottom:16px;}
.quickbook-mode-card strong{display:block;font-family:var(--serif);font-size:1.18rem;}
.quickbook-mode-card small{display:block;color:var(--bone-dim);margin-top:5px;}
.quickbook-vehicles{margin-top:24px;}
.quickbook-step-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;color:var(--bone-dim);font-size:.84rem;}
.quickbook-back{background:none;border:0;color:var(--brass-bright);font:inherit;cursor:pointer;padding:4px 0;}
.quickbook-vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.quickbook-vehicle-card{display:grid;grid-template-columns:108px 1fr;gap:14px;align-items:center;background:var(--ink);color:var(--bone);border:1px solid var(--hairline);border-radius:12px;padding:9px;text-align:left;cursor:pointer;transition:.16s ease;min-height:90px;}
.quickbook-vehicle-card:hover{border-color:var(--brass);transform:translateY(-1px);}
.quickbook-vehicle-photo{display:block;width:108px;height:74px;border-radius:8px;overflow:hidden;background:var(--panel-raised);}
.quickbook-vehicle-photo img{width:100%;height:100%;object-fit:cover;}
.quickbook-vehicle-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;color:var(--brass);}
.quickbook-vehicle-copy strong{display:block;font-family:var(--serif);font-size:1.02rem;line-height:1.2;}
.quickbook-vehicle-copy small{display:block;color:var(--slate);margin-top:5px;font-size:.76rem;}
.quickbook-loading{grid-column:1/-1;padding:26px;text-align:center;border:1px dashed var(--hairline);color:var(--slate);border-radius:10px;}
html[data-public-theme="light"] .quickbook-backdrop{background:rgba(17,24,39,.48);}
html[data-public-theme="light"] .quickbook-dialog{box-shadow:0 28px 90px rgba(25,32,45,.22);}
html[data-public-theme="light"] .quickbook-mode-card,
html[data-public-theme="light"] .quickbook-vehicle-card{background:#fff;}
@media(max-width:620px){
  .quickbook-dialog{padding:22px 16px 18px;border-radius:14px;}
  .quickbook-modes{grid-template-columns:1fr;}
  .quickbook-vehicle-grid{grid-template-columns:1fr;}
  .quickbook-vehicle-card{grid-template-columns:96px 1fr;}
  .quickbook-vehicle-photo{width:96px;height:66px;}
}

/* ===== Guided Quote / Booking Wizard ===== */
.quickbook-wizard-dialog{width:min(900px,100%);max-height:min(900px,calc(100vh - 28px));}
.quickbook-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 22px;}
.quickbook-progress span{display:flex;align-items:center;gap:7px;justify-content:center;padding:9px 8px;border:1px solid var(--hairline);border-radius:999px;color:var(--slate);font-size:.72rem;white-space:nowrap;}
.quickbook-progress span b{font-weight:600;}
.quickbook-progress [hidden]{display:none!important;}
.quickbook-progress span.active{border-color:var(--brass);color:var(--bone);background:rgba(201,164,92,.11);}
.quickbook-progress span.done{border-color:rgba(201,164,92,.42);color:var(--brass-bright);}
.quickbook-form-step[hidden],.quickbook-review-step[hidden],.quickbook-contact-step[hidden],.quickbook-choice-step[hidden]{display:none!important;}
.quickbook-step-actions{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(180px,1fr);gap:12px;margin-top:20px;}
.quickbook-step-actions .btn{width:100%;}
#quickBookQuoteFormHost{min-height:220px;}
#quoteForm.quickbook-embedded{margin:0;padding:0;background:transparent;border:0;}
#quoteForm.quickbook-embedded .quote-wizard-stage{display:none;}
#quoteForm.quickbook-embedded[data-wizard-stage="route"] .quote-wizard-route{display:block;}
#quoteForm.quickbook-embedded[data-wizard-stage="details"] .quote-wizard-details{display:block;}
#quoteForm.quickbook-embedded .quote-native-submit{display:none!important;}
#quoteForm.quickbook-embedded .route-builder-head{margin-top:0;}
#quoteForm.quickbook-embedded .route-map{height:min(360px,40vh);}
.quickbook-review-card{display:grid;gap:12px;margin-top:8px;}
.quickbook-review-hero{padding:18px;border:1px solid rgba(201,164,92,.46);border-radius:14px;background:linear-gradient(145deg,rgba(201,164,92,.10),transparent);}
.quickbook-review-hero .review-price{font-family:var(--serif);font-size:clamp(2rem,7vw,3.5rem);line-height:1;color:var(--brass-bright);margin-top:7px;}
.quickbook-review-hero .review-mode{color:var(--bone-dim);margin-top:8px;}
.quickbook-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.quickbook-review-item{border:1px solid var(--hairline);border-radius:12px;padding:13px;background:var(--ink);}
.quickbook-review-item.full{grid-column:1/-1;}
.quickbook-review-item small{display:block;color:var(--slate);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;}
.quickbook-review-item strong{display:block;color:var(--bone);font-size:.92rem;line-height:1.45;word-break:break-word;}
.quickbook-review-breakdown{display:grid;gap:8px;padding:14px;border:1px solid var(--hairline);border-radius:12px;color:var(--bone-dim);font-size:.88rem;}
.quickbook-review-breakdown span{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.quickbook-review-close{width:100%;margin-top:10px;border:0;background:transparent;color:var(--brass-bright);cursor:pointer;padding:10px;font:inherit;}
.quickbook-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;}
.quickbook-contact-grid .full{grid-column:1/-1;}
.quickbook-contact-grid textarea{min-height:100px;}
.quickbook-consents{margin-top:16px;}
html[data-public-theme="light"] .quickbook-review-item{background:#fff;}
html[data-public-theme="light"] .quickbook-review-hero{background:linear-gradient(145deg,rgba(201,164,92,.13),rgba(255,255,255,.76));}

@media (max-width:700px){
  .quickbook-wizard-dialog{padding:20px 14px 16px;max-height:calc(100vh - 12px);border-radius:12px;}
  .quickbook-progress{grid-template-columns:repeat(5,1fr);gap:5px;margin:14px 0 18px;}
  .quickbook-progress span{padding:8px 3px;font-size:.68rem;}
  .quickbook-progress span b{display:none;}
  .quickbook-step-actions{grid-template-columns:1fr 1.35fr;position:sticky;bottom:-1px;padding-top:12px;background:linear-gradient(to top,var(--panel) 74%,transparent);z-index:20;}
  #quoteForm.quickbook-embedded .route-builder-head{display:grid;gap:12px;}
  #quoteForm.quickbook-embedded .route-builder-actions{display:grid;grid-template-columns:1fr 1fr;}
  #quoteForm.quickbook-embedded .route-map{height:300px;}
  .quickbook-review-grid,.quickbook-contact-grid{grid-template-columns:1fr;}
  .quickbook-contact-grid .full,.quickbook-review-item.full{grid-column:auto;}
}

/* Hourly review clarity */
.quickbook-review-breakdown .quickbook-review-total{
  margin-top:6px;
  padding-top:10px;
  border-top:1px solid rgba(201,164,92,.32);
  color:var(--bone);
  font-weight:700;
}
.quickbook-review-breakdown .quickbook-review-total strong{color:var(--brass-bright);font-size:1rem;}
