/* ============================================
   DRAWBOT A4 — style-final.css
   Surcharges finales : cadrage photos (contain),
   vidéo portrait centrée, liens sociaux équipe.
   À charger EN DERNIER sur toutes les pages.
   ============================================ */

/* ---------- 1. Cadrage universel des photos (contain) ---------- */
/* Toutes les photos s'inscrivent dans leur cadre sans être coupées
   ni déformées. Fond clair neutre derrière si ratio différent. */

.gallery-item,
.gallery-card,
.fig-block,
.media-grid img,
.video-card,
.project-gallery-grid .gallery-item,
.team-photo-wide {
  background: #f1f5f9 !important;
}

.gallery-item img,
.gallery-card img,
.fig-block img,
.media-grid img,
.project-gallery-grid .gallery-item img,
.team-photo-wide img {
  object-fit: contain !important;
  width: 100%;
  height: 100%;
  background: #f1f5f9;
  padding: 0;
}

/* Hauteurs de cadres harmonisées pour éviter les vides énormes */
.gallery-item { min-height: 260px; }
.gallery-item.featured { min-height: 360px; }
.gallery-card img { height: 240px; object-fit: contain !important; }
.fig-block img { height: 420px; object-fit: contain !important; }
.media-grid img { height: 150px; object-fit: contain !important; }
.project-gallery-grid .gallery-item { min-height: 220px; }

/* Effet hover : zoom CSS conservé mais doux */
.gallery-item:hover img {
  transform: scale(1.02) !important;
  filter: none !important;
}

/* ---------- 2. Vidéos en format portrait ---------- */
/* La vidéo conserve son ratio natif (portrait téléphone),
   centrée dans son cadre avec un fond neutre. */

.video-card {
  background: #0f172a !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border: 1px solid var(--border) !important;
}

.video-card video {
  width: 100% !important;
  max-width: 360px;
  height: auto !important;
  max-height: 640px;
  margin: 0 auto;
  display: block;
  object-fit: contain !important;
  background: #0f172a !important;
  border-radius: 0 !important;
}

.video-card-body {
  background: #ffffff;
  border-top: 1px solid var(--border);
}

@media (max-width: 720px) {
  .video-card video { max-width: 100%; max-height: 70vh; }
}

/* ---------- 3. Équipe : liens email + LinkedIn ---------- */
.member-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.member-social a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  font-size: 0.82rem;
  font-weight: 500;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.22);
  background: #ffffff;
  color: var(--navy);
  text-decoration: none;
  transition: all var(--tr);
}

.member-social a:hover {
  background: var(--navy);
  color: #ffffff;
  border-color: var(--navy);
  transform: translateY(-1px);
}

.member-social a svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.member-social a.linkedin {
  background: #f0f6ff;
  border-color: #c7dcff;
}
.member-social a.linkedin:hover {
  background: #0a66c2;
  border-color: #0a66c2;
  color: #fff;
}

/* ---------- 4. Lightbox image : contain (pas de coupe) ---------- */
.lightbox img {
  object-fit: contain !important;
  max-width: 92vw;
  max-height: 88vh;
  background: #ffffff;
}
