.room-detail-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.room-info .room-detail-actions .room-social{margin:0;text-align:center}.room-info .room-detail-actions .text-link{justify-content:center;margin:0}.room-details-content{width:min(1100px,100%);margin:0 auto;padding:32px 28px 56px}.room-details-media{height:min(58vh,620px);min-height:240px;background:#eef0e9;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden}.room-details-media img,.room-details-media video{display:block;width:100%;height:100%;object-fit:contain}.room-details-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin:16px 0}.room-details-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--teal)}.room-details-controls button[hidden]{display:none}.room-details-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.room-details-controls p{margin:0;font-size:14px}.room-details-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px}.room-details-thumbnails[hidden]{display:none}.room-details-thumbnails button{flex:0 0 92px;height:70px;padding:3px;background:transparent;border:2px solid transparent;border-radius:8px;overflow:hidden}.room-details-thumbnails button[aria-pressed=true]{border-color:var(--brand-blue)}.room-details-thumbnails img,.room-details-thumbnails video{width:100%;height:100%;object-fit:cover;border-radius:4px}.room-details-copy{padding-top:24px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.room-details-copy h3{font:400 32px/1.2 var(--serif);margin:0 0 16px}.room-details-copy p{font-size:16px;line-height:1.8;white-space:pre-line}.room-details-copy ul{list-style:none;padding:0;display:grid;gap:16px 20px;font-size:15px;line-height:1.6}.room-details-copy li{display:flex;align-items:flex-start;gap:10px;min-width:0}.room-details-copy li span{overflow-wrap:anywhere}.room-details-copy li svg{width:24px;height:24px;flex:0 0 24px;color:var(--brand-blue);margin-top:1px}@media(min-width:761px){.room-details-copy ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.room-details-booking{border-top:1px solid var(--line);margin-top:28px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.room-details-booking .room-price{margin:0;font-size:clamp(30px,4vw,40px);font-weight:600;line-height:1.2}.room-details-content .button{background:var(--brand-blue);color:white}.legal-dialog[open] .room-details-content{animation:legal-content-in .5s cubic-bezier(.22,1,.36,1) .08s backwards}@media(max-width:760px){.room-details-content{padding:20px 22px 40px}.room-details-media{height:35vh;min-height:220px}.room-details-copy{grid-template-columns:1fr;gap:24px}.room-details-booking{flex-wrap:wrap}.room-details-thumbnails button{flex-basis:76px;height:60px}}@media(prefers-reduced-motion:reduce){.legal-dialog[open] .room-details-content{animation:none}}
.room-photo-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;height:420px;border-radius:12px;overflow:hidden}.room-photo-mosaic button{position:relative;border:0;padding:0;background:#e8ece8;overflow:hidden;cursor:pointer;min-width:0;min-height:0}.room-photo-mosaic button:first-child{grid-row:span 2}.room-photo-mosaic img,.room-photo-mosaic video{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease}.room-photo-mosaic button:hover img,.room-photo-mosaic button:hover video{transform:scale(1.025)}.room-photo-mosaic button:focus-visible{outline:3px solid var(--brand-blue);outline-offset:-4px}.room-photo-mosaic[data-count="1"]{grid-template-columns:1fr}.room-photo-mosaic[data-count="2"]{grid-template-columns:2fr 1fr}.room-photo-mosaic[data-count="2"] button:last-child{grid-row:span 2}.room-photo-mosaic[data-count="3"]{grid-template-columns:2fr 1fr}.room-photo-mosaic[data-count="4"] button:nth-child(2){grid-column:span 2}.room-photo-more{position:absolute;inset:0;display:grid;place-items:center;background:#001e1e88;color:white;font:600 24px/1.2 var(--sans)}
dialog.room-photo-viewer{background:#10191e;color:white}.room-photo-viewer .dialog-header{background:#10191e;border-color:#ffffff26}.room-photo-viewer[id] .close-dialog{color:white;border-color:#ffffff66}.room-viewer-content{display:flex;flex-direction:column;min-height:0;flex:1;padding:20px 28px;width:100%;max-width:1500px;margin:auto}.room-photo-viewer .room-details-media{background:transparent;height:calc(100dvh - 290px);min-height:160px;border-radius:0}.room-photo-viewer .room-details-controls button{color:white;border-color:#ffffff66}.room-photo-viewer .room-details-thumbnails{justify-content:safe center;flex-shrink:0}.room-photo-viewer .room-details-thumbnails button[aria-pressed=true]{border-color:white}.room-photo-viewer .room-details-controls{flex-shrink:0}@media(max-width:760px){.room-photo-mosaic{height:280px;gap:6px;grid-template-columns:1.5fr 1fr 1fr}.room-photo-more{font-size:18px}.room-viewer-content{padding:12px}.room-photo-viewer .room-details-media{height:auto;flex:1;min-height:180px}.room-photo-viewer .room-details-thumbnails{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.room-photo-mosaic img,.room-photo-mosaic video{transition:none}}

#room-details-dialog [data-room-book]:focus:not(:focus-visible),#room-details-dialog [data-room-book].pointer-focus:focus{outline:none;box-shadow:none}

.room-photo-viewer .room-details-media{position:relative;isolation:isolate}.room-photo-viewer .room-details-media>img,.room-photo-viewer .room-details-media>video{position:absolute;inset:0}

.room-photo-viewer .room-details-media{touch-action:pan-y pinch-zoom;cursor:grab;user-select:none}.room-photo-viewer .room-details-media.is-dragging{cursor:grabbing}.room-photo-viewer .room-details-media>video{cursor:auto}

.room-details-booking .room-price small{display:inline-block;margin-left:10px;font-size:15px;font-weight:400;line-height:1.4;color:var(--teal);opacity:.75}

.room-instagram-link{margin:20px 0 0;text-align:center}.room-instagram-link .text-link{justify-content:center;flex-wrap:wrap;gap:10px;font-size:13px;min-height:40px;padding:8px 0}.room-instagram-link .instagram-link-label{display:inline-flex;align-items:center;gap:8px;font-size:inherit}.room-instagram-link .instagram-link-icon{width:20px;height:20px;flex:0 0 20px}.room-instagram-link .room-instagram-name{font-size:13px;font-weight:400;opacity:.75;margin-left:4px}

.room-details-content .room-instagram-link .text-link,
.room-details-content .room-instagram-link .text-link span{font-size:13px;line-height:1.5;font-weight:400}
.room-details-content .room-instagram-link .text-link>.direction-icon,
.room-details-content .room-instagram-link .text-link>span .direction-icon{width:16px;height:16px;font-size:16px}

.room-details-booking [data-room-book]{margin-inline-start:auto}

@media(max-width:760px){
 .room-details-booking{flex-direction:column;align-items:stretch;gap:20px}
 .room-details-booking .room-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 10px}
 .room-details-booking .room-price small{margin-left:0}
 .room-details-booking [data-room-book]{width:100%;margin-inline-start:0;justify-content:center;text-align:center}
}
