body.booking-page main{padding-bottom:var(--space-12)}.hero-booking-inner{position:relative}.hero-booking-layout{align-items:flex-start}.hero-booking-media{align-self:stretch}.hero-booking-main-visual{min-height:220px}.hero-booking-main-visual img{max-height:360px}.hero-booking-ticker{min-height:160px}.booking-heading-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6);align-items:flex-end}.booking-heading-cta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.booking-programmes .card-title{text-transform:uppercase;letter-spacing:0.18em}.booking-bullets{margin-top:var(--space-3);margin-bottom:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.booking-bullets li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--color-primary);box-shadow:0 0 10px rgba(0,240,255,0.9);margin-right:8px;vertical-align:middle}.booking-bullets li{position:relative;padding-left:0}.btn-small{padding:0.55rem 1.2rem;font-size:var(--font-size-xs)}.booking-confirmation-card{display:flex;flex-direction:column;height:100%}.booking-confirmation-body{display:flex;flex-direction:column;gap:var(--space-4)}.booking-confirmation-media img{border-radius:var(--radius-md);border:var(--border-grid);box-shadow:var(--shadow-soft);max-height:220px;width:100%;object-fit:cover}.booking-confirmation-list{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.booking-calendar-grid{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-xs)}.booking-calendar-legend{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);color:var(--color-text-muted)}.legend-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(0,240,255,0.7)}.legend-peak{background:rgba(255,0,85,0.8);box-shadow:var(--shadow-glow-accent)}.legend-offpeak{background:rgba(0,240,255,0.25);box-shadow:var(--shadow-glow-primary)}.legend-special{background:rgba(0,240,255,0.05);box-shadow:0 0 10px rgba(255,0,85,0.6)}.booking-calendar-row{display:grid;grid-template-columns:0.7fr repeat(3,1fr);gap:var(--space-2);align-items:center}.booking-calendar-day{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.18em}.booking-calendar-slot{display:flex;align-items:center;justify-content:center;padding:0.4rem 0;border-radius:var(--radius-pill);border:1px solid rgba(0,240,255,0.4);background:rgba(5,5,10,0.9)}.booking-calendar-slot-peak{border-color:rgba(255,0,85,0.7);background:radial-gradient(circle at 0 0,rgba(255,0,85,0.45),transparent 60%);box-shadow:var(--shadow-glow-accent)}.booking-calendar-slot-offpeak{background:radial-gradient(circle at 0 0,rgba(0,240,255,0.3),transparent 60%)}.booking-calendar-slot-special{border-style:dashed;opacity:0.9}.booking-reservation{margin-top:var(--space-10);margin-bottom:var(--space-10)}.booking-reservation-grid{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.1fr);gap:var(--space-8);align-items:flex-start}.booking-reservation-note{color:var(--color-text-muted);font-size:var(--font-size-sm);max-width:32rem}.booking-form{position:relative;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.booking-form-grid{align-items:flex-start}.booking-field{width:100%}.booking-accessibility legend{margin-bottom:var(--space-2)}.booking-consent{margin-top:var(--space-3)}.booking-consent-label{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.booking-consent-label input[type="checkbox"]{margin-top:4px;accent-color:#00F0FF}.booking-form-actions{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.booking-form-message{margin-top:var(--space-3);font-size:var(--font-size-sm)}.booking-form-message.success{color:var(--color-success)}.booking-form-message.error{color:var(--color-danger)}.booking-venue-flow{margin-top:var(--space-10);margin-bottom:var(--space-10)}.booking-venue-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6);align-items:flex-end}.booking-venue-labels{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-end}.booking-venue-grid{display:grid;grid-template-columns:1.3fr 1.4fr;gap:var(--space-7);align-items:stretch}.booking-venue-image img{max-height:420px}.booking-flow-panel{position:relative;padding:var(--space-5)}.booking-flow-inner{position:relative;display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.2fr);gap:var(--space-5);align-items:flex-start}.booking-flow-image{border-radius:var(--radius-md);border:var(--border-grid);box-shadow:var(--shadow-soft)}.booking-flow-steps{display:flex;flex-direction:column;gap:var(--space-3);counter-reset:flow-step;font-size:var(--font-size-sm)}.booking-flow-steps li h3{font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.booking-flow-steps li p{margin-bottom:0}.booking-flow-steps li::before{counter-increment:flow-step;content:"0" counter(flow-step);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-primary-soft);display:block;margin-bottom:2px}.booking-private{margin-bottom:var(--space-10)}.private-dining-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-7);align-items:flex-start}.booking-private-highlights{margin-top:var(--space-5);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.booking-private-highlight h3{font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.booking-private-highlight p{margin-bottom:0;font-size:var(--font-size-sm)}.booking-private-form{display:flex;flex-direction:column;gap:var(--space-4)}.booking-private-message{margin-top:var(--space-3);font-size:var(--font-size-sm)}.booking-private-message.success{color:var(--color-success)}.booking-private-message.error{color:var(--color-danger)}.booking-accessibility-info{margin-bottom:var(--space-10)}.booking-accessibility-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.1fr);gap:var(--space-7);align-items:flex-start}.booking-accessibility-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.booking-accessibility-card{position:relative;padding:var(--space-4);overflow:hidden}.booking-accessibility-card h3{font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.booking-accessibility-card p{margin-bottom:0;font-size:var(--font-size-sm)}.booking-concierge{margin-bottom:var(--space-12)}.booking-concierge-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6);align-items:center}.booking-concierge-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}@media (max-width:960px){.booking-reservation-grid{grid-template-columns:1fr}.booking-venue-grid{grid-template-columns:1fr}.booking-flow-inner{grid-template-columns:1fr;gap:var(--space-4)}.private-dining-grid{grid-template-columns:1fr}.booking-accessibility-grid{grid-template-columns:1fr}.booking-venue-labels{align-items:flex-start}}@media (max-width:640px){.booking-form{padding:var(--space-5)}.booking-venue-flow,.booking-reservation,.booking-programmes,.booking-private,.booking-accessibility-info{margin-top:var(--space-8);margin-bottom:var(--space-8)}.booking-calendar-row{grid-template-columns:0.9fr repeat(3,1fr)}.booking-concierge-inner{align-items:flex-start}}
