.booking-head{margin-bottom:var(--sp-5)}.booking-head .lead{margin-top:var(--sp-3)}.booking-form{background:var(--bg);border:1px solid var(--c-gold);grid-template-columns:repeat(2,minmax(0,1fr))}.booking-field,.booking-form{display:grid;position:relative}.booking-field{align-content:center;gap:0.35rem;min-width:0;padding:0.9rem 1.15rem}.js .booking-date,.js .booking-guests{align-content:stretch;padding:0}.booking-date+.booking-date{border-left:1px solid var(--c-gold)}.booking-guests{border-top:1px solid var(--c-gold);grid-column:1/-1}.booking-field>label,.booking-label{color:var(--text-muted);font-size:var(--fs-overline);font-weight:400;letter-spacing:var(--track-wide);padding:0;text-transform:uppercase}.booking-field input[type=date]{background:transparent;border:0;color:var(--text);font:inherit;font-weight:400;min-height:1.75rem;min-width:0;padding:0;width:100%}.booking-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0.55}.js .booking-date>input,.js .booking-date>label{display:none}.booking-submit{align-items:center;display:flex;grid-column:1/-1;justify-content:center;margin:-1px}@media (min-width:700px){.booking-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)}.booking-guests{border-left:1px solid var(--c-gold);border-top:0;grid-column:auto}}@media (min-width:1024px){.booking-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) auto}.booking-submit{grid-column:auto;padding-inline:2.4em}}.booking-toggle{align-content:center;background:transparent;border:0;color:inherit;cursor:pointer;display:none;font:inherit;gap:0.45rem;min-width:0;padding:0.85rem 1.15rem;text-align:left;transition:background-color var(--dur-fast) var(--ease)}.js .booking-toggle{display:grid}.booking-toggle:hover{background:color-mix(in srgb,var(--c-cream) 55%,transparent)}.booking-date-toggle.is-active,.booking-guests-toggle[aria-expanded=true]{background:var(--c-cream)}.booking-toggle:focus-visible{outline:2px solid var(--c-brown);outline-offset:-4px}.booking-value{align-items:center;column-gap:0.7rem;display:grid;grid-template-columns:auto minmax(0,1fr);min-height:2.25rem;min-width:0}.booking-num{color:var(--c-gold);font-family:var(--font-brand);font-size:2.5rem;font-variant-numeric:lining-nums tabular-nums;font-weight:300;grid-row:span 2;letter-spacing:0.02em;line-height:0.9}.booking-main,.booking-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-main{align-self:end;font-size:0.75rem;font-weight:500;letter-spacing:0.12em;line-height:1.4;text-transform:uppercase}.booking-sub{align-self:start;color:var(--text-muted);font-size:0.875rem;font-weight:300;line-height:1.4}.booking-date .booking-sub:first-letter{text-transform:uppercase}.booking-guests-toggle{padding-right:2.75rem;position:relative}.booking-guests-toggle:after{border-bottom:1px solid;border-right:1px solid;content:"";height:0.45rem;margin-top:-0.3rem;position:absolute;right:1.4rem;top:50%;transform:rotate(45deg);transition:transform var(--dur-fast) var(--ease);width:0.45rem}.booking-guests-toggle[aria-expanded=true]:after{transform:translateY(0.2rem) rotate(-135deg)}.booking-guests-panel{border:0;display:grid;margin:0;min-width:0;padding:0}.js .booking-guests-panel{background:var(--bg);border:1px solid var(--c-gold);box-shadow:0 24px 48px -28px color-mix(in srgb,var(--c-brown) 45%,transparent);left:-1px;padding:var(--sp-4) var(--sp-5) var(--sp-5);position:absolute;right:-1px;top:100%;z-index:20}.js .booking-guests-panel:not(.is-open){display:none}.js .booking-guests-panel legend{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (min-width:700px){.js .booking-guests-panel{right:auto;width:max(100% + 2px,22rem)}}.booking-count{align-items:center;display:flex;gap:var(--sp-4);justify-content:space-between;padding-block:0.65rem}.booking-count+.booking-count{border-top:1px solid var(--border)}.booking-count label{display:grid;font-weight:400;gap:0.1rem}.booking-age{color:var(--text-muted);font-size:var(--fs-small);font-weight:300}.booking-rooms{display:none}.js .booking-rooms{display:flex}.booking-stepper{align-items:center;display:inline-flex;gap:0.5rem}.booking-stepper input{background:var(--bg);border:1px solid var(--c-gold);border-radius:var(--radius);color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:0.4rem 0.25rem;text-align:center;width:3.25rem}.js .booking-stepper input{appearance:textfield;background:transparent;border-color:transparent;padding:0;width:2.25rem}.js .booking-stepper input::-webkit-inner-spin-button,.js .booking-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.booking-cal-nav,.booking-step{align-items:center;background:var(--bg);border:1px solid var(--c-gold);border-radius:50%;color:var(--text);cursor:pointer;height:2.25rem;justify-content:center;padding:0;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);width:2.25rem}.booking-step{display:none}.js .booking-step{display:inline-flex}.booking-cal-nav svg,.booking-step svg{fill:none;height:0.85rem;stroke:currentcolor;stroke-width:1.5;width:0.85rem}.booking-cal-nav:focus-visible,.booking-cal-nav:hover,.booking-step:focus-visible,.booking-step:hover:not(:disabled){background:var(--c-brown);border-color:var(--c-brown);color:var(--c-white)}.booking-step:disabled{border-color:var(--border);color:var(--c-greybeige);cursor:default}.booking-done,.booking-hint{display:none}.js .booking-hint{color:var(--text-muted);display:block;font-size:var(--fs-small);margin:var(--sp-3) 0 0}.js .booking-done{background:none;border:0;border-bottom:1px solid var(--c-gold);color:var(--text);cursor:pointer;display:inline-block;font:inherit;font-size:var(--fs-overline);justify-self:end;letter-spacing:var(--track-btn);margin-top:var(--sp-4);padding:0.4em 0;text-transform:uppercase}.js .booking-done:hover{border-bottom-color:var(--c-brown)}@media (max-width:599px){.booking-field{padding:0.7rem 0.85rem}.booking-field>label,.booking-label{font-size:0.6875rem;letter-spacing:0.16em}.booking-toggle{gap:0.3rem;padding:0.65rem 0.85rem}.booking-value{column-gap:0.5rem;min-height:1.9rem}.booking-num{font-size:2.1rem}.booking-main{font-size:0.6875rem;letter-spacing:0.1em}.booking-sub{font-size:0.8125rem}.booking-guests{position:static}.booking-guests-toggle{padding-right:2.1rem}.booking-guests-toggle:after{right:1rem}.booking-submit{font-size:0.6875rem;letter-spacing:0.12em;line-height:1.35;min-height:2.75rem;padding:0.5rem 0.6rem;text-wrap:balance}}@media (min-width:340px) and (max-width:599px){.booking-guests,.booking-submit{grid-column:auto}}.booking-calendar{--cell:2.75rem;background:var(--bg);border:1px solid var(--c-gold);box-shadow:0 24px 48px -28px color-mix(in srgb,var(--c-brown) 45%,transparent);color:var(--text);left:-1px;padding:var(--sp-5) var(--sp-4) var(--sp-4);position:absolute;right:-1px;top:100%;z-index:20}.booking-calendar[hidden]{display:none}.booking-calendar,.js .booking-guests-panel{translate:0 var(--shift,0)}@media (min-width:600px){.booking-calendar{right:auto;width:24rem}}@media (min-width:860px){.booking-calendar{padding-inline:var(--sp-6);width:auto}}.booking-cal-nav{display:inline-flex;height:2.5rem;position:absolute;top:var(--sp-5);width:2.5rem;z-index:1}.booking-cal-prev{left:var(--sp-4)}.booking-cal-next{right:var(--sp-4)}@media (min-width:860px){.booking-cal-prev{left:var(--sp-6)}.booking-cal-next{right:var(--sp-6)}}.booking-cal-nav:disabled{visibility:hidden}.booking-cal-months{display:flex}.booking-cal-month{flex:1 1 0;min-width:0}.booking-cal-month+.booking-cal-month{border-left:1px solid var(--border);margin-left:var(--sp-6);padding-left:var(--sp-6)}.booking-cal-title{align-items:center;display:flex;font-family:var(--font-brand);font-size:0.9375rem;font-weight:400;height:2.5rem;justify-content:center;letter-spacing:var(--track-wide);margin:0 0 var(--sp-2);text-transform:uppercase;white-space:nowrap}.booking-calendar table{border-collapse:collapse;margin-inline:auto;table-layout:fixed;width:100%}@media (min-width:600px){.booking-calendar table{width:calc(7 * var(--cell))}}.booking-calendar th{color:var(--text-muted);font-size:0.6875rem;font-weight:500;height:2rem;letter-spacing:0.1em;padding:0;text-align:center;text-transform:uppercase}.booking-calendar td{font-size:0.9375rem;font-variant-numeric:tabular-nums;font-weight:300;height:var(--cell);padding:0;text-align:center}.booking-calendar td[data-date]{cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.booking-calendar td span{display:inline-block;line-height:1;position:relative}.booking-calendar td[aria-disabled=true]{color:var(--c-greybeige);cursor:default}.booking-calendar td.is-range{background:var(--c-cream)}.booking-calendar td.is-preview{background:color-mix(in srgb,var(--c-cream) 60%,transparent)}.booking-calendar td.is-end,.booking-calendar td.is-start{background:var(--c-brown);color:var(--c-white);font-weight:500}.booking-calendar td.is-end.is-preview{background:var(--c-greybrown)}.booking-calendar td[aria-disabled=false]:not(.is-start,.is-end):hover{box-shadow:inset 0 0 0 1px var(--c-gold)}.booking-calendar td.is-today span:after{background:var(--c-gold);bottom:-0.4rem;content:"";height:1px;left:50%;margin-left:-0.45rem;position:absolute;width:0.9rem}.booking-calendar td:focus-visible{outline:2px solid var(--c-brown);outline-offset:-2px}.booking-calendar td.is-end:focus-visible,.booking-calendar td.is-start:focus-visible{outline-color:var(--c-cream);outline-offset:-5px}.booking-cal-foot{align-items:center;border-top:1px solid var(--border);display:flex;gap:var(--sp-4);justify-content:space-between;margin-top:var(--sp-3);padding-top:var(--sp-3)}.booking-cal-status{display:grid;font-size:var(--fs-small);gap:0.1rem;line-height:1.4;margin:0;min-width:0}.booking-cal-nights{font-weight:500}.booking-cal-nights:after{color:var(--text-muted);content:"·";font-weight:300;margin-left:0.5em}.booking-cal-hint{color:var(--text-muted);font-size:0.8125rem}.js .booking-cal-foot .booking-done{flex:none;margin-top:0}@media (max-width:599px),(min-width:860px) and (max-height:760px){.booking-calendar{--cell:2.3rem;padding-block:var(--sp-4) var(--sp-3)}.booking-cal-nav{top:var(--sp-4)}.booking-cal-title{font-size:0.875rem;margin-bottom:0}.booking-calendar th{height:1.75rem}}.booking-note{color:var(--text-muted);margin-top:var(--sp-3)}@media (prefers-reduced-motion:no-preference){.booking-calendar:not([hidden]),.js .booking-guests-panel.is-open{animation:booking-pop 0.35s var(--ease) both}.booking-cal-month{animation:booking-fade 0.3s var(--ease) both}}@keyframes booking-pop{0%{opacity:0;transform:translateY(var(--pop-from,-0.4rem))}}@keyframes booking-fade{0%{opacity:0}}
