.booking-modal__overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(14,18,25,.58);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.booking-modal{position:relative;display:flex;width:min(980px,100%);max-height:calc(100vh - 48px);flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:30px;color:var(--text-primary);background:var(--surface-0);box-shadow:0 32px 90px rgba(14,18,25,.28)}.booking-modal__header{position:relative;display:flex;gap:32px;align-items:flex-start;justify-content:space-between;padding:32px 40px 26px;border-bottom:1px solid var(--surface-hover)}.booking-modal__header>div{min-width:0}.booking-modal__eyebrow{margin:0 0 8px;color:var(--text-tertiary);font-size:var(--font-size-body-s);font-weight:var(--font-weight-bold);line-height:var(--line-height-body-s);letter-spacing:.08em;text-transform:uppercase}.booking-modal__header h2{margin:0;font-family:var(--font-family-title);font-size:clamp(30px,4vw,42px);font-weight:var(--font-weight-regular);line-height:1.08;letter-spacing:-.025em}.booking-modal__intro{margin:10px 0 0;color:var(--text-secondary);font-size:var(--font-size-body-m);line-height:var(--line-height-body-m)}.booking-modal__close{display:grid;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--surface-3);border-radius:50%;color:var(--text-primary);background:transparent;cursor:pointer;place-items:center;transition:background-color .16s ease,color .16s ease}.booking-modal__close:hover{color:var(--dark-color-text);background:var(--brand-primary)}.booking-modal__close svg{display:block;width:20px;height:20px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.booking-modal__form{display:flex;min-height:0;flex:1 1;flex-direction:column}.booking-modal__body{min-height:0;flex:1 1;overflow-y:auto;padding:28px 40px 34px}.booking-modal__alert{margin-bottom:22px}.booking-modal__layout{display:grid;grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);grid-gap:32px;gap:32px;align-items:start}.booking-modal__summary{position:-webkit-sticky;position:sticky;top:0;overflow:hidden;padding:28px;border-radius:22px;color:var(--dark-color-text);background:var(--brand-primary)}.booking-modal__summary:after{position:absolute;top:-82px;right:-86px;width:190px;height:190px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.02);content:"";pointer-events:none}.booking-modal__summary-heading{position:relative;z-index:1;display:flex;gap:12px;align-items:center;color:var(--dark-color-text-80);font-size:var(--font-size-body-s);font-weight:var(--font-weight-bold);line-height:var(--line-height-body-s);letter-spacing:.07em;text-transform:uppercase}.booking-modal__summary-icon{display:grid;width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.08);place-items:center}.booking-modal__details svg,.booking-modal__empty-icon svg,.booking-modal__notice svg,.booking-modal__reassurance svg,.booking-modal__summary-icon svg{display:block}.booking-modal__date{position:relative;z-index:1;margin:34px 0 8px;font-family:var(--font-family-title);font-size:27px;font-weight:var(--font-weight-regular);line-height:1.12;letter-spacing:-.02em;text-transform:capitalize}.booking-modal__time{margin:0;color:var(--dark-color-brand-tertiary);font-size:22px;font-weight:var(--font-weight-semibold);line-height:28px}.booking-modal__details{display:grid;grid-gap:0;gap:0;margin:28px 0 0}.booking-modal__details>div{padding:15px 0;border-top:1px solid rgba(255,255,255,.12)}.booking-modal__details dt{display:flex;gap:8px;align-items:center;color:var(--dark-color-text-64);font-size:var(--font-size-body-s);line-height:var(--line-height-body-s)}.booking-modal__details dd{margin:5px 0 0 26px;color:var(--dark-color-text);font-size:var(--font-size-body-m);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body-m)}.booking-modal__reassurance{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:15px;border-radius:14px;color:var(--dark-color-text-80);background:rgba(255,255,255,.08)}.booking-modal__reassurance>span{display:grid;width:24px;height:24px;flex:0 0 24px;border-radius:50%;color:var(--brand-primary);background:var(--dark-color-brand-tertiary);place-items:center}.booking-modal__notice p,.booking-modal__reassurance p{margin:0;font-size:var(--font-size-body-s);line-height:var(--line-height-body-s)}.booking-modal__content{min-width:0}.booking-modal__section-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:22px}.booking-modal__section-heading>span{display:grid;width:30px;height:30px;flex:0 0 30px;border-radius:50%;color:var(--dark-color-text);background:var(--brand-primary);font-size:var(--font-size-body-s);font-weight:var(--font-weight-bold);place-items:center}.booking-modal__section-heading h3{margin:0;font-size:var(--font-size-body-l);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body-l)}.booking-modal__section-heading p{margin:2px 0 0;color:var(--text-secondary);font-size:var(--font-size-body-s);line-height:var(--line-height-body-s)}.booking-modal__section-heading--compact{margin-bottom:18px}.booking-modal__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.booking-modal__field{min-width:0}.booking-modal__field--wide{grid-column:1/-1}.booking-modal__label-row{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:7px}.booking-modal__field>label,.booking-modal__label-row label{display:block;margin-bottom:7px;color:var(--text-primary);font-size:var(--font-size-body-m);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body-m)}.booking-modal__label-row label{margin-bottom:0}.booking-modal__field label span{color:var(--brand-tertiary)}.booking-modal__prefill.lp-badge{flex:0 0 auto;padding:3px 5px;font-size:var(--font-size-body-xs);line-height:var(--line-height-body-xs)}.booking-modal__field input,.booking-modal__field select{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--surface-3);border-radius:12px;outline:none;color:var(--text-primary);background:var(--surface-0);font:inherit;font-size:var(--font-size-body-m);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.booking-modal__field select{cursor:pointer}.booking-modal__field input::placeholder{color:var(--text-tertiary)}.booking-modal__field input:focus,.booking-modal__field select:focus{border-color:var(--text-primary);box-shadow:var(--focus-ring)}.booking-modal__field input:disabled{cursor:not-allowed;color:var(--text-secondary);background:var(--surface-1);opacity:1}.booking-modal__field-hint{margin:6px 0 0;color:var(--text-tertiary);font-size:var(--font-size-body-s);line-height:var(--line-height-body-s)}.booking-modal__type-field{margin-bottom:26px;padding-bottom:26px;border-bottom:1px solid var(--surface-hover)}.booking-modal__optional{margin-top:28px;padding-top:26px;border-top:1px solid var(--surface-hover)}.booking-modal__notice{display:flex;gap:10px;align-items:flex-start;margin-top:24px;padding:14px 16px;border-radius:14px;color:var(--text-secondary);background:var(--surface-1)}.booking-modal__notice>svg{flex:0 0 auto;color:var(--text-primary)}.booking-modal__empty{display:flex;gap:18px;align-items:center;min-height:220px;padding:34px;border-radius:20px;background:var(--surface-1)}.booking-modal__empty-icon{display:grid;width:54px;height:54px;flex:0 0 54px;border-radius:50%;color:var(--dark-color-text);background:var(--brand-primary);place-items:center}.booking-modal__empty h3{margin:0;font-size:var(--font-size-body-l);font-weight:var(--font-weight-semibold)}.booking-modal__empty p{margin:5px 0 0;color:var(--text-secondary);font-size:var(--font-size-body-m);line-height:var(--line-height-body-m)}.booking-modal__footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 40px;border-top:1px solid var(--surface-hover);background:color-mix(in srgb,var(--surface-0) 92%,transparent)}.booking-modal__button.btn{min-height:50px;padding:12px 20px;font-size:var(--font-size-button-m)}.booking-modal__button--secondary.btn{border:1px solid var(--surface-3);color:var(--text-primary);background:transparent}.booking-modal__button--secondary.btn:hover:not(.btn--disabled){background:var(--surface-hover);filter:none}.booking-modal__button--primary.btn{gap:12px;color:var(--dark-color-text);background:var(--brand-primary)}.booking-modal__button--primary.btn:hover:not(.btn--disabled){background:var(--brand-primary-hover);filter:none}.booking-modal__close:focus-visible,.booking-modal__field input:focus-visible,.booking-modal__field select:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width:760px){.booking-modal__overlay{align-items:end;padding:0}.booking-modal{width:100%;max-height:calc(100dvh - 12px);border-radius:26px 26px 0 0}.booking-modal__header{padding:26px 24px 22px}.booking-modal__header h2{padding-right:4px;font-size:32px}.booking-modal__intro{max-width:280px}.booking-modal__body{padding:22px 24px 28px}.booking-modal__layout{grid-template-columns:1fr;gap:28px}.booking-modal__summary{position:static}.booking-modal__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.booking-modal__details>div:last-child:nth-child(3){grid-column:1/-1}.booking-modal__footer{padding:16px 24px calc(16px + env(safe-area-inset-bottom))}}@media (max-width:520px){.booking-modal__header{gap:16px}.booking-modal__header h2{font-size:29px}.booking-modal__close{width:40px;height:40px;flex-basis:40px}.booking-modal__details,.booking-modal__fields{grid-template-columns:1fr}.booking-modal__details>div:last-child:nth-child(3){grid-column:auto}.booking-modal__footer{flex-direction:column-reverse}.booking-modal__button.btn{width:100%}}@media (prefers-reduced-motion:reduce){.booking-modal__close,.booking-modal__field input,.booking-modal__field select{transition:none}}