/* Vill Motors & Servicing — booking modal V4 • scoped, leaves the rest of the website unchanged */
html.vill-booking-ready .booking-section{display:none!important}
html.vill-booking-ready{scroll-behavior:smooth}
body.vill-v4-open{overflow:hidden}
.vill-booking-v4{box-sizing:border-box;position:fixed;inset:0;margin:auto;max-width:680px;width:min(680px,calc(100vw - 30px));max-height:min(92dvh,840px);height:auto;padding:0;border:1px solid rgba(120,170,236,.26);border-radius:22px;background:#f7f9fd;color:#14243b;box-shadow:0 35px 120px rgba(0,0,0,.65);overflow:hidden;overscroll-behavior:contain}
.vill-booking-v4:not([open]){display:none!important}
.vill-booking-v4[open]{display:flex;flex-direction:column}
.vill-booking-v4::backdrop{background:rgba(1,9,23,.82);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.vill-booking-v4 *, .vill-booking-v4 *::before, .vill-booking-v4 *::after{box-sizing:border-box}
.vill-booking-v4-head{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(115deg,#071627,#122d51);color:#fff;padding:22px 26px 19px;border-bottom:1px solid rgba(108,178,255,.26);flex:none}
.vill-v4-identity{display:flex;align-items:center;gap:13px;min-width:0}
.vill-v4-mark{width:45px;height:45px;display:grid;place-items:center;flex:none;border:2px solid #45afff;border-radius:14px;font:900 30px/1 Arial,sans-serif;box-shadow:inset 0 0 0 3px #142e4f,0 0 15px #157efb40;color:#fff}
.vill-v4-eyebrow{display:block;font:800 10px/1.5 Arial,sans-serif;letter-spacing:.15em;color:#62baff}
.vill-booking-v4-head h2{font:900 clamp(22px,3.5vw,30px)/1.1 system-ui,-apple-system,Segoe UI,sans-serif!important;letter-spacing:-.04em;margin:3px 0 0!important;color:#fff!important}
.vill-v4-close{width:42px;height:42px;border-radius:12px;border:1px solid #6888aa66;color:white;background:#193551;display:grid;place-items:center;font:300 34px/1 system-ui,sans-serif;flex:none;cursor:pointer;transition:background .2s}
.vill-v4-close:hover,.vill-v4-close:focus-visible{background:#2b6294;outline:2px solid #59aeff;outline-offset:2px}
.vill-booking-v4-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:23px 27px 21px}
.vill-v4-intro>p{font:500 13px/1.7 system-ui,sans-serif;color:#4e6077;margin:0 0 11px}
.vill-v4-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:19px}
.vill-v4-pills span{color:#2b6baf;font:700 11px/1.4 system-ui,sans-serif;background:#e7f1ff;border:1px solid #cbdff9;border-radius:40px;padding:7px 10px}
.vill-booking-v4 .booking-form-wrap{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;width:100%!important;max-width:none!important;margin:0!important}
.vill-booking-v4 .form-head{display:none!important}
.vill-booking-v4 .form-grid{gap:14px!important}
.vill-booking-v4 .field{font-size:12px!important;color:#354761!important;gap:7px!important}
.vill-booking-v4 .field input,.vill-booking-v4 .field select,.vill-booking-v4 .field textarea{min-height:47px!important;border:1px solid #d6e2ef!important;border-radius:10px!important;background:#fff!important;box-shadow:0 1px 2px #102b4510;font-size:16px!important;line-height:1.3!important;padding:12px 13px!important;color:#11263d!important}
.vill-booking-v4 .field textarea{min-height:73px!important}
.vill-booking-v4 .field input:focus,.vill-booking-v4 .field select:focus,.vill-booking-v4 .field textarea:focus{border-color:#2d92ff!important;box-shadow:0 0 0 3px #187bff2c!important}
.vill-booking-v4 .field-privacy{margin:18px 0 13px!important;font-size:11px!important;line-height:1.6!important}
.vill-booking-v4 .send-button{min-height:54px!important;border-radius:11px!important;background:linear-gradient(100deg,#06aa67,#08c67b)!important;font-size:14px!important;letter-spacing:0!important;box-shadow:0 10px 18px #05ac6624}
.vill-booking-v4 .form-disclaimer{font:500 11px/1.65 system-ui,sans-serif!important;color:#708098!important;margin-top:12px!important}
.vill-v4-sendstatus{color:#137e4f;font:700 12px/1.6 system-ui,sans-serif;min-height:0;text-align:center;margin:12px 0 0}
.vill-v4-sendstatus:empty{display:none}
.vill-v4-after{font:500 11px/1.6 system-ui,sans-serif;color:#73829a;margin-top:12px;text-align:center}
@media(max-width:600px){
 .vill-booking-v4{inset:auto 0 0;margin:0;width:100vw;max-width:100vw;height:min(94dvh,900px);max-height:94dvh;border:0;border-top:1px solid #365a84;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}
 .vill-booking-v4-head{padding:17px 19px 15px}
 .vill-v4-mark{width:39px;height:39px;font-size:26px}
 .vill-v4-eyebrow{font-size:9px}
 .vill-booking-v4-head h2{font-size:24px!important}
 .vill-booking-v4-scroll{padding:18px 18px 12px}
 .vill-v4-intro>p{font-size:12px}
 .vill-booking-v4 .form-grid{gap:12px!important}
 .vill-booking-v4 .field input,.vill-booking-v4 .field select,.vill-booking-v4 .field textarea{font-size:16px!important;min-height:46px!important}
 .vill-v4-after{font-size:10px}
}
@media(max-width:350px){.vill-booking-v4 .form-grid{grid-template-columns:1fr!important}.vill-booking-v4 .field{grid-column:1/-1!important}}
@media(prefers-reduced-motion:reduce){.vill-booking-v4 *{transition:none!important}}
/* Keep each input's label and required star together. */
.vill-booking-v4 .field{display:block!important}
.vill-booking-v4 .field > span,.vill-booking-v4 .field > small{display:inline!important}
.vill-booking-v4 .field > input,.vill-booking-v4 .field > select,.vill-booking-v4 .field > textarea{display:block!important;margin-top:7px!important}
@media(min-width:601px){.vill-booking-v4 .form-grid>.field.span-2:nth-child(-n+2){grid-column:span 1!important}}
/* Native system fonts: readable offline, no dependency on remote font downloads. */
.vill-booking-v4,.vill-booking-v4 .field,.vill-booking-v4 .field input,.vill-booking-v4 .field select,.vill-booking-v4 .field textarea,.vill-booking-v4 .field-privacy{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important}
