/* Gallery page only. The approved homepage and shared header/footer keep their styles. */
.gallery-page-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(330px,36.2vw,520px);overflow:hidden}
.gallery-page-hero-photo{position:absolute;inset:0 0 0 30%;z-index:-2}
.gallery-page-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.gallery-page-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 30%,rgba(248,247,243,.96) 37%,rgba(248,247,243,.65) 45%,rgba(248,247,243,0) 64%);pointer-events:none}
.gallery-page-hero-content{width:48%;padding:clamp(50px,6vw,84px) 0;min-width:0}
.gallery-page-hero .rich-text{max-width:470px;margin-top:20px;}
.gallery-page-shell{width:93%;max-width:1320px;margin-inline:auto}
.gallery-filters{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:12px;padding:22px 0 36px}
.gallery-filter{display:inline-flex;flex:1 1 auto;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:10px 18px;border:1px solid #b88a5566;border-radius:2px;background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;text-align:center;transition:background .18s,border-color .18s;overflow-wrap:anywhere}
.gallery-filter:hover{background:#f0e7d9;border-color:var(--gold)}
.gallery-filter.is-active{background:linear-gradient(110deg,#9b611f,#a26923);border-color:var(--gold);color:#fff;}
.gallery-filter-count{white-space:nowrap}
.gallery-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;transition:opacity .16s}
.gallery-page-grid[aria-busy=true]{opacity:.65}
.gallery-card{min-width:0;aspect-ratio:5/3;overflow:hidden;border-radius:4px}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
@media(hover:hover){.gallery-card .gallery-link:hover img{transform:scale(1.025)}}
.gallery-page-more{display:flex;justify-content:center;margin-top:28px}
.gallery-load-more{cursor:pointer}
.gallery-load-more:disabled{cursor:wait;opacity:.7}
.gallery-more-arrow{transform:rotate(90deg)}
.gallery-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:24px}
.gallery-collection{padding-bottom:38px}
.gallery-enhanced .gallery-pagination{display:none}
.gallery-load-more[hidden],.gallery-empty[hidden],.gallery-error[hidden]{display:none}
.gallery-empty{padding:60px 20px;text-align:center}
.gallery-error{padding:16px 0;text-align:center}
@media(max-width:1023px){
  .gallery-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-filters{gap:10px;padding-bottom:28px}
  .gallery-filter{padding-inline:14px}
}
@media(min-width:768px) and (max-width:1023px){.gallery-filter{flex-basis:calc(33.333% - 10px);min-width:0}}
@media(max-width:767px){
  .gallery-page-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0}
  .gallery-page-hero>.container{order:0}
  .gallery-page-hero-photo{position:relative;inset:auto;order:1;z-index:0;width:100%;aspect-ratio:8/5}
  .gallery-page-hero-photo img{position:absolute;inset:0}
  .gallery-page-hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--cream),rgba(248,247,243,0) 28%);pointer-events:none}
  .gallery-page-hero::after{display:none}
  .gallery-page-hero-content{width:100%;padding:40px 0 20px}
  .gallery-page-hero .rich-text{margin-top:18px;max-width:520px}
  .gallery-page-shell{width:calc(100% - 40px)}
  .gallery-filter{flex:1 1 calc(50% - 10px);min-width:0;padding:10px 12px}
  .gallery-filters{padding-top:20px;padding-bottom:24px}
  .gallery-page-more{margin-top:24px}
  .gallery-collection{padding-bottom:32px}
}
@media(max-width:639px){.gallery-page-grid{grid-template-columns:minmax(0,1fr)}}
