/* Date selection uses the same paper, ink and burgundy palette as the villa pages. */
.date-select-button{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;min-height:46px;padding:10px;border:1px solid #d6d1c8;background:#fffdf9;color:var(--ink);text-align:left;font:inherit;font-size:13px;line-height:1.4}.date-select-button span{min-width:0}.date-select-button svg{flex:none;width:17px;height:17px;color:var(--wine)}.date-select-button:hover{border-color:var(--wine)}
.availability-summary.full{grid-column:1/-1;margin:-3px 0 2px}.availability-open{padding:4px 0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--wine);font-size:12px}.availability-summary p{font-size:10px;line-height:1.6;margin:6px 0 0}.availability-status{color:var(--muted)}.availability-error{color:var(--wine)}
.stay-calendar{width:min(760px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:30px;border:1px solid #d7d0c4;background:var(--paper,#f8f5ef);color:var(--ink);overflow:auto;box-shadow:0 18px 80px #121a1840}.stay-calendar::backdrop{background:#18252285;backdrop-filter:blur(3px)}.calendar-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.calendar-heading .eyebrow{font-size:10px;color:var(--wine);margin:0 0 9px}.calendar-heading h2{font-family:var(--serif);font-size:34px;line-height:1.15;margin:0;letter-spacing:-.03em}.calendar-close{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--line);background:none;color:var(--ink)}.calendar-close svg{width:19px;height:19px}
.calendar-selection{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 12px}.calendar-selection-date{padding:13px 16px;text-align:left;border:1px solid #d4cdc1;background:#fffdf9;color:var(--ink)}.calendar-selection-date[aria-pressed=true]{border-color:var(--wine);box-shadow:inset 0 -2px var(--wine)}.calendar-selection-date span{display:block;letter-spacing:.12em;font-size:9px;color:var(--muted);margin-bottom:5px}.calendar-selection-date strong{display:block;font-size:14px;font-weight:500}.calendar-prompt{font-size:12px;min-height:18px;color:var(--wine);margin:0 0 12px}
.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px}.calendar-navigation>p{font-size:11px;color:var(--muted);margin:0}.calendar-month-arrow{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:none;color:var(--ink)}.calendar-month-arrow svg{width:15px;height:15px}.calendar-month-arrow:disabled{opacity:.25;cursor:default}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0 0 15px}.calendar-month{min-width:0}.calendar-month h3{text-align:center;text-transform:capitalize;font-family:var(--serif);font-weight:400;font-size:23px;margin:4px 0 15px;line-height:1.3}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekdays span{text-align:center;font-size:10px;color:var(--muted);padding-bottom:7px}.calendar-day{aspect-ratio:1;display:grid;place-items:center;min-width:0;min-height:35px;padding:0;border:1px solid #d8d8cf;background:#fffdf9;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer}.calendar-day.is-unknown{border-style:dashed}.calendar-day:disabled{cursor:not-allowed;color:#9a9892;background:#ece9e3;border-color:transparent}.calendar-day.is-busy{color:#8c8882;background:repeating-linear-gradient(135deg,#e9e6e0,#e9e6e0 4px,#f2efe9 4px,#f2efe9 6px);text-decoration:line-through}.calendar-day.is-past{opacity:.45;text-decoration:none}.calendar-day.is-checkout{background:linear-gradient(135deg,#fffdf9 50%,#e4ded3 50%);text-decoration:none;color:var(--wine);border-color:#c5b8a6}.calendar-day:not(:disabled):hover{border-color:var(--wine);background:#eee0d5;color:var(--wine)}.calendar-day.in-range{background:#edd9ce;border-color:#edd9ce;color:var(--wine)}.calendar-day.is-selected,.calendar-day.is-selected:hover{background:var(--wine);border-color:var(--wine);color:#fff;text-decoration:none}.calendar-day[aria-current=date]:not(.is-selected){font-weight:700;text-underline-offset:4px}.stay-calendar button:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 18px;border-top:1px solid var(--line);padding-top:14px;font-size:10px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend span:before{content:'';display:block;width:12px;height:12px;border:1px solid #c8c4bc;background:#fffdf9}.calendar-legend .legend-busy:before{background:repeating-linear-gradient(135deg,#d9d5cc,#d9d5cc 2px,#f0ece5 2px,#f0ece5 4px)}.calendar-legend .legend-selected:before{background:var(--wine);border-color:var(--wine)}.calendar-notice{font-size:11px;color:var(--muted);line-height:1.6;margin:12px 0 18px}.calendar-footer{display:flex;gap:15px;justify-content:space-between;align-items:center}.calendar-clear{background:none;border:0;border-bottom:1px solid currentColor;padding:6px 0;color:var(--ink);font-size:12px}.calendar-confirm{font-size:13px;padding:12px 22px;min-height:44px}.calendar-confirm:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:600px){.stay-calendar{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;margin:auto}.calendar-heading h2{font-size:29px}.calendar-heading .eyebrow{font-size:9px}.calendar-close{width:36px;height:36px}.calendar-selection{margin-top:20px}.calendar-selection-date{padding:12px 10px}.calendar-selection-date strong{font-size:13px}.calendar-months{grid-template-columns:1fr;gap:0}.calendar-second-month{display:none}.calendar-month h3{font-size:24px}.calendar-day{font-size:14px;min-height:37px}.calendar-legend{gap:8px 13px}.calendar-footer{gap:10px}.calendar-confirm{padding:12px 16px;font-size:12px}.date-select-button{font-size:14px;min-height:46px}.availability-summary p{font-size:11px}}

@media(min-width:601px) and (max-height:800px){.stay-calendar{padding:22px 28px}.calendar-heading h2{font-size:30px}.calendar-selection{margin:16px 0 8px}.calendar-selection-date{padding:10px 14px}.calendar-prompt{margin-bottom:8px}.calendar-month-arrow{height:34px}.calendar-month h3{margin:3px 0 8px}.calendar-day{aspect-ratio:auto;height:35px;min-height:35px}.calendar-months{margin-bottom:10px}.calendar-legend{padding-top:10px}.calendar-notice{margin:9px 0 12px}}

/* The search bar uses the shared picker while keeping its compact inline layout. */
.trip-search .date-select-button{margin:0;width:100%;min-height:35px;padding:4px 0;border:0;background:transparent;box-shadow:none;font-size:15px}.trip-search .date-select-button svg{width:17px;height:17px}.trip-search .date-select-button:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
@media(max-width:600px){.trip-search .date-select-button{font-size:14px;min-height:38px;gap:5px}.trip-search .date-select-button svg{width:15px;height:15px}}
