#booking-calendar{scroll-margin-top:16px}#booking-calendar select{display:block;max-width:540px;width:100%;margin:10px 0;padding:12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;font:inherit}.calendar-demo{display:flex;align-items:center;gap:12px;margin:20px 0;cursor:pointer}.calendar-demo input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--accent)}.booking-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.booking-board .card{min-width:0}.month-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-controls h4{margin:12px 0;text-transform:capitalize;text-align:center}.month-controls button{padding:8px 16px;margin:0}.week-labels,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week-labels{color:var(--muted);text-align:center;margin:16px 0 10px}.calendar-days button{min-width:0;min-height:44px;padding:8px 0;margin:0;background:transparent;border:1px solid var(--line);color:var(--text)}.calendar-days button[aria-current=date]{border-color:var(--accent)}.calendar-days button:not(:disabled):hover,.calendar-days button[aria-pressed=true],.calendar-slots button[aria-pressed=true]{background:var(--accent);color:#08251d;outline:2px solid var(--accent);outline-offset:1px}.calendar-days button:disabled,.calendar-slots button:disabled,.month-controls button:disabled{cursor:not-allowed;opacity:.35;background:transparent;color:var(--muted)}.calendar-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.calendar-slots button{margin:0;padding:12px 8px;background:#203c36;color:var(--accent);border:1px solid var(--line);font-size:14px}.booking-board button:focus-visible,#calendar-service:focus-visible,#calendar-demo:focus-visible{outline:3px solid white;outline-offset:3px}#calendar-selection[hidden]{display:none}#calendar-selection{overflow-wrap:anywhere}#calendar-date{text-transform:capitalize;color:var(--accent)}@media(max-width:760px){.booking-board{grid-template-columns:1fr}.booking-board .card{padding:16px}.calendar-days,.week-labels{gap:4px}.calendar-days button{min-height:44px}.calendar-slots{gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#booking-calendar [hidden]{display:none!important}.calendar-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.calendar-actions button{margin:0}#calendar-mode{overflow-wrap:anywhere}#booking-calendar select{min-width:0}#booking-calendar .vehicle-grid>label{min-width:0}
.vin-block,.service-planner{border:1px solid var(--line);border-radius:16px;padding:24px;margin:24px 0;background:var(--surface)}.vin-block>label{font-weight:650}.vin-block input,.service-planner input:not([type=checkbox]):not([type=radio]),.service-planner textarea{display:block;width:100%;min-width:0;padding:12px;margin-top:8px;border:1px solid var(--line);border-radius:10px;background:var(--bg,#0b151a);color:var(--text);font:inherit}.vin-block input{max-width:540px;text-transform:uppercase;letter-spacing:.09em}.vin-block input[aria-invalid=true]{border-color:#efac98}#vin-status{font-size:14px;color:var(--muted);min-height:1.4em}.service-planner h3{font-size:clamp(24px,3vw,32px);margin:8px 0}.planner-intro{max-width:800px}.planner-progress{display:flex;list-style:none;gap:12px;padding:0;margin:24px 0;flex-wrap:wrap}.planner-progress li{padding:8px 12px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:14px}.planner-progress [aria-current]{color:var(--accent);border-color:var(--accent)}.planner-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.planner-modes button{margin:0;padding:20px;text-align:left;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:12px}.planner-modes strong,.planner-modes span{display:block}.planner-modes span{font-size:14px;font-weight:400;color:var(--muted);margin-top:8px}.planner-modes button[aria-pressed=true]{border-color:var(--accent);background:#17362e}.service-planner fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px;margin:22px 0}.planner-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planner-choices label,.planner-check{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.planner-choices input,.planner-check input{flex:0 0 auto;width:20px;height:20px;margin:3px 0;accent-color:var(--accent)}.planner-choice span,.planner-choice strong,.planner-choice small{display:block}.planner-choice small{color:var(--muted);margin-top:5px;font-size:14px}.planner-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.planner-buttons button{margin:0}.planner-buttons .secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.planner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-planner label{min-width:0}.service-planner textarea{resize:vertical}.planner-step>label,.planner-step>div>label{display:block;margin:16px 0}.planner-step>.planner-check{display:flex}.planner-note{padding:12px 16px;border-left:3px solid var(--accent);background:#17302b}.planner-lines{margin:24px 0}.planner-lines ol{padding-left:24px}.planner-lines li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.planner-lines li strong,.planner-lines li span{display:block}.planner-lines li span{font-size:14px;margin-top:6px}.planner-totals{border:1px solid var(--line);border-radius:12px;padding:14px 20px;margin-top:24px}.planner-totals p{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.planner-totals p:last-child{border-top:1px solid var(--line);padding-top:16px}.planner-totals strong{color:var(--accent)}.planner-price-details{margin:20px 0}.planner-price-details summary{cursor:pointer;color:var(--accent)}#planner-message{color:var(--accent);min-height:1.5em;overflow-wrap:anywhere}#planner-vehicle-summary{font-weight:650;overflow-wrap:anywhere}.service-planner button:focus-visible,.vin-block input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:760px){.vin-block,.service-planner{padding:18px}.planner-modes,.planner-choices,.planner-fields{grid-template-columns:1fr}.planner-modes button{padding:16px}.planner-progress{gap:8px}.planner-progress li{font-size:12px;padding:7px 10px}.planner-buttons button{width:100%}.planner-totals{padding:12px}.planner-totals p{display:block}.planner-totals strong{display:block;margin-top:4px}}

/* Compact service planning: preserve readable text and touch targets. */
.service-planner{padding:20px;margin:18px 0}.service-planner h3{font-size:clamp(23px,2.4vw,28px);margin:4px 0 8px}.service-planner .planner-intro{margin:8px 0;line-height:1.45}.service-planner .eyebrow{margin:0 0 6px}.planner-progress{margin:14px 0;gap:8px}.planner-progress li{padding:5px 10px}.service-planner h4{margin:12px 0}.planner-fields,#planner-symptom-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.planner-step>.planner-fields>label,.planner-step>#planner-symptom-details>label{margin:0}.planner-fields{margin:12px 0}#planner-symptom-details{margin:12px 0}.planner-step>label{margin:12px 0}#booking-calendar .service-planner select{max-width:none;margin:6px 0 0;padding:9px 10px;min-height:44px}.service-planner input:not([type=checkbox]):not([type=radio]),.service-planner textarea{padding:9px 10px;margin-top:6px;min-height:44px}.service-planner textarea{min-height:64px;height:64px}.service-planner fieldset{padding:12px;margin:14px 0}.planner-choices{gap:8px}.service-planner .planner-choices>label{margin:0;padding:9px 10px;min-height:44px;align-items:center}.planner-check{padding:9px 10px;min-height:44px}.planner-buttons{margin-top:14px;gap:10px}.planner-buttons button{padding:11px 16px;min-height:44px}.planner-modes button{padding:14px}.planner-modes span{margin-top:5px}.planner-lines{margin:14px 0}.planner-lines li{padding:9px 0}.planner-totals{margin-top:14px}#planner-message:empty{display:none}
@media(max-width:760px){.service-planner{padding:16px}.planner-fields,#planner-symptom-details{grid-template-columns:1fr;gap:12px}.planner-progress{gap:6px}.planner-progress li{padding:5px 8px}.planner-buttons button{width:100%}}

/* One bounded time grid, with duplicate post times combined. */
.booking-board{align-items:start}.booking-board .card{padding:20px}.calendar-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:268px;overflow-y:auto;overscroll-behavior:contain;padding:4px;margin:12px 0;scrollbar-gutter:stable}.calendar-slots button{padding:10px 4px;min-height:44px;font-size:15px;white-space:nowrap}#calendar-resource{margin:6px 0 12px;padding:10px;min-height:44px}#calendar-status{font-size:14px;line-height:1.4}#calendar-selection{font-size:14px;line-height:1.5}@media(max-width:380px){.calendar-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}

.service-request-form{border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:20px;background:var(--surface)}.service-request-form input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;min-height:44px;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg,#0b151a);color:var(--text);font:inherit}.service-request-form .request-trap{display:none}.service-request-form .planner-check{margin:16px 0}.service-request-form p{font-size:14px;line-height:1.5}#request-result{overflow-wrap:anywhere}#request-send{min-height:44px}@media(max-width:760px){.service-request-form{padding:16px}#request-send{width:100%}}

#callback-form>label:not(.planner-check){display:grid;gap:8px;margin:18px 0}#callback-comment{width:100%;box-sizing:border-box;min-height:90px;padding:12px;border:1px solid #304a53;border-radius:10px;background:#0b151a;color:#eaf6f5;font:inherit;resize:vertical}#callback-form .vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:640px){#callback-form .vehicle-grid{grid-template-columns:1fr}}
