.cellulose-gallery { max-width: 100%; margin: 1em 0; }
.cellulose-gallery figure { margin: 0; text-align: center; }
.cellulose-gallery-image img { display: block; max-width: 100%; max-height: 65vh; width: auto; height: auto; margin: auto; }
.cellulose-gallery figcaption { padding: .5em; }
.cellulose-gallery-thumbs { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 0; }
.cellulose-gallery-thumbs a { display: inline-flex; padding: 3px; border: 2px solid transparent; }
.cellulose-gallery-thumbs a[aria-current="true"] { border-color: #32643e; }
.cellulose-gallery-thumbs img { width: 75px; height: 75px; object-fit: cover; }
.cellulose-gallery-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; padding: 8px 0; }
.cellulose-gallery button, .cellulose-more, .cellulose-photo-dialog button { min-height: 44px; padding: 8px 12px; border: 1px solid #718376; border-radius: 4px; background: #fff; color: #25482e; cursor: pointer; font: inherit; }
.cellulose-gallery button:focus-visible, .cellulose-gallery a:focus-visible, .cellulose-more:focus-visible { outline: 2px solid #32643e; outline-offset: 2px; }
.cellulose-gallery [hidden], .cellulose-more[hidden] { display: none !important; }
.cellulose-photo-dialog { max-width: 95vw; max-height: 95vh; padding: 12px; border: 0; border-radius: 4px; }
.cellulose-photo-dialog::backdrop { background: rgb(0 0 0 / 75%); }
.cellulose-photo-dialog img { display: block; max-width: 88vw; max-height: 78vh; margin-top: 8px; object-fit: contain; }
