/* One stay-date control, using the site's existing typography and palette. */
.dm-av-grid>.dm-date-range-field{grid-column:1/-1;min-width:0}
.dm-av-grid>[data-dm-native-date][hidden]{display:none!important}
.dm-date-range-label{display:block;margin-bottom:8px;font-size:18px;line-height:1.5}
#main-content .dm-date-range-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;padding:12px 14px;border:1px solid #68756f;border-radius:8px;background:var(--color-white,#faf9f5);color:var(--color-ink,#192a27);font:inherit;font-size:18px;line-height:1.45;text-align:left;white-space:normal}
.dm-date-range-value{min-width:0;overflow-wrap:break-word}
.dm-date-range-icon{flex:none;display:inline-block;width:8px;height:8px;font-size:0;line-height:1}
.dm-date-range-icon::after{content:'';display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-30%) rotate(45deg)}
.dm-date-range-dialog{box-sizing:border-box;display:flex;flex-direction:column;width:min(800px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:24px;border:1px solid #68756f;border-radius:12px;overflow:hidden;background:var(--color-paper,#f3f0e8);color:var(--color-ink,#192a27);font-family:var(--font-body,inherit);font-size:18px;line-height:1.5;box-shadow:0 16px 72px #071c2055;overscroll-behavior:contain}
.dm-date-range-dialog> :not(.dm-date-range-body){flex-shrink:0}
.dm-date-range-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-block:4px}
.dm-date-range-dialog:not([open]){display:none}
.dm-date-range-dialog::backdrop{background:#10251eb3}
.dm-date-range-dialog.is-fallback{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;z-index:2147483646}
.dm-date-range-backdrop{position:fixed;inset:0;background:#10251eb3;z-index:2147483645}
.dm-date-range-backdrop[hidden]{display:none}
.dm-date-range-dialog *{box-sizing:border-box}
.dm-date-range-dialog button{font:inherit;color:inherit;cursor:pointer;letter-spacing:normal;text-transform:none}
.dm-date-range-dialog button:disabled{cursor:default}
.dm-date-range-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.dm-date-range-heading h2{margin:0;font-family:var(--font-brand,Georgia,serif);font-size:clamp(28px,4vw,36px);font-weight:500;line-height:1.12;letter-spacing:-.02em}
.dm-date-range-close{flex:none;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #68756f;border-radius:8px;background:transparent;font-size:30px!important;line-height:1}
.dm-date-range-help{margin:0 0 18px;font-size:18px;line-height:1.5;max-width:65ch}
.dm-date-range-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-block:12px}
.dm-date-range-mode{display:flex;flex-direction:column;align-items:flex-start;min-height:64px;padding:8px 12px;border:1px solid #68756f;border-radius:8px;background:transparent;text-align:left;line-height:1.35}
.dm-date-range-mode span{font-size:18px}
.dm-date-range-mode strong{font-size:18px;font-weight:500}
.dm-date-range-mode[aria-pressed="true"]{box-shadow:inset 0 0 0 1px currentColor;background:#dbe4dc}
.dm-date-range-mode:disabled{opacity:.65}
.dm-date-range-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:4px 0 8px}
.dm-date-range-status{margin:0;font-size:18px;line-height:1.5;min-height:1.5em}
.dm-date-range-navigation{display:flex;flex:none;justify-content:space-between;gap:12px;margin:0}
.dm-date-range-navigation button{width:44px;height:44px;padding:0;border:1px solid #68756f;border-radius:8px;background:transparent;font-size:28px;line-height:1}
.dm-date-range-navigation button:disabled{opacity:.4}
.dm-date-range-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.dm-date-range-month{min-width:0}
.dm-date-range-month h3{margin:0 0 10px;font-family:var(--font-brand,Georgia,serif);font-size:26px;line-height:1.2;font-weight:500;text-align:center;text-transform:none}
.dm-date-range-month table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0;border:0;color:inherit;background:transparent}
.dm-date-range-month th,.dm-date-range-month td{padding:0;border:0;text-align:center;background:transparent;vertical-align:middle}
.dm-date-range-month th{height:28px;font-size:14px;font-weight:500}
.dm-date-range-month abbr{text-decoration:none;border:0}
.dm-date-range-month .dm-date-range-day{display:block;width:100%;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;font-size:18px;line-height:1;text-align:center}
.dm-date-range-day{scroll-margin-block:4px}
.dm-date-range-day:disabled{color:#6d7871}
.dm-date-range-day[aria-current="date"]{text-decoration:underline;text-underline-offset:5px}
.dm-date-range-month .is-range{background:#dbe4dc}
.dm-date-range-month .is-arrival .dm-date-range-day{background:#192a27;color:#fff;border-color:#192a27;border-radius:8px;opacity:1}
.dm-date-range-month .is-departure .dm-date-range-day{background:#dbe4dc;color:#192a27;border:2px solid #192a27;border-radius:8px}
.dm-date-range-day:not(:disabled):hover{box-shadow:inset 0 0 0 1px #192a27}
.dm-date-range-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:16px 0 0;border-top:1px solid #a9b3ac;background:var(--color-paper,#f3f0e8)}
.dm-date-range-nights{margin:0;font-size:18px;line-height:1.4;min-height:1.4em}
.dm-date-range-nights:empty{display:none}
.dm-date-range-actions{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}
.dm-date-range-actions button{min-height:48px;padding:10px 16px;border:1px solid #68756f;border-radius:8px;font-size:18px;line-height:1.4}
.dm-date-range-cancel{background:transparent}
.dm-date-range-dialog .dm-date-range-confirm{color:#fff;background:#192a27;border-color:#192a27}
.dm-date-range-confirm:disabled{opacity:.45}
.dm-date-range-trigger:focus-visible,.dm-date-range-dialog button:focus-visible{outline:3px solid #765636;outline-offset:3px}
.dm-date-range-dialog .dm-date-range-day:focus-visible{outline-offset:-3px;position:relative;z-index:1}
.dm-date-range-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){
 .dm-date-range-dialog{position:fixed;inset:auto 0 0;width:100%;max-height:96vh;max-height:96dvh;margin:0;padding:16px 12px 12px;border-radius:20px 20px 0 0}
 .dm-date-range-dialog.is-fallback{inset:auto 0 0;transform:none;margin:0}
 .dm-date-range-months{grid-template-columns:minmax(0,1fr);gap:0}
 .dm-date-range-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .dm-date-range-heading{margin-bottom:8px}.dm-date-range-heading h2{font-size:30px}
 .dm-date-range-modes{margin-block:8px}.dm-date-range-mode{padding:8px}
 .dm-date-range-month .is-arrival,.dm-date-range-month .is-departure{background:#dbe4dc}
 .dm-date-range-month .is-arrival{border-radius:8px 0 0 8px}
 .dm-date-range-month .is-departure{border-radius:0 8px 8px 0}
 .dm-date-range-month .is-arrival .dm-date-range-day,.dm-date-range-month .is-departure .dm-date-range-day{background:#192a27;color:#faf9f5;border-color:#192a27}
 .dm-date-range-footer{margin-top:14px;padding-top:12px;padding-bottom:env(safe-area-inset-bottom,0px)}
 .dm-date-range-actions{width:100%;margin:0;display:grid;grid-template-columns:auto minmax(0,1fr)}
 .dm-date-range-actions button{padding-inline:10px}
 /* The sheet sits on the bottom edge: when the departure was chosen the instruction went to two lines and the nights
    appeared, so the sheet grew by 47 px and every day moved up under the finger (UI-B-11, 13/11). Both rows keep their
    place from the start. */
 .dm-date-range-status{min-height:3em}
 .dm-date-range-nights:empty{display:block}
}
@media(max-width:359px){
 .dm-date-range-dialog{padding:8px}
}
/* At 320px the calendar alone uses the side padding: seven 44px targets fit. */
@media(max-width:339px){.dm-date-range-body{margin-inline:-8px;scrollbar-gutter:auto;scrollbar-width:thin}.dm-date-range-month table{width:100%;margin-inline:0}}
/* Short windows keep orientation and final actions outside the scrolling months.
   Rows and typography keep their normal touch/read sizes; only spacing contracts. */
@media(max-height:540px){
 .dm-date-range-dialog{width:min(800px,calc(100vw - 16px));max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:8px 12px}
 .dm-date-range-heading{margin-bottom:4px;align-items:center}
 .dm-date-range-heading h2{font-size:24px;line-height:1.15}
 .dm-date-range-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .dm-date-range-modes{margin-block:0 4px}
 .dm-date-range-mode{flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 8px;min-height:48px;padding:4px 8px}
 .dm-date-range-toolbar{margin:0 0 4px;gap:8px}
 .dm-date-range-status{font-size:18px;line-height:1.3}
 .dm-date-range-navigation{gap:8px}
 .dm-date-range-month h3{font-size:22px;margin-bottom:4px}
 .dm-date-range-months{gap:20px}
 .dm-date-range-footer{margin-top:6px;padding-top:6px;gap:4px 12px}
 .dm-date-range-actions{width:auto;margin-left:auto;gap:8px}
 .dm-date-range-actions button{padding:8px 12px}
}
@media(max-height:540px) and (max-width:479px){
 .dm-date-range-dialog{width:100%;padding:8px}
 .dm-date-range-heading h2{font-size:22px}
 .dm-date-range-mode{flex-direction:column;align-items:flex-start;gap:0}
 .dm-date-range-status{font-size:18px}
 .dm-date-range-navigation{gap:4px}
 .dm-date-range-actions{width:100%;margin:0}
}
