.booking-form{margin-top:var(--space-6);gap:var(--space-6);display:grid;position:relative}.booking-honeypot{width:1px;height:1px;position:absolute;inset-inline-start:-10000px;overflow:hidden}.booking-form__intro{margin:0}.booking-form fieldset{border:0;min-width:0;margin:0;padding:0}.booking-form legend{width:100%;margin-bottom:var(--space-4);color:var(--text-1);font-family:var(--font-display);font-size:1.35rem;line-height:1.2}:lang(zh-HK) .booking-form legend{font-family:var(--font-display-hk)}.booking-trip-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.booking-choice-card{min-height:5.5rem;padding:var(--space-4);border:1px solid var(--line);background:var(--surface-1);cursor:pointer;align-items:start;gap:var(--space-3);transition:border-color var(--transition), background var(--transition);grid-template-columns:auto minmax(0,1fr);display:grid}.booking-choice-card:hover,.booking-choice-card:has(input:checked){border-color:var(--line-strong);background:var(--surface-2)}.booking-choice-card input,.booking-check input{width:1.15rem;height:1.15rem;accent-color:var(--gold);margin:.15rem 0 0}.booking-choice-card strong,.booking-choice-card small{display:block}.booking-choice-card strong{color:var(--text-1);font-size:.82rem;font-weight:500}.booking-choice-card small{color:var(--text-3);margin-top:.25rem;font-size:.7rem;line-height:1.5}.booking-segmented{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.booking-segmented label{cursor:pointer;display:block;position:relative}.booking-segmented input{opacity:0;position:absolute;inset:0}.booking-segmented span{min-height:3rem;padding:.65rem var(--space-4);background:var(--surface-1);color:var(--text-2);transition:background var(--transition), color var(--transition);justify-content:center;align-items:center;font-size:.78rem;display:flex}.booking-segmented input:checked+span{background:var(--gold);color:#101112}.booking-segmented input:focus-visible+span{outline:2px solid var(--focus);outline-offset:3px}.booking-section{padding-top:var(--space-6)!important;border-top:1px solid var(--line)!important}.booking-field-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.booking-field{align-content:start;gap:.45rem;min-width:0;display:grid}.booking-field--wide{grid-column:1/-1}.booking-field>span{color:var(--text-2);font-size:.75rem;font-weight:500}.booking-field input,.booking-field select,.booking-field textarea{border:1px solid var(--line);background:var(--surface-1);width:100%;min-height:3rem;color:var(--text-1);transition:border-color var(--transition), background var(--transition);border-radius:2px;padding:.7rem .8rem;font-size:.82rem}.booking-field textarea{resize:vertical;min-height:6.5rem}.booking-field input:hover,.booking-field select:hover,.booking-field textarea:hover{border-color:var(--line-strong)}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:var(--gold);background:var(--surface-2)}.booking-field input[readonly]{color:var(--text-3)}.booking-field input[aria-invalid=true],.booking-field select[aria-invalid=true],.booking-field textarea[aria-invalid=true]{border-color:#cf806f}.booking-check{min-height:2.75rem;margin-bottom:var(--space-4);color:var(--text-2);cursor:pointer;align-items:center;gap:var(--space-3);font-size:.78rem;display:inline-flex}.booking-error{margin:var(--space-2) 0 0;color:#e6a797;font-size:.72rem;line-height:1.5}.booking-boundary{padding:var(--space-4) var(--space-5);border-left:2px solid var(--gold);background:var(--surface-1)}.booking-boundary p{color:var(--text-2);margin:0;font-size:.74rem}.booking-boundary p+p{margin-top:var(--space-2)}.booking-boundary .ph{margin-right:var(--space-2);color:var(--gold);vertical-align:-.1em;font-size:1rem;display:inline-block}.booking-privacy{padding:var(--space-5);border:1px solid var(--line);background:var(--surface-1);align-items:start;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);display:grid}.booking-privacy__icon{color:var(--gold);font-size:1.35rem}.booking-privacy__heading,.booking-privacy p{margin:0}.booking-privacy__heading{color:var(--text-1);font-family:var(--font-body);font-size:.82rem;font-weight:500;display:block}.booking-privacy p{margin-top:var(--space-2);color:var(--text-3);font-size:.72rem;line-height:1.65}.booking-privacy__links a{color:var(--gold-strong);overflow-wrap:anywhere;text-underline-offset:.2em}.booking-status{min-height:0;color:var(--text-1);font-size:.78rem}.booking-status[data-state=visible]{min-height:2.75rem;padding:var(--space-3) var(--space-4);border:1px solid var(--line-strong);background:var(--surface-1)}.booking-form__actions{align-items:center;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);display:grid}.booking-submit{cursor:pointer;gap:var(--space-2)}.booking-submit:disabled{cursor:wait;opacity:.7}.booking-submit__icon--pending{animation:.9s linear infinite booking-icon-spin}.booking-form__actions p{color:var(--text-3);margin:0;font-size:.7rem}.booking-form__actions a{color:var(--gold-strong);overflow-wrap:anywhere}@keyframes booking-icon-spin{to{transform:rotate(360deg)}}@media (width<=68rem){.booking-trip-grid{grid-template-columns:1fr}}@media (width<=40rem){.booking-field-grid,.booking-form__actions{grid-template-columns:1fr}.booking-field--wide{grid-column:auto}.booking-choice-card,.booking-field input,.booking-field select,.booking-submit{min-height:3.25rem}.booking-submit{width:100%}}@media (prefers-reduced-motion:reduce){.booking-submit__icon--pending{animation:none}}
