.booking-dialog{--booking-dialog-padding-inline:clamp(1rem, 3vw, 2rem);--booking-dialog-padding-block-start:clamp(1rem, 12vh, 8rem);--booking-dialog-padding-block-end:max(1rem, env(safe-area-inset-bottom));width:100%;max-width:none;height:100dvh;max-height:100dvh;color:var(--color-text);background:0 0;border:0;margin:0;padding:0;overflow:hidden}.booking-dialog[open]{overscroll-behavior:contain;padding:var(--booking-dialog-padding-block-start) var(--booking-dialog-padding-inline) var(--booking-dialog-padding-block-end);-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;display:flex;overflow-y:auto}.booking-dialog::backdrop{background:#19191952}@media (width<=767px){.booking-dialog{--booking-dialog-padding-inline:0;--booking-dialog-padding-block-start:clamp(.75rem, 9vh, var(--header-height-mobile));--booking-dialog-padding-block-end:0}.booking-dialog[open]{align-items:flex-end}}@supports (height:100dvh){.booking-dialog{--booking-dialog-padding-block-start:clamp(1rem, 12dvh, 8rem)}@media (width<=767px){.booking-dialog{--booking-dialog-padding-block-start:clamp(.75rem, 9dvh, var(--header-height-mobile))}}}.booking-calendar-modal[open]{padding-block:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-bottom));align-items:center}.booking-calendar-modal__panel{background:var(--color-background);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:.5rem;width:min(100%,38rem);max-height:calc(100dvh - 2rem);margin:0;padding:clamp(1.125rem,2.4vw,1.5rem) clamp(1.25rem,3vw,2rem) 1.25rem;overflow-y:auto;box-shadow:0 1rem 3rem #00000024}.booking-calendar-modal h2{color:var(--color-primary-800);font-family:var(--font-body);letter-spacing:0;text-align:center;font-size:1.5rem;font-weight:400;line-height:1.25}.booking-calendar-modal h2 span{text-underline-offset:.15em;text-decoration:underline}.booking-calendar-modal__iframe{border:1px solid var(--color-primary-200);border-radius:.25rem;width:100%;min-height:clamp(18rem,58dvh,25rem);margin-top:1.5rem}.booking-calendar{color:#000;margin-top:1.25rem}.booking-calendar__nav{border-bottom:1px solid var(--color-primary-200);grid-template-columns:minmax(0,1fr) 2.25rem 14rem 2.25rem minmax(0,1fr);align-items:center;gap:.5rem;padding-bottom:.75rem;display:grid}.booking-calendar__nav strong{color:var(--color-primary-800);font-family:var(--font-display);letter-spacing:0;text-align:center;white-space:nowrap;font-size:2rem;font-weight:400;line-height:1}.booking-calendar__adjacent-month{color:#9d9995;font-family:var(--font-display);letter-spacing:0;text-align:center;white-space:nowrap;font-size:1.25rem;line-height:1}.booking-calendar__nav-button{color:#000;cursor:pointer;background:0 0;border:0;place-items:center;width:2.25rem;height:2.25rem;padding:0;transition:background-color .14s,color .14s;display:inline-grid}.booking-calendar__nav-button:not(:disabled):hover{background:var(--color-primary-50)}.booking-calendar__nav-button:not(:disabled):active{background:var(--color-button-active);color:var(--color-button-active-text)}.booking-calendar__nav-button span{border-bottom:3px solid;border-left:3px solid;width:.875rem;height:.875rem;transform:rotate(45deg)}.booking-calendar__nav-button--next span{transform:rotate(225deg)}.booking-calendar__nav-button:disabled{color:#b8b3ae;cursor:not-allowed}.booking-calendar__weekdays,.booking-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.booking-calendar__weekdays{color:#7b7b7b;font-family:var(--font-body);text-align:center;margin-top:1.25rem;font-size:1.25rem;line-height:1}.booking-calendar__grid{gap:.625rem .75rem;margin-top:1.25rem}.booking-calendar__day,.booking-calendar__empty-day{aspect-ratio:1;width:100%;font-family:var(--font-body);border-radius:0;place-items:center;font-size:1.25rem;line-height:1;display:inline-grid}.booking-calendar__day{color:#3f3933;cursor:pointer;background:0 0;border:1px solid #0000;transition:background-color .14s,border-color .14s,color .14s}.booking-calendar__day:hover{border-color:var(--color-primary-400);background:#f1f0ef}.booking-calendar__day:active{border-color:var(--color-button-active);background:var(--color-button-active);color:var(--color-button-active-text)}.booking-calendar__day.is-today{border-color:var(--color-primary-400)}.booking-calendar__day.is-selected{background:var(--color-background);border-color:#000}.booking-calendar__day.is-in-range{background:#ebe8e7;border-color:#d8d2cd}.booking-calendar__day.is-unavailable{color:#9d9995;background:#f4f2f1;text-decoration:line-through 1px}.booking-calendar__day:disabled:not(.is-selected){color:#b8b3ae;cursor:not-allowed;background:0 0;border-color:#0000}.booking-calendar__day.is-unavailable:disabled:not(.is-selected){color:#9d9995;background:#f4f2f1}.booking-calendar__day:disabled.is-selected{background:var(--color-background);color:#3f3933;cursor:not-allowed;border-color:#000}.booking-calendar__note{color:var(--color-muted);text-align:center;margin-top:1rem;font-size:.9375rem;line-height:1.2}.booking-calendar__note--constraint{color:var(--color-primary-900);margin-top:0;font-weight:700}.booking-calendar__status{align-content:start;gap:.375rem;min-height:3.75rem;padding-top:.75rem;display:grid}.booking-calendar-modal__actions{justify-content:center;gap:2rem;margin-top:2rem;display:flex}.booking-calendar-modal__button{background:var(--color-secondary-500);min-width:9.5rem;min-height:3.125rem;box-shadow:var(--shadow-soft);color:var(--color-primary-900);font-family:var(--font-body);text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1.5rem;line-height:1.1;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.booking-calendar-modal__button--secondary{border-color:var(--color-secondary-500);background:var(--color-background)}.booking-calendar-modal__button:hover{background:var(--color-button-hover)}.booking-calendar-modal__button:active{background:var(--color-button-active);border-color:var(--color-button-active);color:var(--color-button-active-text);transform:translateY(1px)}.booking-calendar__nav-button:focus-visible,.booking-calendar__day:focus-visible,.booking-calendar-modal__button:focus-visible{outline:2px solid var(--color-secondary-500);outline-offset:4px}@media (width<=1023px){.booking-calendar-modal__panel{width:min(100%,38rem);padding-inline:1.5rem}.booking-calendar__grid{gap:.5rem .625rem}}@media (width<=767px){.booking-calendar-modal[open]{padding:max(.75rem, env(safe-area-inset-top)) .75rem max(.75rem, env(safe-area-inset-bottom));align-items:center}.booking-calendar-modal__panel{width:100%;min-width:0;max-height:calc(100dvh - 1.5rem);padding:clamp(1.125rem, 4vh, 1.75rem) 1.25rem max(1rem, env(safe-area-inset-bottom));padding:clamp(1.125rem, 4dvh, 1.75rem) 1.25rem max(1rem, env(safe-area-inset-bottom));border-radius:.5rem;margin:0}.booking-calendar-modal h2{text-align:left;font-size:1.25rem}.booking-calendar__nav{grid-template-columns:minmax(0,1fr) 2rem 10rem 2rem minmax(0,1fr);gap:.25rem}.booking-calendar__nav strong{min-width:0;font-size:1.5rem}.booking-calendar__adjacent-month{text-overflow:ellipsis;min-width:0;font-size:1rem;overflow:hidden}.booking-calendar__weekdays,.booking-calendar__day,.booking-calendar__empty-day{font-size:1.125rem}.booking-calendar__grid{gap:.5rem}.booking-calendar-modal__actions{justify-content:space-between;gap:1rem}.booking-calendar-modal__button{flex:1;min-width:0;font-size:1.25rem}}@media (width<=359px){.booking-calendar__nav{grid-template-columns:2rem minmax(0,1fr) 2rem}.booking-calendar__adjacent-month{display:none}.booking-calendar__nav strong{font-size:1.375rem}}@media (width>=768px) and (height<=850px){.booking-calendar-modal__panel{padding-top:1rem;padding-bottom:1rem}.booking-calendar{margin-top:.875rem}.booking-calendar__nav{padding-bottom:.625rem}.booking-calendar__weekdays,.booking-calendar__grid{margin-top:.75rem}.booking-calendar__grid{gap:.25rem .5rem}.booking-calendar__day,.booking-calendar__empty-day{aspect-ratio:auto;min-height:2.75rem}.booking-calendar__status{min-height:2.75rem;padding-top:.5rem}.booking-calendar-modal__actions{margin-top:.75rem}}@media (height<=720px){.booking-calendar-modal__panel{padding-top:1rem;padding-bottom:1rem}.booking-calendar-modal__iframe{margin-top:1rem}.booking-calendar{margin-top:.875rem}.booking-calendar__nav{padding-bottom:.625rem}.booking-calendar__weekdays,.booking-calendar__grid{margin-top:.875rem}.booking-calendar__grid{gap:.375rem .5rem}.booking-calendar__note{margin-top:.75rem}.booking-calendar-modal__actions{margin-top:1rem}}.booking-guests-modal__panel{width:min(100%,33.875rem);max-height:calc(100vh - var(--booking-dialog-padding-block-start) - var(--booking-dialog-padding-block-end));max-height:calc(100dvh - var(--booking-dialog-padding-block-start) - var(--booking-dialog-padding-block-end));background:var(--color-background);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:.5rem;margin:0;padding:clamp(1.125rem,2.4vw,1.5rem) clamp(1.25rem,3vw,2rem) 1.25rem;overflow-y:auto;box-shadow:0 1rem 3rem #00000024}@media (width>=768px){.booking-guests-modal[open]{padding-block:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-bottom));align-items:center}.booking-guests-modal__panel{max-height:calc(100dvh - 2rem)}}.booking-guests-modal h2{color:var(--color-primary-800);font-family:var(--font-display);letter-spacing:0;text-align:center;font-size:1.5rem;font-weight:400;line-height:1.25}.booking-guests-modal__rows{gap:1rem;margin-top:1.75rem;display:grid}.booking-guests-modal__row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.booking-guests-modal__label{color:#000;font-family:var(--font-body);font-size:clamp(2rem,4.5vw,2.5rem);line-height:1}.booking-guests-modal__controls{color:#000;font-family:var(--font-body);text-align:center;grid-template-columns:2.5rem 2.5rem 2.5rem;align-items:center;gap:1rem;font-size:2rem;line-height:1;display:grid}.booking-guests-modal__controls button{width:2.5rem;height:2.5rem;color:var(--color-primary-800);cursor:pointer;background:#ebe8e7;border:0;border-radius:50%;padding:0;font-size:1.75rem;line-height:1;transition:background-color .14s,color .14s}.booking-guests-modal__controls button:not(:disabled):hover{background:var(--color-button-hover)}.booking-guests-modal__controls button:not(:disabled):active{background:var(--color-button-active);color:var(--color-button-active-text)}.booking-guests-modal__controls button:disabled{color:#9d9995;cursor:not-allowed}.booking-guests-modal__note{width:fit-content;max-width:100%;color:var(--color-muted);margin-left:auto;font-size:1rem;line-height:1.1}.booking-guests-modal__limit{color:var(--color-primary-800);text-align:center;margin:.75rem 0 0;font-size:1rem;line-height:1.15}.booking-guests-modal__actions{justify-content:center;gap:2rem;margin-top:2rem;display:flex}.booking-guests-modal__button{background:var(--color-secondary-500);min-width:9.5rem;min-height:3.125rem;box-shadow:var(--shadow-soft);color:var(--color-primary-900);font-family:var(--font-body);text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1.5rem;line-height:1.1;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.booking-guests-modal__button--secondary{border-color:var(--color-secondary-500);background:var(--color-background)}.booking-guests-modal__button:hover{background:var(--color-button-hover)}.booking-guests-modal__button:active{background:var(--color-button-active);border-color:var(--color-button-active);color:var(--color-button-active-text);transform:translateY(1px)}.booking-guests-modal__controls button:focus-visible,.booking-guests-modal__button:focus-visible{outline:2px solid var(--color-secondary-500);outline-offset:4px}@media (width<=1023px){.booking-guests-modal__panel{width:min(100%,25.25rem);padding-inline:1.5rem}.booking-guests-modal__rows{gap:.875rem}}@media (width<=767px){.booking-guests-modal__panel{width:100%;min-width:0;max-height:calc(100vh - var(--booking-dialog-padding-block-start) - var(--booking-dialog-padding-block-end));max-height:calc(100dvh - var(--booking-dialog-padding-block-start) - var(--booking-dialog-padding-block-end));padding:clamp(1.125rem, 4vh, 1.75rem) 1.25rem max(1rem, env(safe-area-inset-bottom));padding:clamp(1.125rem, 4dvh, 1.75rem) 1.25rem max(1rem, env(safe-area-inset-bottom));border-radius:.5rem .5rem 0 0;margin:0}.booking-guests-modal h2{text-align:left;font-size:1.25rem}.booking-guests-modal__label{min-width:0;font-size:clamp(1.875rem,9vw,2.25rem)}.booking-guests-modal__controls{grid-template-columns:2.5rem 2rem 2.5rem;gap:.75rem}.booking-guests-modal__note{width:auto;margin-left:0}.booking-guests-modal__actions{justify-content:space-between;gap:1rem}.booking-guests-modal__button{flex:1;min-width:0;font-size:1.25rem}}@media (height<=620px){.booking-guests-modal__panel{padding-top:1rem;padding-bottom:1rem}.booking-guests-modal__rows{gap:.75rem;margin-top:1.125rem}.booking-guests-modal__actions{margin-top:1rem}}
