:root{color-scheme:light;--bg:#f5f8f4;--panel:#ffffff;--ink:#12201a;--muted:#65746c;--line:#dbe7de;--green:#178a52;--green-dark:#0e5f3a;--mint:#e8f7ee;--warn:#9a5b00;--danger:#b42318;--shadow:0 18px 45px rgba(27,55,39,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Noto Sans Thai",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f6fbf7 0%,#edf5ef 100%);color:var(--ink)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.app-shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:24px 0 48px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:stretch;margin-bottom:18px}.hero-copy,.hero-panel,.wizard-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.hero-copy{padding:24px}.hero h1{margin:10px 0 8px;font-size:34px;line-height:1.12;letter-spacing:0}.hero p{margin:0;color:var(--muted);line-height:1.65}.badge-row{display:flex;flex-wrap:wrap;gap:8px}.badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#365247;font-size:13px;font-weight:700}.badge-green{background:var(--mint);border-color:#bfe7ce;color:var(--green-dark)}.hero-panel{padding:20px;display:flex;flex-direction:column;justify-content:center;gap:8px}.hero-panel strong{font-size:22px}.hero-label,.eyebrow{margin:0;color:var(--green-dark);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:0}.wizard-shell{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;align-items:start}.stepper{display:grid;gap:10px}.step-btn{width:100%;min-height:60px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--ink)}.step-btn[disabled]{cursor:not-allowed;opacity:.62}.step-no{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf5ef;color:var(--green-dark);font-weight:800}.step-btn.active{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,138,82,.12)}.step-btn.active .step-no,.step-btn.done .step-no{background:var(--green);color:#fff}.step-title{font-weight:800}.step-state{color:var(--muted);font-size:12px}.mobile-progress{display:none;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}.progress-track{height:8px;background:#e3ece6;border-radius:999px;overflow:hidden;margin-top:8px}.progress-track span{display:block;height:100%;width:20%;background:var(--green);transition:width .2s ease}.wizard-card{padding:18px;min-height:520px}.wizard-heading{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.wizard-heading h2{margin:4px 0 6px;font-size:22px}.wizard-heading p{margin:0;color:var(--muted)}.vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicle-option{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px;text-align:left;display:grid;gap:8px}.vehicle-option.selected{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,138,82,.12)}.vehicle-top{display:flex;justify-content:space-between;gap:10px}.vehicle-code{font-weight:900;color:var(--green-dark)}.price{font-weight:900}.meta{color:var(--muted);font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field span,.check-row span{font-size:13px;font-weight:800;color:#2d4438}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);min-height:44px}.field textarea{resize:vertical}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{min-height:44px;padding:0 16px;border-radius:8px;background:#eaf3ee;color:var(--green-dark);font-weight:900}.btn.primary{background:var(--green);color:#fff}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed}.summary{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.summary-row strong{text-align:right}.empty,.loading{border:1px dashed var(--line);border-radius:8px;padding:18px;background:#fbfdfb;color:var(--muted)}.step-alert{display:none;margin-top:16px;border-radius:8px;padding:12px 14px;border:1px solid var(--line)}.step-alert.show{display:block}.step-alert.ok{background:#ecfdf3;color:#067647;border-color:#abefc6}.step-alert.warn{background:#fffaeb;color:var(--warn);border-color:#fedf89}.step-alert.error{background:#fef3f2;color:var(--danger);border-color:#fecdca}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.check-row{display:flex;gap:10px;align-items:flex-start;margin-top:12px}.check-row input{width:20px;height:20px;margin-top:1px}.success-panel{border:1px solid #bfe7ce;background:#f0fff5;border-radius:8px;padding:16px}.success-panel h3{margin:0 0 8px;font-size:22px;color:var(--green-dark)}@media (max-width:820px){.app-shell{width:min(100% - 20px,560px);padding-top:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:18px}.hero h1{font-size:28px}.wizard-shell{grid-template-columns:1fr}.stepper{display:none}.mobile-progress{display:block}.vehicle-grid,.grid{grid-template-columns:1fr}.wizard-card{padding:14px;min-height:auto}.actions .btn{flex:1 1 160px}.summary-row{align-items:flex-start;flex-direction:column}.summary-row strong{text-align:left}}
/* Grade A production polish: keep locked-step labels compact and readable. */
.step-btn > span:nth-child(2){display:grid;gap:3px;min-width:0;line-height:1.25}
.step-title{display:block;overflow-wrap:anywhere}
.step-state{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:20px;padding:2px 8px;border-radius:999px;background:#eef7f1;color:var(--green-dark);font-size:11px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:0}
.step-btn[disabled] .step-state{background:#f1f5f2;color:#738077}
.step-btn > span:last-child{justify-self:end;min-width:18px;text-align:center;color:var(--warn)}
.vehicle-option .badge{justify-content:center;width:100%}
.alternatives{margin-top:18px;border-top:1px solid rgba(15,118,110,.18);padding-top:16px}
.alternatives h3{margin:0 0 10px;font-size:16px;color:#0f172a}
.vehicle-grid.compact{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.alt-cta{margin:10px 0 0;color:#0f766e;font-weight:700}

/* Production A++ customer booking catalog/detail/add-ons */
.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfb}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-card{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;display:grid;min-width:0}.vehicle-card.selected{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,138,82,.12)}.vehicle-media{position:relative;aspect-ratio:16/9;background:#e8f7ee;overflow:hidden}.vehicle-media img,.selected-strip img,.detail-gallery img{width:100%;height:100%;object-fit:cover;display:block}.media-status{position:absolute;left:8px;top:8px}.media-code{position:absolute;right:8px;top:8px}.vehicle-body{padding:12px;display:grid;gap:8px}.vehicle-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.meta-row{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:12px}.meta-row span,.card-facts span,.chips span{border:1px solid var(--line);border-radius:999px;padding:3px 8px;background:#fff}.card-facts{display:flex;gap:6px;flex-wrap:wrap;color:var(--green-dark);font-size:12px;font-weight:800}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.selected-strip{display:grid;grid-template-columns:86px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdfb;margin-bottom:14px}.selected-strip img{height:58px;border-radius:6px}.selected-strip span{display:block;color:var(--muted);font-size:13px}.section-title{font-size:16px;margin:16px 0 10px}.addons-list{display:grid;gap:8px}.addon-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.addon-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.addon-qty{width:76px;border:1px solid var(--line);border-radius:8px;min-height:38px;padding:6px 8px}.summary-row.total{font-size:18px;color:var(--green-dark)}.empty.small{padding:12px}.modal-root{position:fixed;inset:0;z-index:50}.modal-backdrop{position:absolute;inset:0;background:rgba(9,24,16,.48)}.vehicle-modal{position:absolute;right:18px;top:18px;bottom:18px;width:min(900px,calc(100% - 36px));background:#fff;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.28);display:grid;grid-template-columns:minmax(280px,42%) 1fr;overflow:hidden}.modal-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--line);font-size:24px;z-index:2}.detail-gallery{background:#eef7f1;display:grid;grid-auto-rows:minmax(140px,1fr);overflow:auto}.detail-content{padding:22px;overflow:auto;display:grid;gap:12px}.detail-content h3{margin:4px 0 0;font-size:24px}.detail-content h4{margin:6px 0 0;font-size:14px;text-transform:uppercase;color:var(--green-dark)}.detail-content p{margin:0;color:var(--muted);line-height:1.55}.chips{display:flex;gap:6px;flex-wrap:wrap}.terms{margin:0;padding-left:20px;color:var(--muted)}@media (max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:1fr 1fr}.vehicle-modal{grid-template-columns:1fr;width:calc(100% - 24px);right:12px;top:12px;bottom:12px}.detail-gallery{grid-auto-rows:220px}}@media (max-width:640px){.catalog-grid,.filter-bar{grid-template-columns:1fr}.card-actions,.selected-strip{grid-template-columns:1fr}.selected-strip img{height:150px}.vehicle-modal{overflow:auto}.detail-content{padding:16px}.detail-gallery{max-height:260px}}

/* Drivehub-style public vehicle detail */
.vehicle-modal.drivehub-detail{left:50%;right:auto;top:30px;bottom:30px;transform:translateX(-50%);width:min(1060px,calc(100% - 44px));grid-template-columns:minmax(0,58%) minmax(320px,42%);background:#fff}
.drivehub-detail .detail-hero{padding:26px 28px 22px;background:#fff;display:grid;grid-template-rows:auto minmax(260px,1fr) auto;gap:14px;min-width:0}
.drivehub-detail .detail-title h3{margin:0;font-size:24px;line-height:1.2;color:#0b1220}
.drivehub-detail .detail-title p{margin:2px 0 0;font-weight:800;color:#0b1220}
.detail-image-frame{min-height:300px;max-height:420px;display:grid;place-items:center;background:#fff;overflow:hidden}
.detail-image-frame img{width:100%;height:100%;max-height:420px;object-fit:contain;display:block}
.vehicle-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;padding-top:4px}
.spec-item{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon label" "icon value";column-gap:10px;align-items:center;min-width:0}
.spec-icon{grid-area:icon;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f1f4f8;color:#657084;font-size:16px}
.spec-item span:not(.spec-icon){grid-area:label;color:#69758a;font-size:12px;line-height:1.25}
.spec-item strong{grid-area:value;color:#0b1220;font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.public-detail-content{border-left:1px solid var(--line);background:#fbfdfb}
.detail-price-line{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:0 0 10px;border-bottom:1px solid var(--line)}
.detail-price-line span{font-weight:900;color:var(--green-dark)}
.detail-price-line strong{font-size:18px;text-align:right}
.public-info-list{display:grid;gap:8px}
.public-info-list div{display:grid;gap:2px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.public-info-list span{font-size:12px;color:var(--muted);font-weight:800}
.public-info-list strong{font-size:14px;color:var(--ink)}
.detail-addons{margin-top:8px}
.addon-expand{margin-top:8px}
.addon-expand summary{cursor:pointer;color:var(--green-dark);font-weight:900;padding:8px 0}
.expanded-addons{margin-top:4px}
.drivehub-detail .public-addon{grid-template-columns:minmax(0,1fr) 72px}
.drivehub-detail .public-addon span{font-size:12px}
.detail-sticky-actions{position:sticky;bottom:-22px;margin:12px -22px -22px;padding:12px 22px;background:linear-gradient(180deg,rgba(251,253,251,.85),#fbfdfb);border-top:1px solid var(--line)}
.drivehub-detail .modal-close{box-shadow:0 8px 24px rgba(15,23,42,.12)}
@media (max-width:1000px){.vehicle-modal.drivehub-detail{grid-template-columns:1fr;top:12px;bottom:12px;width:calc(100% - 24px);overflow:auto}.drivehub-detail .detail-hero{grid-template-rows:auto auto auto;padding:22px}.detail-image-frame{min-height:240px;max-height:300px}.detail-image-frame img{max-height:300px}.public-detail-content{border-left:0;border-top:1px solid var(--line)}}
@media (max-width:640px){.vehicle-modal.drivehub-detail{width:100%;inset:0;transform:none;border-radius:0}.drivehub-detail .detail-hero{padding:16px;gap:12px}.drivehub-detail .detail-title h3{font-size:21px}.detail-image-frame{min-height:220px;max-height:280px}.detail-image-frame img{max-height:280px}.vehicle-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.spec-item{grid-template-columns:32px minmax(0,1fr)}.spec-icon{width:32px;height:32px}.detail-sticky-actions{bottom:-16px;margin:10px -16px -16px;padding:12px 16px}.drivehub-detail .public-addon{grid-template-columns:minmax(0,1fr) 68px}}

/* Top stepper + full-width catalog layout */
.app-shell{width:100%;max-width:1600px;padding:24px clamp(12px,2vw,28px) 48px}.hero{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.wizard-shell{display:flex;flex-direction:column;gap:14px;align-items:stretch;width:100%;min-width:0}.stepper{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;padding:10px 0;background:rgba(246,251,247,.94);backdrop-filter:blur(10px)}.step-btn{min-height:64px;grid-template-columns:32px minmax(0,1fr) 18px;padding:9px 10px;border-radius:8px}.step-no{width:32px;height:32px}.step-title{font-size:13px;line-height:1.2}.step-state{font-size:10px;padding:2px 7px;white-space:normal;width:fit-content}.wizard-card{width:100%;min-width:0;min-height:0;padding:18px}.wizard-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.wizard-heading h2{font-size:24px}.filter-bar{width:100%;grid-template-columns:minmax(280px,2fr) minmax(160px,1fr) minmax(140px,1fr) minmax(140px,1fr);border-radius:8px;background:#fff;padding:12px}.catalog-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vehicle-card{min-width:0;border-radius:8px}.vehicle-media{background:#f7faf9}.vehicle-media img{object-fit:contain;padding:6px}.vehicle-top strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}.vehicle-top .price{flex:0 0 auto;text-align:right}.vehicle-body{min-width:0}.vehicle-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-actions{margin-top:auto}.mobile-progress{display:none}@media (max-width:1279px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.app-shell{max-width:100%;padding:16px clamp(10px,2vw,18px) 38px}.hero{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:1fr 1fr}.stepper{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.step-btn{min-width:190px;scroll-snap-align:start}}@media (max-width:640px){.app-shell{width:100%;padding:10px 10px 32px}.mobile-progress{display:block;position:sticky;top:0;z-index:21;margin-bottom:8px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.stepper{display:flex;gap:8px;top:74px;margin:0 -10px;padding:8px 10px;overflow-x:auto}.step-btn{min-width:178px;min-height:60px}.filter-bar,.catalog-grid,.grid{grid-template-columns:1fr}.wizard-card{padding:14px}.wizard-heading h2{font-size:22px}.vehicle-media img{padding:8px}.card-actions{grid-template-columns:1fr 1fr}.selected-strip{grid-template-columns:72px minmax(0,1fr);align-items:center}.selected-strip .btn{grid-column:1/-1}.selected-strip img{height:56px}}

/* Balance vehicle detail modal composition */
.drivehub-detail .detail-hero{grid-template-rows:auto auto auto;align-content:start;gap:16px;padding:26px 28px;background:#fff}.detail-image-frame{min-height:0;height:clamp(300px,38vh,390px);max-height:390px}.detail-image-frame img{max-height:390px}.vehicle-spec-grid{margin-top:8px;align-self:start}.public-detail-content{grid-auto-rows:max-content;align-content:start;padding:24px 22px}.drivehub-detail .detail-price-line{padding-bottom:14px;margin-bottom:2px}.drivehub-detail .public-info-list div{padding:12px}.drivehub-detail .terms{line-height:1.45}.drivehub-detail .detail-addons,.drivehub-detail .expanded-addons{gap:8px}.drivehub-detail .public-addon{padding:9px 8px 9px 10px}.drivehub-detail .addon-qty{width:68px;min-height:36px}.detail-sticky-actions{position:sticky;bottom:-24px;margin:12px -22px -24px;padding:14px 22px;background:linear-gradient(180deg,rgba(251,253,251,.78),#fbfdfb 52%);box-shadow:0 -10px 26px rgba(18,32,26,.06)}.detail-sticky-actions .btn{min-height:56px;min-width:92px}@media (min-width:1100px){.vehicle-modal.drivehub-detail{grid-template-columns:minmax(0,57%) minmax(360px,43%);max-height:calc(100vh - 60px)}.drivehub-detail .detail-title h3{font-size:23px}.vehicle-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-right:8px}}@media (max-width:1000px){.detail-image-frame{height:clamp(240px,35vh,300px)}.detail-sticky-actions{bottom:-22px;margin-bottom:-22px}}@media (max-width:640px){.drivehub-detail .detail-hero{padding:16px}.detail-image-frame{height:250px}.detail-sticky-actions .btn{min-height:48px}}

/* Checkout production A++ Drivehub-style flow */
.checkout-layout{
  display:grid;
  grid-template-columns:minmax(320px,380px) minmax(0,1fr);
  gap:24px;
  align-items:start;
  width:100%;
}
.trip-summary-card{
  position:sticky;
  top:92px;
  align-self:start;
  background:#fff;
  border:1px solid #d9e8df;
  border-radius:12px;
  box-shadow:0 14px 36px rgba(10,64,39,.08);
  padding:18px;
  overflow:hidden;
}
.trip-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.trip-card-head h3{margin:0;font-size:19px;line-height:1.25;color:#062517}
.quote-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap;background:#fef3c7;color:#92400e}
.quote-pill.ok{background:#dcfce7;color:#166534}
.trip-vehicle{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid #e5efe9}
.trip-vehicle img{width:86px;height:62px;object-fit:contain;background:#f8fafc;border-radius:10px;border:1px solid #e5efe9}
.trip-vehicle strong{display:block;font-size:15px;color:#071b12;line-height:1.25}
.trip-vehicle span,.trip-vehicle small{display:block;color:#66756d;font-size:12px;margin-top:3px}
.trip-timeline{position:relative;display:grid;gap:14px;margin:16px 0;padding-left:8px}
.trip-timeline:before{content:"";position:absolute;left:17px;top:22px;bottom:22px;width:1px;background:#cfe1d6}
.trip-timeline>div{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:8px;align-items:start}
.timeline-dot{grid-row:1 / span 3;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#eef8f1;color:#148a52;font-weight:900;border:1px solid #d5eadc;z-index:1}
.trip-timeline p{margin:0;color:#64756b;font-size:12px}
.trip-timeline strong{font-size:14px;color:#0d2418;line-height:1.35}
.trip-timeline small{color:#64756b;font-size:12px}
.trip-section{border-top:1px solid #e5efe9;padding-top:14px;margin-top:14px}
.trip-section h4{margin:0 0 10px;font-size:13px;color:#0f6b43;letter-spacing:0;text-transform:none}
.summary-row,.addon-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:9px 0;color:#607269;font-size:13px}
.summary-row strong,.addon-line strong{color:#071b12;text-align:right;white-space:nowrap}
.summary-row.total{border-top:1px dashed #cbded2;padding-top:12px;margin-top:12px;font-size:15px;color:#071b12}
.summary-row.total strong{font-size:18px;color:#0f8f55}
.addon-line span{display:grid;gap:2px}
.addon-line small{font-size:11px;color:#78877f}
.payment-methods{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}

.payment-method-selector{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.payment-method-option{appearance:none;border:1px solid #cfe1d6;background:#f6fbf7;color:#0f6b43;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;line-height:1.2;cursor:pointer;box-shadow:none}
.payment-method-option:hover{border-color:#0f8f55;background:#edf8f1}
.payment-method-option.active{border-color:#0f8f55;background:#0f8f55;color:#fff}
.payment-channel-note{white-space:normal;overflow-wrap:anywhere}
.payment-next-step{margin:10px 0 0;color:#40564b;font-size:13px;line-height:1.55;font-weight:700}
.payment-next-step.quote-warning{color:#8a5a00;background:#fffbef;border:1px solid #f0d293;border-radius:8px;padding:9px 10px}
.payment-methods span{border:1px solid #cfe1d6;background:#f6fbf7;color:#0f6b43;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.payment-channel-note{margin:8px 0 0;color:#607269;font-size:12px;line-height:1.45;background:#fffbef;border:1px solid #f0d293;border-radius:8px;padding:9px 10px}
.checkout-main{display:grid;gap:14px;min-width:0}
.checkout-card{background:#fff;border:1px solid #d9e8df;border-radius:12px;padding:20px;box-shadow:0 10px 28px rgba(10,64,39,.06)}
.checkout-card h3{margin:0 0 8px;font-size:21px;line-height:1.25;color:#061b11}
.checkout-card .helper,.payment-instruction,.muted{color:#65756d;font-size:13px;line-height:1.55;margin:0 0 14px}
.checkout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.checkout-grid .full{grid-column:1 / -1}
.checkbox-field{display:flex;align-items:center;gap:10px;min-height:42px;border:1px solid #d4e2d9;border-radius:8px;padding:10px 12px;background:#fbfdfb}
.checkbox-field input{width:18px;height:18px;margin:0;accent-color:#0f8f55}
.consent-card{border-color:#cfe7d9;background:linear-gradient(180deg,#fff,#fbfffc)}
.consent-row{align-items:flex-start;border:1px solid #d4e2d9;border-radius:10px;padding:13px;background:#fff;margin:8px 0 12px}
.consent-row input{margin-top:3px;accent-color:#0f8f55}
.legal-links{display:flex;flex-wrap:wrap;gap:9px}
.legal-links a{color:#0f6b43;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(15,107,67,.28);font-size:13px}
.email-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fbff;border-color:#dbeafe}
.email-card h3{font-size:16px;margin:0;color:#123b68}
.email-card .helper{margin:0;color:#315171}
.payment-status-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e5efe9;border-bottom:1px solid #e5efe9;margin:12px 0;color:#607269}
.payment-status-row strong{color:#0f8f55}
.qr-box{display:grid;place-items:center;gap:8px;margin:14px 0;padding:16px;border:1px dashed #b7d8c5;border-radius:12px;background:#f7fcf9;color:#0f6b43;font-weight:800}
.qr-box img{width:min(210px,100%);max-height:210px;object-fit:contain;background:#fff;border-radius:8px;border:1px solid #e5efe9}
.bank-list{display:grid;gap:10px;margin:12px 0}
.bank-account{display:grid;gap:3px;border:1px solid #dbe7df;border-radius:10px;padding:12px;background:#fff}
.bank-account strong{color:#071b12}.bank-account span,.bank-account small{color:#65756d}
.checkout-actions{justify-content:flex-end;margin-top:2px}
.success-panel{border-color:#bbf7d0;background:linear-gradient(180deg,#ffffff,#f3fff7)}
.success-panel h3{color:#0f6b43}.success-panel p{color:#40564b;line-height:1.55}.success-panel strong{color:#071b12}
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media (max-width: 860px){
  .checkout-layout{grid-template-columns:1fr;gap:14px}
  .trip-summary-card{position:relative;top:auto;order:0;padding:15px;border-radius:10px}
  .checkout-grid{grid-template-columns:1fr}
  .checkout-card{padding:16px;border-radius:10px}
  .email-card{display:block}
  .checkout-actions{position:sticky;bottom:0;background:rgba(246,251,247,.94);backdrop-filter:blur(12px);padding:10px;margin:0 -4px -4px;z-index:3}
  .checkout-actions .btn{flex:1;min-height:48px}
  .trip-vehicle{grid-template-columns:76px minmax(0,1fr)}
  .trip-vehicle img{width:76px;height:56px}
}
@media (max-width: 520px){
  .trip-card-head{display:grid}.quote-pill{width:max-content}
  .summary-row,.addon-line{font-size:12px}.summary-row.total strong{font-size:16px}
  .legal-links{display:grid}.qr-box img{width:min(180px,100%)}
}

/* Vehicle detail modal gallery + checkbox extras */
.detail-gallery{position:relative;width:100%;overflow:hidden;border-radius:16px;background:#eef7f1;margin:8px 0 14px}
.detail-gallery .gallery-frame{margin:0;border-radius:16px;aspect-ratio:16/10;background:#eef7f1}
.detail-gallery .gallery-main-image{width:100%;height:100%;object-fit:contain;display:block;background:#eef7f1}
.gallery-nav{position:absolute;top:42%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;border:1px solid rgba(15,107,67,.22);background:rgba(255,255,255,.88);box-shadow:0 8px 20px rgba(10,64,39,.14);color:#0f6b43;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:2}
.gallery-nav.prev{left:12px}.gallery-nav.next{right:12px}.gallery-nav:hover{background:#fff;color:#0f8f55}
.gallery-dots{display:flex;justify-content:center;gap:7px;padding:10px 0 6px}
.gallery-dot{width:8px;height:8px;border-radius:999px;border:0;background:#cbded2;padding:0;cursor:pointer}.gallery-dot.active{width:22px;background:#0f8f55}
.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:0 12px 12px;scrollbar-width:thin}
.gallery-thumb{flex:0 0 62px;height:44px;border:2px solid transparent;border-radius:8px;padding:0;background:#fff;overflow:hidden;cursor:pointer}.gallery-thumb.active{border-color:#0f8f55}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.extra-checkbox-list{display:grid;gap:10px;margin-top:8px}.extra-checkbox-list h5{margin:0 0 2px;color:#0f6b43;font-size:13px}
.extra-check-card{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:flex-start;border:1px solid #d6e5dc;border-radius:12px;background:#fff;padding:12px;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.extra-check-card:hover{border-color:#9fd3b4;box-shadow:0 8px 22px rgba(10,64,39,.08)}.extra-check-card.selected{border-color:#0f8f55;background:#f4fbf6}
.extra-check-card input{position:absolute;opacity:0;pointer-events:none}.extra-check-ui{width:20px;height:20px;border-radius:6px;border:1.5px solid #9fb4a9;background:#fff;display:grid;place-items:center;margin-top:1px}.extra-check-card.selected .extra-check-ui{background:#0f8f55;border-color:#0f8f55}.extra-check-card.selected .extra-check-ui:after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);margin-top:-2px}
.extra-copy{display:grid;gap:3px;min-width:0}.extra-copy strong{font-size:14px;color:#071b12}.extra-copy small{font-size:12px;color:#65756d;line-height:1.35}.extra-empty{border:1px dashed #cfe1d6;border-radius:12px;background:#f8fcf9;color:#5f7168;padding:14px;text-align:left}
.extra-more summary{cursor:pointer;color:#0f6b43;font-weight:800;margin-top:8px;list-style:none}.extra-more summary::-webkit-details-marker{display:none}.extra-more summary:before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#e5f7eb;margin-right:6px;color:#0f8f55}.extra-more[open] summary:before{content:"-"}
@media (max-width:860px){.detail-gallery{border-radius:12px}.detail-gallery .gallery-frame{border-radius:12px;aspect-ratio:4/3}.gallery-nav{width:36px;height:36px;font-size:26px}.gallery-thumbs{padding-inline:8px}.extra-check-card{padding:11px}}

/* Customer detail modal A++ layout: image first, details below, extras/action to the side */
.vehicle-modal.drivehub-detail.customer-detail-modal{width:min(1120px,calc(100% - 44px));grid-template-columns:minmax(0,62%) minmax(340px,38%);max-height:calc(100vh - 52px);overflow:hidden;background:#fff}
.customer-detail-modal .detail-main-column{display:grid;grid-template-rows:auto auto minmax(0,auto);align-content:start;gap:14px;padding:24px 28px 26px;min-width:0;overflow:auto;background:#fff}
.detail-customer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-right:34px}
.detail-customer-header .detail-title h3{font-size:26px;line-height:1.18;margin:0;color:#071b12}
.detail-customer-header .detail-title p{margin:4px 0 0;color:#102318;font-weight:800}
.customer-detail-modal .detail-price-line{border:0;padding:0;margin:0;display:grid;gap:4px;text-align:right;min-width:max-content}
.customer-detail-modal .detail-price-line span{font-size:13px;color:#0f6b43;font-weight:900}.customer-detail-modal .detail-price-line strong{font-size:20px;color:#071b12}
.customer-detail-modal .detail-gallery{margin:0;border-radius:16px;background:#f3f8f5;box-shadow:inset 0 0 0 1px #e2eee6;overflow:hidden}
.customer-detail-modal .detail-gallery .gallery-frame{aspect-ratio:16/10;min-height:0;height:auto;max-height:none;border-radius:16px;background:#f3f8f5}
.customer-detail-modal .detail-gallery .gallery-main-image{object-fit:contain;padding:0;background:#f3f8f5}
.customer-detail-modal .gallery-dots{padding:8px 0 4px}.customer-detail-modal .gallery-thumbs{padding:0 12px 10px}.customer-detail-modal .gallery-thumb{flex-basis:58px;height:40px}
.vehicle-detail-section{display:grid;gap:12px;margin-top:0}.vehicle-detail-section h4,.customer-detail-modal .detail-content h4{margin:0;color:#0f6b43;font-size:14px;letter-spacing:0;text-transform:none}
.customer-detail-modal .vehicle-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0}
.customer-detail-modal .spec-item{border:1px solid #dce9e1;border-radius:12px;background:#fbfdfb;padding:12px;grid-template-columns:36px minmax(0,1fr);column-gap:10px}
.customer-detail-modal .spec-icon{background:#eef4f1;color:#0f6b43}.customer-detail-modal .spec-item span:not(.spec-icon){font-size:12px;color:#66756d}.customer-detail-modal .spec-item strong{font-size:15px;color:#071b12}
.customer-detail-modal .public-detail-content{border-left:1px solid #dce9e1;background:#fbfdfb;padding:24px 22px 0;display:grid;gap:14px;grid-auto-rows:max-content;align-content:start;overflow:auto}
.customer-detail-modal .public-info-list div{border-radius:12px;background:#fff}.customer-detail-modal .terms{font-size:13px;line-height:1.5;color:#607269}.detail-extra-section{display:grid;gap:8px}
.special-request-box{display:grid;gap:8px;border:1px dashed #b9d9c6;border-radius:14px;background:#f7fcf9;padding:14px;color:#5f7168;text-align:left}.special-request-box h5{margin:0;color:#0f6b43;font-size:14px}.special-request-box p{margin:0;color:#65756d;font-size:13px;line-height:1.45}.special-request-box textarea{width:100%;min-height:92px;resize:vertical;border:1px solid #cfe1d6;border-radius:10px;background:#fff;padding:10px 12px;color:#071b12}.special-request-box textarea:focus{outline:2px solid rgba(15,143,85,.18);border-color:#0f8f55}.special-request-box small{justify-self:end;color:#7b8a82;font-size:11px}
.image-placeholder-gallery{aspect-ratio:16/10;display:grid;place-items:center}.image-placeholder{display:grid;place-items:center;gap:8px;color:#0f6b43}.image-placeholder span{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e7f6ed;font-size:24px}.image-placeholder strong{font-size:15px}
.customer-detail-modal .detail-sticky-actions{position:sticky;bottom:0;margin:10px -22px 0;padding:14px 22px;background:linear-gradient(180deg,rgba(251,253,251,.86),#fbfdfb 55%);border-top:1px solid #dce9e1;z-index:2}.customer-detail-modal .detail-sticky-actions .btn{min-height:52px}
@media (max-width:1000px){.vehicle-modal.drivehub-detail.customer-detail-modal{grid-template-columns:1fr;width:calc(100% - 24px);top:12px;bottom:12px;max-height:calc(100vh - 24px);overflow:auto}.customer-detail-modal .detail-main-column{padding:20px}.customer-detail-modal .public-detail-content{border-left:0;border-top:1px solid #dce9e1;padding:18px 20px 0;overflow:visible}.detail-customer-header{padding-right:44px}.customer-detail-modal .detail-sticky-actions{margin-inline:-20px;padding-inline:20px}}
@media (max-width:640px){.vehicle-modal.drivehub-detail.customer-detail-modal{width:100%;inset:0;transform:none;border-radius:0;max-height:none}.customer-detail-modal .detail-main-column{padding:16px 14px 8px;gap:12px}.detail-customer-header{display:grid;gap:8px;padding-right:44px}.customer-detail-modal .detail-price-line{text-align:left;display:flex;justify-content:space-between;align-items:center;min-width:0}.detail-customer-header .detail-title h3{font-size:22px}.customer-detail-modal .detail-gallery .gallery-frame{aspect-ratio:4/3}.customer-detail-modal .vehicle-spec-grid{grid-template-columns:1fr;gap:8px}.customer-detail-modal .public-detail-content{padding:14px 14px 0}.customer-detail-modal .detail-sticky-actions{margin:10px -14px 0;padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:8px}.customer-detail-modal .detail-sticky-actions .btn{flex:1;min-height:48px}.special-request-box textarea{min-height:86px}.gallery-nav{top:40%}}

/* Phase 2-3 mobile PWA shell and bottom navigation lock */
:root{
  --aim-bg:#f8fbf8;
  --aim-bg-soft:#eef7f1;
  --aim-surface:#ffffff;
  --aim-primary:#0f8f55;
  --aim-primary-dark:#0b6f43;
  --aim-primary-soft:#e8f7ee;
  --aim-text:#0b1f15;
  --aim-muted:#607269;
  --aim-subtle:#8b9992;
  --aim-line:#dfe9e3;
  --aim-shadow:0 10px 28px rgba(18,64,39,.08);
  --aim-shadow-soft:0 6px 18px rgba(18,64,39,.06);
  --aim-radius-card:8px;
  --aim-radius-control:8px;
  --aim-page-pad:10px;
  --aim-gap:10px;
  --aim-header-h:54px;
  --aim-bottom-nav-h:78px;
  --aim-button-h:48px;
  --aim-icon-size:22px;
  color-scheme:light;
}
html{min-height:100%;background:var(--aim-bg);overflow-x:hidden;-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100dvh;margin:0;overflow-x:hidden;color:var(--aim-text);background:radial-gradient(circle at 8% 0%,rgba(15,143,85,.08),transparent 30%),linear-gradient(180deg,#ffffff 0%,var(--aim-bg) 46%,#f2faf5 100%);padding:calc(var(--aim-header-h) + env(safe-area-inset-top)) 0 calc(var(--aim-bottom-nav-h) + env(safe-area-inset-bottom) + 20px);letter-spacing:0}
button,input,select,textarea{font:inherit;letter-spacing:0}
.app-header{position:fixed;inset:0 0 auto 0;z-index:50;height:calc(var(--aim-header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;display:grid;grid-template-columns:minmax(0,1fr) auto 38px;align-items:center;gap:8px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(223,233,227,.78);box-shadow:0 3px 18px rgba(11,31,21,.04)}
.app-brand{min-width:0;color:#0b6f43;text-decoration:none;font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-header-title{margin:0;color:#1b2a22;font-size:13px;font-weight:800;white-space:nowrap;line-height:1.2;text-align:right}
.app-menu-button{width:36px;height:36px;border:0;border-radius:999px;background:transparent;display:grid;place-items:center;gap:4px;padding:8px;color:#1d3327;cursor:pointer}
.app-menu-button span{width:17px;height:2px;border-radius:99px;background:currentColor;display:block}
.app-shell,.page-container{width:min(100%,430px);max-width:430px;margin:0 auto;padding:10px var(--aim-page-pad) 0;box-sizing:border-box}
.page-hero,.hero{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 10px;padding:12px;border:1px solid var(--aim-line);border-radius:var(--aim-radius-card);background:rgba(255,255,255,.9);box-shadow:var(--aim-shadow-soft)}
.hero h1{margin:8px 0 4px;color:#0b6f43;font-size:26px;line-height:1.12;font-weight:950;letter-spacing:0}
.hero p{font-size:13px;line-height:1.55;color:var(--aim-muted);margin:0}
.hero-panel{border-radius:var(--aim-radius-card);border:1px solid #d8e9df;background:#f8fcf9;padding:10px 12px;box-shadow:none}.hero-panel strong{font-size:14px;color:#0b1f15}.hero-panel span,.hero-label{font-size:12px;color:var(--aim-muted)}
.badge-row{display:flex;gap:7px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:8px;background:#eef4f1;color:#0f6b43;font-size:12px;font-weight:850;line-height:1.2}.badge-green{background:#e4f6eb;color:#0f8f55}
.wizard-shell{display:block;margin:0}.wizard-card,.checkout-card,.trip-summary-card,.vehicle-card{border-radius:var(--aim-radius-card)!important;border:1px solid var(--aim-line);background:var(--aim-surface);box-shadow:var(--aim-shadow);overflow:hidden}.wizard-card{padding:14px 14px 16px}.wizard-heading{display:grid;gap:2px;margin:0 0 12px}.eyebrow{font-size:11px;color:#0f8f55;font-weight:900;margin:0;text-transform:none}.wizard-heading h2,.section-title{margin:0;color:#0b6f43;font-size:20px;line-height:1.2;font-weight:950}.wizard-heading p{margin:0;color:var(--aim-muted);font-size:13px;line-height:1.45}
.mobile-progress{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.btn{min-height:var(--aim-button-h);border-radius:var(--aim-radius-control);font-weight:900;letter-spacing:0;box-shadow:none}.btn.primary{background:linear-gradient(180deg,#12a963,#0f8f55);border-color:#0f8f55;color:#fff}.btn.secondary{background:#fff;border:1px solid #b9d9c6;color:#0b6f43}.actions{gap:9px}.field input,.field select,.field textarea{border-radius:8px;border-color:#d6e5dc;background:#fff;min-height:44px;color:#0b1f15}.field span{color:#40564b;font-size:12px;font-weight:850}
.bottom-step-nav{position:fixed;left:50%;right:auto;bottom:0;z-index:60;transform:translateX(-50%);width:min(100%,430px);min-height:var(--aim-bottom-nav-h);box-sizing:border-box;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid rgba(216,232,222,.92);box-shadow:0 -10px 26px rgba(16,64,40,.08);backdrop-filter:blur(18px)}
.bottom-step-nav .step-btn{appearance:none;border:0;background:transparent;min-width:0;min-height:62px;padding:2px 1px 0;display:grid;justify-items:center;align-content:start;gap:3px;color:#8b9992;cursor:pointer;border-radius:8px;box-shadow:none}.bottom-step-nav .step-btn:focus-visible{outline:2px solid rgba(15,143,85,.28);outline-offset:2px}.bottom-step-nav .step-btn.locked{cursor:pointer;color:#a6b2ac}.bottom-step-nav .step-btn.active,.bottom-step-nav .step-btn.done{color:#0f8f55}.step-icon-wrap{position:relative;width:38px;height:38px;border-radius:999px;display:grid;place-items:center;background:#fff;border:1px solid #dfe9e3;box-shadow:0 3px 10px rgba(12,46,28,.06)}.step-icon-wrap svg{width:var(--aim-icon-size);height:var(--aim-icon-size);display:block}.active .step-icon-wrap{background:#0f8f55;color:#fff;border-color:#0f8f55;box-shadow:0 8px 18px rgba(15,143,85,.24)}.done .step-icon-wrap{background:#e8f7ee;color:#0f8f55;border-color:#bfe2cc}.step-no{position:absolute;left:-2px;bottom:-3px;width:15px;height:15px;border-radius:999px;display:grid;place-items:center;background:#eef4f1;color:#607269;border:1px solid #dbe7df;font-size:9px;font-weight:900;line-height:1}.active .step-no{background:#fff;color:#0f8f55;border-color:#fff}.step-check{position:absolute;right:-2px;top:-3px;width:16px;height:16px;border-radius:999px;display:grid;place-items:center;background:#0f8f55;color:#fff;border:2px solid #fff;font-size:10px;font-weight:900;line-height:1}.bottom-step-nav .step-title{max-width:100%;display:block;color:currentColor;font-size:10.5px;font-weight:900;line-height:1.18;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.bottom-step-nav .step-state,.bottom-step-nav .step-lock{display:none!important}
.step-alert{display:none;margin-top:12px;border-radius:8px;padding:10px 12px;border:1px solid #dfe9e3;background:#fff;color:#40564b;font-size:13px;line-height:1.45}.step-alert.show{display:block;position:fixed;left:50%;bottom:calc(var(--aim-bottom-nav-h) + env(safe-area-inset-bottom) + 10px);z-index:70;transform:translateX(-50%);width:min(calc(100% - 24px),406px);box-shadow:0 12px 30px rgba(16,64,40,.14)}.step-alert.ok{border-color:#bde4ca;background:#f2fbf5;color:#0f6b43}.step-alert.warn{border-color:#f3d99b;background:#fffaf0;color:#8a5a00}.step-alert.error{border-color:#f3b6b6;background:#fff5f5;color:#9a1b1b}
.checkout-layout{gap:10px}.checkout-actions{bottom:calc(var(--aim-bottom-nav-h) + env(safe-area-inset-bottom));border-radius:8px 8px 0 0}.vehicle-card img,.trip-vehicle img{background:#f3f8f5}.payment-methods span{border-radius:8px;background:#e8f7ee;color:#0f6b43}.summary-row.total strong{color:#0f8f55}
@supports (height:100svh){body{min-height:100svh}}
@media (min-width:700px){body{padding-left:0;padding-right:0}.app-header{left:50%;right:auto;transform:translateX(-50%);width:min(100%,430px);border-left:1px solid rgba(223,233,227,.5);border-right:1px solid rgba(223,233,227,.5)}}
@media (max-width:374px){:root{--aim-page-pad:8px;--aim-bottom-nav-h:76px;--aim-icon-size:20px}.app-header{grid-template-columns:minmax(0,1fr) auto 34px;padding-inline:9px}.app-brand{font-size:14px}.app-header-title{font-size:12px}.app-menu-button{width:34px;height:34px}.hero h1{font-size:24px}.wizard-card{padding:12px}.bottom-step-nav{padding-inline:7px}.step-icon-wrap{width:35px;height:35px}.bottom-step-nav .step-title{font-size:9.8px;line-height:1.16}}

/* Phase 3 fix: isolate fixed bottom nav from legacy top stepper rules */
.bottom-step-nav{top:auto!important;margin:0!important;height:auto!important;max-height:calc(var(--aim-bottom-nav-h) + env(safe-area-inset-bottom) + 16px);overflow:visible!important;align-items:start!important;align-content:start!important}
.bottom-step-nav .step-btn{width:100%!important;grid-template-columns:1fr!important;text-align:center!important;opacity:1!important}
.bottom-step-nav .step-no{grid-column:auto!important;justify-self:auto!important}
@media (max-width:640px){.bottom-step-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;top:auto!important;margin:0!important;overflow:visible!important}.bottom-step-nav .step-btn{min-width:0!important}}

/* Phase 4-8 customer booking flow polish */
.vehicle-selection-screen,.date-time-screen,.customer-info-screen,.confirm-review-screen,.booking-success-screen{display:grid;gap:10px}.tenant-info-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;border:1px solid #dfe9e3;border-radius:8px;background:#fff;padding:12px;box-shadow:var(--aim-shadow-soft)}.tenant-icon{width:52px;height:52px;border-radius:10px;display:grid;place-items:center;background:#e8f7ee;color:#0f6b43;font-size:26px}.tenant-copy{min-width:0;display:grid;gap:3px}.tenant-copy strong{font-size:14px;color:#0b1f15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant-copy span{font-size:12px;color:#607269;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant-copy em{width:max-content;max-width:100%;font-style:normal;border-radius:8px;background:#e8f7ee;color:#0f6b43;font-size:12px;font-weight:900;padding:3px 8px;white-space:nowrap}.vehicle-friendly-head{padding:6px 4px 2px}.vehicle-friendly-head h3{margin:0;color:#0b6f43;font-size:26px;line-height:1.14;font-weight:950}.vehicle-friendly-head p{margin:5px 0 0;color:#607269;font-size:13px}.vehicle-filter-card{display:grid;grid-template-columns:1fr 130px;gap:8px;border:1px solid #dfe9e3;border-radius:8px;background:rgba(255,255,255,.86);padding:10px}.vehicle-list-stack{display:grid;gap:12px}.customer-vehicle-card{position:relative;padding:0;overflow:hidden;background:#fff}.recommend-tag{position:absolute;left:14px;top:14px;z-index:2;border-radius:999px;background:#0f8f55;color:#fff;font-size:12px;font-weight:900;padding:4px 12px;box-shadow:0 8px 18px rgba(15,143,85,.22)}.vehicle-hero-image{height:210px;background:linear-gradient(180deg,#f8fbf9,#eef7f1);display:grid;place-items:center;padding:12px}.vehicle-hero-image img{width:100%;height:100%;object-fit:contain;display:block}.customer-vehicle-card .vehicle-body{display:grid;gap:9px;padding:14px}.vehicle-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.vehicle-name-row strong{display:block;color:#071b12;font-size:27px;line-height:1;font-weight:950}.vehicle-name-row small{display:block;margin-top:5px;color:#607269;font-size:12px}.service-pill{flex:0 0 auto;border-radius:999px;background:#e8f7ee;color:#0f6b43;font-size:11px;font-weight:900;padding:5px 8px;white-space:nowrap}.vehicle-soft-facts{display:flex;flex-wrap:wrap;gap:7px}.vehicle-soft-facts span{min-height:28px;display:inline-flex;align-items:center;gap:5px;border-radius:8px;background:#f3f7f5;color:#40564b;font-size:12px;font-weight:800;padding:5px 9px}.vehicle-model-line{margin:0;color:#40564b;font-size:13px;line-height:1.4}.vehicle-price-row{display:flex;align-items:baseline;gap:5px;color:#0f8f55}.vehicle-price-row strong{font-size:23px;font-weight:950}.vehicle-price-row span{font-size:13px;font-weight:800}.vehicle-actions{display:grid;grid-template-columns:112px minmax(0,1fr);gap:9px;margin-top:0}.choose-vehicle-btn{min-height:48px}.detail-link{min-height:48px}.trust-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.trust-chips span{min-height:54px;display:grid;align-content:center;justify-items:center;text-align:center;border-radius:8px;background:#fff;border:1px solid #e2ebe5;color:#40564b;font-size:11px;font-weight:850;padding:7px 5px;line-height:1.25;box-shadow:var(--aim-shadow-soft)}.empty-vehicle-state{border:1px dashed #b9d9c6;border-radius:8px;background:#f8fcf9;padding:18px;text-align:center;color:#607269}.empty-vehicle-state strong{display:block;color:#0b6f43;margin-bottom:4px}.customer-loading{border-radius:8px;background:#fff;box-shadow:var(--aim-shadow-soft)}.selected-vehicle-compact{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #dfe9e3;border-radius:8px;background:#fff;padding:10px;box-shadow:var(--aim-shadow-soft)}.selected-vehicle-compact img{width:72px;height:54px;object-fit:contain;border-radius:8px;background:#f3f8f5}.selected-vehicle-compact strong{display:block;font-size:17px;color:#071b12}.selected-vehicle-compact span{display:block;font-size:12px;color:#607269;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-vehicle-compact .btn{grid-column:1/-1;min-height:42px}.section-heading-soft{display:grid;gap:3px;margin-bottom:10px}.section-heading-soft h3{margin:0;color:#0b6f43;font-size:18px;line-height:1.2}.section-heading-soft p{margin:0;color:#607269;font-size:13px;line-height:1.45}.date-card,.extras-card,.friendly-form-card,.friendly-consent-card,.friendly-payment-card{padding:14px}.date-duration-pill{display:flex;justify-content:space-between;align-items:center;border-radius:8px;background:#e8f7ee;color:#0f6b43;padding:10px 12px;margin-bottom:10px;font-weight:900}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.date-grid .full{grid-column:1/-1}.date-grid input,.date-grid select{min-height:48px}.extra-check-card{border-radius:8px}.friendly-form-card .checkout-grid{gap:10px}.friendly-form-card input,.friendly-form-card textarea,.friendly-consent-card input{font-size:15px}.friendly-consent-card .consent-row{margin:8px 0;border-radius:8px}.confirm-heading{padding:4px 2px}.confirm-heading h3{margin:0;color:#0b6f43;font-size:23px;font-weight:950}.confirm-heading p{margin:4px 0 0;color:#607269;font-size:13px}.confirm-review-screen .trip-summary-card{position:relative;top:auto;box-shadow:var(--aim-shadow);border-radius:8px}.payment-fallback-card{display:grid;gap:4px;border:1px dashed #f0d293;border-radius:8px;background:#fffbef;color:#694500;padding:12px;margin:10px 0}.payment-fallback-card strong{font-size:14px}.payment-fallback-card p{margin:0;font-size:13px;line-height:1.45}.booking-success-screen{padding-bottom:6px}.success-hero{display:grid;justify-items:center;text-align:center;gap:8px;padding:22px 12px 12px}.success-icon{width:78px;height:78px;border-radius:999px;background:linear-gradient(180deg,#4bc36f,#0f8f55);color:#fff;display:grid;place-items:center;font-size:44px;font-weight:950;box-shadow:0 16px 32px rgba(15,143,85,.24)}.success-hero h3{margin:0;color:#0b6f43;font-size:23px;line-height:1.2}.success-hero p{margin:0;color:#607269;font-size:13px}.success-status-card{display:grid;gap:0;padding:12px}.status-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e5efe9;color:#607269;font-size:13px}.status-row strong{text-align:right;color:#071b12;overflow-wrap:anywhere}.status-row.total{border-bottom:0}.status-row.total strong{color:#0f8f55;font-size:17px}.success-trip-card{padding:0;border:0;background:transparent;box-shadow:none}.success-actions{display:grid;gap:8px}.success-actions .btn{width:100%}@media (max-width:374px){.vehicle-filter-card{grid-template-columns:1fr}.vehicle-hero-image{height:184px}.vehicle-name-row{display:grid}.service-pill{width:max-content}.vehicle-actions{grid-template-columns:1fr}.trust-chips{grid-template-columns:1fr}.date-grid{grid-template-columns:1fr}.vehicle-friendly-head h3{font-size:24px}.vehicle-name-row strong{font-size:24px}}


/* Phase 9-10 PWA, offline, accessibility and performance states */
:focus-visible{outline:3px solid rgba(15,143,85,.34);outline-offset:3px}
a:focus-visible,.step-btn:focus-visible,.btn:focus-visible,.app-menu-button:focus-visible{outline:3px solid rgba(15,143,85,.38);outline-offset:3px}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(15,143,85,.18);border-color:#0f8f55;box-shadow:0 0 0 1px rgba(15,143,85,.08)}
.skeleton-stack{display:grid;gap:10px}.skeleton-card,.skeleton-heading{border:1px solid #dfe9e3;border-radius:8px;background:#fff;box-shadow:var(--aim-shadow-soft);overflow:hidden}.tenant-skeleton{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:12px}.tenant-skeleton span,.tenant-skeleton i,.skeleton-heading i,.vehicle-skeleton span,.vehicle-skeleton i,.vehicle-skeleton b{display:block;border-radius:8px;background:linear-gradient(90deg,#edf6f0 0%,#f9fcfa 42%,#e5f2ea 78%);background-size:220% 100%;animation:aim-skeleton 1.2s ease-in-out infinite}.tenant-skeleton span{width:52px;height:52px;border-radius:10px}.tenant-skeleton div{display:grid;gap:7px;align-content:center}.tenant-skeleton i:first-child{height:15px;width:80%}.tenant-skeleton i:nth-child(2){height:12px;width:58%}.tenant-skeleton i:nth-child(3){height:22px;width:118px}.skeleton-heading{padding:14px 12px;display:grid;gap:9px;box-shadow:none}.skeleton-heading i:first-child{height:28px;width:74%}.skeleton-heading i:last-child{height:14px;width:54%}.vehicle-skeleton{padding:0 0 14px}.vehicle-skeleton span{height:210px;border-radius:0}.vehicle-skeleton i{height:18px;margin:14px 14px 0}.vehicle-skeleton i:nth-child(3){width:60%}.vehicle-skeleton b{height:48px;margin:14px 14px 0}.friendly-state{display:grid;justify-items:center;text-align:center;gap:10px;border:1px dashed #b9d9c6;border-radius:8px;background:#f8fcf9;padding:22px 16px;color:#607269;box-shadow:var(--aim-shadow-soft)}.friendly-state-icon{width:66px;height:66px;border-radius:999px;display:grid;place-items:center;background:#e8f7ee;color:#0f8f55;font-size:30px;font-weight:950}.friendly-state h1,.friendly-state h3{margin:0;color:#0b6f43;font-size:22px;line-height:1.2}.friendly-state p{margin:0;max-width:32rem;color:#607269;font-size:13px;line-height:1.55}.friendly-state .btn{margin-top:4px;min-width:132px}.friendly-state.offline{border-style:solid;background:#fff}.offline-body{background:radial-gradient(circle at 8% 0%,rgba(15,143,85,.08),transparent 30%),linear-gradient(180deg,#fff 0%,#f5fbf7 100%)}.offline-shell{display:grid;gap:10px}.offline-shell .friendly-state{min-height:310px;align-content:center}.app-menu-button[aria-label]{color:#1d3327}.vehicle-hero-image img,.trip-vehicle img,.selected-vehicle-compact img{contain-intrinsic-size:640px 420px}img{max-width:100%}@keyframes aim-skeleton{0%{background-position:120% 0}100%{background-position:-120% 0}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.skeleton-card span,.skeleton-card i,.skeleton-card b,.skeleton-heading i{animation:none}}
@media (min-width:700px){.offline-shell{width:min(100%,430px)}}
@media (max-width:374px){.friendly-state{padding:18px 12px}.friendly-state-icon{width:58px;height:58px}.friendly-state h1,.friendly-state h3{font-size:20px}.skeleton-heading i:first-child{width:88%}.vehicle-skeleton span{height:184px}}

/* Phase 9-10 CLS guard: reserve hero tenant space before API copy arrives */
.badge-row{min-height:55px;align-content:flex-start}
#tenant-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-panel{min-height:98px;min-width:0}
.hero-panel strong,.hero-panel span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:374px){.badge-row{min-height:58px}.hero-panel{min-height:100px}}


/* Phase 12 responsive desktop trust UX */
.app-header-actions{display:none}
.demo-soft-badge{background:#fffaf0;color:#8a5a00;border:1px solid #f0d293}
.customer-trust-intro .tenant-icon{background:linear-gradient(180deg,#e8f7ee,#d9f0e2);color:#0f8f55}
.desktop-trust-panel{display:none}
.badge-row{min-height:0}
.hero-panel{min-height:82px}
.vehicle-friendly-head{padding-top:2px}
.payment-channel-note{margin:8px 0 0;color:#607269;font-size:12px;line-height:1.45}

@media (min-width:700px){
  .app-header{width:min(100%,900px);grid-template-columns:minmax(0,1fr) auto 38px}
  .app-shell,.page-container{width:min(100%,900px);max-width:900px;padding-inline:14px}
  .bottom-step-nav{width:min(100%,900px)}
  .page-hero,.hero{grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);align-items:stretch}
  .vehicle-list-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (min-width:1024px){
  :root{--aim-page-pad:18px;--aim-header-h:58px;--aim-bottom-nav-h:76px}
  body{padding-bottom:calc(var(--aim-bottom-nav-h) + env(safe-area-inset-bottom) + 28px)}
  .app-header{width:min(100%,1180px);grid-template-columns:minmax(0,1fr) auto auto 38px;padding-inline:18px}
  .app-header-actions{display:flex;align-items:center;gap:8px}
  .app-header-actions a{min-height:34px;display:inline-flex;align-items:center;border:1px solid #d8e9df;border-radius:8px;padding:0 12px;background:#fff;color:#0b6f43;text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap}
  .app-shell,.page-container{width:min(100%,1180px);max-width:1180px;padding-inline:18px}
  .bottom-step-nav{width:min(100%,1180px);border-left:1px solid rgba(216,232,222,.72);border-right:1px solid rgba(216,232,222,.72)}
  .page-hero,.hero{padding:14px;gap:14px;margin-bottom:14px}
  .hero h1{font-size:30px}
  .wizard-card{padding:18px}
  .vehicle-selection-screen{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:14px}
  .vehicle-selection-screen>.tenant-info-card,
  .vehicle-selection-screen>.vehicle-friendly-head,
  .vehicle-selection-screen>.vehicle-filter-card,
  .vehicle-selection-screen>.vehicle-list-stack,
  .vehicle-selection-screen>.trust-chips,
  .vehicle-selection-screen>.friendly-state{grid-column:1}
  .desktop-trust-panel{grid-column:2;grid-row:1 / span 5;position:sticky;top:78px;display:grid;gap:12px;border:1px solid #dfe9e3;border-radius:8px;background:rgba(255,255,255,.94);box-shadow:var(--aim-shadow);padding:14px}
  .desktop-trust-panel h3{margin:0;color:#0b6f43;font-size:20px;line-height:1.2}
  .desktop-step-status{display:flex;justify-content:space-between;gap:10px;align-items:center;border-radius:8px;background:#e8f7ee;color:#0f6b43;padding:10px 12px}
  .desktop-step-status span,.trust-summary-lines span{font-size:12px;font-weight:850;color:#607269}
  .desktop-step-status strong{font-size:14px}
  .trust-summary-lines{display:grid;gap:0;border:1px solid #e3eee7;border-radius:8px;overflow:hidden;background:#fff}
  .trust-summary-lines div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #e8f1eb}
  .trust-summary-lines div:last-child{border-bottom:0}
  .trust-summary-lines strong{text-align:right;color:#071b12;font-size:13px;overflow-wrap:anywhere}
  .desktop-trust-note{border:1px dashed #b9d9c6;border-radius:8px;background:#f8fcf9;padding:12px}
  .desktop-trust-note strong{display:block;color:#0b6f43;margin-bottom:4px}
  .desktop-trust-note p{margin:0;color:#607269;font-size:13px;line-height:1.45}
  .desktop-trust-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .desktop-trust-actions a{min-height:42px;display:grid;place-items:center;border-radius:8px;border:1px solid #b9d9c6;color:#0b6f43;background:#fff;text-decoration:none;font-weight:900;font-size:13px}
  .desktop-trust-actions a:first-child{background:linear-gradient(180deg,#12a963,#0f8f55);border-color:#0f8f55;color:#fff}
  .vehicle-filter-card{grid-template-columns:minmax(0,1fr) 180px}
  .customer-vehicle-card .vehicle-body{padding:13px}
}

@media (min-width:1200px){
  .app-header,.app-shell,.page-container,.bottom-step-nav{width:min(100%,1260px);max-width:1260px}
  .vehicle-selection-screen{grid-template-columns:minmax(0,1fr) 380px}
  .vehicle-list-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .vehicle-hero-image{height:190px}
}

@media (max-width:430px){
  .page-hero,.hero{padding:10px;gap:8px}
  .hero h1{font-size:24px}
  .hero-panel{min-height:76px}
  .vehicle-friendly-head h3{font-size:24px}
}


/* Phase 14 desktop web / mobile PWA navigation split */
.desktop-step-nav{display:none}
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  :root{--aim-bottom-nav-h:0px}
  body{padding-bottom:28px}
  .bottom-step-nav{display:none!important}
  .desktop-step-nav{position:sticky;top:calc(var(--aim-header-h) + env(safe-area-inset-top) + 10px);z-index:42;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;padding:10px 0 12px;margin:0 0 12px;background:rgba(246,251,247,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,232,222,.72)}
  .desktop-step-nav .step-btn{min-width:0;min-height:68px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;text-align:left;border:1px solid #dfe9e3;border-radius:8px;background:#fff;color:#40564b;padding:10px 12px;box-shadow:0 8px 18px rgba(18,64,39,.05);cursor:pointer}
  .desktop-step-nav .step-btn.locked{cursor:pointer;color:#8b9992;background:#fbfdfb}
  .desktop-step-nav .step-btn.active{border-color:#0f8f55;color:#0b6f43;box-shadow:0 0 0 3px rgba(15,143,85,.12),0 10px 22px rgba(18,64,39,.08)}
  .desktop-step-nav .step-btn.done{border-color:#bfe2cc;color:#0b6f43;background:#f8fcf9}
  .desktop-step-nav .step-icon-wrap{position:relative;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;border:1px solid #dfe9e3;background:#fff;color:#607269;box-shadow:none}
  .desktop-step-nav .step-icon-wrap svg{width:22px;height:22px}
  .desktop-step-nav .active .step-icon-wrap{background:#0f8f55;border-color:#0f8f55;color:#fff}
  .desktop-step-nav .done .step-icon-wrap{background:#e8f7ee;border-color:#bfe2cc;color:#0f8f55}
  .desktop-step-nav .step-no{position:absolute;left:-4px;bottom:-4px;width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:#eef4f1;color:#607269;border:1px solid #dbe7df;font-size:10px;font-weight:950}
  .desktop-step-nav .active .step-no{background:#fff;color:#0f8f55;border-color:#fff}
  .desktop-step-nav .step-check{position:absolute;right:-4px;top:-4px;width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:#0f8f55;color:#fff;border:2px solid #fff;font-size:10px;font-weight:950}
  .desktop-step-nav .step-title{display:block;color:currentColor;font-size:14px;font-weight:950;line-height:1.25;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .desktop-step-nav .step-state,.desktop-step-nav .step-lock{display:none!important}
  .step-alert.show{position:static;left:auto;bottom:auto;transform:none;width:100%;max-width:none;margin:12px 0 0;box-shadow:0 10px 24px rgba(16,64,40,.08)}
  .vehicle-list-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media (min-width:1024px) and (hover:none), (min-width:1024px) and (pointer:coarse){
  .desktop-step-nav{display:none!important}
  .bottom-step-nav{display:grid!important}
}
/* Phase desktop checkout Drivehub-style hardening: desktop fine-pointer only, mobile PWA unchanged */
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .desktop-checkout-layout{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:24px;align-items:start;width:100%}
  .desktop-checkout-main{display:grid;gap:14px;min-width:0}
  .desktop-checkout-summary.trip-summary-card{position:sticky;top:calc(var(--aim-header-h) + 102px);max-height:calc(100vh - var(--aim-header-h) - 122px);overflow:auto;align-self:start;border-radius:8px;box-shadow:0 16px 38px rgba(10,64,39,.1)}
  .desktop-checkout-main>.selected-vehicle-compact{margin-bottom:0}
  .desktop-checkout-main>.checkout-actions{align-self:start;justify-content:flex-end;background:transparent;padding:0;margin-top:0}
  .date-time-screen .desktop-checkout-main,.customer-info-screen .desktop-checkout-main,.confirm-review-screen .desktop-checkout-main{gap:14px}
  .confirm-review-screen .desktop-checkout-main .friendly-payment-card{margin-top:0}
  .desktop-checkout-summary .payment-channel-note{font-size:11px;line-height:1.4}
}

/* Desktop vehicle catalog balance: remove step-1 side summary and show 4-column rental cards. Mobile/tablet PWA stays unchanged. */
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .vehicle-selection-screen{grid-template-columns:1fr!important;gap:14px;align-items:start}
  .vehicle-selection-screen>.tenant-info-card,
  .vehicle-selection-screen>.vehicle-friendly-head,
  .vehicle-selection-screen>.vehicle-filter-card,
  .vehicle-selection-screen>.vehicle-list-stack,
  .vehicle-selection-screen>.trust-chips,
  .vehicle-selection-screen>.friendly-state{grid-column:1!important}
  .vehicle-selection-screen>.desktop-trust-panel{display:none!important}
  .vehicle-list-stack{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
  .customer-vehicle-card{min-width:0;height:100%}
  .customer-vehicle-card .vehicle-body{padding:12px;gap:8px}
  .vehicle-hero-image{height:168px!important;padding:10px}
  .vehicle-name-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
  .vehicle-name-row strong{font-size:22px;line-height:1.05}
  .service-pill{width:max-content;max-width:100%}
  .vehicle-soft-facts{gap:5px}
  .vehicle-soft-facts span{font-size:11px;padding:4px 7px;min-height:26px}
  .vehicle-model-line{font-size:12px;min-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .vehicle-price-row strong{font-size:20px}
  .vehicle-actions{grid-template-columns:1fr;gap:7px}
  .choose-vehicle-btn,.detail-link{min-height:42px}
}
@media (min-width:1024px) and (max-width:1180px) and (hover:hover) and (pointer:fine){
  .vehicle-list-stack{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Desktop checkout polish: compact 4-column extras, sticky trip summary, and soft completed steps. */
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .date-time-screen .extras-card .addons-list.extra-checkbox-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch}
  .date-time-screen .extras-card .extra-check-card{min-height:78px;padding:10px;border-radius:8px;grid-template-columns:20px minmax(0,1fr);gap:8px;align-content:start;background:linear-gradient(180deg,#fff,#fbfefc);box-shadow:0 6px 16px rgba(10,64,39,.035)}
  .date-time-screen .extras-card .extra-check-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(10,64,39,.075)}
  .date-time-screen .extras-card .extra-check-ui{width:18px;height:18px;border-radius:6px}
  .date-time-screen .extras-card .extra-copy{gap:2px;min-width:0}
  .date-time-screen .extras-card .extra-copy strong{font-size:13px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .date-time-screen .extras-card .extra-copy small{font-size:11px;line-height:1.3;color:#61746b}
  .date-time-screen .desktop-checkout-summary.trip-summary-card{position:sticky!important;top:calc(var(--aim-header-h) + 92px)!important;max-height:calc(100vh - var(--aim-header-h) - 112px);overflow:auto;z-index:30;scrollbar-width:thin;box-shadow:0 18px 42px rgba(10,64,39,.12),0 0 0 1px rgba(15,143,85,.04)}
  .date-time-screen .desktop-checkout-summary.trip-summary-card::-webkit-scrollbar{width:7px}
  .date-time-screen .desktop-checkout-summary.trip-summary-card::-webkit-scrollbar-thumb{background:#bfe2cc;border-radius:999px}
  .desktop-step-nav .step-btn.done{border-color:#bfe2cc;background:linear-gradient(180deg,#fbfffd,#edf8f1);color:#0d6b43;box-shadow:0 8px 22px rgba(15,143,85,.075)}
  .desktop-step-nav .done .step-icon-wrap{background:#dff5e8;border-color:#a9dcbc;color:#0e7c4d;box-shadow:0 6px 14px rgba(15,143,85,.12)}
  .desktop-step-nav .done .step-no{background:#effaf3;color:#0e7c4d;border-color:#c9ead4}
  .desktop-step-nav .done .step-check{background:#22a366;box-shadow:0 4px 10px rgba(34,163,102,.18)}
}
@media (min-width:1024px) and (max-width:1180px) and (hover:hover) and (pointer:fine){
  .date-time-screen .extras-card .addons-list.extra-checkbox-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Keep the services section at 4 columns on desktop as requested. */
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .date-time-screen .extras-card .addons-list.extra-checkbox-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}


/* Phase 18C vehicle availability date context */
.vehicle-availability-note small{display:block;margin-top:3px;color:#6a7a72;font-size:11px;line-height:1.35}.vehicle-availability-note.unavailable small{color:#8c5d33}.vehicle-availability-note.available small{color:#49735d}
/* Phase 18A vehicle card availability states */
.vehicle-filter-card-with-availability{grid-template-columns:minmax(0,1fr) 130px 178px}
.availability-pill{border:1px solid #bfe2cc;background:#e8f7ee;color:#0f6b43}.availability-pill.unavailable{border-color:#f2c8aa;background:#fff5ed;color:#a34f00}.availability-pill.inactive,.availability-pill.maintenance{border-color:#ded6c8;background:#f7f4ef;color:#6e5a35}.availability-pill.no-dates{border-color:#c8d8e8;background:#f3f8ff;color:#315a83}
.vehicle-availability-note{display:grid;gap:3px;border:1px solid #dfe9e3;border-radius:8px;background:#fbfefc;padding:8px 10px;color:#40564b;font-size:12px;line-height:1.35}.vehicle-availability-note strong{color:#0f6b43;font-size:12px}.vehicle-availability-note.unavailable{border-color:#f2c8aa;background:#fff8f2}.vehicle-availability-note.unavailable strong{color:#a34f00}.vehicle-availability-note.inactive,.vehicle-availability-note.maintenance{border-color:#ded6c8;background:#faf8f4}.vehicle-availability-note.inactive strong,.vehicle-availability-note.maintenance strong{color:#6e5a35}.vehicle-availability-note.no-dates{border-color:#c8d8e8;background:#f7fbff}.vehicle-availability-note.no-dates strong{color:#315a83}
.customer-vehicle-card.availability-unavailable,.customer-vehicle-card.availability-inactive,.customer-vehicle-card.availability-maintenance{background:linear-gradient(180deg,#fff,#fbfaf7);border-color:#eadfce}.customer-vehicle-card.availability-unavailable .vehicle-hero-image img,.customer-vehicle-card.availability-inactive .vehicle-hero-image img,.customer-vehicle-card.availability-maintenance .vehicle-hero-image img{filter:saturate(.72);opacity:.78}.choose-vehicle-btn.unavailable{background:#d7ddd9;color:#65746c;box-shadow:none}.availability-actions{align-items:stretch}.availability-help-btn{min-height:42px}
@media (max-width:820px){.vehicle-filter-card-with-availability{grid-template-columns:1fr}.availability-actions{grid-template-columns:1fr}.vehicle-availability-note{font-size:12px}}
@media (min-width:1024px) and (hover:hover) and (pointer:fine){.vehicle-filter-card-with-availability{grid-template-columns:minmax(0,1fr) 150px 190px}.availability-actions{grid-template-columns:1fr}.customer-vehicle-card .vehicle-availability-note{min-height:66px}}

/* Phase 18E search-first available vehicle booking flow */
.search-first-screen{gap:14px}.search-first-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:18px;align-items:stretch;padding:18px;border:1px solid #d9e9df;border-radius:8px;background:linear-gradient(135deg,#ffffff 0%,#f2faf6 58%,#eef5ff 100%);box-shadow:0 18px 46px rgba(13,70,43,.11);overflow:hidden}.search-first-hero:before{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(160deg,transparent 0%,rgba(17,94,60,.06) 50%,rgba(37,99,235,.06) 100%);clip-path:polygon(0 80%,28% 54%,48% 70%,68% 42%,100% 66%,100% 100%,0 100%);pointer-events:none}.search-hero-copy,.search-panel-card{position:relative;z-index:1}.search-hero-copy{display:grid;align-content:center;gap:8px;min-width:0}.search-hero-copy>span{width:max-content;max-width:100%;border-radius:999px;background:#e8f7ee;color:#0f6b43;font-size:12px;font-weight:950;padding:5px 10px}.search-hero-copy h3{margin:0;color:#071b12;font-size:clamp(24px,2.4vw,38px);line-height:1.12;font-weight:950;letter-spacing:0}.search-hero-copy p{margin:0;color:#52675c;font-size:14px;line-height:1.58}.search-trust-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.search-trust-badges em{font-style:normal;border:1px solid #d8e8df;background:rgba(255,255,255,.86);border-radius:999px;color:#315347;font-size:11px;font-weight:850;padding:5px 9px}.search-panel-card{border:1px solid rgba(209,226,216,.92);border-radius:8px;background:rgba(255,255,255,.92);box-shadow:0 14px 34px rgba(11,31,21,.08);padding:14px}.search-panel-grid{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) minmax(180px,1fr) minmax(150px,.78fr) minmax(146px,.7fr);gap:10px;align-items:end}.search-panel-grid .field{min-width:0}.search-panel-grid .field span{white-space:nowrap}.split-date-time{display:grid;grid-template-columns:minmax(0,1.4fr) 92px;gap:6px}.search-availability-btn{height:48px;white-space:normal;line-height:1.2}.search-validation{display:grid;gap:4px;margin-top:8px}.search-validation span,.search-stale-alert{border-radius:8px;background:#fff8e8;border:1px solid #f2d496;color:#875400;font-size:12px;font-weight:800;padding:8px 10px}.pre-search-guide,.availability-result-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;border:1px solid #dfe9e3;background:#fff;border-radius:8px;padding:14px 16px;box-shadow:var(--aim-shadow-soft)}.pre-search-guide{display:grid;align-items:start;color:#53675d}.pre-search-guide strong,.availability-result-head h3{margin:0;color:#0b6f43;font-size:20px;line-height:1.2}.pre-search-guide p,.availability-result-head p{margin:4px 0 0;color:#607269;font-size:13px;line-height:1.45}.result-filter-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.result-filter-chips button{min-height:36px;border-radius:999px;border:1px solid #d8e8df;background:#fff;color:#40564b;font-size:12px;font-weight:900;padding:7px 11px}.result-filter-chips button.active{background:#0f8f55;border-color:#0f8f55;color:#fff}.search-result-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}.desktop-filter-sidebar{position:sticky;top:calc(var(--aim-header-h) + 92px);display:grid;gap:10px;border:1px solid #dfe9e3;border-radius:8px;background:#fff;padding:13px;box-shadow:var(--aim-shadow-soft)}.desktop-filter-sidebar>strong{color:#0b6f43;font-size:14px}.vehicle-results-main{min-width:0}.search-result-grid.vehicle-list-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vehicle-availability-note.pre-search,.vehicle-availability-note.stale{border-color:#cbddec;background:#f8fbff}.vehicle-availability-note.pre-search strong,.vehicle-availability-note.stale strong{color:#315a83}.availability-pill.pre-search,.availability-pill.stale{background:#eef6ff;color:#315a83}.customer-vehicle-card.availability-pre-search,.customer-vehicle-card.availability-stale{border-color:#dfe9e3;background:#fff}.customer-vehicle-card.availability-pre-search .choose-vehicle-btn.unavailable,.customer-vehicle-card.availability-stale .choose-vehicle-btn.unavailable{background:#e8eef5;color:#596d80}.search-first-screen>.desktop-trust-panel{display:none}@media (min-width:1280px){.search-result-grid.vehicle-list-stack{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1180px){.search-first-hero{grid-template-columns:1fr}.search-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-availability-btn{grid-column:1/-1}.search-result-layout{grid-template-columns:1fr}.desktop-filter-sidebar{position:static;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.desktop-filter-sidebar>strong{grid-column:1/-1}.search-result-grid.vehicle-list-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.search-first-hero{padding:12px;gap:12px}.search-panel-card{padding:11px}.search-panel-grid,.desktop-filter-sidebar{grid-template-columns:1fr}.split-date-time{grid-template-columns:1fr 92px}.availability-result-head{display:grid;align-items:start}.result-filter-chips{justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.result-filter-chips button{flex:0 0 auto}.search-result-grid.vehicle-list-stack{grid-template-columns:1fr!important}.pre-search-guide,.availability-result-head{padding:12px}.search-hero-copy h3{font-size:25px}.search-trust-badges em{font-size:10.5px}.search-panel-grid .field span{white-space:normal}}@media (max-width:390px){.split-date-time{grid-template-columns:1fr}.search-availability-btn{min-height:52px}.result-filter-chips button{font-size:11px;padding-inline:9px}}


/* Phase 18E-2 mockup-matched search-first cleanup */
@media (min-width:821px){
  .page-hero{display:none!important}
  .wizard-heading{display:none!important}
  .wizard-card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .wizard-shell{padding-top:0!important}
  .mobile-progress,.bottom-step-nav{display:none!important}
  .app-header{height:72px!important;width:min(calc(100% - 32px),1460px)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;grid-template-columns:auto minmax(0,1fr) auto auto!important;border:1px solid rgba(218,230,223,.9)!important;border-radius:18px!important;margin-top:6px!important;padding:0 26px!important;box-shadow:0 16px 45px rgba(20,45,34,.08)!important}
  .app-brand{font-size:0!important;min-width:112px;height:44px;display:block;background:linear-gradient(135deg,#0a8a57,#26b486);-webkit-background-clip:text;background-clip:text;color:transparent!important;position:relative}
  .app-brand:after{content:"AIM\A RENTAL OS";white-space:pre;position:absolute;left:0;top:2px;color:#078455;font-size:31px;line-height:.72;font-weight:950;letter-spacing:.5px}
  .app-header-title{justify-self:start;text-align:left;font-size:0!important;display:flex!important;gap:34px;align-items:center;color:#24352e!important}
  .app-header-title:before{content:"หน้าแรก";font-size:15px;font-weight:950;color:#00794b}
  .app-header-title:after{content:"รถเช่าทั้งหมด     วิธีการเช่า     โปรโมชั่น     ติดต่อเรา";font-size:15px;font-weight:850;color:#263a32;white-space:pre}
  .app-header-actions{display:flex!important;gap:18px}
  .app-header-actions a:first-child{font-size:0!important;border:0!important;background:transparent!important;color:#1f342c!important;padding:0!important}
  .app-header-actions a:first-child:before{content:"🌐  TH⌄";font-size:14px;font-weight:850}
  .app-header-actions a:last-child{font-size:0!important;border:0!important;background:transparent!important;color:#1f342c!important;padding:0!important}
  .app-header-actions a:last-child:before{content:"◎ เข้าสู่ระบบ";font-size:14px;font-weight:850}
  .app-menu-button{display:none!important}
  body{padding-top:90px!important;background:#f8fbf8!important}
}

.mockup-clean-screen{max-width:1460px;margin:0 auto;gap:18px}
.search-first-hero{min-height:360px;border:1px solid rgba(216,229,222,.86)!important;border-radius:24px!important;padding:56px 48px 30px!important;grid-template-columns:1fr!important;align-content:end;gap:22px!important;background:linear-gradient(90deg,rgba(235,248,243,.92) 0%,rgba(240,249,246,.78) 48%,rgba(255,255,255,.42) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='430' viewBox='0 0 1400 430'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' x2='1'%3E%3Cstop stop-color='%23d9edf2'/%3E%3Cstop offset='1' stop-color='%23eef8ef'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1400' height='430' fill='url(%23s)'/%3E%3Cpath d='M0 258 C260 220 390 175 575 204 C770 235 945 150 1400 120 L1400 430 L0 430 Z' fill='%23d3e5dc' opacity='.72'/%3E%3Cpath d='M645 430 C790 290 970 218 1400 170 L1400 430 Z' fill='%23b9c8c3' opacity='.55'/%3E%3Cpath d='M725 430 C855 305 1020 242 1400 205' stroke='%23f7f7f2' stroke-width='44' fill='none' opacity='.9'/%3E%3Cpath d='M720 430 C852 307 1020 245 1400 208' stroke='%238a9b96' stroke-width='2' stroke-dasharray='26 24' fill='none' opacity='.36'/%3E%3C/svg%3E") center/cover no-repeat!important;box-shadow:0 22px 60px rgba(27,61,44,.10)!important;overflow:hidden}
.search-first-hero:before{display:none!important}
.search-hero-copy{max-width:760px;gap:10px!important}
.search-hero-copy>span{display:none!important}
.search-hero-copy h3{font-size:34px!important;line-height:1.15!important;color:#0b6f43!important}
.search-hero-copy p{font-size:16px!important;color:#213a30!important;font-weight:750}
.search-panel-card{border-radius:18px!important;background:rgba(255,255,255,.96)!important;padding:20px!important;box-shadow:0 18px 45px rgba(22,57,40,.14)!important;border:1px solid rgba(218,230,223,.85)!important}
.search-panel-grid{grid-template-columns:minmax(220px,1.15fr) minmax(230px,1fr) 46px minmax(230px,1fr) minmax(160px,.7fr)!important;align-items:end;gap:18px!important}
.search-panel-grid .field span{font-size:12px;color:#35584b;font-weight:900}
.search-panel-grid select,.search-panel-grid input{min-height:48px;border-radius:10px!important;border-color:#d8e6df!important;background:#fff!important;font-weight:850}
.search-flow-arrow{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;align-self:end;margin-bottom:5px;background:#e3f4ec;color:#0a8454;font-size:22px;font-weight:950}
.search-availability-btn{height:56px!important;border-radius:10px!important;font-size:15px!important;font-weight:950!important;box-shadow:0 10px 22px rgba(15,143,85,.18)!important}
.hero-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0 36px 0 36px}
.hero-trust-item{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-items:center;color:#0d6b43}
.hero-trust-item span{grid-row:1/3;width:42px;height:42px;border-radius:999px;background:#d9f1e6;display:grid;place-items:center;font-size:20px}
.hero-trust-item strong{font-size:14px;font-weight:950;line-height:1.15}
.hero-trust-item small{font-size:12px;color:#3f5f52;font-weight:750;line-height:1.25}
.pre-search-empty{max-width:900px;margin:0 auto 8px!important;text-align:center;border:0!important;background:transparent!important;box-shadow:none!important;padding:14px 20px!important}
.pre-search-empty strong{font-size:22px!important;color:#0b6f43!important}
.pre-search-empty p{font-size:14px!important;color:#50665c!important}
.mockup-result-screen{max-width:1460px;margin:0 auto}
.availability-result-head{border:0!important;background:transparent!important;box-shadow:none!important;padding:18px 0!important}
.availability-result-head h3{color:#101d17!important;font-size:21px!important}
.result-filter-tools{display:grid;gap:10px;justify-items:end}
.sort-control{display:inline-flex;align-items:center;gap:8px;border:1px solid #dbe8e0;border-radius:8px;background:#fff;padding:8px 10px;font-size:12px;font-weight:850;color:#42574e}
.sort-control select{border:0;background:transparent;font-weight:900;color:#263a32}
.search-result-layout{grid-template-columns:260px minmax(0,1fr)!important;gap:28px!important}
.desktop-filter-sidebar{border-radius:12px!important;box-shadow:0 12px 34px rgba(20,55,39,.08)!important;padding:18px!important;top:96px!important}
.desktop-filter-sidebar>strong{font-size:16px!important;color:#111b16!important}
.search-result-grid.vehicle-list-stack{gap:18px!important}
.customer-vehicle-card{border-radius:16px!important;box-shadow:0 16px 38px rgba(23,56,40,.08)!important}

@media (max-width:1180px){
  .search-first-hero{min-height:auto;padding:28px 20px!important}
  .search-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .search-flow-arrow{display:none!important}
  .hero-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
  .search-result-layout{grid-template-columns:1fr!important}
}
@media (max-width:820px){
  .page-hero{display:none!important}
  .wizard-heading{display:none!important}
  .wizard-card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .search-first-hero{border-radius:18px!important;padding:18px 12px!important;background:linear-gradient(180deg,rgba(239,249,245,.95),rgba(255,255,255,.7)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='430' height='390' viewBox='0 0 430 390'%3E%3Crect width='430' height='390' fill='%23edf8f5'/%3E%3Cpath d='M0 205 C120 170 205 160 430 115 L430 390 L0 390 Z' fill='%23cee2d8'/%3E%3Cpath d='M178 390 C230 260 305 198 430 158' stroke='%23f8f8f2' stroke-width='35' fill='none'/%3E%3C/svg%3E") center/cover no-repeat!important}
  .search-hero-copy h3{font-size:25px!important}
  .search-hero-copy p{font-size:13px!important}
  .search-panel-card{padding:12px!important;border-radius:14px!important}
  .search-panel-grid{grid-template-columns:1fr!important;gap:10px!important}
  .split-date-time{grid-template-columns:1fr 96px!important}
  .hero-trust-grid{grid-template-columns:1fr 1fr;gap:10px;padding:0}
  .hero-trust-item{grid-template-columns:32px minmax(0,1fr);gap:8px}
  .hero-trust-item span{width:30px;height:30px;font-size:15px}
  .hero-trust-item strong{font-size:12px}
  .hero-trust-item small{font-size:10.5px}
  .pre-search-empty{text-align:left;padding:8px 2px!important}
  .result-filter-tools{justify-items:start}
}
@media (max-width:430px){
  .hero-trust-grid{grid-template-columns:1fr}
  .split-date-time{grid-template-columns:1fr!important}
  .search-first-hero{padding:14px 10px!important}
}


/* Phase 18E-2 final nav cleanup: no old wizard progress above search hero */
.mobile-progress,.desktop-step-nav{display:none!important}
@media (max-width:820px){.mobile-progress,.desktop-step-nav{display:none!important}}
@media (min-width:821px){.mobile-progress,.desktop-step-nav{display:none!important}}


/* Phase 18E-2 header DOM finalization */
.desktop-site-nav{display:none}
.brand-logo-main,.brand-logo-sub{display:block;line-height:.82}
@media (min-width:821px){
  .app-header{grid-template-columns:auto minmax(0,1fr) auto!important;gap:28px!important}
  .app-brand{font-size:inherit!important;min-width:112px!important;height:44px!important;display:grid!important;align-content:center!important;text-decoration:none!important;background:none!important;color:#0a8a57!important;letter-spacing:0!important}
  .app-brand:after,.app-header-title:before,.app-header-title:after,.app-header-actions a:before{content:none!important;display:none!important}
  .brand-logo-main{font-size:31px!important;font-weight:950!important;letter-spacing:.6px!important;color:#0a8a57!important}
  .brand-logo-sub{font-size:10px!important;font-weight:900!important;letter-spacing:1.8px!important;color:#b48a35!important;margin-top:1px!important}
  .desktop-site-nav{display:flex!important;align-items:center;gap:34px;min-width:0;white-space:nowrap;overflow:hidden}
  .desktop-site-nav a{color:#263a32;text-decoration:none;font-size:15px;font-weight:850;line-height:1;padding:10px 0;border-bottom:2px solid transparent}
  .desktop-site-nav a[aria-current="page"],.desktop-site-nav a:hover{color:#00794b;border-color:#0f8f55}
  .app-header-title{display:none!important}
  .app-header-actions{display:flex!important;align-items:center!important;gap:18px!important;white-space:nowrap!important}
  .app-header-actions a{min-height:0!important;border:0!important;background:transparent!important;padding:0!important;color:#1f342c!important;text-decoration:none!important;font-size:14px!important;font-weight:850!important;border-radius:0!important}
  .app-header-actions a:hover{color:#00794b!important}
}
@media (max-width:820px){
  .desktop-site-nav{display:none!important}
  .brand-logo-main{font-size:18px;font-weight:950;color:#0a8a57;letter-spacing:.4px}
  .brand-logo-sub{font-size:7px;font-weight:900;color:#b48a35;letter-spacing:1.1px;margin-top:1px}
  .app-header-title{display:block!important;font-size:12px!important;text-align:right!important}
  .app-header-actions{display:none!important}
}
.promotion-section-placeholder { display: none; }
.promotions-section {
  width: min(1100px, calc(100% - 32px));
  max-width: 100%;
  margin: 12px auto 4px;
  overflow-x: clip;
}
.promotions-section-clean { border: 0; outline: 0; box-shadow: none; }
.promotions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  min-width: 0;
}
.promotions-slider { scroll-behavior: smooth; }
.promotion-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(17, 128, 78, .14);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(15, 88, 56, .10);
}
.promotion-image {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #e9f6ef;
  overflow: hidden;
}
.promotion-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.promotion-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
}
.promotion-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.promotion-badge,
.promotion-discount,
.promotion-code {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: .76rem;
  font-weight: 800;
}
.promotion-badge { color: #047044; background: #e5f7ee; }
.promotion-discount { color: #9b4c00; background: #fff4df; }
.promotion-code { color: #0a6040; background: #f0fbf5; border: 1px dashed rgba(17, 128, 78, .28); }
.promotion-card h4 {
  margin: 0;
  color: #10251d;
  font-size: 1rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.promotion-card p {
  margin: 0;
  color: #52645c;
  font-size: .88rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.promotion-date {
  color: #6f7d77;
  font-size: .78rem;
}
.promotion-cta { margin-top: auto; min-height: 40px; }
.promotion-slider-shell {
  position: relative;
}
.promotion-nav {
  display: none;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  border: 1px solid rgba(13, 111, 67, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  color: #0b6f42;
  font-size: 1.7rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 10px 26px rgba(10, 55, 35, .14);
  z-index: 2;
}
.promotion-nav:focus-visible {
  outline: 3px solid rgba(15, 143, 85, .24);
  outline-offset: 2px;
}
.promotion-dots {
  display: none;
  justify-content: center;
  gap: 7px;
  padding: 8px 0 0;
}
.promotion-dot {
  width: 7px;
  height: 7px;
  min-height: 0;
  padding: 0;
  border-radius: 999px;
  background: #cfdad4;
  transition: width .18s ease, background .18s ease;
}
.promotion-dot.active {
  width: 20px;
  background: #0f8f55;
}
@media (max-width: 767px) {
  .promotions-section {
    width: 100%;
    margin-top: 10px;
    overflow: hidden;
  }
  .promotion-slider-shell {
    width: 100%;
  }
  .promotion-nav {
    display: inline-flex;
    position: absolute;
    top: 42%;
    transform: translateY(-50%);
  }
  .promotion-nav-prev { left: 8px; }
  .promotion-nav-next { right: 8px; }
  .promotions-grid.promotions-slider {
    display: flex;
    grid-template-columns: none;
    gap: 14px;
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    padding: 0 max(16px, env(safe-area-inset-left)) 8px;
    scrollbar-width: none;
  }
  .promotions-grid.promotions-slider::-webkit-scrollbar { display: none; }
  .promotions-slider .promotion-card {
    flex: 0 0 min(88vw, 360px);
    max-width: 360px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    border-radius: 16px;
  }
  .promotion-cta { width: 100%; }
  .promotion-dots { display: flex; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .promotions-grid.promotions-slider {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    padding: 0;
  }
}
@media (min-width: 1024px) {
  .promotions-grid.promotions-slider {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
    padding: 0;
  }
}
.promotion-modal-root:not(:empty) {
  position: fixed;
  inset: 0;
  z-index: 80;
}
.promotion-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(520px, calc(100vw - 28px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15, 88, 56, .24);
}
.promotion-modal > img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.promotion-modal-content {
  display: grid;
  gap: 10px;
  padding: 18px;
}
.promotion-modal-content h3 { margin: 0; color: #047044; }
.promotion-modal-content p { margin: 0; color: #52645c; line-height: 1.55; }
.promotion-code-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #f3fbf7;
  color: #25443a;
}
@media (max-width: 900px) {
  .promotions-grid:not(.promotions-slider) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .promotions-section { width: 100%; margin-top: 10px; }
  .promotions-grid:not(.promotions-slider) { grid-template-columns: 1fr; gap: 12px; }
  .promotion-card { border-radius: 16px; }
}








/* Customer home search balance: keep date and time inputs readable. */
.search-panel-grid {
  grid-template-columns:
    minmax(220px, 1.05fr)
    minmax(220px, 1.05fr)
    minmax(300px, 1.25fr)
    minmax(300px, 1.25fr) !important;
  gap: 16px !important;
}
.search-panel-grid .field {
  min-width: 0;
}
.search-panel-grid .field select,
.search-panel-grid .field input {
  width: 100%;
  box-sizing: border-box;
}
.split-date-time {
  grid-template-columns: minmax(178px, 1fr) minmax(96px, .48fr) !important;
  gap: 8px !important;
}
.split-date-time input[type="date"] {
  min-width: 178px;
}
.split-date-time input[type="time"] {
  min-width: 96px;
}
.search-availability-btn {
  grid-column: 1 / span 2;
  width: 100%;
  min-height: 56px;
}
@media (min-width: 1181px) {
  .search-panel-card {
    max-width: 100%;
  }
}
@media (max-width: 1180px) {
  .search-panel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .search-availability-btn {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .search-panel-grid {
    grid-template-columns: 1fr !important;
  }
  .split-date-time {
    grid-template-columns: minmax(0, 1fr) minmax(92px, .44fr) !important;
  }
  .split-date-time input[type="date"],
  .split-date-time input[type="time"] {
    min-width: 0;
  }
}
@media (max-width: 390px) {
  .split-date-time {
    grid-template-columns: 1fr !important;
  }
}

/* Customer home search balance v2: account for the arrow grid item. */
@media (min-width: 1181px) {
  .search-panel-grid {
    grid-template-columns:
      minmax(250px, 1.05fr)
      minmax(300px, 1.22fr)
      46px
      minmax(300px, 1.22fr)
      minmax(170px, .72fr) !important;
    gap: 14px !important;
  }
  .search-flow-arrow {
    justify-self: center;
  }
  .search-availability-btn {
    grid-column: auto;
    min-width: 170px;
  }
}

/* Customer search tool balance v3: stable 4-column desktop tool layout. */
.search-panel-card {
  overflow: hidden;
}
.search-panel-grid {
  width: 100%;
  max-width: 100%;
}
.search-flow-arrow {
  display: none !important;
}
@media (min-width: 1181px) {
  .search-panel-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: end;
  }
  .split-date-time {
    grid-template-columns: minmax(0, 1fr) 92px !important;
    gap: 8px !important;
  }
  .split-date-time input[type="date"],
  .split-date-time input[type="time"] {
    min-width: 0 !important;
    padding-left: 10px;
    padding-right: 10px;
  }
  .search-availability-btn {
    grid-column: 1 / 2 !important;
    width: 100%;
    min-width: 0 !important;
    min-height: 56px;
  }
}
@media (min-width: 1181px) and (max-width: 1360px) {
  .search-panel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .search-availability-btn {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 1180px) {
  .search-panel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .search-availability-btn {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 760px) {
  .search-panel-grid {
    grid-template-columns: 1fr !important;
  }
  .split-date-time {
    grid-template-columns: 1fr !important;
  }
  .search-availability-btn {
    grid-column: 1 / -1 !important;
  }
}

/* Customer search typography: lighter form text. */
.search-panel-grid select,
.search-panel-grid input {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.search-panel-grid .field span {
  font-weight: 700 !important;
}
.search-panel-grid input[type="date"],
.search-panel-grid input[type="time"] {
  font-variant-numeric: tabular-nums;
}