/* Stay planning belongs to Coral's hotel story; all controls remain native. */
.cp-stay{font-family:"CP Jost",sans-serif;color:var(--cp-ink);min-width:0;scroll-margin-top:calc(var(--cp-header-height) + 28px)}
.cp-stay--strip{margin-block:30px 0;padding:32px 36px;background:var(--cp-water);border-radius:16px 52px 16px 16px}
.cp-stay-heading{margin-bottom:24px}
.cp-stay .cp-stay-heading h2{font-size:clamp(1.65rem,2.8vw,2.45rem);line-height:1.12;max-width:23ch}
.cp-stay-heading>p{margin-top:10px;max-width:60ch;font-size:.93rem;line-height:1.5;color:var(--cp-muted)}
.cp-stay-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 22px;scroll-margin-top:calc(var(--cp-header-height) + 32px)}
.cp-stay-fields{display:grid;grid-template-columns:1.35fr 1.35fr .8fr .8fr;gap:12px;min-width:0}
.cp-stay-field{min-width:0}
.cp-stay-field label{display:block;padding:0 2px 8px;font-size:.82rem;font-weight:600;line-height:1.4}
.cp-stay-field input{display:block;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:inherit;font-size:.96rem;line-height:1.35;color:var(--cp-ink);color-scheme:light;font-variant-numeric:tabular-nums;accent-color:var(--cp-sea);caret-color:var(--cp-sea)}
.cp-stay-field input:hover{border-color:var(--cp-sea)}
.cp-stay-field input:focus-visible,.cp-stay-edit:focus-visible{outline:3px solid #a72f28;outline-offset:3px}
.cp-stay-field input[aria-invalid="true"]{border-color:#9d302b;background:#fff0e9}
.cp-stay-field-error{display:block;margin-top:8px;font-size:.78rem;line-height:1.45;color:#8c2924}
.cp-stay-submit{margin-top:28px;min-height:52px;white-space:nowrap}
.cp-stay-submit:hover{background:#e74e46}
.cp-stay-errors{grid-column:1/-1;padding:16px 20px;border-radius:12px;background:var(--cp-rose);color:#702a24;font-size:.87rem;line-height:1.5}
.cp-stay-errors>p{font-weight:600}
.cp-stay-errors ul{margin-top:8px;padding-left:20px}
.cp-stay-errors li+li{margin-top:4px}
.cp-stay-note{margin-top:16px!important;max-width:86ch;font-size:.78rem!important;line-height:1.5!important;color:var(--cp-muted)}
.cp-stay-review{margin-top:26px;padding-top:24px;border-top:1px solid #a8bdb2}
.cp-stay-review,.cp-stay-errors{scroll-margin-top:calc(var(--cp-header-height) + var(--cp-topbar) + var(--cp-admin-bar) + 24px);scroll-margin-bottom:84px}
.cp-stay-review-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}
.cp-stay .cp-stay-review h3{font-size:1.38rem;line-height:1.25;letter-spacing:-.025em;max-width:25ch}
.cp-stay-edit{display:inline-flex;align-items:center;min-height:44px;margin-top:-7px;padding:8px 2px;font-size:.84rem;font-weight:500;text-underline-offset:4px}
.cp-stay-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 24px;margin-top:20px!important;font-variant-numeric:tabular-nums}
.cp-stay-summary dt{margin:0 0 4px;font-size:.75rem;color:var(--cp-muted)}
.cp-stay-summary dd{margin:0;font-size:.95rem;font-weight:500;line-height:1.45}
.cp-stay-status{margin-top:18px!important;font-size:.8rem!important;line-height:1.5!important;color:var(--cp-muted)}
.cp-stay-next{margin-top:14px}
.cp-stay--panel{padding:26px;background:var(--cp-water);border-radius:16px 48px 16px 16px}
.cp-stay-room-photo{overflow:hidden;aspect-ratio:1.85;border-radius:12px 32px 12px 12px;margin-bottom:24px}
.cp-stay-room-photo img{width:100%;height:100%;object-fit:cover}
.cp-stay--panel .cp-stay-room-name{font-size:1.05rem;font-weight:500;color:var(--cp-ink);line-height:1.45}
.cp-stay--panel .cp-stay-capacity{margin-top:5px;font-size:.8rem;color:var(--cp-sea)}
.cp-stay--panel .cp-stay-form{grid-template-columns:1fr;gap:16px}
.cp-stay--panel .cp-stay-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.cp-stay--panel .cp-stay-submit{width:100%;margin-top:0;justify-content:space-between}
.cp-stay--panel .cp-stay-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cp-stay-selected-room{margin-top:8px!important;font-size:.9rem;line-height:1.5}
.cp-stay--panel .cp-payment-assurance{margin-top:28px;padding-top:22px;border-top:1px solid #a8bdb2}
.cp-stay-reserve{align-self:start;min-width:0;border-radius:16px 48px 16px 16px}
.cp-room-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:18px}
.cp-room-card-actions .cp-link{margin-top:0}
.cp-room-card .cp-room-quick-book{min-height:44px;padding:11px 18px;font-size:.8rem;gap:14px}
@media(min-width:1101px){.cp-stay-reserve{position:sticky;top:calc(var(--cp-header-height) + var(--cp-topbar) + var(--cp-admin-bar) + 28px)}}
@media(max-width:1100px){.cp-stay-form{grid-template-columns:1fr}.cp-stay-submit{margin-top:0;justify-self:start}.cp-stay--panel{max-width:680px}.cp-stay--panel .cp-stay-submit{justify-self:stretch}.cp-stay-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cp-stay--strip{margin-top:20px;padding:26px 20px;border-top-right-radius:38px}.cp-stay-heading{margin-bottom:20px}.cp-stay .cp-stay-heading h2{font-size:1.85rem}.cp-stay-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.cp-stay-field input{padding-inline:10px;font-size:.91rem}.cp-stay-submit{width:100%;justify-self:stretch;justify-content:space-between}.cp-stay-summary{gap:16px 12px}.cp-stay-summary dd{font-size:.89rem}.cp-stay--panel{padding:23px 20px}.cp-stay .cp-stay-review h3{font-size:1.25rem}.cp-stay-errors{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){.cp-stay *{scroll-behavior:auto!important;transition:none!important}}
