/* doc-project | public/assets/css/gallery.css | Définit les cartes, déclencheurs accessibles et liens éditoriaux des galeries publiques. | Expose: styles galerie | Dépend de: components/gallery.php | Impacte: médias publics | Tables: aucune */
.gallery-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,82vw);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.8rem}
.gallery-card{scroll-snap-align:start;overflow:hidden;margin:0;border-radius:1rem;background:#fff;box-shadow:var(--shadow)}
.gallery-card-media{display:block;position:relative;overflow:hidden;color:inherit;text-decoration:none;cursor:zoom-in}
.gallery-card-media::after{content:"Agrandir";position:absolute;right:.7rem;bottom:.7rem;padding:.38rem .62rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(10,16,20,.74);color:#fff;font-size:.75rem;font-weight:800;line-height:1;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}
.gallery-card-media:hover::after,.gallery-card-media:focus-visible::after{opacity:1;transform:none}
.gallery-card-media:focus-visible{outline:3px solid #b66710;outline-offset:-3px}
.gallery-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .22s ease}
.gallery-card-media:hover img{transform:scale(1.02)}
.gallery-card figcaption{display:grid;gap:.25rem;padding:.85rem 1rem}
.gallery-card figcaption span{color:var(--muted);font-size:.92rem}
.gallery-card-link{width:max-content;max-width:100%;margin-top:.25rem;color:#794000;font-size:.88rem;font-weight:750;text-underline-offset:.18em}
.gallery-card-link:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
.placeholder-card img{object-fit:cover}
@media(min-width:760px){.gallery-grid{grid-auto-flow:unset;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}}
@media(prefers-reduced-motion:reduce){.gallery-card-media::after,.gallery-card img{transition:none}.gallery-card-media:hover img{transform:none}}