/* Shared visual finishing, retaining the owner's selected colour. */
html{scroll-padding-top:100px}button,a,input,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.hero-content>p{line-height:1.7}.book-shell{box-shadow:0 18px 60px #0004;backdrop-filter:blur(8px)}.booking-progress li{min-height:48px;display:flex;align-items:center;gap:8px}.services article,.fleet article{border-radius:12px;overflow:hidden}.contact-form-section{border-top:1px solid var(--line)}.login-emblem{text-align:center;color:var(--accent);display:grid;justify-items:center;gap:8px}.login-emblem svg{width:48px;height:48px}.login-emblem strong{font-size:30px;letter-spacing:2px;color:#fff}.login-emblem span{font-size:11px;letter-spacing:5px}.driver-login{margin:40px auto;box-shadow:0 25px 90px #0005}.driver-login h1{font-size:38px;line-height:1.12;margin-top:45px}.driver-login label{color:#eef1f4}.driver-login input:not([type=checkbox]){min-height:50px}.driver-login .check{line-height:1.5}.driver-login .btn{min-height:52px}.driver-dock a{min-height:50px}.driver-ride .full{min-height:48px}.account-panel a{min-height:44px}
@media(max-width:720px){.hero{padding-top:20px}.hero h1{font-size:clamp(28px,7.5vw,38px);line-height:1.12}.hero-content>p{max-width:270px;font-size:12px}.hero-content{min-height:330px}.benefits{gap:12px;max-width:340px}.benefits span{font-size:10px}.book-shell{border-radius:14px;padding:12px}.booking-tabs{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.booking-tabs a{white-space:nowrap;min-width:120px;min-height:44px}.booking-progress{gap:5px;margin-bottom:18px}.booking-progress li{display:block;padding:10px 7px;font-size:11px}.book-shell form{padding:16px}.booking-grid input,.booking-grid select,.customer-grid input{min-height:48px;font-size:16px}.book-shell #request-button{min-height:52px;width:100%}.bag-note{font-size:11px;line-height:1.6}.driver-login{margin:0 auto;border-radius:0;min-height:100svh;padding:28px 22px}.driver-login h1{font-size:32px;margin-top:32px}.driver-login .card{padding:20px}.login-emblem strong{font-size:25px}.contact-form-section input,.contact-form-section textarea{font-size:16px}.contact-form-section button{min-height:50px;width:100%}}
@media(max-width:420px){.booking-grid{grid-template-columns:1fr}.address-suggestions{min-width:0}.booking-progress li{font-size:10px}.hero:before{background-position:62% 65%}.hero h1{max-width:300px}.driver-metrics strong{font-size:21px}}
.demo-banner{padding:10px 16px;background:#efc46c;color:#131b20;font:600 13px system-ui;text-align:center}.demo-banner a{color:inherit;text-decoration:underline}
.booking-tabs a{display:flex;align-items:center;justify-content:center;gap:10px}.booking-tabs .driver-icon{width:20px;height:20px;margin:0;flex-shrink:0}

.rating-stars{display:flex;justify-content:space-between;gap:8px;border:0;padding:12px 0;margin:16px 0}.rating-stars label{position:relative;cursor:pointer}.rating-stars input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.rating-stars span{font-size:34px;color:#a3a8ab}.rating-stars label:has(input:checked) span,.rating-stars label:has(~label input:checked) span{color:#c4a15c}.rating-stars label:has(input:focus-visible){outline:2px solid #c4a15c}.rating-stars legend{font-size:13px}#v2-review textarea{width:100%;min-height:85px;border:1px solid #cbd4db;border-radius:10px;padding:12px;font:inherit}.v2-extras{padding:10px;font-size:12px;margin-top:8px}.v2-extras summary{cursor:pointer}.v2-extras label{display:block;padding-top:12px}.v2-extras b{display:block;font-size:24px;margin:12px 0}.v2-extras[open]{max-height:180px;overflow:auto}
