/* V7 date selection: cream paper, marine ink, coral endpoints. No inventory states. */
.cp-stay input[data-cp-date-input][type="hidden"]{display:none}
.cp-stay .cp-stay-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:52px;margin:0;padding:12px 13px;border:1px solid #728e85;border-radius:12px;background:var(--cp-paper);font-family:"CP Jost",sans-serif;font-size:.96rem;font-weight:400;line-height:1.35;text-align:left;color:var(--cp-ink);font-variant-numeric:tabular-nums}
.cp-stay-date-trigger svg{flex:none;width:20px;height:20px;color:var(--cp-sea)}
.cp-stay-date-value{min-width:0}
.cp-stay .cp-stay-date-trigger[data-cp-date-empty="true"]{color:var(--cp-muted)}
.cp-stay .cp-stay-date-trigger[aria-expanded="true"]{border-color:var(--cp-sea);background:var(--cp-water)}
.cp-stay .cp-stay-date-trigger[aria-invalid="true"]{border-color:#9d302b;background:#fff0e9}
.cp-site dialog.cp-calendar{width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:28px;border:0;border-radius:20px;background:var(--cp-paper);color:var(--cp-ink);font-family:"CP Jost",sans-serif;font-size:16px;line-height:1.5;box-shadow:0 24px 70px -20px rgba(10,43,44,.42);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--cp-sea) var(--cp-sand)}
.cp-calendar::backdrop{background:rgba(10,43,44,.7)}
.cp-calendar .cp-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cp-calendar .cp-calendar-title{margin:0;font-size:1.8rem;font-weight:500;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
.cp-calendar .cp-calendar-hint{margin:8px 0 20px;min-height:24px;max-width:62ch;font-size:.91rem;line-height:1.5;color:var(--cp-muted)}
.cp-calendar button{font:inherit;-webkit-tap-highlight-color:transparent}
.cp-calendar .cp-calendar-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:var(--cp-sea)}
.cp-calendar-icon svg{width:24px;height:24px;pointer-events:none}
.cp-calendar .cp-calendar-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px;border-bottom:1px solid var(--cp-line)}
.cp-calendar .cp-calendar-step{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:72px;padding:10px 14px 14px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;text-align:left;color:var(--cp-muted)}
.cp-calendar .cp-calendar-step[aria-pressed="true"]{border-bottom-color:var(--cp-coral);color:var(--cp-ink)}
.cp-calendar-step-label{font-size:.77rem;font-weight:500;line-height:1.35}
.cp-calendar-step-value{font-size:1rem;font-weight:500;line-height:1.35;font-variant-numeric:tabular-nums}
.cp-calendar .cp-calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.cp-calendar .cp-calendar-period{margin:0;font-size:.86rem;font-weight:500;line-height:1.35;text-align:center;color:var(--cp-muted)}
.cp-calendar .cp-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.cp-calendar .cp-calendar-month{min-width:0}
.cp-calendar .cp-calendar-month-title{margin:0 0 10px;font-size:1.14rem;font-weight:500;line-height:1.3;text-align:center;letter-spacing:-.015em;text-transform:none}
.cp-calendar .cp-calendar-grid{width:100%;margin:0;border:0;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.cp-calendar .cp-calendar-grid th{height:30px;padding:0;border:0;font-size:.73rem;font-weight:500;line-height:1.2;text-align:center;color:var(--cp-muted)}
.cp-calendar-grid abbr{text-decoration:none;cursor:default}
.cp-calendar .cp-calendar-grid td{height:44px;padding:0;border:0;text-align:center;vertical-align:middle;background:transparent}
.cp-calendar .cp-calendar-grid td[data-cp-in-range]{background:var(--cp-water)}
.cp-calendar .cp-calendar-grid td[data-cp-range-edge="start"]{border-radius:999px 0 0 999px}
.cp-calendar .cp-calendar-grid td[data-cp-range-edge="end"]{border-radius:0 999px 999px 0}
.cp-calendar .cp-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--cp-ink);font-size:.94rem;font-weight:400;line-height:1}
.cp-calendar .cp-calendar-day[aria-current="date"]{text-decoration:underline;text-decoration-color:var(--cp-coral);text-decoration-thickness:2px;text-underline-offset:5px}
.cp-calendar .cp-calendar-day[data-cp-range]{background:var(--cp-coral);color:#102c2b;font-weight:600}
.cp-calendar .cp-calendar-day[data-cp-range][aria-current="date"]{text-decoration-color:#102c2b}
.cp-calendar .cp-calendar-day:disabled{color:#707a70;opacity:1;cursor:default}
.cp-calendar .cp-calendar-step:disabled{opacity:.58}
.cp-calendar .cp-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--cp-line)}
.cp-calendar .cp-calendar-status{display:flex;align-items:center;gap:9px;margin:0;font-size:.88rem;font-weight:500;line-height:1.35;color:var(--cp-sea);font-variant-numeric:tabular-nums}
.cp-calendar .cp-calendar-status[data-cp-calendar-today-key="true"]:before{content:"";display:block;width:14px;height:14px;border-bottom:2px solid var(--cp-coral)}
.cp-calendar .cp-calendar-actions{display:flex;align-items:center;gap:10px}
.cp-calendar .cp-calendar-cancel,.cp-calendar .cp-calendar-apply{min-height:44px;margin:0;padding:11px 20px;border:0;border-radius:999px;font-size:.88rem;font-weight:500;line-height:1.4}
.cp-calendar .cp-calendar-cancel{background:transparent;color:var(--cp-sea);text-decoration:underline;text-underline-offset:4px}
.cp-calendar .cp-calendar-apply{background:var(--cp-coral);color:#102c2b}
.cp-calendar .cp-calendar-apply:disabled{background:var(--cp-sand);color:var(--cp-muted);opacity:1;cursor:default}
.cp-calendar .cp-calendar-note{margin:16px 0 0;max-width:66ch;font-size:.76rem;line-height:1.5;color:var(--cp-muted)}
.cp-calendar-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cp-stay .cp-stay-date-trigger:focus-visible,.cp-calendar button:focus-visible{z-index:1;outline:3px solid #a72f28;outline-offset:3px}
.cp-calendar button:focus-visible{transition:none;transform:none}
.cp-calendar .cp-calendar-day:focus-visible{outline-offset:-3px}
.cp-calendar ::selection{background:#ffc6b5;color:var(--cp-ink)}
@media(hover:hover) and (pointer:fine){
 .cp-stay .cp-stay-date-trigger:hover{border-color:var(--cp-sea)}
 .cp-calendar .cp-calendar-icon:not(:disabled):hover,.cp-calendar .cp-calendar-day:not(:disabled):not([data-cp-range]):hover{background:var(--cp-sand)}
 .cp-calendar .cp-calendar-step:not(:disabled):hover{background:var(--cp-sand)}
 .cp-calendar .cp-calendar-apply:not(:disabled):hover{background:#fb8074}
 .cp-calendar .cp-calendar-cancel:hover{text-decoration-thickness:2px}
 .cp-calendar button:not(:disabled):active,.cp-stay .cp-stay-date-trigger:active{transform:scale(.98)}
}
.cp-site[data-cp-input="keyboard"] .cp-calendar button,.cp-site[data-cp-input="keyboard"] .cp-stay-date-trigger{transform:none!important;transition:none!important}
@media(max-width:719px){
 .cp-site dialog.cp-calendar{width:min(410px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:20px}
 .cp-calendar .cp-calendar-title{font-size:1.55rem}
 .cp-calendar .cp-calendar-hint{margin-bottom:16px;font-size:.86rem}
 .cp-calendar .cp-calendar-months{grid-template-columns:1fr;gap:0}
 .cp-calendar .cp-calendar-step{padding-inline:10px}
 .cp-calendar .cp-calendar-footer{gap:12px;margin-top:16px;padding-top:16px}
 .cp-calendar .cp-calendar-actions{gap:4px}
 .cp-calendar .cp-calendar-cancel,.cp-calendar .cp-calendar-apply{padding-inline:14px;font-size:.83rem}
 .cp-calendar .cp-calendar-status{font-size:.82rem}
 .cp-stay .cp-stay-date-trigger{padding-inline:10px;font-size:.91rem;gap:6px}
 .cp-stay-date-trigger svg{width:18px;height:18px}
}
@media(max-width:374px){
 .cp-site dialog.cp-calendar{width:calc(100% - 8px);max-height:calc(100dvh - 8px);padding:14px 2px}
 .cp-calendar .cp-calendar-header,.cp-calendar .cp-calendar-hint,.cp-calendar .cp-calendar-steps,.cp-calendar .cp-calendar-footer,.cp-calendar .cp-calendar-note{margin-inline:12px}
 .cp-calendar .cp-calendar-footer{flex-wrap:wrap}
 .cp-calendar .cp-calendar-actions{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.cp-calendar,.cp-calendar *,.cp-stay .cp-stay-date-trigger{animation:none!important;transition:none!important;scroll-behavior:auto!important;transform:none!important}}
