/* Grille de miniatures */
.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:10px; padding:12px;
}
.gallery figure{margin:0;background:#f4f4f5;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:zoom-in;transition:transform .25s}
.gallery figure:hover img{transform:scale(1.03)}

/* Lightbox (agrandissement) */
.lightbox[hidden]{display:none!important}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:grid;align-items:center;justify-items:center;z-index:9999}
.lb-img{max-width:92vw;max-height:92vh;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lb-nav,.lb-close{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:32px;padding:10px 14px;border-radius:10px;cursor:pointer}
.lb-prev{left:12px;top:50%;transform:translateY(-50%)}
.lb-next{right:12px;top:50%;transform:translateY(-50%)}
.lb-close{right:12px;top:12px;font-size:30px;padding:8px 12px}
.lb-nav:hover,.lb-close:hover{background:rgba(255,255,255,.2)}

main {
  margin-top: 20px; /* optionnel, double sécurité */
}

.retour {
  text-align: center;
  margin: 20px 0;
}

.retour a {
  color: var(--rouge);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

.retour a:hover {
  color: var(--blanc);
  text-decoration: underline;
}

.gallery figure {
    text-align: center;
}

.gallery figcaption {
    margin-top: 6px;
    font-size: 0.9rem;
    color: #555;
    font-weight: 600;
}
