/* Affichage commun des images — Les Corneillas
   Toutes les images de contenu marquées par le script sont contenues dans leur zone,
   sans déformation ni recadrage. */
.corneillas-fit-image{
  display:block;
  max-width:100% !important;
  max-height:100% !important;
  width:auto;
  height:auto;
  object-fit:contain !important;
  object-position:center;
}
.corneillas-zoomable-image{cursor:zoom-in;}

/* Bons plans : une image principale ajustée, les autres restent disponibles dans la lightbox. */
.plan__media{
  display:grid !important;
  place-items:center;
  overflow:hidden !important;
  height:190px;
  padding:6px;
}
.plan__media img{
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  scroll-snap-align:none !important;
}
.image-admin img,.new-image-preview img{
  width:100% !important;
  height:90px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:rgba(0,0,0,.18);
}

/* Bibliothèques publiques. */
.magazine-image img,.book-cover img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Aperçus administratifs de contenu : ne jamais recadrer une image. */
.magazine-row img,.book-row img,.panel-item-row img,.club-row img,
.pa-row__photo img,.pa-existing-photo img,.photo-preview,
.event-image-contain,.current-event-image,#event-image-preview,
.pending-photo-card__image img,.event-image,.members-grid .photo,.member-card .photo{
  object-fit:contain !important;
  object-position:center !important;
  max-width:100%;
  max-height:100%;
}

/* Lightbox commune. */
.corneillas-image-lightbox[hidden]{display:none !important;}
.corneillas-image-lightbox{
  position:fixed;
  inset:0;
  z-index:25000;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  background:rgba(0,0,0,.92);
  padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
}
.corneillas-image-lightbox__top{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:48px;
}
.corneillas-image-lightbox__close,
.corneillas-image-lightbox__nav{
  border:1px solid rgba(255,255,255,.35);
  border-radius:10px;
  background:rgba(20,20,20,.9);
  color:#fff;
  cursor:pointer;
  font:700 18px/1 Arial,sans-serif;
}
.corneillas-image-lightbox__close{width:46px;height:42px;font-size:28px;}
.corneillas-image-lightbox__stage{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  overflow:hidden;
}
.corneillas-image-lightbox__figure{
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  margin:0;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.corneillas-image-lightbox__image{
  display:block;
  max-width:100%;
  max-height:calc(100dvh - 120px);
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center;
  box-shadow:0 16px 60px rgba(0,0,0,.65);
  border-radius:8px;
}
.corneillas-image-lightbox__nav{width:46px;height:58px;font-size:30px;}
.corneillas-image-lightbox__nav[hidden]{visibility:hidden;display:block !important;}
.corneillas-image-lightbox__caption{
  min-height:34px;
  padding:8px 54px 2px;
  color:#eee;
  text-align:center;
  font:14px/1.35 Arial,sans-serif;
}
body.corneillas-image-lightbox-open{overflow:hidden !important;}

@media(max-width:700px){
  .plan__media{height:170px;}
  .corneillas-image-lightbox{padding:6px;}
  .corneillas-image-lightbox__stage{gap:4px;grid-template-columns:38px minmax(0,1fr) 38px;}
  .corneillas-image-lightbox__nav{width:36px;height:52px;font-size:25px;}
  .corneillas-image-lightbox__image{max-height:calc(100dvh - 108px);}
  .corneillas-image-lightbox__caption{padding:7px 10px 0;font-size:12px;}
}
