/* Page Galerie (publique + admin) — alignée sur les tokens du site (forêt/or/ivoire, Italiana + DM
   Sans) : structure inchangée, palette reprise sur var(--forest)/var(--gold)/var(--ink) plutôt qu'un
   vert « maison » propre à cette page. */
.gallery-public{background:var(--ivory);color:var(--ink);padding:130px max(5vw,20px) 60px}
.gallery-intro{max-width:800px;padding:40px 0 55px}
.gallery-intro h1{font-family:var(--serif);font-size:clamp(52px,7vw,100px);line-height:1.05;letter-spacing:-.025em;margin:18px 0}
.gallery-intro>p:last-child{font-size:18px;line-height:1.8;color:#5f736d}
.gallery-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:24px 0}
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap}
.gallery-filters button,.gallery-button{border:1px solid #dfe5e2;border-radius:30px;padding:12px 20px;background:#fff;color:#12302e;cursor:pointer;font:inherit;text-decoration:none;transition:.25s}
.gallery-filters button[aria-pressed=true],.gallery-button{background:#0b4a46;border-color:#0b4a46;color:#fff}
.gallery-filters button:hover{border-color:var(--forest)}
.gallery-filters small{margin-left:8px;opacity:.7}
.gallery-grid{columns:3;column-gap:22px}
.gallery-tile{display:block;position:relative;margin-bottom:22px;break-inside:avoid;overflow:hidden;border-radius:16px;background:#e7e0d2;color:#fff}
.gallery-tile img{display:block;width:100%;height:340px;object-fit:cover;transition:transform .35s}
.gallery-tile:nth-child(3n+1) img{height:460px}
.gallery-tile:hover img{transform:scale(1.035)}
.gallery-tile>span{position:absolute;inset:40% 0 0;display:flex;flex-direction:column;justify-content:end;padding:26px;background:linear-gradient(transparent,rgba(11,74,70,.82))}
.gallery-tile small{font-size:12px;letter-spacing:.12em;margin-bottom:8px;color:var(--gold)}
.gallery-tile strong{font-family:var(--serif);font-size:24px;font-weight:400;padding-right:25px}
.gallery-tile b{position:absolute;bottom:28px;right:24px}
.gallery-cta{text-align:center;padding:70px 15px 20px}
.gallery-cta h2{font-family:var(--serif);font-size:48px;margin-bottom:30px}
.gallery-lightbox{border:0;border-radius:16px;background:var(--forest);color:#fff;width:min(1100px,94vw);max-height:94dvh;padding:50px 60px 20px}
.gallery-lightbox::backdrop{background:#04120fee}
.gallery-lightbox figure{margin:0;text-align:center}
.gallery-lightbox img{max-width:100%;height:70dvh;object-fit:contain}
.gallery-lightbox figcaption{padding:15px}
.gallery-lightbox button{position:absolute;background:#ffffff20;color:#fff;border:0;border-radius:50%;width:40px;height:40px;font-size:22px;cursor:pointer;transition:background .2s}
.gallery-lightbox button:hover{background:#ffffff38}
.gallery-lightbox [data-close]{right:12px;top:10px}
.gallery-lightbox [data-prev]{left:10px;top:50%}
.gallery-lightbox [data-next]{right:10px;top:50%}
.gallery-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}
.gallery-heading h1{font-family:var(--serif);font-size:34px;font-weight:400;margin:8px 0}
.gallery-heading p,.gallery-panel>p,.gallery-help{color:#5f736d}
.gallery-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.gallery-panel,.gallery-card{background:#fff;border:1px solid #dfe5e2;border-radius:18px;overflow:hidden}
.gallery-panel{padding:24px}
.gallery-panel h2{margin:0 0 16px;font-size:20px}
.gallery-admin label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500}
.gallery-admin input:not([type=checkbox]),.gallery-admin select{width:100%;box-sizing:border-box;border:1px solid #dfe5e2;padding:11px;border-radius:8px;background:#fff;color:#12302e;min-width:0;font:inherit}
.gallery-drop{border:2px dashed #c7d3cc;border-radius:12px;padding:24px;background:#f7faf8;position:relative}
.gallery-drop input{margin:12px 0}
.gallery-drop small{color:#5f736d}
.gallery-panel form>.gallery-button{margin-top:14px}
.gallery-category-form{display:flex;align-items:end;gap:8px;margin-top:12px}
.gallery-category-form button,.gallery-danger{cursor:pointer;border:0;border-radius:8px;padding:10px;background:#eef2ee;font:inherit}
.gallery-danger{color:#9b4040;background:#fdecea}
.gallery-grow{flex:1;min-width:0}
.gallery-categories{max-height:250px;overflow:auto}
.gallery-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery-preview{position:relative}
.gallery-preview img{width:100%;height:220px;object-fit:cover;display:block}
.gallery-preview span{position:absolute;top:12px;left:12px;background:#fffffff0;border-radius:20px;padding:6px 12px;font-size:12px}
.gallery-card form{padding:20px;display:grid;gap:14px}
.gallery-fields{display:grid;grid-template-columns:1fr 80px;gap:12px}
.gallery-admin .gallery-check{flex-direction:row;align-items:center}
.gallery-check input{accent-color:#0b4a46}
.gallery-actions{display:flex;justify-content:space-between;gap:8px}
.gallery-search{flex:1;max-width:440px}
.gallery-empty{text-align:center;padding:45px;color:#75857f}
.gallery-help{margin-top:24px;font-size:13px}
[data-photo][hidden],[data-no-results][hidden]{display:none!important}
.gallery-admin button:focus-visible,.gallery-public button:focus-visible,.gallery-tile:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1100px){.gallery-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-panels{grid-template-columns:1fr}.gallery-grid{columns:2}}
@media(max-width:600px){.gallery-grid{columns:1}.gallery-tile img,.gallery-tile:nth-child(3n+1) img{height:330px}.gallery-admin-grid{grid-template-columns:1fr}.gallery-heading{align-items:start;flex-direction:column}.gallery-category-form{flex-wrap:wrap}.gallery-category-form .gallery-grow{flex-basis:100%}.gallery-lightbox{padding:50px 42px 10px}.gallery-lightbox img{height:60dvh}.gallery-public{padding-top:100px}.gallery-intro{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){.gallery-tile img{transition:none}}
