/* Galerie publique des documents (maquette du 09/11/2026) : même grille et mêmes marges que l'accueil, vignettes WebP, grande fenêtre avec navigation. */
body.galerie{background:var(--navy);color:var(--cream)}
.gal{padding:calc(var(--barre) + 24px) var(--m) calc(44px + 56px)}
.gal-tete{margin-bottom:28px}
.gal-tete .h-grand{font-size:clamp(46px,6vw,96px)}.gal-tete .h-grand .ligne{opacity:1}
.gal-sous{max-width:60ch;margin-top:14px;font:400 clamp(17px,1.4vw,21px)/1.5 var(--sans);color:rgb(var(--cream-rgb) / .78)}
.gal-filtres{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin:26px 0 8px}
.gal-puces{display:flex;flex-wrap:wrap;gap:8px}
.gal-puces button{min-height:44px;padding:0 18px;border-radius:99px;border:1px solid rgb(var(--cream-rgb) / .22);background:rgba(10,16,46,.7);color:rgb(var(--cream-rgb) / .85);font:400 15px/1 var(--sans);cursor:pointer;transition:background-color .2s,color .2s}
.gal-puces button:hover{background:rgba(255,255,255,.1)}
.gal-puces button[aria-checked="true"]{background:var(--amber);border-color:var(--amber);color:var(--navy);font-weight:500}
.gal-style{display:inline-flex;align-items:center;gap:10px;font:400 14px/1 var(--sans);color:rgb(var(--cream-rgb) / .7)}
.gal-style select{height:44px;min-height:44px;box-sizing:border-box;padding:0 14px;border-radius:12px;border:1px solid rgb(var(--cream-rgb) / .22);background:#0C1442;color:var(--cream);font:400 15px var(--sans)}
.gal-compte{margin:10px 0 18px;font:400 14px/1 var(--sans);color:rgb(var(--cream-rgb) / .56)}
.gal-grille{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:2px;column-gap:18px}
.gal-grille li{padding-bottom:18px;opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i,0) * 45ms)}
.gal-grille li.vu{opacity:1;transform:none}
.gal-carte{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .35s var(--ease),box-shadow .35s}
.gal-carte img{display:block;width:100%;height:100%;object-fit:cover;background:#0C1442;transition:transform .6s var(--ease),filter .35s}
.gal-carte::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--ease);pointer-events:none}
.gal-carte:hover,.gal-carte:focus-visible{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.5)}
.gal-carte:hover img,.gal-carte:focus-visible img{transform:scale(1.05)}
.gal-carte:hover::after,.gal-carte:focus-visible::after{transform:translateX(120%)}
.gal-carte:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.gal-et{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(3,6,22,.82));font:400 13px/1.3 var(--sans);color:rgb(var(--cream-rgb) / .8);opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.gal-et b{display:block;font-weight:500;font-size:14.5px;color:#fff}
.gal-carte:hover .gal-et,.gal-carte:focus-visible .gal-et{opacity:1;transform:none}
@media (hover:none){.gal-et{opacity:1;transform:none}}
.gal-plus{display:flex;justify-content:center;margin:12px 0 8px}
.gal-note{margin-top:20px;text-align:center;font:400 13.5px/1.5 var(--sans);color:rgb(var(--cream-rgb) / .5)}
.gal-dlg .gal-scene{display:flex;justify-content:center;align-items:center;min-width:0;width:100%;height:min(74svh,800px)}
.gal-dlg .gal-scene img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.gal-dlg .btn{margin-top:4px}
@media (min-width:1500px){.gal-grille{grid-template-columns:repeat(auto-fill,minmax(calc(230px * var(--e,1)),1fr))}}
@media (max-width:700px){.gal{padding-top:calc(var(--barre) + 12px)}.gal-grille{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));column-gap:12px}.gal-grille li{padding-bottom:12px}.gal-filtres{display:grid}.gal-style{width:100%}.gal-style select{flex:1;height:48px;min-height:48px}}
@media (prefers-reduced-motion:reduce){.gal-grille li{opacity:1;transform:none;transition:none}.gal-carte,.gal-carte img,.gal-carte::after,.gal-et{transition:none}}
