/* Galerie LgHs : reprend le rendu du site actuel (fond gris, carrés, zoom plein écran). */
.lghs-gallery { display: none; margin-top: 3rem; padding: 3rem; background: #f3f4f6; }
@media (min-width: 768px) { .lghs-gallery { display: block; } }
.lghs-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
@media (min-width: 1024px) { .lghs-gallery__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.lghs-gallery__photo { display: block; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.lghs-gallery__photo--wide-only { display: none; }
@media (min-width: 1024px) { .lghs-gallery__photo--wide-only { display: block; } }
.lghs-gallery__photo img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: opacity .15s; pointer-events: none; }
.lghs-gallery__photo:hover img { opacity: .9; }

.lghs-gallery-lightbox { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0, 0, 0, .9); cursor: zoom-out; }
.lghs-gallery-lightbox[hidden] { display: none; }
.lghs-gallery-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lghs-gallery-lightbox button { position: absolute; top: 1rem; right: 1rem; width: 2.75rem; height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #fff; background: transparent; color: #fff; cursor: pointer; transition: background-color .15s, color .15s; }
.lghs-gallery-lightbox button:hover { background: #fff; color: #000; }
.lghs-gallery-lightbox .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.lghs-gallery__photo:focus-visible { outline: 3px solid #000; outline-offset: 2px; }
.lghs-gallery-lightbox button:focus-visible { outline: 2px solid #ffd800; outline-offset: 2px; }
