.booking{--surface-glass:var(--paper);padding:36px var(--gutter) var(--section-y);background:var(--black);grid-template-areas:"head""steps""card";gap:36px;display:grid}html:not([data-room]) [data-when=booking],html:not([data-room]) [data-booking]>.ticket,html[data-room] [data-when=choosing]{display:none}.booking__head{grid-area:head}.booking__head h1{text-wrap:balance;max-width:16ch;font-size:clamp(30px,7.4vw,48px)}.booking__head .lede{text-wrap:balance}.booking__steps{grid-area:steps;gap:40px;min-width:0;margin:0;display:grid}.step{border:0;min-width:0;margin:0;padding:0;scroll-margin:20px 0 24px}.step legend{margin-bottom:16px;padding:0}.step__title{font-size:22px;line-height:1.2}.step__body{gap:12px;min-width:0;display:grid}.step__note{color:var(--mist);font-size:var(--fs-body-sm);margin:0}.step__note:empty{display:none}.choices{grid-area:steps;gap:16px;min-width:0;display:grid}.choice{--choice-pad:14px;padding:var(--choice-pad);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--cream);transition:border-color var(--t-control) var(--ease);grid-template-columns:124px minmax(0,1fr);grid-template-areas:"name name""photo facts""text text""cta cta";gap:14px 16px;display:grid;position:relative}.choice:hover{border-color:var(--gold);color:var(--cream)}.choice:hover .choice__cta{background:var(--btn-fill-hover)}.choice__photo,.booking__room-photo{position:relative;overflow:hidden}.choice__photo{grid-area:photo}.choice__photo:before,.booking__room-photo:before{content:"";padding-top:150%;display:block}.choice__photo img,.booking__room-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.choice__name{color:var(--gold-light);grid-area:name;font-size:34px;font-weight:600;line-height:1}.choice__facts{grid-area:facts;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;margin:0;display:grid}.choice__facts dt,.booking__room p>span:first-child{color:var(--gold);font:var(--fw-ui) var(--fs-label) / 1.3 var(--font-body)}.choice__facts dd{font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums;text-wrap:balance;margin:2px 0 0;line-height:1.35}@media (width<760px){.choices{gap:32px}.choice__facts{gap:0}.choice__facts div{border-top:1px solid var(--line);padding:11px 0}.choice__facts div:first-child{border-top:0;padding-top:0}.choice__facts div:last-child{padding-bottom:0}}.choice__text{color:var(--mist);text-wrap:balance;grid-area:text;margin:0;line-height:1.5}.choice__cta{grid-area:cta}.choice__cta:after{content:"";position:absolute;inset:0}.choice__way{z-index:1;margin-top:8px;display:flex;position:relative}.booking__room{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px;padding:12px;display:none}.booking__room p{gap:5px;margin:0;display:grid}.booking__room b{color:var(--gold-light);font:600 28px / 1 var(--font-body)}.booking__room p>span:last-child{color:var(--mist);font-size:var(--fs-body-sm);line-height:1.35}.days__month{color:var(--mist);font:var(--fw-ui) var(--fs-label) / 1 var(--font-body);margin:0}.days{--day-min:58px;grid-template-columns:repeat(var(--days,5), minmax(0, 1fr));gap:6px;display:grid}.day,.slot{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-glass);min-width:0;color:var(--cream);cursor:pointer;transition:border-color var(--t-control) var(--ease), background var(--t-control) var(--ease), color var(--t-control) var(--ease);align-content:center;justify-items:center;display:grid;position:relative}.day{height:68px;font:inherit;gap:7px;padding:0}.day__lead,.slot__note{color:var(--mist);font:var(--fw-ui) var(--fs-fine) / 1 var(--font-body)}.day__n,.day__n b{font:500 24px / 1 var(--font-body);font-variant-numeric:tabular-nums}.day__idle,.day__picked{justify-items:center;display:grid}.day__idle{gap:5px}.day__idle svg{color:var(--gold)}.day__idle .day__lead{color:var(--cream);text-align:center;line-height:1.15}.day__picked{gap:7px}.day__n small{font:400 var(--fs-fine) / 1 var(--font-body);margin-left:3px}.day--more.is-on .day__idle,.day--more:not(.is-on) .day__picked{display:none}.slots{grid-template-columns:repeat(var(--slots,3), minmax(0, 128px));gap:6px;display:grid}.slots:empty{display:none}.slot{gap:5px;height:56px;padding:0 6px}.slot__time{font:500 18px / 1 var(--font-body);font-variant-numeric:tabular-nums}.slot__note{font-weight:400}.day:hover,.slot:hover{border-color:var(--gold-light)}.day:has(input:checked),.slot:has(input:checked),.day--more.is-on{background:var(--gold);border-color:var(--gold);color:var(--black)}.day:has(input:checked) span,.slot:has(input:checked) span,.day--more.is-on :is(span,small){color:var(--black)}.day:has(input:focus-visible),.slot:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}.day.is-off,.slot.is-off{color:var(--mist);cursor:default;opacity:.55;background:0 0;border-style:dashed}.day.is-off .day__n{text-decoration:line-through 1px}.day.is-off:hover,.slot.is-off:hover{border-color:var(--line)}.cal{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);width:min(100vw - 32px,372px);max-width:none;color:var(--cream);overscroll-behavior:contain;padding:0}.cal::backdrop{background:#170a099e}.cal[open]{animation:cal-in var(--t-ui) var(--ease)}.cal[open]::backdrop{animation:cal-dim var(--t-ui) var(--ease)}@keyframes cal-in{0%{opacity:0;transform:translateY(10px)}}@keyframes cal-dim{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.cal[open],.cal[open]::backdrop{animation:none}}.cal__card{gap:6px;padding:10px 16px 20px;display:grid}.cal__top,.cal__nav{justify-content:space-between;align-items:center;display:flex}.cal__title{color:var(--gold);font:var(--fw-ui) var(--fs-label) / 1 var(--font-body);margin:0}.cal__close{width:var(--h-tap);height:var(--h-tap);color:var(--mist);cursor:pointer;transition:color var(--t-control) var(--ease);background:0 0;border:0;place-items:center;margin-right:-12px;padding:0;display:grid}.cal__close:hover{color:var(--gold)}.cal__month{font:500 22px / 1.2 var(--font-body);margin:0}.cal__nav .arrows__btn--prev{justify-content:flex-start}.cal__nav .arrows__btn--next{justify-content:flex-end}.cal__week,.cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal__week{border-bottom:1px solid var(--line);color:var(--mist);font:var(--fw-ui) var(--fs-fine) / 1 var(--font-body);text-align:center;margin-top:8px;padding-bottom:10px}.cal__grid{gap:2px;padding-top:8px}.cal__day{height:var(--h-tap);border-radius:var(--radius);color:var(--cream);font:500 17px / 1 var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color var(--t-control) var(--ease), background var(--t-control) var(--ease);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.cal__day:hover{border-color:var(--gold-light)}.cal__day.is-today{border-color:var(--line)}.cal__day.is-on{background:var(--gold);border-color:var(--gold);color:var(--black)}.cal__day.is-full,.cal__day.is-out{color:var(--mist);cursor:default;opacity:.45}.cal__day.is-full{text-decoration:line-through 1px}.cal__day.is-full:hover{border-color:#0000}.cal__note{color:var(--mist);font-size:var(--fs-label);text-align:center;margin:10px 0 0}.cal__note[hidden]{display:none}.booking .stepper{background:var(--paper)}.stepper button:disabled{color:var(--mist);opacity:.4;cursor:default}.stepper button:disabled:hover{background:0 0}.booking__noscript{border:1px solid var(--line);color:var(--cream);margin:0;padding:16px}.ticket{background:var(--paper);border:1px solid var(--line-ink);border-radius:var(--radius-card);color:var(--ink);grid-area:card;align-content:start;gap:14px;padding:18px 20px 20px;display:grid;container-type:inline-size}.ticket__title{font:500 var(--fs-card-when) / 1.1 var(--font-body);margin:0}.ticket__rows{gap:6px;margin:0;display:grid}.ticket__rows div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.ticket__rows dt{font:var(--fw-ui) var(--fs-body-xs) / 1.3 var(--font-body)}.ticket__rows dd{color:var(--ink-muted);font-family:var(--font-body);text-align:right;text-wrap:balance;font-variant-numeric:tabular-nums;margin:0;font-size:17px;line-height:1.3}.ticket__total{border-top:1px solid var(--line-ink);justify-content:space-between;align-items:baseline;margin:0;padding-top:14px;display:flex}.ticket__total span{font:var(--fw-ui) var(--fs-body-xs) / 1.3 var(--font-body)}.ticket__total b{font:500 34px / 1 var(--font-body);font-variant-numeric:tabular-nums}.ticket .btn{width:100%}.ticket .btn[aria-disabled=true]{border:1px solid var(--line-ink-strong);color:var(--ink-muted);cursor:default;pointer-events:auto;background:0 0}.ticket .btn[aria-disabled=true]:hover{transform:none}.ticket__hint,.ticket__note{color:var(--ink-muted);font-size:var(--fs-body-sm);text-align:center;margin:0;line-height:1.35}.ticket__hint[hidden]{display:none}.ticket__hint.is-nudged{animation:ticket-nudge 1.6s var(--ease)}@keyframes ticket-nudge{0%,60%{color:var(--ink)}}.ticket__change{color:var(--ink);border-bottom:1px solid var(--line-ink-strong);font:var(--fw-ui) var(--fs-label) / 1.6 var(--font-body);justify-self:center}.ticket__change:hover{color:var(--ink-muted)}.booking--checkout{grid-template-areas:"head""card""steps";row-gap:24px}.booking--checkout .booking__head h1{max-width:none;font-size:clamp(28px,7vw,40px)}.booking__head .lede[hidden],.booking--checkout .form[hidden],.ticket[hidden],.ticket__line{display:none}@media (width<900px){.booking--checkout .ticket{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"line total""line change";align-items:start;gap:6px 16px;padding:12px 14px}.booking--checkout :is(.ticket__title,.ticket__rows,.ticket__total span){display:none}.booking--checkout .ticket__line{font-size:var(--fs-body-sm);grid-area:line;margin:0;line-height:1.4;display:block}.ticket__line b{font-weight:var(--fw-ui)}.ticket__line span{color:var(--ink-muted);display:block}.booking--checkout .ticket__total{border:0;grid-area:total;justify-content:end;padding:0}.booking--checkout .ticket__total b{font-size:24px}.booking--checkout .ticket__change{grid-area:change;place-self:end}}.form small{color:var(--mist);font-size:var(--fs-body-sm)}.form .field__error{color:var(--gold-light)}.form [aria-invalid=true],.tel:has([aria-invalid=true]) .tel__country{border-color:var(--gold-light)}.form input[type=tel]{color-scheme:light}.field{gap:8px;display:grid}.field>span{color:var(--gold);font:var(--fw-ui) var(--fs-label) / 1 var(--font-body)}.tel{grid-template-columns:auto minmax(0,1fr);gap:8px;display:grid}.tel__country{height:var(--h-btn);background:linear-gradient(45deg, transparent 50%, var(--gold) 50%) calc(100% - 18px) 23px / 6px 6px no-repeat, linear-gradient(135deg, var(--gold) 50%, transparent 50%) calc(100% - 12px) 23px / 6px 6px no-repeat, var(--surface-glass);border:1px solid var(--line);border-radius:var(--radius);color:var(--cream);font:400 var(--fs-body) / 1 var(--font-body);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:10px;padding:0 34px 0 14px;display:flex;position:relative}.tel__country b{color:var(--mist);font-weight:400}.form .tel__country select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:var(--fs-body);background:0 0;border:0;padding:0;position:absolute;inset:0}.tel__country:has(select:focus-visible){outline:2px solid var(--gold);outline-offset:2px}.form .pay{margin-top:20px}.pay .step__title{margin-bottom:8px}.checkout__go{gap:14px;display:grid}.checkout__go .btn{width:100%;max-width:none}.checkout__terms{color:var(--mist);font-size:var(--fs-body-sm);text-align:center;text-wrap:balance;margin:0}.pending{border:1px solid var(--line);background:var(--surface-glass-strong);gap:12px;padding:22px 20px;display:grid}.pending[hidden]{display:none}.pending h2{font-size:22px;line-height:1.2}.pending p{max-width:var(--measure);color:var(--mist);margin:0}.pending p a{color:var(--cream);border-bottom:1px solid var(--line-strong)}.pending small{color:var(--mist);font-size:var(--fs-label)}@media (width>=760px){.choice{--choice-pad:clamp(24px, 3vw, 40px);grid-template:"photo name""photo text""photo facts"1fr"photo cta"/clamp(220px,40%,340px) minmax(0,1fr);gap:0;padding:0;overflow:hidden}.choice__name{padding:var(--choice-pad) var(--choice-pad) 0;font-size:clamp(40px,3.6vw,60px)}.choice__text{max-width:calc(52ch + 2 * var(--choice-pad));padding:16px var(--choice-pad) 0;font-size:var(--fs-lead)}.choice__facts{margin:24px var(--choice-pad) 0;border-top:1px solid var(--line);gap:0}.choice__facts div{border-bottom:1px solid var(--line);grid-template-columns:5.5em minmax(0,1fr);align-items:baseline;column-gap:16px;padding:12px 0;display:grid}.choice__facts dd{font-size:var(--fs-body);margin:0}.choice__cta{margin:24px var(--choice-pad) var(--choice-pad)}}@media (width>=900px){.booking,.booking--checkout{justify-content:center;gap:44px clamp(40px, 5vw, var(--gap-col));grid-template:"head card""steps card"1fr/minmax(0,640px) clamp(300px,30vw,440px);padding-top:72px}.booking--checkout{row-gap:36px}.booking--checkout .ticket{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.booking--checkout .ticket>*{grid-column:1/-1}.booking--checkout .ticket>.ticket__title{grid-area:1/1}.booking--checkout .ticket>.ticket__change{grid-area:1/2}.ticket{top:calc(var(--h-chrome) + 24px);align-self:start;position:sticky}html:not([data-room]) [data-booking]{grid-template:"head""steps"/minmax(0,1fr);padding-top:56px}html:not([data-room]) [data-booking] :is(h1,.lede){max-width:none}.days,.slots{gap:8px}}@media (width>=1100px){.ticket{padding:20px 24px 24px}}@media (width>=1280px){.choices{grid-template-rows:auto auto 1fr auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.choice{grid-row:1/-1;grid-template-rows:subgrid}html:not([data-room]) [data-booking]{padding-inline:max(var(--gutter), (100% - 1840px) / 2)}}@media (width>=1280px) and (width<=1535px){.choice{--choice-pad:28px}.choice__text{font-size:var(--fs-body)}.choice__facts{margin-top:20px}.choice__facts dd{font-size:var(--fs-body-sm)}.choice__cta{margin-top:20px}}
