@font-face{font-family:DIN;src:url('../fonts/DINNextLTPro-Light.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:DIN;src:url('../fonts/DINNextLTPro-Bold.woff2') format('woff2');font-display:swap;font-weight:700}
*{box-sizing:border-box}body{margin:0;background:#fff;color:#506a7b;font:19px/1.5 DIN,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:#1179b8;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}[hidden]{display:none!important}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px max(5vw,20px);border-bottom:1px solid #eff3f6}header>a:first-child{display:flex}header img{width:285px;height:64px;object-fit:contain;object-position:left center}header>a:last-child{font-size:17px}main{width:min(1120px,90%);margin:35px auto 55px;min-height:65vh}.booking-card{border-radius:42px;background:white;box-shadow:0 8px 40px #27374b14;overflow:hidden;border:1px solid #f3f5f7}.step-bar{height:40px;background:#d0d0d0;position:relative;color:#fff;font-weight:700;line-height:40px}.step-bar:before{content:'';display:block;position:absolute;inset:0 auto 0 0;width:var(--progress,25%);background:#117cbc;transition:width .25s}.step-bar span{position:relative;display:block;padding:0 30px}.card-body{padding:38px 9% 45px}h1{margin:0;color:#117cbc;text-align:center;font-size:36px;font-weight:700;line-height:1.25}h2{font-size:20px;letter-spacing:.3px;font-weight:700;color:#117cbc;margin:25px 0 17px}.welcome{font-size:22px;line-height:1.55;color:#91999f;text-align:center;margin:28px auto 42px;max-width:870px}.description{color:#8a969e;text-align:center;font-size:18px;margin:14px auto 25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.fields label{display:grid;gap:6px;align-content:start;font-size:19px;color:#87949d}.fields .wide{grid-column:1/-1}.fields .half{grid-column:1}.fields input,.fields select,.fields textarea{width:100%;min-width:0;border:1px solid #c9cfd4;border-radius:9px;background:#fff;color:#324f63;padding:10px 13px;min-height:44px;font-size:19px;outline-offset:3px}.fields textarea{min-height:110px;resize:vertical}.fields input[name=plate]{text-transform:uppercase}.fields input:focus,.fields select:focus,.fields textarea:focus{outline:3px solid #91bdf1;border-color:#69a9e3}.fields [aria-invalid=true]{border-color:#ce5a4c;background:#fffaf9}.fields small{font-size:13px;line-height:1.4;color:#8f9da7}.fields .field-error{font-size:13px;color:#b84735;margin-top:2px}.actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:34px;flex-wrap:wrap}button{border-radius:7px;border:1px solid #d1e2ed;background:white;color:#167eb8;padding:12px 24px;min-height:44px;font-weight:700}.primary{background:#107ebd;color:white;border-color:#107ebd;min-width:240px}.primary:hover{background:#066b9f}.secondary{margin-right:auto}.primary:disabled,button:disabled{opacity:.55;cursor:not-allowed}.message{background:#fff4ed;border:1px solid #f0d1bf;border-radius:9px;color:#955d32;padding:13px 16px;margin:18px 0 0;font-size:16px}.message:empty{display:none}.message.info{background:#edf6fc;border-color:#d5e9f6;color:#45718d}.schedule-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:26px 0 20px}.schedule-header label{display:grid;gap:6px;font-size:16px}.schedule-header input{border:1px solid #c9dbe7;border-radius:7px;padding:9px 12px;font:inherit;color:#42667e}.week-controls{display:flex;align-items:center;gap:8px}.week-controls button{padding:8px 12px;font-size:16px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0}.week-strip button{display:grid;gap:2px;place-items:center;min-width:0;padding:10px 4px;font-size:13px;font-weight:400;line-height:1.3}.week-strip b{font-size:23px;font-weight:700}.week-strip button[aria-pressed=true]{background:#107ebd;border-color:#107ebd;color:white}.week-strip button:disabled{background:#f5f6f7;color:#a1aab2;opacity:1}.day-heading{text-align:center;font-size:17px;color:#638196;font-weight:700;margin:20px 0}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.slot-grid button{border-color:#c8ddeb;font-size:20px;padding:10px}.slot-grid button[aria-pressed=true]{background:#107ebd;color:#fff;border-color:#107ebd}.slot-grid button:disabled{background:#f4f6f8;border-color:#e4e9ed;color:#afbac3;opacity:1}.schedule-help{color:#879aa8;font-size:13px;margin:17px 0}.schedule-help p{margin:3px 0}.summary{background:#f5f9fc;border:1px solid #dfebf2;border-radius:14px;padding:22px 26px;margin-top:27px}.summary dl{display:grid;grid-template-columns:140px 1fr;margin:0;gap:14px}.summary dt{color:#7b91a1;font-size:16px}.summary dd{margin:0;color:#2b4f68;font-weight:700;overflow-wrap:anywhere}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.review-grid .summary{margin:0}.review-grid .summary dl{grid-template-columns:1fr;gap:6px}.review-grid .summary dt{font-size:13px}.review-grid .summary dd{margin-bottom:10px;font-size:17px}.receipt{text-align:center}.success-icon{width:70px;height:70px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;background:#e9f8ef;color:#27a95b;font-size:38px}.receipt .codin{font-size:36px;color:#117cbc;font-weight:700;letter-spacing:2px;margin:5px 0}.receipt .codin-label{font-size:14px;text-transform:uppercase;letter-spacing:1.5px;color:#7895a9;margin-top:25px}.receipt .summary{text-align:left}.receipt .description{max-width:650px}.receipt .actions{justify-content:center}.receipt .actions a{padding:11px 20px;font-size:16px}.receipt .small{font-size:14px;color:#7a94a6}.privacy-note{font-size:13px;color:#9ba7ae;margin:24px 0 0;text-align:center}footer{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #edf1f4;color:#94a3ad;font-size:14px;padding:22px max(5vw,20px)}button:focus-visible,a:focus-visible{outline:3px solid #78b8f0;outline-offset:3px}
@media(max-width:700px){body{font-size:17px}header{padding:15px 18px;gap:10px}header img{width:200px;height:50px}header>a:last-child{font-size:13px}main{width:94%;margin:20px auto 30px}.booking-card{border-radius:23px}.card-body{padding:28px 6% 30px}.step-bar{height:33px;line-height:33px;font-size:16px}.step-bar span{padding-left:22px}h1{font-size:28px}.welcome{font-size:18px;margin:20px auto 30px}.fields{gap:18px 13px}.fields label,.fields input,.fields select,.fields textarea{font-size:17px}.fields .mobile-wide{grid-column:1/-1}.fields input,.fields select{padding:9px 11px}.primary{min-width:180px}.actions{gap:10px;margin-top:26px}.actions button{padding:10px 16px}.description{font-size:16px}.schedule-header{gap:12px;flex-wrap:wrap}.schedule-header input{font-size:16px}.week-controls{margin-left:auto}.week-strip{gap:4px}.week-strip button{font-size:10px;padding:8px 2px}.week-strip b{font-size:20px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.slot-grid button{font-size:18px;padding:10px 6px;min-width:0}.summary{padding:18px}.summary dl{grid-template-columns:95px 1fr;gap:12px;font-size:16px}.review-grid{grid-template-columns:1fr}.receipt .codin{font-size:32px}.privacy-note{font-size:12px}footer{display:grid;gap:7px;font-size:12px}.receipt .actions{display:grid}.receipt .actions button{width:100%}}
@media(max-width:420px){.fields{grid-template-columns:1fr}.fields .half,.fields .wide{grid-column:auto}.fields .mobile-wide{grid-column:auto}.primary{min-width:150px}.actions{justify-content:space-between}.actions button{font-size:16px}.fields input,.fields select{min-height:43px}.summary dl{grid-template-columns:1fr;gap:6px}.summary dd{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
