.date-dialog { width: min(440px,calc(100vw - 24px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper, var(--white, #fffaf4)); color: var(--ink); box-shadow: var(--shadow, 0 20px 55px #22160d26); }
.date-dialog::backdrop { background: rgba(23,25,20,.48); }
.date-dialog-header { display: flex; align-items: center; gap: 16px; justify-content: space-between; margin-bottom: 18px; }
.date-dialog-header h2 { margin: 0; font: 400 32px/1.1 var(--serif); letter-spacing: -.03em; }
.date-dialog-close { flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); font: 300 26px var(--sans); cursor: pointer; }
.date-dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); padding-top: 18px; }
.date-dialog-actions .button { min-height: 44px; padding: 12px 20px; }
.date-clear { background: transparent; border: 1px solid var(--line); color: var(--ink); }
.date-dialog button:disabled { opacity: .45; cursor: default; }
@media(max-width:400px) { .date-dialog { padding: 14px; width: calc(100vw - 16px); border-radius: 20px; } .date-dialog-header h2 { font-size: 28px; } }

/* Calendar action controls share the site's button shape and tap size. */
.date-dialog-actions .button{min-height:44px;border-radius:10px;font-size:13px;font-weight:600;line-height:1.35;display:inline-flex;align-items:center;justify-content:center}
.date-dialog-close{border-radius:10px}

.date-dialog .button-dark{background:var(--rust-dark);border-color:var(--rust-dark);color:#fff}

.stay-date-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.stay-date-fields.has-hotel-calendar .stay-native,.stay-date-fields [hidden] {display:none}
.stay-date-trigger {grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;min-width:0;min-height:58px;display:grid;column-gap:12px;row-gap:3px;text-align:left;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper, var(--white, #fffaf4));color:var(--ink);cursor:pointer;font:inherit}
.stay-date-trigger:hover {border-color:var(--rust-dark)}
.stay-date-trigger span {font-size:12px;color:var(--ink-soft)}
.stay-date-trigger strong {grid-column:1;font:600 clamp(13px,2vw,15px)/1.35 var(--sans)}
.stay-date-trigger svg {grid-column:2;grid-row:1/3;align-self:center;width:22px;height:22px;color:var(--rust-dark)}
[data-stay-duration] {grid-column:1/-1;margin:0;color:var(--ink-soft);font-size:13px}
[data-stay-duration]:empty {display:none}
.stay-calendar-dialog {width:min(650px,calc(100vw - 24px));padding:18px}
.stay-calendar-dialog .date-dialog-header {margin-bottom:4px}
.stay-calendar-help {margin:0 0 10px;color:var(--ink-soft);font-size:14px}
.stay-calendar-dialog .datepicker {width:100%;background:var(--paper, var(--white, #fffaf4));color:var(--ink);border:0;box-shadow:none;font-family:var(--sans)}
.stay-calendar-dialog .datepicker__inner {padding:8px 0 12px}
.stay-calendar-dialog .datepicker__month {table-layout:fixed}
.stay-calendar-dialog .datepicker__month-day {height:39px}
.stay-calendar-dialog .datepicker__month-day--valid {color:var(--ink)}
.stay-calendar-dialog .datepicker__month-day--valid:hover,.stay-calendar-dialog .datepicker__month-day--hovering,.stay-calendar-dialog .datepicker__month-day--selected {background:#f3e2d4;color:#472718}
.stay-calendar-dialog .datepicker__month-day--today {background:var(--cream, #f6eee5);color:var(--rust-dark);border-color:var(--rust-dark);font-weight:650}
.stay-calendar-dialog .datepicker__month-day--first-day-selected,.stay-calendar-dialog .datepicker__month-day--last-day-selected,.stay-calendar-dialog .datepicker__month-day--first-day-selected:hover,.stay-calendar-dialog .datepicker__month-day--last-day-selected:hover {background:var(--rust-dark);color:#fff}
.stay-calendar-dialog .datepicker__month-caption {height:52px}
.stay-calendar-dialog .datepicker__month-caption > th {position:relative}
.stay-calendar-dialog .datepicker__month-button {position:absolute;top:50%;transform:translateY(-50%);box-sizing:border-box;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--line);border-radius:9px;color:var(--rust-dark)}
.stay-calendar-dialog .datepicker__month-button--prev {left:0}
.stay-calendar-dialog .datepicker__month-button--next {right:0}
.stay-calendar-dialog .datepicker__month-button:hover {background:var(--cream,#f6eee5)}
.stay-calendar-dialog .datepicker__month-button:after {position:absolute;inset:0;margin:auto;float:none;display:block;width:20px;height:20px;background-size:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23944222' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E")}
.stay-calendar-dialog .datepicker__month-button--next:after {transform:scaleX(-1)}
.stay-calendar-dialog .datepicker__topbar {background:transparent;margin:0}
.stay-calendar-dialog .datepicker__info--help {display:none}
.stay-calendar-dialog .datepicker__info--selected,.stay-calendar-dialog .datepicker__info--error {padding:4px 0 10px;line-height:1.45;font:500 13px/1.45 var(--sans);text-transform:none}
.stay-calendar-dialog .datepicker__info--selected {color:var(--ink)}
.stay-calendar-dialog .datepicker__month-day--invalid {color:#746d63}
.stay-calendar-dialog .datepicker__month-day:focus-visible {outline:2px solid var(--rust-dark);outline-offset:-2px}
@media(min-width:480px){.stay-calendar-dialog .datepicker__month {width:48%}}
@media(max-width:479px){.stay-calendar-dialog{width:calc(100vw - 12px);padding:12px}.stay-calendar-dialog .datepicker__month-day {height:42px}}
.stay-calendar-status{margin:8px 0;color:var(--ink-soft);font-size:14px}
.stay-calendar-status:empty,.stay-calendar-dialog:not([data-calendar-mode="stay"]):not([data-calendar-mode="preview"]) .datepicker__topbar{display:none}
.date-dialog-actions .button{cursor:pointer;font-family:var(--sans)}
