
/* V40 — affichage image accueil entière, sans coupe, PC + mobile */

.hero,
.hero-card,
.hero-visual,
.home-hero,
.home-card,
.home-visual,
.landing-hero,
.landing-card,
.challenge-visual,
.challenge-poster-wrap,
.home-poster-wrap,
.page-banner,
.banner,
.banner-card,
.poster-card,
.image-card {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.hero-visual,
.home-visual,
.challenge-visual,
.challenge-poster-wrap,
.home-poster-wrap,
.poster-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

/* Image principale accueil */
.hero img,
.hero-card img,
.hero-visual img,
.home-hero img,
.home-card img,
.home-visual img,
.landing-hero img,
.landing-card img,
.challenge-visual img,
.challenge-poster-wrap img,
.home-poster-wrap img,
.page-banner img,
.banner img,
.poster-card img,
.image-card img,
.home-poster,
.challenge-poster,
img[src*="challenge-default"],
img[src*="home-default"],
img[src*="prelaunch-default"] {
  display: block !important;
  width: 100% !important;
  max-width: 520px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: top center !important;
  border-radius: 22px !important;
}

/* Si le thème impose une image en background */
.hero-visual,
.home-visual,
.challenge-visual,
.home-poster-wrap,
.challenge-poster-wrap {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: top center !important;
}

/* Correction spécifique si l'image est dans la colonne droite */
.hero-grid > *:has(img),
.home-grid > *:has(img),
.landing-grid > *:has(img) {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* PC : image lisible et entière */
@media (min-width: 901px) {
  .hero img,
  .home-visual img,
  .challenge-visual img,
  .home-poster,
  .challenge-poster,
  img[src*="challenge-default"],
  img[src*="home-default"] {
    max-width: 500px !important;
  }
}

/* Mobile : l'image reste entière, pas de recadrage */
@media (max-width: 900px) {
  .hero,
  .home-hero,
  .landing-hero {
    display: block !important;
  }

  .hero img,
  .home-visual img,
  .challenge-visual img,
  .home-poster,
  .challenge-poster,
  img[src*="challenge-default"],
  img[src*="home-default"] {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

/* Sécurité contre les anciennes règles qui forçaient height:100% */
img {
  object-position: top center;
}
