
.simple-booking{background:var(--bg);min-height:70vh}
.simple-booking-hero{padding:44px 0 34px;background:linear-gradient(180deg,#091014 0%,#060a0c 100%);border-bottom:1px solid var(--line)}
.simple-booking-head{max-width:820px;text-align:center}
.simple-booking-head h1{max-width:none;margin-bottom:12px;font-size:46px}
.simple-booking-head>p:not(.kicker){margin:0 auto;color:#fff;font-size:18px}
.specialist-link{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:19px;font-size:13px;color:#fff}
.specialist-link a{color:var(--green);font-weight:800;text-decoration:none}
.simple-booking-body{padding:38px 0 72px}
.simple-booking-shell{max-width:820px}
.simple-progress{display:flex;align-items:center;justify-content:center;margin:0 auto 28px;max-width:650px}
.progress-item{display:flex;align-items:center;gap:7px;color:#73848c;white-space:nowrap}
.progress-item span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #33444c;border-radius:50%;font-size:12px;font-weight:800;background:#091014}
.progress-item b{font-size:12px}
.progress-item.active,.progress-item.complete{color:#fff}
.progress-item.active span,.progress-item.complete span{border-color:var(--green);background:var(--green);color:#fff}
.progress-item.active b{color:var(--green)}
.progress-line{width:48px;height:1px;margin:0 8px;background:#33444c}
.booking-step{display:none;padding:34px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#0d1519,#091014);box-shadow:0 24px 60px rgba(0,0,0,.20)}
.booking-step.active{display:block}
.step-title{text-align:center;margin-bottom:28px}
.step-title>span{display:block;margin-bottom:7px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.09em}
.step-title h2{margin-bottom:7px;font-size:32px}
.step-title p{margin:0;color:#fff;font-size:15px}
.simple-fields{display:grid;gap:17px}
.simple-fields label{display:flex;flex-direction:column;gap:7px}
.simple-fields label>span,.vehicle-choice legend{font-size:13px;font-weight:800;color:#fff}
.simple-fields input,.simple-fields textarea{width:100%;border:1px solid #33444c;border-radius:8px;background:#071014;color:#fff;padding:15px 16px;font:inherit;outline:none}
.simple-fields textarea{resize:vertical}
.simple-fields input:focus,.simple-fields textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(69,245,46,.08)}
.simple-fields input::placeholder,.simple-fields textarea::placeholder{color:#91a0a6}
.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.simple-fields small{font-weight:400;color:#bdc7ca}
.vehicle-choice{margin:4px 0 0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.vehicle-choice legend{grid-column:1/-1;margin-bottom:3px}
.vehicle-choice label{position:relative;cursor:pointer}
.vehicle-choice input{position:absolute;opacity:0;pointer-events:none}
.vehicle-choice label span{display:block;padding:15px 16px;border:1px solid #33444c;border-radius:8px;background:#091014}
.vehicle-choice label b,.vehicle-choice label small{display:block}
.vehicle-choice label b{font-size:14px;color:#fff}
.vehicle-choice label small{margin-top:2px;font-size:11px;color:#fff}
.vehicle-choice input:checked+span{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:rgba(69,245,46,.06)}
.vehicle-choice input:checked+span b{color:var(--green)}
.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}
.step-actions.one{justify-content:flex-end}
.step-actions .button{min-width:150px}
.review-card{border:1px solid var(--line);border-radius:9px;overflow:hidden}
.review-card div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line)}
.review-card div:last-child{border-bottom:0}
.review-card span{color:#9dacb2;font-size:12px;font-weight:800}
.review-card strong{font-size:13px;color:#fff;text-align:right;word-break:break-word}
.price-card{margin-top:18px;padding:20px;border:1px solid rgba(69,245,46,.38);border-radius:9px;background:rgba(69,245,46,.045);text-align:center}
.price-card span,.price-card strong{display:block}
.price-card span{font-size:12px;font-weight:800;color:#fff}
.price-card strong{margin:4px 0 7px;color:var(--green);font-size:21px}
.price-card p{margin:0;color:#fff;font-size:12px}
.simple-consent{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#071014}
.simple-consent label{display:flex;gap:10px;align-items:flex-start;color:#fff;font-size:13px}
.simple-consent input{margin-top:3px}
.simple-consent p{margin:10px 0 0 25px;color:#fff;font-size:12px}
.simple-consent a{color:var(--green);font-weight:700}
.pay-disabled:disabled{opacity:.45;cursor:not-allowed}
.payment-note{margin:12px 0 0;text-align:center;color:#fff;font-size:11px}
.field-error{border-color:#ff6b6b!important}
.step-error{margin:14px 0 -6px;text-align:center;color:#ff9393;font-size:12px;font-weight:700}
@media(max-width:700px){
  .simple-booking-head h1{font-size:37px}
  .simple-progress{max-width:100%}
  .progress-item b{display:none}
  .progress-line{flex:1;min-width:20px}
  .booking-step{padding:24px 18px}
  .two-fields,.vehicle-choice{grid-template-columns:1fr}
  .step-actions{flex-direction:column-reverse}
  .step-actions.one{display:block}
  .step-actions .button{width:100%}
  .review-card div{grid-template-columns:82px 1fr}
}

.details-note{margin:2px 0 0;color:#fff;font-size:12px;line-height:1.5;text-align:center;opacity:.9}

.progress-item.can-go-back{cursor:pointer}
.progress-item.can-go-back:hover span,.progress-item.can-go-back:focus-visible span{box-shadow:0 0 0 3px rgba(69,245,46,.16);transform:scale(1.06)}
.progress-item.can-go-back:hover b,.progress-item.can-go-back:focus-visible b{color:var(--green)}
.progress-item:focus-visible{outline:none}
.prev-step{border-color:var(--green)!important;color:#fff!important}

.calendar-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calendar-field{min-width:0}
.calendar-input-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}
.calendar-input-wrap input[type="date"]{color-scheme:dark;cursor:pointer}
.calendar-input-wrap input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(84%) sepia(63%) saturate(1700%) hue-rotate(55deg) brightness(105%);cursor:pointer;transform:scale(1.25)}
.calendar-open{border:1px solid var(--green);border-radius:8px;background:rgba(69,245,46,.06);color:#fff;padding:0 15px;font:800 12px Arial,Helvetica,sans-serif;cursor:pointer}
.calendar-open:hover,.calendar-open:focus-visible{background:var(--green);color:#fff;outline:none}
.date-time-block{display:grid;gap:14px}
@media(max-width:700px){.calendar-row{grid-template-columns:1fr}.calendar-open{min-width:92px}}

.route-basis{margin:10px 0 0!important;color:#fff!important;font-size:13px!important}.route-basis strong{color:var(--green)}
.route-price-basis{margin:10px auto 14px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#071014}.route-price-basis b,.route-price-basis small{display:block}.route-price-basis b{font-size:11px;color:#fff;margin-bottom:3px}.route-price-basis small{font-size:12px;color:var(--green);font-weight:800}

.heavy-load-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;padding:16px;border:1px solid #33444c;border-radius:8px;background:#091014;cursor:pointer}.heavy-load-check input{width:auto!important;margin:4px 0 0;accent-color:var(--green)}.heavy-load-check span{display:block}.heavy-load-check b,.heavy-load-check small{display:block}.heavy-load-check b{color:#fff;font-size:14px}.heavy-load-check small{margin-top:3px;color:#fff;font-size:11px;line-height:1.45}.heavy-load-check:has(input:checked){border-color:var(--green);background:rgba(69,245,46,.06)}

.weight-input-wrap{display:grid;grid-template-columns:1fr 54px;align-items:center;border:1px solid #33444c;border-radius:8px;background:#071014;overflow:hidden}.weight-input-wrap input{border:0!important;border-radius:0!important}.weight-input-wrap span{display:grid;place-items:center;height:100%;border-left:1px solid #33444c;color:var(--green);font-size:13px;font-weight:800}.weight-help{display:block;margin-top:5px;color:#fff!important;font-size:11px!important;line-height:1.4}.vehicle-guide{grid-column:1/-1;margin:0 0 3px;padding:10px 12px;border-left:3px solid var(--green);background:#071014;color:#fff;font-size:12px;line-height:1.45}.vehicle-guide strong{color:var(--green)}.load-warning{margin:12px 0 -4px;padding:11px 12px;border:1px solid #d79932;border-radius:7px;background:rgba(215,153,50,.08);color:#fff;font-size:12px;font-weight:700;line-height:1.45}.load-warning a{color:var(--green)}

/* Strong visible back button */
.prev-step{background:#0b1810!important;border:2px solid var(--green)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(69,245,46,.10),0 8px 22px rgba(0,0,0,.22)!important;font-weight:800!important}
.prev-step:hover,.prev-step:focus-visible{background:var(--green)!important;color:#fff!important;box-shadow:0 0 22px rgba(69,245,46,.35)!important}
@media(max-width:700px){.prev-step{width:100%!important;min-height:50px}.step-actions{gap:10px}}

.mileage-review-row strong{color:var(--green)!important}.route-price-basis em{display:block;margin-top:5px;color:#fff;font-size:11px;font-style:normal;line-height:1.4}

.mileage-review-row strong{color:var(--green)!important}

/* Customer route map panel */
.customer-map-panel{display:grid;grid-template-columns:210px 1fr;gap:22px;align-items:center;margin-top:22px;padding:20px;border:1px solid #33444c;border-radius:10px;background:linear-gradient(145deg,#0c1519,#071014)}
.customer-map-visual{position:relative;min-height:150px;border:1px solid #26343b;border-radius:9px;overflow:hidden;background:radial-gradient(circle at 22% 30%,rgba(69,245,46,.08),transparent 22%),linear-gradient(25deg,transparent 47%,rgba(255,255,255,.035) 48%,rgba(255,255,255,.035) 51%,transparent 52%),linear-gradient(-28deg,transparent 47%,rgba(255,255,255,.025) 48%,rgba(255,255,255,.025) 51%,transparent 52%),#0b1216}
.customer-map-visual:before,.customer-map-visual:after{content:"";position:absolute;background:rgba(255,255,255,.035)}
.customer-map-visual:before{left:25%;top:0;width:1px;height:100%}.customer-map-visual:after{top:52%;left:0;width:100%;height:1px}
.map-pin{position:absolute;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:900;box-shadow:0 0 0 5px rgba(69,245,46,.10)}
.map-pin-a{left:28px;bottom:28px}.map-pin-b{right:28px;top:28px}
.map-route-line{position:absolute;z-index:1;left:54px;bottom:54px;width:112px;height:70px;border-top:3px dashed var(--green);border-right:3px dashed var(--green);border-radius:0 28px 0 0;transform:rotate(-7deg);opacity:.9}
.customer-map-copy .kicker{margin-bottom:10px}
.customer-route-points{display:grid;gap:9px;margin-bottom:14px}
.customer-route-points div{display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:start}
.customer-route-points span{color:#9dacb2;font-size:11px;font-weight:800}
.customer-route-points strong{color:#fff;font-size:13px;line-height:1.4;word-break:break-word}
.customer-map-button{min-height:42px;padding:0 16px;font-size:13px}
.customer-map-help{margin:9px 0 0;color:#fff;font-size:11px;line-height:1.45}
@media(max-width:700px){.customer-map-panel{grid-template-columns:1fr}.customer-map-visual{min-height:120px}.customer-map-button{width:100%}}

/* Embedded Google route box */
.customer-map-panel{grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr)!important;align-items:stretch!important}
.customer-map-frame{min-height:280px;border:1px solid #26343b;border-radius:9px;overflow:hidden;background:#0b1216}
.embedded-google-map{display:block;width:100%;height:100%;min-height:280px;border:0}
.embedded-map-placeholder{position:relative;display:grid;place-items:center;min-height:280px;overflow:hidden;background:radial-gradient(circle at 28% 30%,rgba(69,245,46,.08),transparent 24%),#0b1216}
.map-grid-lines{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;transform:rotate(-5deg) scale(1.1)}
.embedded-map-message{position:relative;z-index:1;max-width:290px;padding:24px;text-align:center}
.map-symbol{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 11px;border-radius:50%;background:var(--green);color:#fff;font-size:22px;font-weight:900;box-shadow:0 0 0 7px rgba(69,245,46,.08)}
.embedded-map-message strong{display:block;margin-bottom:6px;color:#fff;font-size:17px}
.embedded-map-message p,.map-inline-note{margin:0;color:#fff;font-size:12px;line-height:1.5}
.customer-map-copy{display:flex;flex-direction:column;justify-content:center}
.map-inline-note{margin-top:10px}
@media(max-width:700px){.customer-map-panel{grid-template-columns:1fr!important}.customer-map-frame,.embedded-google-map,.embedded-map-placeholder{min-height:230px}}

/* OpenFreeMap booking map */
.ils-route-map{width:100%;height:100%;min-height:280px;background:#0b1216}.customer-map-frame{position:relative}.map-overlay-message{position:absolute;inset:0;z-index:3;display:grid;place-items:center;align-content:center;padding:24px;text-align:center;background:linear-gradient(180deg,rgba(7,16,20,.72),rgba(7,16,20,.88));pointer-events:none}.map-overlay-message strong{display:block;margin:9px 0 6px;color:#fff;font-size:17px}.map-overlay-message p{max-width:310px;margin:0;color:#fff;font-size:12px;line-height:1.5}.map-overlay-message.hidden{display:none}.maplibregl-ctrl-attrib{font-size:9px!important}.maplibregl-popup-content{background:#071014!important;color:#fff!important;border:1px solid #33444c!important;border-radius:7px!important;font:12px Arial,Helvetica,sans-serif!important}.maplibregl-popup-tip{border-top-color:#071014!important}.ils-map-marker{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;border:2px solid #fff;font:900 12px Arial,Helvetica,sans-serif;box-shadow:0 0 0 5px rgba(69,245,46,.16)}@media(max-width:700px){.ils-route-map{min-height:230px}}

/* Persistent booking map layout */
.simple-booking-shell{max-width:1180px!important}
.booking-workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start}
.booking-workspace>form{min-width:0}
.booking-route-sidebar{position:sticky;top:92px}
.booking-route-sidebar .customer-map-panel{display:block!important;margin:0!important;padding:16px!important}
.booking-route-sidebar .customer-map-frame{min-height:300px}
.booking-route-sidebar .ils-route-map{min-height:300px}
.booking-route-sidebar .customer-map-copy{padding-top:16px}
.route-mileage-live{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:13px 14px;border:1px solid rgba(69,245,46,.42);border-radius:8px;background:rgba(69,245,46,.055)}
.route-mileage-live span{color:#fff;font-size:12px;font-weight:800}
.route-mileage-live strong{color:var(--green);font-size:20px;white-space:nowrap}
@media(max-width:900px){.booking-workspace{grid-template-columns:1fr}.booking-route-sidebar{position:static;order:-1}.booking-route-sidebar .customer-map-frame,.booking-route-sidebar .ils-route-map{min-height:230px}}

/* Final customer job price */
.final-job-price{padding:28px!important;border-color:rgba(69,245,46,.55)!important;background:linear-gradient(180deg,rgba(69,245,46,.075),rgba(69,245,46,.025))!important}
.final-job-price>span{font-size:13px!important;letter-spacing:.02em}
.final-job-price>strong{font-size:38px!important;line-height:1.05;margin:8px 0 9px!important}
.final-job-price #price-vehicle-label{font-size:13px!important;font-weight:800!important;color:#fff!important}
.final-job-price small{display:block;margin-top:7px;color:#fff;font-size:11px;line-height:1.45}

/* Quote-first booking refinement */
.price-only-fields{gap:15px}
.price-vehicle-choice{margin-top:2px}
.weight-price-field[hidden]{display:none!important}
.price-step-message{margin:0!important}
.quote-first-price{margin-top:0!important}
.price-route-summary{margin-top:16px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#071014}
.price-route-summary div{display:grid;grid-template-columns:105px 1fr;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line)}
.price-route-summary div:last-child{border-bottom:0}
.price-route-summary span{color:#9dacb2;font-size:11px;font-weight:800}
.price-route-summary strong{color:#fff;font-size:13px;text-align:right;word-break:break-word}
.final-job-price{padding:28px!important;border-color:rgba(69,245,46,.55)!important;background:linear-gradient(180deg,rgba(69,245,46,.075),rgba(69,245,46,.025))!important}
.final-job-price>span{font-size:13px!important}.final-job-price>strong{font-size:38px!important;line-height:1.05;margin:8px 0 9px!important}.final-job-price p{font-size:13px!important;font-weight:800!important}.final-job-price small{display:block;margin-top:7px;color:#fff;font-size:11px;line-height:1.45}
.compact-review-card div{padding:12px 15px}
@media(max-width:700px){.price-route-summary div{grid-template-columns:82px 1fr}}
