.document-gallery{--gallery-gap:24px;display:grid;grid-template-columns:repeat(var(--gallery-columns,4),minmax(0,1fr));gap:var(--gallery-gap);padding:16px;background:#fff;color:#16181d;border-radius:12px}
.document-gallery[data-theme=sombre]{background:#20242c;color:#f5f7fb}
.document-gallery[data-spacing=compact]{--gallery-gap:12px}
.gallery-card{min-width:0;display:flex;flex-direction:column;gap:12px;color:inherit;text-decoration:none}.gallery-card:focus-visible{outline:3px solid #146bff;outline-offset:4px}.gallery-card:hover .gallery-title{text-decoration:underline}
.gallery-cover{display:flex;align-items:center;justify-content:center;min-width:0;background:rgba(127,127,127,.08);border-radius:6px;overflow:hidden;aspect-ratio:1/1.414}.gallery-cover img{display:block;width:100%;height:100%;object-fit:contain}.gallery-empty{font:600 24px system-ui;color:#737b88}
.document-gallery[data-format=original] .gallery-cover{aspect-ratio:auto;align-items:flex-end;background:transparent}.document-gallery[data-format=original] .gallery-cover img{height:auto;max-height:340px;object-fit:contain}
.document-gallery[data-format=carre] .gallery-cover{aspect-ratio:1}
.document-gallery:not([data-format=original])[data-fit=recadre] .gallery-cover img{object-fit:cover}
.gallery-caption{display:grid;gap:5px}.gallery-caption:empty{display:none}.gallery-title{font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.gallery-date{font-size:12px;opacity:.72}
.document-gallery[data-layout=liste]{grid-template-columns:1fr}.document-gallery[data-layout=liste] .gallery-card{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:20px}
.document-gallery[data-layout=ruban]{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.document-gallery[data-layout=ruban] .gallery-card{flex:0 0 170px;scroll-snap-align:start}
@media(max-width:700px){.document-gallery{grid-template-columns:repeat(min(var(--gallery-columns,4),2),minmax(0,1fr))}}
@media(prefers-reduced-motion:no-preference){.gallery-cover img{transition:transform .2s}.gallery-card:hover .gallery-cover img{transform:scale(1.015)}}
