.booking-page{width:min(100% - 2.5rem,56rem);margin:0 auto;padding:1.25rem 0}.booking-page-header{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1rem;display:flex}.booking-page-header h1{margin:.5rem 0;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12}.booking-page-header p:not(.eyebrow){color:var(--muted-foreground);font-size:.8rem}.booking-promo{border-left:1px solid var(--brand-red);flex-shrink:0;padding-left:1rem}.booking-promo>span:last-child{margin-top:.25rem;font-size:.65rem;display:block}.booking-form{border-top:1px solid var(--brand-red);background:var(--card);padding:1rem 1.25rem}.booking-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.booking-progress li{color:var(--muted-foreground);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.booking-progress li>span:first-child{border:1px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;width:1.75rem;height:1.75rem;display:grid}.booking-progress li[aria-current=step]{color:var(--foreground);font-weight:700}.booking-progress li[aria-current=step]>span:first-child{border-color:var(--brand-red)}.booking-step-heading{align-items:baseline;gap:1rem;margin-bottom:.65rem;display:flex}.booking-step-heading p{color:var(--muted-foreground);font-size:.65rem}.booking-step-heading h2{font-family:var(--font-display);font-size:1.4rem;line-height:1.2}.booking-account-note{color:var(--muted-foreground);margin-bottom:.85rem;font-size:.7rem}.booking-step{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;min-inline-size:0;padding:0;display:grid}.booking-step[hidden]{display:none}.booking-step>div:last-child:nth-child(odd){grid-column:1/-1}.booking-step label{margin-bottom:.35rem;font-size:.8rem}.booking-step .field{min-height:2.75rem;padding:.6rem .75rem;font-size:.85rem}.booking-step textarea.field{min-height:4rem}.booking-step>div{min-width:0}.booking-step>div>p{font-size:.7rem}.booking-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.8rem;display:flex}.booking-actions .btn-gold,.booking-actions .btn-line{min-height:2.75rem;padding:.65rem 1rem;font-size:.8rem}@media (width<=600px){.booking-page{width:min(100% - 1.5rem,56rem);padding:.75rem 0}.booking-page-header{align-items:start;gap:.5rem;margin-bottom:.75rem}.booking-page-header .eyebrow{font-size:.55rem}.booking-page-header h1{font-size:1.65rem}.booking-page-header p:not(.eyebrow){font-size:.7rem}.booking-promo{max-width:6.5rem;padding-left:.6rem;font-size:.65rem!important}.booking-form{padding:.8rem}.booking-progress{gap:.4rem;margin-bottom:.8rem}.booking-progress li{align-items:start;gap:.35rem;font-size:.6rem}.booking-progress li>span:first-child{width:1.35rem;height:1.35rem}.booking-step-heading{gap:.6rem}.booking-step-heading h2{font-size:1.25rem}.booking-account-note{margin-bottom:.65rem;font-size:.65rem}.booking-step{grid-template-columns:minmax(0,1fr);gap:.65rem}.booking-actions .btn-gold,.booking-actions .btn-line{padding-inline:.75rem;font-size:.7rem}.booking-step textarea.field{min-height:3.5rem}}
