
/* CDC Gallery 2026: responsive image grid and functional filters */
.gallery-page{background:#f7f7f5;color:#102239;overflow:hidden}
.gallery-page .gallery-filter{position:sticky;top:0;z-index:12;display:flex;justify-content:center;align-items:stretch;gap:0;background:#0d2036;padding:0 max(20px,5vw);min-height:82px;flex-wrap:wrap}
.gallery-page .gallery-filter button{flex:1 1 145px;min-width:0;border:0;border-bottom:3px solid transparent;background:transparent;color:#d6e0e9;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;padding:21px 10px;cursor:pointer;transition:color .2s,border-color .2s}
.gallery-page .gallery-filter button:hover,.gallery-page .gallery-filter button:focus-visible{color:white;outline-offset:-4px}
.gallery-page .gallery-filter button.is-active{color:white;border-bottom-color:#e97722}
.gallery-page .gallery-collections{width:min(1440px,calc(100% - 56px));margin:0 auto;padding:58px 0 72px;display:block}
.gallery-page .gallery-collection{padding:0 0 62px;margin:0 0 46px;scroll-margin-top:105px}
.gallery-page .gallery-collection[hidden]{display:none!important}
.gallery-page .gallery-section-head{display:flex;align-items:flex-start;gap:24px;margin:0 0 26px}
.gallery-page .gallery-section-head>span{color:#e97722;font-size:12px;margin-top:8px}
.gallery-page .gallery-section-head h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(36px,3.5vw,54px);line-height:1.05;font-weight:500;letter-spacing:-.025em;margin:7px 0 0;text-transform:none;color:#102239}
.gallery-page .gallery-section-head h2 em{font-style:normal;color:#668092}
.gallery-page .gallery-section-head p{font-size:10px;letter-spacing:.16em;color:#e97722;text-transform:uppercase;font-weight:600;margin:0}
.gallery-page .gallery-editorial-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;align-items:start}
.gallery-page .gallery-card,.gallery-page .gallery-card-featured{grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0!important;margin:0!important;display:block!important;position:relative}
.gallery-page .gallery-open{display:block;width:100%;padding:0;border:0;background:#e4e8eb;position:relative;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}
.gallery-page .gallery-open img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center;display:block;transition:transform .5s ease}
.gallery-page .gallery-open:hover img{transform:scale(1.035)}
.gallery-page .gallery-view{position:absolute;right:12px;bottom:12px;background:rgba(9,23,40,.85);padding:8px 12px;color:#fff;font-size:11px;opacity:0;transition:opacity .2s}
.gallery-page .gallery-open:hover .gallery-view,.gallery-page .gallery-open:focus-visible .gallery-view{opacity:1}
.gallery-page figcaption{display:flex;align-items:baseline;gap:10px;padding:12px 1px 0;color:#263c51}
.gallery-page figcaption small{color:#e97722;font-size:10px}
.gallery-page figcaption strong{font-size:12px;font-weight:500;line-height:1.4}
.gallery-page .progress{margin-top:0}
.gallery-page .gallery-lightbox{border:0;padding:42px 20px 22px;background:#0a1525;color:white;max-width:min(94vw,1400px);max-height:94vh}
.gallery-page .gallery-lightbox img{max-height:78vh;width:auto;margin:auto;object-fit:contain}
.gallery-lightbox::backdrop{background:rgba(0,8,18,.91)}

/* Fixed thumbnail layout — overrides legacy featured-card masonry sizing */
.gallery-page .gallery-collections .gallery-editorial-grid{display:grid!important;grid-auto-flow:row!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;align-items:stretch!important}
.gallery-page .gallery-collections .gallery-editorial-grid > figure.gallery-card{grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:column!important;position:relative!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important}
.gallery-page .gallery-collections .gallery-editorial-grid > figure.gallery-card > button.gallery-open{flex:none!important;display:block!important;position:relative!important;height:260px!important;min-height:260px!important;max-height:260px!important;aspect-ratio:auto!important;width:100%!important;overflow:hidden!important}
.gallery-page .gallery-collections .gallery-editorial-grid > figure.gallery-card > button.gallery-open > img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important}
.gallery-page .gallery-collections .gallery-editorial-grid > figure.gallery-card > figcaption{position:static!important;flex:none!important;min-height:38px}
.gallery-page .gallery-filter a.gallery-filter-link{display:flex;flex:1 1 145px;min-width:0;justify-content:center;align-items:center;text-align:center;color:#d6e0e9;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:3px solid transparent;padding:21px 10px}
.gallery-page .gallery-filter a.gallery-filter-link:hover,.gallery-page .gallery-filter a.gallery-filter-link:focus-visible{color:#fff;border-color:#e97722}
.gallery-page .gallery-floor-plans{scroll-margin-top:115px}
.gallery-page .gallery-floor-plans .plan-grid img{object-fit:contain}
@media(max-width:900px){.gallery-page .gallery-collections .gallery-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.gallery-page .gallery-collections .gallery-editorial-grid{grid-template-columns:1fr!important}.gallery-page .gallery-collections .gallery-editorial-grid > figure.gallery-card > button.gallery-open{height:230px!important;min-height:230px!important;max-height:230px!important}.gallery-page .gallery-filter a.gallery-filter-link{flex:1 1 50%;font-size:10px;padding:16px 4px}}

@media(max-width:900px){.gallery-page .gallery-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.gallery-page .gallery-collections{width:calc(100% - 36px)}}
@media(max-width:600px){.gallery-page .gallery-filter{position:relative;min-height:auto;padding:0 8px}.gallery-page .gallery-filter button{flex:1 1 50%;font-size:10px;padding:16px 4px}.gallery-page .gallery-collections{width:calc(100% - 28px);padding-top:34px}.gallery-page .gallery-editorial-grid{grid-template-columns:1fr!important;gap:22px!important}.gallery-page .gallery-collection{padding-bottom:28px;margin-bottom:30px}.gallery-page .gallery-section-head h2{font-size:35px}.gallery-page .gallery-open{aspect-ratio:16/11}.gallery-page .gallery-view{opacity:1}}
