.room-picker{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid #cfb78555}
.room-picker-head{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.room-picker h3{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:500;margin:.6rem 0;color:#183345;letter-spacing:-.04em}
.room-picker-head p{font-size:1rem;max-width:22rem;color:#48616b}
.room-tools{display:flex;align-items:end;gap:1rem;margin:1.6rem 0 1rem;flex-wrap:wrap}
.room-tools label{display:grid;gap:.5rem;font-size:.875rem;font-weight:600;min-width:12rem}
.room-tools select{font:inherit;color:#183345;padding:.85rem 2.2rem .85rem 1rem;border:1px solid #18334533;border-radius:10px;background:#fff;min-height:48px}
#room-count{font-size:.875rem;color:#48616b;padding:.9rem 0;margin-left:auto}
.room-extra-note,.room-availability{font-size:.875rem!important;color:#48616b;line-height:1.7}
#room-choices{border:0;margin:1.5rem 0;padding:0;min-width:0}
.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.room-card{overflow:hidden;border:1px solid #18334520;border-radius:18px;background:#fff;box-shadow:0 10px 32px #18334508;transition:border-color .2s,box-shadow .2s}
.room-card:has(input:checked){border-color:#ad8748;box-shadow:0 0 0 2px #cfb78555,0 12px 35px #18334512}
.room-photo{position:relative;aspect-ratio:1.7;background:#e2e8e8;overflow:hidden}
.room-photo img{width:100%;height:100%;object-fit:cover;display:block}
.room-photo button{position:absolute;bottom:1rem;border:1px solid #ffffff55;background:#183345d9;color:#fff;min-width:44px;min-height:44px;border-radius:50%;font:inherit;cursor:pointer}
.room-photo .room-photo-prev{left:1rem}.room-photo .room-photo-next{right:1rem}
.room-photo-count{position:absolute;top:1rem;right:1rem;background:#183345cc;color:#fff;border-radius:20px;padding:.35rem .75rem;font-size:.875rem}
.room-card{display:flex;flex-direction:column}
.room-photo{flex-shrink:0}
.room-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.room-select{margin-top:auto}
.room-meta{display:flex;flex-wrap:wrap;gap:.5rem;color:#48616b;font-size:.875rem}
.room-meta span{padding:.35rem .65rem;background:#eff4f4;border-radius:6px}
.room-meta span{display:inline-flex;align-items:center;gap:.4rem}
.room-meta svg{width:18px;height:18px;flex-shrink:0}
.room-amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem .65rem;list-style:none;margin:0 0 1.25rem;padding:1.2rem 0;border-top:1px solid #18334515;border-bottom:1px solid #18334515}
.room-amenities li{display:flex;align-items:center;gap:.55rem;font-size:.875rem;color:#48616b;line-height:1.5}
.room-amenities svg,.room-extra svg{width:21px;height:21px;color:#987844;flex-shrink:0}
.room-extra{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#48616b;margin:0 0 1rem;line-height:1.6}
.room-thumbnails{display:flex;gap:.5rem;padding:.75rem .75rem 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#cfb785 transparent}
.room-thumbnails button{padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;background:#eff4f4;cursor:pointer;flex:0 0 64px;height:46px;opacity:.7;transition:opacity .2s,border-color .2s}
.room-thumbnails button[aria-pressed="true"]{border-color:#ad8748;opacity:1}
.room-thumbnails button:hover{opacity:1}
.room-thumbnails img{width:100%;height:100%;object-fit:cover;display:block}
.room-select:has(input:disabled){cursor:not-allowed;color:#6c7a80}
@media(max-width:380px){.room-amenities{grid-template-columns:1fr}}
.room-card h4{font-size:1.25rem;line-height:1.45;font-weight:600;color:#183345;margin:1rem 0 .6rem;letter-spacing:-.025em}
.room-bed{font-size:.95rem;color:#48616b;line-height:1.7;min-height:3.3rem;margin:.5rem 0 1rem}
.room-card details{font-size:.875rem;line-height:1.7;margin-bottom:1.25rem;color:#48616b}
.room-card summary{cursor:pointer;color:#183345;min-height:36px}
.room-select{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border:1px solid #18334533;border-radius:10px;color:#183345;background:#f7f9f9;font-size:1rem;font-weight:600;cursor:pointer}
.room-select input{width:20px;height:20px;accent-color:#99723d;flex-shrink:0}
.room-card:has(input:checked) .room-select{background:linear-gradient(110deg,#f5e5bf,#e3c68e);border-color:#cfb785}
#room-choices:disabled .room-select{cursor:not-allowed;color:#6c7a80}
.room-show-all{display:block;margin:1.5rem auto;background:transparent;color:#183345;border:1px solid #18334544;border-radius:10px;min-height:48px;padding:.8rem 1.5rem;font:inherit;cursor:pointer}
.room-picker button:focus-visible,.room-picker select:focus-visible,.room-picker summary:focus-visible,.room-select:has(input:focus-visible){outline:3px solid #99723d;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.room-picker [hidden]{display:none!important}
@media(max-width:700px){.room-grid{grid-template-columns:1fr}.room-picker-head{display:block}.room-tools label{min-width:0;flex:1}.room-tools{gap:.75rem}#room-count{width:100%;padding:0}.room-card-body{padding:1.2rem}.room-bed{min-height:0}}
@media(prefers-reduced-motion:reduce){.room-card{transition:none}}
