/* Galerie de vraies photos du centre : responsive, sans images de démonstration. */
.gallery-hero{background:linear-gradient(112deg,#092d47 0%,#1d5775 78%,#347c92 100%);color:#fff}
.gallery-section{min-height:320px}
.gallery-intro{margin-bottom:24px}
.gallery-intro h2{margin:0 0 6px;color:#173a50;font-size:clamp(1.35rem,3vw,1.9rem)}
.gallery-intro p{margin:0;color:#637d8f}
.club-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.gallery-state{grid-column:1/-1;color:#597589;background:#f4f8fb;border:1px solid #d9e7ee;border-radius:12px;padding:28px;text-align:center;margin:0}
.gallery-photo{border:1px solid #d8e5ec;background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 7px 24px rgba(10,42,63,.07);min-width:0}
.gallery-photo button{border:0;background:transparent;display:block;padding:0;width:100%;cursor:zoom-in;text-align:left;color:#143c56;font:inherit}
.gallery-photo img{display:block;width:100%;height:238px;object-fit:cover;background:#ebf2f7;transition:transform .25s ease}
.gallery-photo button:hover img{transform:scale(1.025)}
.gallery-photo button:focus-visible{outline:3px solid #3895cc;outline-offset:-3px}
.gallery-photo-caption{padding:12px 15px;font-size:.87rem;line-height:1.45;display:block;font-weight:680;min-height:21px}
.gallery-lightbox{position:fixed;inset:0;max-width:min(94vw,1140px);max-height:93vh;border:0;border-radius:12px;padding:24px;background:#fff;color:#183d57;box-shadow:0 18px 80px rgba(0,0,0,.25)}
.gallery-lightbox::backdrop{background:rgba(3,20,31,.86)}
.gallery-lightbox img{max-width:100%;max-height:calc(85vh - 86px);width:auto;height:auto;display:block;object-fit:contain;margin:auto}
.gallery-lightbox p{text-align:center;margin:13px 28px 0;font-size:.93rem}
.gallery-close{position:absolute;right:12px;top:12px;background:#164b6a;color:#fff;border:0;width:42px;height:42px;border-radius:50%;font:inherit;font-size:1.1rem;cursor:pointer}
@media(max-width:900px){.club-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo img{height:215px}}
@media(max-width:560px){.club-gallery{grid-template-columns:1fr}.gallery-photo img{height:auto;aspect-ratio:4/3}.gallery-lightbox{padding:12px}.gallery-close{top:6px;right:6px}}

/* Albums : un carrousel par événement, sans chargement d'une grosse librairie. */
.club-gallery{display:block}
.memories-album{margin:10px 0 48px}
.memories-album-heading{margin:0 0 18px}
.memories-album-heading h2{font-size:clamp(1.4rem,3.2vw,2rem);color:#143f59;margin:0 0 6px}
.memories-album-heading p{color:#597688;margin:0;font-size:.92rem;max-width:780px}
.memories-album-shell{position:relative}
.memories-track{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:3px 3px 15px;scrollbar-width:thin}
.memories-card{flex:0 0 clamp(236px,30vw,330px);min-width:0;border:1px solid #d9e6ed;background:white;border-radius:13px;overflow:hidden;box-shadow:0 6px 20px #14384d10;scroll-snap-align:start}
.memories-image-button{width:100%;padding:0;border:0;display:block;cursor:zoom-in;background:#dfeaf0}
.memories-image-button img{display:block;width:100%;height:235px;object-fit:cover}
.memories-photo-label{font-size:.82rem;padding:9px 12px 0;margin:0;color:#35566a;font-weight:700;line-height:1.4}
.memories-actions{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:10px}
.memories-action{font:inherit;font-size:.79rem;font-weight:760;padding:8px;border:0;border-radius:8px;background:#eef5f8;color:#28556f;cursor:pointer;white-space:nowrap}
.memories-action.liked{background:#ffe7ed;color:#ae2953}
.memories-action:disabled{opacity:.55;cursor:wait}
.memories-action:focus-visible,.memories-image-button:focus-visible{outline:3px solid #3195ce;outline-offset:-3px}
.memories-arrow{position:absolute;top:35%;z-index:1;width:38px;height:46px;box-shadow:0 3px 10px #152e3a33;font-size:1.5rem;padding:0}
.memories-arrow.prev{left:-10px}.memories-arrow.next{right:-10px}
.gallery-lightbox{overflow-y:auto;max-width:min(94vw,940px);max-height:93vh;padding:24px}
.gallery-lightbox img{max-height:55vh}
.memories-comments{max-width:680px;margin:22px auto 5px;border-top:1px solid #dae8ee;padding-top:16px}
.memories-comments h2{font-size:1.1rem;margin:0 0 10px}
.memories-comment{background:#f2f7f9;border-radius:8px;padding:10px 13px;margin-bottom:9px;font-size:.85rem}
.memories-comment p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.memories-comments form{display:grid;gap:9px;margin-top:16px}
.memories-comments label{font-size:.83rem;font-weight:800}
.memories-comments textarea{width:100%;box-sizing:border-box;min-height:80px;padding:10px;border:1px solid #bfd3de;border-radius:8px;font:inherit;resize:vertical}
.memories-comments form button{background:#0d729b;color:white;border:0;padding:10px 15px;border-radius:8px;justify-self:start;cursor:pointer;font:inherit;font-weight:800}
.memories-comments small,.memories-comments #memories-comment-hint{font-size:.77rem;color:#607b8b;line-height:1.5}
@media(max-width:560px){.memories-card{flex-basis:min(82vw,310px)}.memories-image-button img{height:205px}.memories-arrow{display:none}.gallery-lightbox{padding:13px}.gallery-lightbox img{max-height:44vh}}

/* Les trois actions restent lisibles même sur un téléphone étroit. */
.memories-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.memories-action{min-width:0;white-space:normal;font-size:.73rem;line-height:1.25;padding:9px 5px;text-align:center}
@media(max-width:560px){.memories-action{font-size:.71rem;padding:8px 4px}}
