/* The image directory inherits TOP's blue, green, paper and rounded corners. */
.rooms-page #gallery-search,.rooms-page #photo-result-count{scroll-margin-top:120px;}
.rooms-page .page-hero-inner{min-height:0;padding-block:26px 32px;}
.rooms-page .page-hero .page-actions{grid-column:1/-1;margin-top:22px;}
.rooms-page .page-lead{max-width:39em;}
.rooms-page #page-title>.copy-unit,.rooms-page #page-title>em,.rooms-page .gallery-reading-copy h2>.copy-unit{display:block;}
.rooms-page .gallery-intro{gap:18px 32px;align-items:center;}
.rooms-page .gallery-intro h2{line-height:1.65;}
.rooms-page .gallery-browser-section>.section-intro{max-width:46em;}
.rooms-page .gallery-filters{border:1px solid #c7e0eb;border-radius:20px 6px 20px 6px;padding:26px;margin:24px 0 18px;background:linear-gradient(125deg,#f2f9fd,#f3faf6);}
.rooms-page .gallery-filters fieldset{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px 24px;}
.rooms-page .gallery-query{grid-column:auto;}
.rooms-page .gallery-filters input[type="hidden"]{display:none;}
.rooms-page .gallery-type-picker{grid-column:1/-1;min-width:0;}
.rooms-page .gallery-field-title{font-size:var(--t-label);line-height:1.75;font-weight:700;margin:0 0 10px;}
.rooms-page .gallery-kind-buttons{display:flex;flex-wrap:wrap;gap:9px;}
.rooms-page .gallery-kind-buttons>button{flex:1 1 150px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 7px;min-width:0;min-height:62px;padding:11px 9px;background:#fff;color:var(--ink);border:1px solid #bdd6e3;border-radius:10px;cursor:pointer;font:600 var(--t-ui)/1.65 var(--sans);transition:background .18s,border-color .18s,color .18s;}
.rooms-page .gallery-kind-buttons .icon{width:20px;height:20px;flex-shrink:0;color:var(--blue);}
.rooms-page .gallery-kind-buttons small{font-size:var(--t-small);font-weight:500;line-height:1.7;color:var(--muted);}
.rooms-page .gallery-kind-buttons>button[aria-pressed="true"]{background:#0878bd;border-color:#0878bd;color:#fff;box-shadow:0 3px 10px #0878bd18;}
.rooms-page .gallery-kind-buttons>button[aria-pressed="true"] .icon,.rooms-page .gallery-kind-buttons>button[aria-pressed="true"] small{color:#fff;}
.rooms-page .gallery-kind-buttons>button:hover{border-color:#0878bd;background:#e8f5fc;}
.rooms-page .gallery-kind-buttons>button[aria-pressed="true"]:hover{background:#0769a6;}
.rooms-page .gallery-kind-buttons>button:active{background:#d6edf7;}
.rooms-page .gallery-kind-buttons>button:focus-visible{outline:3px solid #096fb1;outline-offset:3px;}
.rooms-page .gallery-kind-buttons>button:disabled{cursor:wait;opacity:.7;}
.rooms-page .gallery-filter-actions{gap:12px 24px;}
.rooms-page .gallery-filter-actions .text-link{min-height:44px;}
.rooms-page .gallery-results-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 26px;padding:14px 0 18px;border-bottom:1px solid #dce8ee;margin-bottom:24px;}
.rooms-page .gallery-results-heading .photo-results{font-size:var(--t-copy);font-weight:700;line-height:1.85;margin:0;}
.rooms-page .gallery-active-filters{font-size:var(--t-ui);line-height:1.75;color:var(--muted);overflow-wrap:anywhere;margin:0;}
.rooms-page .photo-wall{gap:32px 24px;}
.rooms-page .photo-tile .photo-tile-image{border:1px solid #e2ebee;}
.rooms-page .photo-tile.diagram-tile .photo-tile-image{background:#fff;}
.rooms-page .photo-tile.diagram-tile img{padding:9px;background:#fff;}
.rooms-page .gallery-property-name{font-size:var(--t-card);font-weight:700;line-height:1.6;overflow-wrap:anywhere;margin:9px 0 5px;letter-spacing:.015em;}
.rooms-page .gallery-image-meta{gap:5px 10px;margin-top:12px;}
.rooms-page .gallery-image-meta .gallery-scope{overflow-wrap:anywhere;}
.rooms-page .gallery-ap{display:inline-block;margin-left:.6em;white-space:nowrap;}
.rooms-page .gallery-detail-link{display:flex;align-items:center;min-height:44px;line-height:1.85;font-size:var(--t-copy);}
.rooms-page .photo-tile a:hover .gallery-property-name{text-decoration:underline;text-underline-offset:5px;}
.rooms-page .photo-tile a:focus-visible{outline:3px solid #096fb1;outline-offset:5px;}
.rooms-page .gallery-pagination{margin-top:30px;gap:12px 22px;}
.rooms-page .gallery-pagination .topic-link{min-height:46px;}
.rooms-page .gallery-reading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:32px 48px;align-items:center;border-top:1px solid #dce8ee;padding-top:38px;padding-bottom:35px;}
.rooms-page .gallery-reading-copy{min-width:0;}
.rooms-page .gallery-reading-copy h2{font-size:var(--t-section);line-height:1.6;margin:10px 0 18px;}
.rooms-page .gallery-reading-copy p:not(.eyebrow){font-size:var(--t-body);line-height:1.9;margin:0;}
.rooms-page .gallery-reading-copy p+p:not(.eyebrow){margin-top:13px;}
.rooms-page .gallery-reading-copy>.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:var(--t-body);}
.rooms-page .gallery-reading-visual{min-width:0;}
.rooms-page .gallery-reading-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.rooms-page .gallery-reading-pair figure{margin:0;min-width:0;}
.rooms-page .gallery-reading-pair figure>a{display:block;border:1px solid #d8e6ec;border-radius:16px 5px 5px 5px;overflow:hidden;background:#fff;}
.rooms-page .gallery-reading-pair img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;}
.rooms-page .gallery-reading-pair figcaption{display:flex;flex-direction:column;gap:4px;font-size:var(--t-small);line-height:1.8;margin-top:10px;}
.rooms-page .gallery-reading-pair figcaption strong{font-weight:700;color:#126b99;}
.rooms-page .gallery-reading-pair figcaption span{color:var(--muted);overflow-wrap:anywhere;}
.rooms-page .gallery-reading-caption{font-size:var(--t-small);line-height:1.8;margin:16px 0 0;color:var(--muted);}
@media(max-width:1100px){.rooms-page .gallery-kind-buttons>button .icon{display:none;}.rooms-page .gallery-reading{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);}}
@media(max-width:980px){.rooms-page .gallery-query{grid-column:auto;}.rooms-page .gallery-reading{grid-template-columns:minmax(0,1fr);}.rooms-page .gallery-reading-copy{max-width:43em;}.rooms-page .gallery-reading-visual{max-width:680px;width:100%;}}
@media(max-width:620px){.rooms-page #gallery-search,.rooms-page #photo-result-count{scroll-margin-top:100px;}.rooms-page .gallery-filters{padding:20px 17px;border-radius:16px 5px;}.rooms-page .gallery-filters fieldset{grid-template-columns:minmax(0,1fr);gap:18px;}.rooms-page .gallery-kind-buttons{gap:8px;}.rooms-page .gallery-kind-buttons>button{flex-basis:130px;min-height:48px;padding:9px 7px;}.rooms-page .gallery-kind-buttons>button:first-child{flex-basis:100%;min-height:44px;}.rooms-page .gallery-intro{align-items:start;}.rooms-page .gallery-results-heading{gap:6px;padding-top:10px;}.rooms-page .photo-wall{gap:30px;}.rooms-page .gallery-property-name{font-size:var(--t-card);}.rooms-page .gallery-reading{padding-top:30px;padding-bottom:24px;gap:25px;}.rooms-page .gallery-reading-pair{gap:14px;}.rooms-page .gallery-reading-pair figcaption strong{font-size:var(--t-small);}}
@media(max-width:620px){.rooms-page .gallery-reading-pair{grid-template-columns:minmax(0,1fr);}.rooms-page .gallery-reading-visual{max-width:380px;}}
@media(prefers-reduced-motion:reduce){.rooms-page .gallery-kind-buttons>button{transition:none;}.rooms-page .photo-tile img{transition:none;transform:none!important;}}

/* The page follows the approved outer measure and loads one bounded result page. */
body.rooms-page main>.page-wrap{width:calc(100% - 2 * var(--layout-gutter));max-width:var(--wrap);}
.rooms-page .gallery-intro{align-items:baseline;}
.rooms-page .gallery-browser-section>.section-intro{line-height:1.9;}
.rooms-page .gallery-query-help{max-width:42em;}
.rooms-page .gallery-image-retry{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;margin:8px 16px 0;border:1px solid #b7d3e3;border-radius:9px;background:#f3f9fd;color:#125f8d;font:600 var(--t-ui)/1.75 var(--sans);}
.rooms-page .gallery-image-retry:focus-visible{outline:3px solid #208660;outline-offset:3px;}
.rooms-page .gallery-image-retry:disabled{color:var(--muted);cursor:wait;}
.rooms-page .gallery-image-failed .gallery-detail-link{color:#0866a8;}
.rooms-page .gallery-reading-copy h2{max-width:15em;}
.rooms-page .gallery-pagination{row-gap:12px;}
.rooms-page .gallery-pagination>button{white-space:normal;}
@media(max-width:767px){.rooms-page .gallery-intro{align-items:flex-start;}.rooms-page .gallery-reading{row-gap:24px;}}
@media(max-width:480px){.rooms-page .gallery-filters{padding-inline:17px;}.rooms-page .gallery-pagination{column-gap:10px;}}
@media print{.rooms-page .gallery-image-retry{display:none;}}
.rooms-page #gallery-search:focus-visible,.rooms-page #photo-result-count:focus-visible{outline:3px solid #208660;outline-offset:5px;}
