.new-rooms .accommodation-card{display:flex;flex-direction:column}.new-rooms .accommodation-copy{padding-top:24px;flex:1;display:flex;flex-direction:column}.new-rooms .accommodation-copy>.button{align-self:flex-start;margin-top:auto}.room-info-title{font:700 16px Lato,sans-serif;margin:10px 0 12px}.room-facts{list-style:none;margin:0 0 28px;padding:0;font-size:16px;line-height:1.7}.room-facts li{position:relative;padding:7px 0 7px 20px;border-bottom:1px solid #e5e1d3}.room-facts li::before{content:'';width:6px;height:6px;border-radius:50%;position:absolute;left:0;top:18px;background:#a6a15b}
.room-carousel{position:relative;overflow:hidden;background:#e9e7d8}.room-photo{display:block;touch-action:pan-y;overflow:hidden}.room-photo>img{width:100%;height:340px;object-fit:cover}.photo-expand{position:absolute;top:16px;right:16px;background:#fffbf7;color:#30312b;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:27px}.card-prev,.card-next{position:absolute;top:calc(50% - 23px);border:0;background:#fffbf7ed;color:#30312b;border-radius:50%;width:46px;height:46px;font-size:24px;box-shadow:0 2px 14px #0002}.card-prev{left:14px}.card-next{right:14px}.card-counter{position:absolute;bottom:14px;left:16px;background:#25261ae6;color:#fff;padding:5px 12px;border-radius:20px;font-size:13px;pointer-events:none}.js-only{display:none}.gallery-ready .js-only{display:flex}.card-preview{gap:8px;padding:12px 14px 0;align-items:stretch}.card-preview button{border:2px solid transparent;padding:2px;border-radius:6px;background:transparent;min-width:0;flex:1;min-height:52px}.card-preview img{height:52px;width:100%;border-radius:3px}.card-preview button[aria-pressed=true]{border-color:#64602f}.card-preview .all-photos{font-size:12px;line-height:1.3;color:#41432c;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:1px solid #a6a15b;flex:1.2}.all-photos span{font-weight:700}.gallery-ready .card-prev,.gallery-ready .card-next{align-items:center;justify-content:center}
#photo-viewer{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100svh;max-height:100svh;padding:22px 4vw;border:0;background:#fffbf7;color:#30312b;overflow:auto}#photo-viewer[open]{display:flex;flex-direction:column;gap:12px}#photo-viewer::backdrop{background:#222d}.viewer-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}.viewer-header .eyebrow{margin:0 0 4px;font-size:10px}.viewer-header h2{font-size:clamp(20px,2.4vw,30px);line-height:1.7;margin:0}.viewer-close,.viewer-prev,.viewer-next{flex-shrink:0;min-width:46px;height:46px;border:1px solid #a6a15b;border-radius:50%;background:#fffbf7;color:#30312b;font-size:25px}.viewer-stage{position:relative;min-height:130px;flex:1;background:#eeece3;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}.viewer-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.viewer-prev,.viewer-next{position:absolute;top:calc(50% - 23px);z-index:1;background:#fffbf7ed;box-shadow:0 2px 14px #0002}.viewer-prev{left:16px}.viewer-next{right:16px}.viewer-caption{display:flex;justify-content:space-between;gap:15px;font-size:14px;flex-shrink:0}.viewer-caption p{margin:0}#viewer-count{white-space:nowrap}.viewer-thumbs{display:flex;gap:9px;overflow:auto;padding:4px 3px 8px;flex-shrink:0;scrollbar-color:#a6a15b #eeece3}.viewer-thumbs button{flex:0 0 84px;height:62px;border:2px solid transparent;padding:3px;background:transparent;border-radius:5px}.viewer-thumbs button[aria-pressed=true]{border-color:#55532b}.viewer-thumbs img{width:100%;height:100%;border-radius:3px}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.viewer-bottom>p{margin:0;font-size:13px;color:#57594d}.gallery-active{overflow:hidden}
@media(max-width:650px){.room-photo>img{height:260px}.card-preview{gap:5px;padding:10px 10px 0}.card-preview img{height:42px}.card-preview .all-photos{font-size:11px}#photo-viewer{padding:16px 14px}.viewer-header h2{font-size:21px}.viewer-header .eyebrow{font-size:9px}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-bottom{flex-direction:column;align-items:stretch;gap:8px}.viewer-bottom .button{justify-content:center}.viewer-bottom>p{text-align:center;font-size:12px}.viewer-caption{font-size:12px}.viewer-thumbs button{flex-basis:68px;height:54px}.room-facts{font-size:16px}}
@media(prefers-reduced-motion:reduce){.room-photo>img,#viewer-photo{animation:none!important;transition:none!important}}
