.gallery-slider{min-width:0;max-width:100%;margin:1.5rem 0}.gallery-slider-controls{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-bottom:.75rem}.gallery-slider-status{margin:0 auto 0 0;font-size:.85rem;color:#536058}.gallery-slider-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.5rem .75rem;font:inherit;border:1px solid #203d34;border-radius:3px;color:#203d34;background:#fffef9;cursor:pointer}.gallery-slider-controls button:disabled{opacity:.45;cursor:default}.gallery-slider-controls button:focus-visible,.gallery-slider-track:focus-visible{outline:3px solid #8c5b16;outline-offset:3px}.gallery-slider-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;gap:1rem;padding:4px 0 12px;max-width:100%;scrollbar-width:thin;scrollbar-color:#536058 #e5eae2}.gallery-slider-track>figure{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start}.gallery-slider-track.photo-grid img{display:block;width:100%;height:clamp(240px,65vh,620px);aspect-ratio:auto;object-fit:contain;background:#eeeee7}.gallery-slider-track.album-grid>article{flex:0 0 100%;min-width:0;scroll-snap-align:start}.gallery-slider-track.album-grid .album-link>img{object-fit:contain;background:#eeeee7}.gallery-slider-controls [hidden]{display:none}@media(min-width:650px){.gallery-slider-track.album-grid>article{flex-basis:calc((100% - 1rem)/2)}}@media(min-width:1050px){.gallery-slider-track.album-grid>article{flex-basis:calc((100% - 2rem)/3)}}@media(prefers-reduced-motion:reduce){.gallery-slider-track{scroll-behavior:auto}}

.gallery-local-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.gallery-local-actions a{display:inline-flex;min-height:44px;align-items:center}

.album-grid.gallery-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}.album-card{min-width:0;border:1px solid #a8b4ab;background:#fffef9}.album-card .album-link>img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#eeeee7}.album-card .album-copy{padding:1rem;border-bottom:0}.album-card .album-copy h2{font-size:1.4rem;line-height:1.25;margin:.5rem 0;overflow-wrap:anywhere}.album-card .album-copy p{font-size:.85rem;margin:.5rem 0}.album-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem}.album-newest{background:#203d34;color:#fffef9;padding:.15rem .45rem}.album-card time{display:block;font-size:.8rem;color:#536058}.album-card .album-copy .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem}.album-preview-slider{margin:0;padding:0 1rem .75rem;max-width:100%}.album-preview-slider .gallery-slider-controls{margin-bottom:.4rem}.album-preview-slider .gallery-slider-status{font-size:.75rem}.album-preview-track{gap:.5rem;padding:4px 0 10px}.album-preview-track>a{display:block;flex:0 0 80px;min-width:0;scroll-snap-align:start;min-height:60px}.album-preview-track img{display:block;width:80px;height:60px;object-fit:contain;background:#eeeee7}.album-preview-track a:focus-visible,.album-card>.album-link:focus-visible{outline:3px solid #8c5b16;outline-offset:2px}@media(min-width:800px){.album-grid.gallery-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1200px){.album-grid.gallery-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.gallery-main,.gallery-card-grid,.album-card{min-width:0;max-width:100%}.gallery-slider-track{width:100%;min-width:0;overscroll-behavior-inline:contain;touch-action:pan-x pan-y pinch-zoom;scroll-snap-type:x proximity}.gallery-slider-track.photo-grid>figure{flex:0 0 clamp(108px,28vw,210px)}.gallery-slider-track.photo-grid img{height:clamp(110px,25vw,190px);object-fit:cover}.album-preview-track>a{flex:0 0 clamp(90px,25vw,140px)}.album-preview-track img{width:100%;height:clamp(80px,22vw,120px);object-fit:cover}.gallery-slider-controls{flex-wrap:wrap}.gallery-slider-status{min-width:0}.gallery-slider-track a:focus-visible{outline:3px solid #8c5b16;outline-offset:2px}

html:has(.gallery-slider),body:has(.gallery-slider){max-width:100%;overflow-x:clip}
