/* Etapp 2: shared customer information and accessible booking steps. */
.visit-notice{max-width:1160px;margin:20px auto;padding:18px 22px;border:1px solid #e2dcdc;border-left:3px solid #c62828;border-radius:12px;background:#fff;color:#27272b;font-size:15px;line-height:1.6}
.visit-notice p{margin:0 0 6px}.visit-notice a{color:#a51d24;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.site-footer .visit-notice{margin:16px auto 24px;background:#171719;border-color:#444;color:#eee}.site-footer .visit-notice a{color:#fff}
.v99-hero>.visit-notice{position:relative;z-index:1;background:#171719;border-color:#444;color:#eee}.v99-hero>.visit-notice a{color:#fff}
.home-page .v99-book-btn{background:#ed1b2f;border-color:#ed1b2f;min-height:48px;font-size:14px}.v99-hero-actions>.repair-book-action{background:transparent;color:#fff!important;border:1px solid #777;min-height:48px;margin-top:0}
.repair-assurance{margin:24px 0;padding:20px;border-radius:14px;background:#f7f7f8;color:#242428;line-height:1.65}.repair-assurance a{color:#a51d24;font-weight:700}
.repair-book-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;margin-top:14px;background:#c8202b;color:#fff!important;border-radius:9px;font-size:14px;font-weight:700;text-decoration:none!important}
.contact-followups{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.contact-followups a{display:inline-flex;align-items:center;min-height:44px;padding:12px 16px;border:1px solid #ccc;border-radius:10px;color:inherit;font-weight:700;text-decoration:none}
#bookingForm [hidden]{display:none!important}
#bookingForm .journey-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:0 0 28px;list-style:none}
#bookingForm .journey-progress li{padding:12px 8px;border-bottom:3px solid #ddd;font-size:14px;color:#57575e;font-weight:650}
#bookingForm .journey-progress [aria-current=step]{border-color:#c8202b;color:#a51924}
#bookingForm .journey-step{border:0;padding:0;margin:0;min-width:0}
#bookingForm .journey-step legend{font-size:26px;line-height:1.25;margin:0 0 20px;font-weight:750;float:none;width:auto}
#bookingForm .journey-step .field{min-width:0;margin-bottom:18px}
#bookingForm input:not([type=checkbox]):not([type=hidden]),#bookingForm select,#bookingForm textarea{font:inherit;font-size:16px;width:100%;min-height:48px;box-sizing:border-box;border:1px solid #d8d8de;border-radius:14px;padding:12px 14px;background:#fafafa;color:#202025}
#bookingForm textarea{resize:vertical}
#bookingForm input:focus-visible,#bookingForm select:focus-visible,#bookingForm textarea:focus-visible,.journey-actions button:focus-visible,.repair-book-action:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
#bookingForm .journey-hint{color:#55555f;font-size:14px;line-height:1.6;margin:8px 0 22px}
#bookingForm .journey-price{padding:18px;border:1px solid #e2e2e7;border-radius:12px;background:#f8f8fa;margin:16px 0;line-height:1.6}
#bookingForm .journey-price strong{display:block;font-size:22px}
#bookingForm .journey-actions{display:flex;gap:12px;margin:26px 0 0;flex-wrap:wrap}
#bookingForm .journey-actions button{min-height:48px;border:1px solid #c8202b;border-radius:10px;padding:12px 20px;font:inherit;font-weight:700;cursor:pointer;background:#c8202b;color:#fff}
#bookingForm .journey-actions [data-back]{background:#fff;color:#a51924}
#bookingForm button:disabled{opacity:.65;cursor:wait}
#bookingForm .journey-summary{padding:18px;background:#f8f8fa;border-radius:12px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;margin:18px 0}
#bookingForm .journey-feedback{padding:16px 0;line-height:1.6;overflow-wrap:anywhere}
#bookingForm .journey-feedback[data-error=true]{color:#a51924;font-weight:650}
#bookingForm .journey-receipt{padding:22px;background:#f2f8f3;border:1px solid #c9dfcd;border-radius:14px;line-height:1.7;overflow-wrap:anywhere}
.booking-delivery-list{display:grid;gap:10px;margin:15px 0}.booking-delivery-list article{border:1px solid #ddd;padding:14px;border-radius:10px;overflow-wrap:anywhere}.booking-delivery-list p{margin:5px 0}
@media(max-width:480px){#bookingForm .journey-actions{display:grid;grid-template-columns:1fr;width:100%}#bookingForm .journey-actions button{width:100%;overflow-wrap:normal;word-break:normal}.v99-hero-actions .repair-book-action{margin-top:0}}
@media(max-width:680px){.visit-notice{margin:14px 12px;padding:15px}.site-footer .visit-notice{margin:18px 16px}.repair-assurance{padding:16px}#bookingForm .form-grid{grid-template-columns:1fr!important}#bookingForm .journey-progress li{font-size:12px;padding:10px 3px}#bookingForm .journey-actions button{flex:1}#bookingForm .journey-step legend{font-size:23px}.v99-hero-actions{flex-wrap:wrap}.contact-followups a{width:100%}}

/* A consistent model picker replaces the browser-specific datalist popup. */
#bookingForm .model-picker{display:grid;gap:9px;min-width:0}
#bookingForm .model-picker>label{font-weight:700}
#bookingForm .model-picker-input{display:flex;gap:8px;min-width:0}
#bookingForm .model-picker-input input{min-width:0;flex:1;width:100%}
#bookingForm #showModels{flex:none;background:#fff;color:#a51924;border:1px solid #d9dce3;border-radius:12px;padding:10px 14px;min-height:48px;font:inherit;font-size:14px;cursor:pointer}
#bookingForm #modelChoices{border:1px solid #d9dce3;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #20203008}
#bookingForm #modelChoices[hidden],#bookingForm #showModels[hidden]{display:none}
#bookingForm #modelResults{padding:12px 16px;margin:0;background:#f7f7fa;font-size:13px;line-height:1.5;color:#526076;border-bottom:1px solid #e8e8ed}
#bookingForm #booking-models{max-height:240px;overflow-y:auto;overscroll-behavior:contain}
#bookingForm #booking-models [role=option]{padding:13px 16px;min-height:46px;box-sizing:border-box;color:#182236;font-size:16px;cursor:pointer;border-bottom:1px solid #f0f0f4}
#bookingForm #booking-models [role=option]:hover,#bookingForm #booking-models [aria-selected=true]{background:#fff0f1;color:#a51924}
#bookingForm #modelHelp{font-size:13px;color:#617087;line-height:1.5}
#bookingForm #showModels:focus-visible{outline:3px solid #9ab7ff;outline-offset:2px}
@media(max-width:480px){#bookingForm #showModels{padding:10px;font-size:13px}#bookingForm #booking-models{max-height:220px}}
