.booking-page{--booking-navy:#0a3a6b;--booking-blue:#0b5cab;--booking-lime:#8dc63f;--booking-yellow:#ffd200;background:#f4f9fc;color:#1d2b3a;font-family:Ermetes Source Sans,Arial,sans-serif}.booking-intro{background:#0b5cab;color:#fff;padding:clamp(40px,5vw,70px) 24px clamp(65px,7vw,90px)}.booking-intro>div{max-width:1100px;margin:auto}.booking-intro p{font-family:Ermetes Rubik,Arial,sans-serif;color:#c9ed9a;font-size:12px;font-weight:700;letter-spacing:.11em;margin:0 0 16px}.booking-intro h1{font-family:Ermetes Rubik,Arial,sans-serif;font-size:clamp(32px,4vw,52px);font-weight:800;line-height:1.15;letter-spacing:-.03em;margin:0 0 16px}.booking-intro h1:after{content:"";display:block;width:82px;height:5px;background:#8dc63f;margin-top:18px;border-radius:9px}.booking-intro span{font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:#e8f2fa}.booking-return{background:#eaf2f7;padding:9px clamp(20px,5.5vw,80px)}.booking-return button{display:inline-flex;align-items:center;gap:5px;color:#0a3a6b;font-size:13px;font-weight:700}.booking-page .booking-progress-wrap{position:relative;max-width:1100px;margin-top:-28px;padding:20px clamp(20px,3vw,36px) 8px;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -10px 30px #0a3a6b17}.booking-page .booking-content-wrap{max-width:1100px;padding:20px clamp(20px,3vw,36px) 52px;margin-bottom:72px;border-radius:0 0 18px 18px;background:#fff;box-shadow:0 18px 40px #0a3a6b17}.booking-page .booking-content-wrap h2,.booking-page .booking-content-wrap h3{font-family:Ermetes Rubik,Arial,sans-serif}.booking-page .booking-content-wrap h2{color:#0a3a6b}.booking-page .booking-content-wrap h3{color:#0b5cab;letter-spacing:.08em}.booking-page .booking-vehicle-option{border-radius:13px;box-shadow:0 3px 14px #0a3a6b0b}.booking-page .booking-vehicle-option[aria-pressed=true]{border-color:#8dc63f;background:#f1f8e9;box-shadow:0 0 0 2px #8dc63f24}.booking-page .booking-service-card{border-radius:16px;box-shadow:0 4px 18px #0a3a6b12}.booking-page .booking-service-card[aria-pressed=true]{border-color:#0b5cab;box-shadow:0 0 0 2px #0b5cab29,0 12px 24px #0a3a6b1f}.booking-page .booking-content-wrap button:focus-visible,.booking-page .booking-return button:focus-visible{outline:3px solid #8dc63f;outline-offset:3px}@media(max-width:640px){.booking-intro{padding:34px 20px 66px}.booking-page .booking-progress-wrap{margin-left:16px;margin-right:16px;padding:20px 18px 6px}.booking-page .booking-content-wrap{margin-left:16px;margin-right:16px;width:auto;padding:18px 18px 42px;margin-bottom:48px}.booking-page .booking-content-wrap h2{font-size:24px}}@media(prefers-reduced-motion:reduce){.booking-page *{animation:none!important;transition:none!important}}.booking-quick-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.booking-quick-heading,.booking-next-panel{grid-column:1/-1}.booking-service-selection{display:grid;gap:20px;min-width:0}.booking-package-list{display:grid;gap:10px}.booking-date-selection{min-width:0;scroll-margin-top:90px}.booking-date-placeholder{padding:24px;background:#f1f6fa;border:1px dashed #b8ccdd;border-radius:16px;color:#536a80;line-height:1.6}.booking-service-overview{display:grid;grid-template-columns:90px minmax(0,1fr);min-height:150px}.booking-service-photo{min-width:0;background-repeat:no-repeat;background-color:#eaf2f7}.booking-service-information{padding:14px;min-width:0}.booking-service-title-price{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.booking-service-title-price h4{font-size:15px;line-height:1.35;font-weight:700;color:#0a3a6b;margin:0;overflow-wrap:anywhere}.booking-service-price{font-size:23px!important;font-weight:800;line-height:1.2;color:#0b5cab;white-space:nowrap}.booking-service-duration{display:flex;gap:4px;align-items:center;font-size:12px;color:#61778b;margin-top:7px}.booking-service-badge{display:inline-block;font-size:9px;font-weight:700;padding:3px 6px;margin-top:8px;border-radius:999px;text-transform:uppercase}.booking-service-features{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:10px}.booking-service-features>span{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.4;color:#526c83}.booking-service-features svg{width:16px;min-width:16px;height:16px}.booking-dirt-surcharge{display:block;margin-top:8px;font-size:11px;color:#865409;font-weight:600}.booking-date-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px}.booking-date-actions>button{min-height:44px;border:1px solid #d4e1ed;border-radius:10px;padding:8px 12px}.booking-date-actions .booking-today{background:#0b5cab;color:#fff;font-size:14px;font-weight:700}.booking-today:disabled{background:#e6edf3;color:#6c7e8e;cursor:not-allowed}.booking-week-strip{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:4px;padding:0 8px 8px;align-items:start}.booking-week-strip>button{min-height:56px;display:flex;justify-content:center;align-items:center}.booking-week-days{min-width:0}.booking-week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.booking-week-grid>button{min-height:60px;min-width:0;padding:9px 2px}.booking-next-panel{position:sticky;bottom:0;z-index:15;display:grid;gap:12px;padding:16px 0 10px;background:#fff;box-shadow:0 -12px 18px #ffffffe6}.booking-next-help{font-size:13px;line-height:1.4;color:#61778b;text-align:center;margin:0}.booking-month-dialog button{min-height:40px}@media(min-width:480px){.booking-service-overview{grid-template-columns:120px minmax(0,1fr)}.booking-week-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media(min-width:1024px){.booking-quick-layout{grid-template-columns:minmax(0,1.4fr) minmax(330px,1fr);gap:28px}.booking-service-overview{grid-template-columns:110px minmax(0,1fr)}.booking-date-selection{position:sticky;top:100px}.booking-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-next-panel{grid-template-columns:minmax(0,1fr) minmax(230px,.7fr);align-items:center}.booking-next-help{grid-column:1/-1}.booking-next-panel>button:only-of-type:first-child{grid-column:1/-1}}@media(min-width:1300px){.booking-service-overview{grid-template-columns:130px minmax(0,1fr)}}@media(max-width:359px){.booking-service-overview{grid-template-columns:66px minmax(0,1fr)}.booking-service-information{padding:12px}.booking-service-title-price{grid-template-columns:minmax(0,1fr)}.booking-service-price{font-size:20px!important}.booking-service-title-price h4{font-size:14px}.booking-date-actions{gap:6px;padding:8px}.booking-date-actions>button{padding:8px}.booking-week-strip{grid-template-columns:28px minmax(0,1fr) 28px;gap:3px;padding-inline:4px}.booking-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.booking-page .booking-content-wrap input:not([type=checkbox]):not([type=radio]),.booking-page .booking-content-wrap select,.booking-page .booking-content-wrap textarea{font-size:16px}}.booking-page .booking-intro{padding:16px 24px}.booking-page .booking-intro p,.booking-page .booking-intro span,.booking-page .booking-intro h1:after{display:none}.booking-page .booking-intro h1{font-size:28px;line-height:1.2;letter-spacing:-.02em;margin:0}.booking-page .booking-progress-wrap{margin-top:0;padding:12px 24px 4px;border-radius:0;box-shadow:none}.booking-page .booking-content-wrap{padding:12px 24px 32px}.booking-page .booking-quick-layout{gap:16px}.booking-page .booking-quick-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.booking-page .booking-service-selection{gap:12px}.booking-page .booking-vehicle-selection{display:flex;align-items:center;gap:12px}.booking-page .booking-vehicle-selection>h3{margin:0;letter-spacing:.04em}.booking-page .booking-vehicle-selection>div{flex:1;min-width:0}.booking-page .booking-vehicle-option{min-height:44px;padding:8px;gap:8px}.booking-page .booking-vehicle-option>div:first-child{width:28px;height:28px}.booking-page .booking-vehicle-option svg{width:18px;height:18px}.booking-page .booking-package-list{display:grid;gap:8px}.booking-page .booking-package-list>*{margin:0}.booking-page #booking-services-heading,.booking-page #booking-dates-heading{margin-bottom:8px}.booking-page .booking-service-overview{grid-template-columns:64px minmax(0,1fr);min-height:64px}.booking-page .booking-service-information{padding:8px 12px}.booking-page .booking-service-title-price h4{font-size:14px;line-height:1.25}.booking-page .booking-service-title-price{grid-template-columns:minmax(0,1fr) auto;gap:8px}.booking-page .booking-service-price{font-size:20px!important;line-height:1.2}.booking-page .booking-service-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px}.booking-page .booking-service-duration,.booking-page .booking-service-badge{margin-top:0}.booking-page .booking-service-badge{font-size:9px;line-height:1.4;padding:2px 6px}.booking-page .booking-service-card:not([aria-pressed=true]) .booking-service-features{display:none}.booking-page .booking-date-placeholder{padding:16px}.booking-page .booking-next-panel{position:static;box-shadow:none}.booking-page .booking-next-panel--ready{position:sticky;box-shadow:0 -12px 18px #ffffffe6}@media(max-width:640px){.booking-page .booking-intro{padding:8px 16px}.booking-page .booking-intro h1{font-size:24px}.booking-page .booking-progress-wrap{margin-inline:12px;padding:12px 12px 4px;border-radius:0}.booking-page .booking-content-wrap{margin-inline:12px;padding:8px 12px 24px}.booking-page .booking-vehicle-selection,.booking-page .booking-service-selection{gap:8px}.booking-page .booking-service-overview{grid-template-columns:48px minmax(0,1fr)}.booking-page .booking-service-information{padding:8px}}.booking-progress{padding:16px 0 12px;color:#63758a;font-size:13px}.booking-progress-track{position:relative;height:6px;margin:0 16px 20px;background:#e1e8ed;border-radius:6px}.booking-progress-fill{display:block;height:100%;border-radius:inherit;background:#8dc63f;transition:width .26s ease-out}.booking-progress-car{position:absolute;top:50%;display:grid;place-items:center;width:34px;height:28px;border-radius:8px;background:#fff;color:#0b5cab;transform:translate(-50%,-50%);transition:left .26s ease-out}.booking-progress ol{display:flex;justify-content:space-between;gap:12px;list-style:none;margin:0;padding:0}.booking-progress li{display:flex;align-items:center;gap:6px;min-width:0}.booking-progress li[aria-current=step]{color:#113b67;font-weight:700}.booking-progress li[data-complete=true]{color:#287363}.booking-progress li>span{font-variant-numeric:tabular-nums;font-weight:700}.booking-content-wrap[tabindex]:focus{outline:none}@media(max-width:640px){.booking-page .booking-vehicle-selection{display:block}.booking-page .booking-vehicle-selection>h3{margin-bottom:6px}.booking-page .booking-vehicle-option{gap:4px;padding:7px 5px}.booking-page .booking-vehicle-option>div:first-child{width:22px;height:22px}.booking-page .booking-vehicle-option span{font-size:13px}}@media(prefers-reduced-motion:reduce){.booking-progress-fill,.booking-progress-car{transition:none}}.booking-auth{max-width:680px;margin:0 auto;padding:28px;background:#fff;border:1px solid #dbe3eb;border-radius:20px;box-shadow:0 8px 30px #143a6010;color:#163655}.booking-auth h2{font-size:clamp(22px,4vw,28px);line-height:1.2;letter-spacing:-.02em;margin:8px 0 12px;text-wrap:balance}.booking-auth p{font-size:15px;line-height:1.6;color:#52667d}.booking-auth .booking-auth-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;color:#58718a}.booking-auth-summary{display:grid;gap:6px;margin:24px 0;padding:16px 18px;background:#f3f6f9;border-radius:12px;font-size:14px}.booking-auth-summary small{color:#63758a;font-size:12px}.booking-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-auth-actions a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;border:1px solid #113b67;border-radius:12px;font-size:16px;font-weight:700;color:#113b67;transition:background-color .15s,color .15s}.booking-auth-actions a:hover{background:#eaf0f5}.booking-auth-actions a.booking-auth-primary{background:#113b67;color:#fff}.booking-auth-actions a.booking-auth-primary:hover{background:#1c4b7c}.booking-auth-back{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:16px;color:#52667d;font-size:13px}.booking-auth a:focus-visible,.booking-auth button:focus-visible{outline:2px solid #ed9214;outline-offset:4px}.booking-auth .booking-auth-destination{font-size:12px;margin-top:12px}.booking-week-strip[data-has-previous=false]{grid-template-columns:minmax(0,1fr) 44px}.booking-week-strip[data-has-previous=true]{grid-template-columns:44px minmax(0,1fr) 44px}@media(max-width:480px){.booking-auth{padding:20px 16px;border-radius:16px}.booking-progress{gap:18px;font-size:12px}.booking-auth-actions{gap:10px}.booking-auth-actions a{font-size:15px}}.booking-page .booking-times-heading{font-size:13px;margin:0;color:#0b5cab;line-height:1.4}.booking-times-help{font-size:13px;color:#3e5870;line-height:1.5;margin:4px 0 10px}.booking-time-selection{scroll-margin-top:16px}
