/* SNA — photos intégrales. Mandat public FR/EN validé le 21 octobre 2026.
   Les fichiers source, les textes, les logos et les couleurs restent inchangés. */
img { object-fit: contain !important; }
/* Certaines archives placent la classe de couverture sur l'image elle-même. */
img.article-cover, .ad-banner img {
  height: auto !important;
  max-height: none !important;
  border-radius: 0 !important;
  clip-path: none !important;
}

/* Cartes, couvertures et vignettes : la hauteur suit la photographie. */
.card-photo, .story-image, .article-cover, .video-photo:has(img) {
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  clip-path: none !important;
  align-self: start;
}
.card-photo img, .story-image img, .article-cover img,
.video-photo img, .editorial-grid .content-card img,
#archive-article > img, .reading-body > img, .reading-body p > img,
.reading-body figure > img {
  display: block;
  max-width: 100% !important;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  clip-path: none !important;
  border-radius: 0 !important;
}
.article-cover, .story-image, .card-photo,
.reading-body figure:has(img) {
  -webkit-mask-image: none !important;
  mask-image: none !important;
  clip-path: none !important;
  overflow: visible !important;
}

/* La une : aucune découpe par les angles du panneau ou par la légende. */
.hero:has(.hero-photo) { height: auto !important; overflow: visible !important; }
.hero-visual:has(.hero-photo) {
  height: auto !important;
  min-height: 0 !important;
  align-self: center;
}
.hero-visual figure:has(.hero-photo) {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  border-radius: 0 !important;
}
.hero-photo {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-position: center !important;
  border-radius: 0 !important;
}
.hero-visual:has(.hero-photo) figcaption { position: static !important; }
/* Seuls les filets décoratifs suivent les angles du panneau ; jamais la photo. */
.hero-visual .lanes { clip-path: inset(0 round 110px 110px 6px 6px); }
@media (max-width: 650px) {
  .hero-visual .lanes { clip-path: inset(0 round 0 0 52px 0); }
}

/* Petits portraits et lots Fantasy : bloc conservé, photo entière à l'intérieur. */
.nba-africa-card img, .profile-head img, .player-card img,
.portrait img, .prize-visual img, .sk-av img,
.card img, .post header img {
  object-position: center !important;
  border-radius: 0 !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.portrait:has(img), .prize-visual:has(img), .sk-av:has(img) {
  border-radius: 0 !important;
  overflow: visible !important;
  clip-path: none !important;
}

/* Récits : pas de zoom, de plafonnement de hauteur ni de titre sur la photo. */
.recit .ouverture figure {
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}
.recit .ouverture figure img.fond, .recit .photo img {
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: none !important;
  animation: none !important;
}
.recit .panneau { margin-top: 24px !important; }
.sna-dossier .reading-body figure { transform: none !important; }
.dz-paper:has(.dz-photo) { clip-path: none !important; }

/* Photographie d'entretien en arrière-plan : entière, sans masque ni texte dessus. */
.sna-entretien .iv-face {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: min(100%, 420px) !important;
  aspect-ratio: 3 / 2;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  opacity: 1 !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
