.photo-gallery{min-width:0}.photo-gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;margin-block:16px}.photo-gallery-trigger{position:relative;display:block;width:100%;min-width:0;padding:0;overflow:hidden;cursor:zoom-in;border:1px solid var(--parish-border);border-radius:var(--parish-radius-card);background:var(--parish-soft);color:var(--parish-blue);font:inherit}.photo-gallery-trigger img{display:block;width:100%;height:210px;object-fit:cover}.photo-gallery-hint{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--parish-border);border-radius:var(--parish-radius-control);background:#fff;color:var(--parish-blue);font-size:.75rem;font-weight:600}.photo-gallery-trigger:hover{border-color:var(--parish-blue)}.photo-gallery-trigger:focus-visible{outline:3px solid var(--parish-focus);outline-offset:3px}.social-feed-photo .photo-gallery-thumbnails{display:block;margin:0;height:100%}.social-feed-photo .photo-gallery-trigger{border:0;border-radius:0}.social-feed-photo .photo-gallery-trigger img{height:auto;aspect-ratio:1;object-fit:cover}.photo-gallery-dialog{width:min(1100px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;border:1px solid var(--parish-border);background:var(--parish-surface);box-shadow:var(--parish-shadow-card)}.photo-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.photo-gallery-header h2{margin:0;color:var(--parish-blue);font-size:1.25rem;line-height:1.3}.photo-gallery-control{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:6px;padding:8px;border:1px solid var(--parish-border);border-radius:var(--parish-radius-control);background:var(--parish-surface);color:var(--parish-blue);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.photo-gallery-control:hover{background:var(--parish-soft)}.photo-gallery-control:focus-visible{outline:3px solid var(--parish-focus);outline-offset:2px}.photo-gallery-instructions{margin:8px 0 14px;color:var(--parish-muted);font-size:.8rem;line-height:1.5}.photo-gallery-figure{margin:0}.photo-gallery-stage{display:grid;place-items:center;min-height:180px;background:var(--parish-soft);border-radius:var(--parish-radius-control);touch-action:pan-y pinch-zoom}.photo-gallery-stage>img{display:block;width:100%;max-height:62dvh;object-fit:contain}.photo-gallery-figure figcaption{margin-top:12px;color:var(--parish-ink);font-size:.88rem;line-height:1.6;overflow-wrap:anywhere}.photo-gallery-counter{color:var(--parish-blue);font-size:.78rem;font-weight:600}.photo-gallery-figure figcaption p{margin:6px 0 0;white-space:pre-line}.photo-gallery-navigation{display:flex;justify-content:space-between;gap:16px;margin:0 0 14px}.photo-gallery-error{display:grid;justify-items:center;padding:24px;color:var(--parish-ink)}.photo-gallery-error button{min-height:44px;padding:8px 14px;border:1px solid var(--parish-blue);border-radius:var(--parish-radius-control);background:#fff;color:var(--parish-blue);font:inherit;cursor:pointer}@media(max-width:600px){.photo-gallery-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px}.photo-gallery-header h2{font-size:1.05rem}.photo-gallery-stage>img{max-height:55dvh}}
