.booking-page{background:var(--navy);min-height:100vh;color:var(--white)}.booking-nav{display:flex;justify-content:space-between;align-items:center;padding:18px max(24px,calc((100vw - 1176px)/2));border-bottom:1px solid var(--line)}.booking-nav img{height:35px;display:block}.booking-nav a{color:var(--white);text-decoration:none;font-size:13px}.booking-shell{max-width:1240px;margin:auto;padding:32px}.booking-shell h1{font:700 clamp(40px,5.5vw,72px)/1 Saira Condensed,sans-serif;text-transform:uppercase;margin:14px 0 20px}.booking-shell h1 span{color:var(--blue)}.booking-intro{color:var(--mute);line-height:1.7;max-width:720px;margin-bottom:24px}.booking-filters{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;padding:20px;background:#0a1430;border:1px solid #293b59;margin-bottom:20px}.booking-page label{font-size:12px;color:#c5cfe3}.booking-page :is(input:not([type=checkbox]),select){display:block;width:100%;padding:12px;background:var(--navy);border:1px solid #3a506e;color:var(--white);font:14px Inter,sans-serif;margin-top:8px;min-width:0}.booking-results{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.booking-slot{padding:24px;background:#0a1430;border:1px solid #293b59;display:flex;flex-direction:column;gap:12px}.booking-slot .kicker{font-size:11px;letter-spacing:2px}.booking-form h2,.booking-slot h2{font:600 32px/1.05 Saira Condensed,sans-serif;text-transform:uppercase}.booking-slot h3{font:600 25px Saira Condensed,sans-serif}.booking-form p,.booking-slot p{color:var(--mute);font-size:14px;line-height:1.7}.booking-slot>small{font-size:11px;color:#b8cce1;line-height:1.6}.booking-time{font-size:16px;line-height:1.5}.booking-club{border-top:1px solid var(--line);padding-top:10px}.booking-slot-bottom{display:flex;gap:14px;justify-content:space-between;align-items:end;margin-top:auto}.booking-price{font:700 39px Saira Condensed,sans-serif}.booking-price small{display:block;font:11px Inter,sans-serif;color:var(--mute)}.booking-slot-bottom span{display:block;font-size:11px;text-align:right;margin-bottom:8px;color:#8dd8f6}.booking-page .btn{cursor:pointer;border:0;font-size:15px;padding:12px 18px}.booking-page .btn:disabled{opacity:.5;cursor:default}.booking-empty{background:#0a1430;border:1px solid #293b59;padding:28px;line-height:1.8;color:#b8cce1}.booking-empty h2{font:600 32px Saira Condensed,sans-serif;color:var(--white)}.booking-empty a{display:block;color:var(--blue);margin-top:14px}.booking-preview{background:#243146;color:#f4dc97;font-size:13px;line-height:1.6;padding:14px 18px;border-left:3px solid #f4dc97;margin-bottom:20px}.booking-form{margin-top:24px;padding:28px;background:#0a1430;border:1px solid #355774}.booking-form>p{margin:10px 0}.booking-form fieldset{border:0;padding:0;min-width:0;margin-top:20px}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.booking-total{align-self:center;color:var(--blue);font-size:22px}.booking-total small{display:block;font-size:11px;color:var(--mute);margin-top:7px;line-height:1.6}.booking-terms{margin:22px 0;padding:18px;background:#050c20;border:1px solid var(--line)}.booking-terms p{white-space:pre-line;margin-bottom:14px}.booking-form>h3,.booking-terms h3{font:600 24px Saira Condensed,sans-serif;margin:12px 0}.booking-agree{display:flex;align-items:start;gap:10px;line-height:1.7;margin-bottom:20px}.booking-agree input{margin-top:4px;accent-color:var(--blue)}.booking-error{color:#f3bd8f;font-size:13px;line-height:1.7;margin:14px 0}.booking-page .fineprint{font-size:11px;line-height:1.7;margin-top:16px;color:var(--mute)}.booking-confirm-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}.booking-confirm-actions a{color:var(--white);font-size:13px}.booking-page :is(a,button,input,select):focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media(max-width:950px){.booking-filters,.booking-results{grid-template-columns:1fr 1fr}}@media(max-width:580px){.booking-shell{padding:24px 16px}.booking-form-grid,.booking-results{grid-template-columns:1fr}.booking-filters{padding:16px}.booking-form,.booking-slot{padding:20px}.booking-nav img{height:28px}.booking-slot-bottom{justify-content:start;gap:28px}}