/* The full gallery shares Senflora's existing cream, forest and gold palette. */
.home-gallery{background:var(--green);color:var(--cream)}
.home-gallery.section-wrap{padding-top:56px;padding-bottom:56px}
.home-gallery .eyebrow{color:#deca95}
.home-gallery .text-link{color:var(--cream)}
.home-gallery .section-heading{margin-bottom:26px;gap:24px}
.home-gallery .eyebrow{margin-bottom:14px}
.home-gallery h2{font-size:clamp(2.1rem,3.2vw,3rem);line-height:1.12}
.gallery-preview-grid,.gallery-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;min-width:0}
.gallery-preview-window{--gallery-visible:6;--gallery-gap:14px;max-width:100%;min-width:0;overflow:hidden;border-top:1px solid #f5f2ea33;padding-top:24px;touch-action:pan-y pinch-zoom}
.gallery-preview-grid{display:flex;gap:var(--gallery-gap);width:100%;min-width:0}
.gallery-preview-card{flex:0 0 calc((100% + var(--gallery-gap))/var(--gallery-visible) - var(--gallery-gap))}
.gallery-preview-window:focus{outline:none}
.gallery-preview-window:focus-visible:not(.viewer-return-focus){outline:2px solid var(--gold);outline-offset:4px}
.gallery-photo-grid{gap:20px 16px}
.gallery-preview-card,.gallery-tile{min-width:0}
.gallery-preview-card .photo-open{aspect-ratio:4/3}
.gallery-tile .photo-open{aspect-ratio:4/3}
.gallery-preview-card figcaption{font-family:'Open Sans',Arial,sans-serif;font-size:.875rem;line-height:1.5;margin-top:10px}
.gallery-preview-card .photo-zoom{width:26px;height:26px;font-size:1.125rem;bottom:6px;right:6px}
.gallery-tile figcaption{padding:10px 0 0;font-size:1rem;color:var(--muted);line-height:1.5}
.gallery-category{display:contents}
.gallery-category[hidden],.gallery-filter-buttons[hidden],.gallery-filter-select[hidden],#gallery-category-link[hidden]{display:none}
.gallery-photo-grid{position:relative}
.gallery-category h3:focus{outline:none}
.gallery-filter-buttons{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 28px;border-bottom:1px solid var(--line)}
.gallery-filter-buttons button{background:transparent;color:var(--green);border:1px solid var(--line);padding:10px 16px;min-height:44px;max-width:100%;font-size:.875rem;line-height:1.5;cursor:pointer}
.gallery-filter-buttons button:hover{border-color:var(--green)}
.gallery-filter-buttons button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--cream)}
.gallery-filter-select{display:none}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0;scroll-margin-top:calc(var(--site-header-height,100px) + 16px)}
.gallery-toolbar h2{font-size:clamp(2rem,3vw,3rem);line-height:1.15}
.gallery-toolbar p{color:var(--muted);font-size:.875rem;margin-top:12px;line-height:1.6}
.gallery-toolbar .text-link{margin-top:0;flex-shrink:0}
.gallery-preview-card img,.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover}
.viewer-category-link{color:var(--cream);font-size:.875rem;margin:0 auto 20px;display:table;line-height:1.5}
.viewer-category-link[hidden]{display:none}
#viewer-image{touch-action:pan-y pinch-zoom}
@media(max-width:1100px){.gallery-preview-window{--gallery-visible:5}}
@media(max-width:1000px){.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:18px}.gallery-toolbar .text-link{flex-shrink:1}.home-gallery.section-wrap{padding-top:42px;padding-bottom:42px}.home-gallery .section-heading{align-items:flex-start}}
@media(max-width:700px){
 .gallery-filter-buttons{display:none}
 .gallery-filter-select{display:block;padding-bottom:24px;border-bottom:1px solid var(--line)}
 .gallery-filter-select label{display:block;font-size:.875rem;font-weight:600;margin-bottom:10px}
 .gallery-filter-select select{width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid var(--line);background:var(--cream);color:var(--green);font:inherit;font-size:1rem;padding:12px}
 .gallery-filter-select select:focus{outline:none}
 .gallery-filter-select select:focus-visible:not(.gallery-pointer-focus){outline:3px solid var(--gold);outline-offset:3px}
 .gallery-photo-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .gallery-tile .photo-open{aspect-ratio:4/3}
 .gallery-preview-window{--gallery-visible:3;--gallery-gap:10px;padding-top:18px}
 .gallery-preview-card .photo-open{aspect-ratio:4/3}
 .gallery-preview-card figcaption{font-size:.875rem;overflow-wrap:anywhere;margin-top:8px}
 .home-gallery .section-heading{flex-direction:column;gap:14px;margin-bottom:20px}
 .home-gallery .text-link{margin-top:0}
 .gallery-collection,.gallery-toolbar>div{min-width:0}
}
@media(max-width:450px){.gallery-preview-window{--gallery-visible:2}}
