.booking-trigger{appearance:none;text-align:left;background:transparent;border-top:0;border-left:0;border-bottom:0;border-radius:0;color:var(--text);font-family:var(--sans);line-height:1.4;transition:background .2s,box-shadow .2s;min-height:58px;justify-content:center;cursor:pointer}.booking-trigger .date-display{padding-right:33px;white-space:nowrap}.booking-trigger:hover{background:#ad957315}.booking-trigger[aria-expanded=true]{background:#ad95731a;box-shadow:inset 0 -2px var(--brass)}.booking-trigger:focus-within{outline:none}.booking-trigger:focus-visible{outline:2px solid var(--text);outline-offset:5px}.booking-trigger[aria-invalid=true]{box-shadow:inset 0 -2px #efcf9a}.guest-chevron{transition:transform .2s}.booking-trigger[aria-expanded=true] .guest-chevron{transform:rotate(180deg)}
.booking-popover{position:fixed;inset:auto;margin:0;width:min(370px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;background:#30251e;color:var(--text);border:1px solid var(--brass);border-radius:3px;box-shadow:0 22px 70px #100b0966,0 3px 16px #100b094d;font-family:var(--sans);z-index:20;scrollbar-width:thin;scrollbar-color:var(--brass) #30251e}.booking-popover::backdrop{background:transparent}.booking-popover:popover-open{animation:booking-open .18s ease-out}.picker-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.picker-top .eyebrow{font-size:10px;letter-spacing:2.6px;color:var(--muted)}.picker-close{width:32px;height:32px;min-width:32px;min-height:32px;padding:5px;margin:-7px -7px -7px 0}.picker-close .icon{width:20px;height:20px}.picker-close:hover{background:#ad957319}.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px -5px 15px}.calendar-month h2{font:400 28px/1.1 var(--serif);text-align:center;white-space:nowrap}.calendar-month .icon-button{border:1px solid #ad957348;width:36px;height:36px;min-width:36px;min-height:36px;padding:8px;border-radius:2px}.calendar-month .icon{width:19px;height:19px}.calendar-month .icon-button:not(:disabled):hover{background:var(--text);color:var(--bg);border-color:var(--text)}.calendar-month .icon-button:disabled{opacity:.24;border-color:transparent}
.calendar{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.calendar th{font:400 10px/1 var(--sans);letter-spacing:1px;color:var(--muted);height:27px;padding:0}.calendar td{padding:2px 0;height:43px;text-align:center;position:relative}.calendar-day{position:relative;border:0;background:transparent;border-radius:2px;width:100%;max-width:42px;height:40px;padding:0;font:400 14px/1 var(--sans);color:var(--text)}.calendar-day:not(:disabled):not(.is-selected):hover{background:#ad957342;color:#fff7e7}.calendar-day:focus-visible{outline:1px solid var(--text);outline-offset:-3px;z-index:1}.calendar-day:disabled{opacity:.24;cursor:default}.calendar-day.is-outside{color:var(--muted);opacity:.6}.calendar-day.is-outside:disabled{opacity:.18}.calendar-day.is-today:after{content:'';position:absolute;bottom:5px;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:currentColor}.calendar-day.is-in-range{background:#ad95732e;border-radius:0}.calendar-day.is-selected{color:var(--bg);background:var(--text);opacity:1;font-weight:500}.calendar-day.is-selected:focus-visible{outline-color:var(--bg)}.calendar-footer{border-top:1px solid #ad95734d;margin-top:17px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:18px}.calendar-footer p{font-size:12px;line-height:1.5;color:var(--muted)}.clear-dates{background:none;border:0;border-bottom:1px solid var(--line);padding:4px 0;font:400 12px var(--sans);color:var(--text)}.clear-dates:disabled{opacity:.35;border-color:transparent}
.guest-picker{width:min(364px,calc(100vw - 24px));padding:24px}.guest-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 31px}.guest-row h2{font:400 33px/1.1 var(--serif)}.guest-row p{font-size:11px;color:var(--muted);margin-top:6px;white-space:nowrap}.guest-stepper{display:flex;align-items:center;gap:13px}.guest-stepper button{display:grid;place-items:center;width:36px;height:36px;padding:8px;background:transparent;border:1px solid var(--line);border-radius:2px}.guest-stepper button:not(:disabled):hover{background:var(--text);color:var(--bg)}.guest-stepper button:disabled{opacity:.25}.guest-stepper svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1}.guest-stepper output{min-width:16px;text-align:center;font:400 23px/1 var(--serif)}.guest-done{width:100%;min-height:48px;padding:13px 20px;justify-content:space-between;font-size:19px}.booking-popover button:focus-visible{outline:2px solid var(--text);outline-offset:3px}.booking-popover .calendar-day:focus-visible{outline-width:1px;outline-offset:-3px}
@keyframes booking-open{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.booking-trigger{min-height:51px}}
@media(max-width:700px){.booking-trigger{padding-top:0;padding-bottom:0;min-height:53px}.booking-trigger .date-display{font-size:24px;padding-right:28px}.booking-popover{padding:19px;width:min(360px,calc(100vw - 24px))}.calendar-month h2{font-size:28px}.calendar-day{height:40px}.calendar-footer{padding-top:13px;margin-top:12px}.guest-picker{padding:22px}.guest-row{gap:14px}.guest-stepper{gap:12px}.guest-stepper button{width:38px;height:38px}}
@media(max-width:370px){.booking-trigger .date-display{font-size:22px;padding-right:0}.booking-trigger>.icon{top:0;bottom:auto;width:16px;height:16px;right:12px}.booking-popover{padding:16px}.calendar-month h2{font-size:26px}.calendar td{height:39px}.calendar-day{height:36px;font-size:13px}.guest-row{gap:12px}.guest-row h2{font-size:30px}.guest-row p{font-size:10px}.guest-stepper{gap:10px}.guest-stepper button{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.booking-popover:popover-open{animation:none}}
.guest-row{margin:22px 0;padding-bottom:20px;border-bottom:1px solid #ad95732e}.guest-row p{font-size:12px}.guest-children-summary{display:block;font:400 12px/1.25 var(--sans);color:var(--muted);margin-top:1px}.guest-limit{font:400 12px/1.5 var(--sans);color:var(--muted);margin:18px 0}.guest-error{font:400 13px/1.5 var(--sans);color:#efcf9a;margin:0 0 15px}.guest-error:empty{display:none}.child-ages>p{font:400 12px/1.5 var(--sans);color:var(--muted);margin:0 0 12px}.child-age{border:1px solid var(--line);margin-top:8px;border-radius:2px}.child-age summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;font:400 14px/1.5 var(--sans);list-style:none}.child-age summary::-webkit-details-marker{display:none}.child-age summary:focus-visible{outline:2px solid var(--text);outline-offset:3px}.child-age-value{display:flex;align-items:center;gap:12px;color:var(--muted)}.child-age-value:after{content:'';width:7px;height:7px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg);margin-top:-4px}.child-age[open] .child-age-value:after{transform:rotate(225deg);margin-top:4px}.age-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:0 10px 10px}.age-options button{min-height:36px;border:0;border-radius:2px;background:#ad957313;color:var(--text);font:400 14px var(--sans)}.age-options button:hover,.age-options button[aria-pressed=true]{background:var(--text);color:var(--bg)}.guest-stepper{flex-shrink:0}
