/* Batch 30 — accueil éditorial blanc */
body.home-editorial-light {
  --home-blue: #174ea6;
  --home-blue-dark: #0b2f6b;
  --home-purple: #5b21b6;
  --home-title: #101828;
  --home-text: #475467;
  --home-muted: #667085;
  --home-border: #dfe5ed;
  --home-soft: #f7f9fc;
  --home-success: #15803d;
  background: #ffffff !important;
  color: var(--home-text);
}

body.home-editorial-light main {
  background: #ffffff !important;
  color: var(--home-text) !important;
}

body.home-editorial-light main :is(h1, h2, h3, h4, h5, h6) {
  color: var(--home-title) !important;
  -webkit-text-fill-color: var(--home-title) !important;
  text-shadow: none !important;
}

body.home-editorial-light main :is(p, li) {
  color: var(--home-text) !important;
  -webkit-text-fill-color: var(--home-text) !important;
  text-shadow: none !important;
}

body.home-editorial-light main strong {
  color: var(--home-title) !important;
  -webkit-text-fill-color: var(--home-title) !important;
}

body.home-editorial-light main .gradient-text,
body.home-editorial-light main .csp-u-1b12406403 {
  color: var(--home-blue) !important;
  -webkit-text-fill-color: var(--home-blue) !important;
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
}

/* 1. Hero éditorial */
body.home-editorial-light .hero {
  min-height: auto;
  padding: 8.5rem 0 5.5rem;
  background:
    radial-gradient(circle at 82% 18%, rgba(91, 33, 182, .08), transparent 30%),
    radial-gradient(circle at 12% 78%, rgba(23, 78, 166, .07), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8faff 100%) !important;
  border-bottom: 1px solid #e7ebf2;
}

body.home-editorial-light .hero-bg {
  display: none !important;
}

body.home-editorial-light .hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

body.home-editorial-light .hero-content {
  max-width: 700px;
}

body.home-editorial-light .hero-badge {
  margin-bottom: 1.4rem;
  color: var(--home-blue) !important;
  -webkit-text-fill-color: var(--home-blue) !important;
  background: #edf4ff !important;
  border: 1px solid #cdddf3 !important;
  box-shadow: none !important;
}

body.home-editorial-light .hero-title {
  margin-bottom: 1.35rem;
  color: var(--home-title) !important;
  font-size: clamp(2.8rem, 5vw, 4.65rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}

body.home-editorial-light .hero-description {
  max-width: 680px;
  margin-bottom: 2rem;
  color: var(--home-text) !important;
  font-size: 1.08rem;
  line-height: 1.75;
}

body.home-editorial-light .hero-buttons {
  margin-bottom: 1.6rem;
}

html body.home-editorial-light .hero-buttons .btn-primary,
html body.home-editorial-light .hero-buttons .btn-primary:visited {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(90deg, #174ea6 0%, #5b21b6 100%) !important;
  border: 1px solid transparent !important;
  box-shadow: 0 10px 24px rgba(23, 78, 166, .18);
}

html body.home-editorial-light .hero-buttons .btn-outline,
html body.home-editorial-light .hero-buttons .btn-outline:visited {
  color: var(--home-blue) !important;
  -webkit-text-fill-color: var(--home-blue) !important;
  background: #ffffff !important;
  border: 1px solid #8eadd8 !important;
}

body.home-editorial-light .hero-buttons :is(.btn-primary, .btn-outline) {
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

body.home-editorial-light .hero-buttons :is(.btn-primary, .btn-outline):hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(16, 24, 40, .13);
}

body.home-editorial-light .hero-features {
  gap: .75rem;
}

body.home-editorial-light .hero-features .feature {
  padding: .55rem .8rem;
  color: #344054 !important;
  -webkit-text-fill-color: #344054 !important;
  background: #ffffff;
  border: 1px solid #e0e6ef;
  border-radius: 999px;
  font-size: .88rem;
  box-shadow: 0 5px 16px rgba(16, 24, 40, .04);
}

body.home-editorial-light .hero-visual {
  position: relative;
  padding: 1rem;
}

body.home-editorial-light .hero-visual::before {
  content: "";
  position: absolute;
  inset: 5% 7%;
  z-index: 0;
  background: linear-gradient(145deg, rgba(23, 78, 166, .13), rgba(91, 33, 182, .10));
  border-radius: 34px;
  filter: blur(1px);
  transform: rotate(-3deg);
}

body.home-editorial-light .hero-image {
  position: relative;
  z-index: 1;
  max-width: 480px;
  padding: 1rem;
  background: rgba(255, 255, 255, .9);
  border: 1px solid #dce4ef;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(16, 24, 40, .13);
  filter: none;
  animation: home-visual-float 7s ease-in-out infinite;
}

@keyframes home-visual-float {
  0%, 100% { transform: translateY(0) rotate(.2deg); }
  50% { transform: translateY(-10px) rotate(-.2deg); }
}

/* 2. Alternance claire des sections */
body.home-editorial-light .carousel-section,
body.home-editorial-light .difference,
body.home-editorial-light .vip-section,
body.home-editorial-light #villes,
body.home-editorial-light .faq-section,
body.home-editorial-light .reviews-section {
  background: var(--home-soft) !important;
}

body.home-editorial-light .pricing,
body.home-editorial-light .features,
body.home-editorial-light .channels,
body.home-editorial-light .csp-r-e9236946e1,
body.home-editorial-light .cta-section {
  background: #ffffff !important;
}

body.home-editorial-light .section {
  padding-top: clamp(4rem, 7vw, 6.5rem);
  padding-bottom: clamp(4rem, 7vw, 6.5rem);
}

body.home-editorial-light .section-header {
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

body.home-editorial-light .section-title {
  color: var(--home-title) !important;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

body.home-editorial-light .section-subtitle {
  color: var(--home-text) !important;
  line-height: 1.75;
}

/* 3. Logos des appareils */
body.home-editorial-light .carousel-section {
  padding: 2.3rem 0;
  border-bottom: 1px solid #e8ecf2;
}

body.home-editorial-light .carousel-card {
  background: #ffffff !important;
  border: 1px solid #e0e6ef !important;
  border-radius: 14px !important;
  box-shadow: 0 7px 20px rgba(16, 24, 40, .045);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.home-editorial-light .carousel-card:hover {
  transform: translateY(-4px) scale(1.02);
  border-color: #a6bddc !important;
  box-shadow: 0 13px 26px rgba(16, 24, 40, .09);
}

/* 4. Packs sombres conservés sur la page blanche */
body.home-editorial-light .pricing-grid-custom {
  gap: 1.6rem;
}

body.home-editorial-light .pack-card {
  color: #ffffff !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 44px rgba(16, 24, 40, .16) !important;
  transition: transform .26s ease, box-shadow .26s ease;
}

body.home-editorial-light .pack-card.standard {
  background: linear-gradient(145deg, #202020 0%, #171717 100%) !important;
  border: 2px solid rgba(0, 217, 255, .36) !important;
}

body.home-editorial-light .pack-card.premium {
  background: linear-gradient(160deg, #241041 0%, #101a35 58%, #102b31 100%) !important;
  border: 2px solid #00d9ff !important;
}

body.home-editorial-light .pack-card.vip {
  background: linear-gradient(145deg, #342600 0%, #241a00 100%) !important;
  border: 2px solid rgba(255, 184, 0, .66) !important;
}

body.home-editorial-light .pack-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 25px 58px rgba(16, 24, 40, .22) !important;
}

body.home-editorial-light .pack-card :is(.pack-title, .pack-features-list li.active) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.home-editorial-light .pack-card .pack-label {
  color: #00d9ff !important;
  -webkit-text-fill-color: #00d9ff !important;
}

body.home-editorial-light .pack-card .pack-features-list li.inactive {
  color: #7b8088 !important;
  -webkit-text-fill-color: #7b8088 !important;
}

body.home-editorial-light .pack-card .screen-btn {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: transparent !important;
  border: 2px solid rgba(255, 255, 255, .32) !important;
}

body.home-editorial-light .pack-card .screen-btn.active {
  color: #061018 !important;
  -webkit-text-fill-color: #061018 !important;
  background: #00d9ff !important;
  border-color: #00d9ff !important;
}

body.home-editorial-light .pack-card .duration-dropdown {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: rgba(255, 255, 255, .09) !important;
  border-color: rgba(255, 255, 255, .22) !important;
}

body.home-editorial-light .pack-card .duration-dropdown option {
  color: #ffffff !important;
  background: #171717 !important;
}

html body.home-editorial-light .pack-card .pack-cta,
html body.home-editorial-light .pack-card .pack-cta:visited {
  color: #061018 !important;
  -webkit-text-fill-color: #061018 !important;
  background: #00d9ff !important;
}

/* 5. Système de cartes cohérent */
body.home-editorial-light :is(
  .diff-card,
  .feature-card,
  .channel-category,
  .csp-r-c90769ddff,
  .review-card
) {
  background: #ffffff !important;
  border: 1px solid var(--home-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .055) !important;
  transition:
    transform .26s ease,
    border-color .26s ease,
    box-shadow .26s ease !important;
}

body.home-editorial-light :is(
  .diff-card,
  .feature-card,
  .channel-category,
  .csp-r-c90769ddff,
  .review-card
):hover {
  transform: translateY(-7px);
  border-color: #9bb5d8 !important;
  box-shadow: 0 18px 42px rgba(16, 24, 40, .11) !important;
}

body.home-editorial-light .diff-card.highlight {
  background: linear-gradient(145deg, #fbf8ff, #ffffff) !important;
  border-color: #c9b5ee !important;
}

body.home-editorial-light :is(
  .diff-icon,
  .feature-icon,
  .category-icon,
  .csp-r-ab4a191d17
) {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: var(--home-blue) !important;
  -webkit-text-fill-color: var(--home-blue) !important;
  background: #edf4ff !important;
  border: 1px solid #d4e2f5;
  border-radius: 16px !important;
  box-shadow: 0 7px 18px rgba(23, 78, 166, .07);
  transition: transform .28s ease, box-shadow .28s ease;
}

body.home-editorial-light :is(
  .diff-card,
  .feature-card,
  .channel-category,
  .csp-r-c90769ddff
):hover :is(
  .diff-icon,
  .feature-icon,
  .category-icon,
  .csp-r-ab4a191d17
) {
  transform: translateY(-3px) rotate(-3deg) scale(1.06);
  box-shadow: 0 12px 24px rgba(23, 78, 166, .14);
}

body.home-editorial-light :is(
  .diff-card h3,
  .feature-card h3,
  .channel-category h3,
  .csp-r-e756e45608,
  .review-author strong
) {
  color: var(--home-title) !important;
  -webkit-text-fill-color: var(--home-title) !important;
}

body.home-editorial-light :is(
  .diff-card p,
  .feature-card p,
  .channel-category p,
  .csp-r-5a7fefc841,
  .review-text,
  .review-author span
) {
  color: var(--home-text) !important;
  -webkit-text-fill-color: var(--home-text) !important;
}

/* VIP et chaînes */
body.home-editorial-light .vip-grid,
body.home-editorial-light .channels-layout {
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

body.home-editorial-light .vip-content {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: #ffffff;
  border: 1px solid var(--home-border);
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(16, 24, 40, .06);
}

body.home-editorial-light .vip-title {
  color: var(--home-title) !important;
  letter-spacing: -.035em;
}

body.home-editorial-light .vip-list li {
  color: #344054 !important;
  -webkit-text-fill-color: #344054 !important;
}

html body.home-editorial-light .btn-success,
html body.home-editorial-light .btn-success:visited {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: var(--home-success) !important;
}

body.home-editorial-light :is(.vip-image, .globe-image) {
  background: #ffffff;
  border: 1px solid var(--home-border);
  border-radius: 24px;
  box-shadow: 0 20px 48px rgba(16, 24, 40, .10);
  transition: transform .35s ease, box-shadow .35s ease;
}

body.home-editorial-light :is(.vip-image, .globe-image):hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 26px 58px rgba(16, 24, 40, .14);
}

html body.home-editorial-light .channels-cta .btn-outline,
html body.home-editorial-light .channels-cta .btn-outline:visited {
  color: var(--home-blue) !important;
  -webkit-text-fill-color: var(--home-blue) !important;
  background: #ffffff !important;
  border: 1px solid #8eadd8 !important;
}

/* Villes */
body.home-editorial-light .csp-r-c90769ddff {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration: none !important;
}

body.home-editorial-light .csp-r-67f95baf44 {
  color: var(--home-blue) !important;
  -webkit-text-fill-color: var(--home-blue) !important;
  font-weight: 750;
}

/* Bloc SEO de lecture : aucune animation */
body.home-editorial-light .csp-r-e9236946e1 .csp-r-2d2b9d4e96 {
  max-width: 1000px;
  padding: clamp(1.6rem, 4vw, 3rem);
  background: #ffffff;
  border: 1px solid var(--home-border);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .05);
}

body.home-editorial-light .csp-r-e9236946e1 .csp-r-41297d6224 {
  color: var(--home-text) !important;
  line-height: 1.8;
}

body.home-editorial-light .csp-r-e9236946e1 a:not(.btn-primary) {
  color: var(--home-blue) !important;
  -webkit-text-fill-color: var(--home-blue) !important;
}

/* FAQ */
body.home-editorial-light .faq-unified-item {
  background: #ffffff !important;
  border-color: var(--home-border) !important;
}

body.home-editorial-light .faq-unified-question,
body.home-editorial-light .faq-unified-answer {
  background: #ffffff !important;
}

body.home-editorial-light .faq-unified-question {
  color: var(--home-title) !important;
  -webkit-text-fill-color: var(--home-title) !important;
}

body.home-editorial-light .faq-unified-answer :is(p, li, span, strong) {
  color: var(--home-text) !important;
  -webkit-text-fill-color: var(--home-text) !important;
}

/* CTA */
body.home-editorial-light .cta-container {
  padding: clamp(2rem, 5vw, 4rem);
  background:
    radial-gradient(circle at 12% 20%, rgba(23, 78, 166, .08), transparent 34%),
    radial-gradient(circle at 88% 76%, rgba(91, 33, 182, .07), transparent 34%),
    #ffffff !important;
  border: 1px solid var(--home-border);
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(16, 24, 40, .07);
}

body.home-editorial-light .cta-title {
  color: var(--home-title) !important;
}

body.home-editorial-light .cta-text {
  color: var(--home-text) !important;
}

html body.home-editorial-light .cta-buttons :is(.btn-primary, .btn-whatsapp),
html body.home-editorial-light .cta-buttons :is(.btn-primary, .btn-whatsapp):visited {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Avis */
body.home-editorial-light .review-card {
  overflow: hidden;
}

body.home-editorial-light .review-whatsapp-img {
  background: #f4f6f9 !important;
}

body.home-editorial-light .review-stars {
  color: #d97706 !important;
  -webkit-text-fill-color: #d97706 !important;
}

body.home-editorial-light .review-badge {
  color: #166534 !important;
  -webkit-text-fill-color: #166534 !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0;
}

/* Responsive */
@media (max-width: 980px) {
  body.home-editorial-light .hero {
    padding-top: 7rem;
  }

  body.home-editorial-light .hero-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  body.home-editorial-light .hero-content {
    margin: 0 auto;
  }

  body.home-editorial-light .hero-description {
    margin-right: auto;
    margin-left: auto;
  }

  body.home-editorial-light .hero-buttons,
  body.home-editorial-light .hero-features {
    justify-content: center;
  }

  body.home-editorial-light .hero-visual {
    order: -1;
  }

  body.home-editorial-light .hero-image {
    max-width: 380px;
  }
}

@media (max-width: 720px) {
  body.home-editorial-light .hero {
    padding: 6.4rem 0 3.8rem;
  }

  body.home-editorial-light .hero-title {
    font-size: clamp(2.05rem, 10vw, 2.75rem);
    line-height: 1.06;
  }

  body.home-editorial-light .hero-description {
    font-size: 1rem;
  }

  body.home-editorial-light .hero-image {
    max-width: 300px;
    animation: none;
  }

  body.home-editorial-light .hero-features {
    align-items: stretch;
  }

  body.home-editorial-light .hero-features .feature {
    width: 100%;
  }

  body.home-editorial-light .pricing-grid-custom,
  body.home-editorial-light .diff-grid,
  body.home-editorial-light .features-grid,
  body.home-editorial-light .channels-content,
  body.home-editorial-light .csp-u-ac034c32a5,
  body.home-editorial-light .reviews-grid {
    grid-template-columns: 1fr !important;
  }

  body.home-editorial-light .section {
    padding-top: 3.7rem;
    padding-bottom: 3.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-editorial-light *,
  body.home-editorial-light *::before,
  body.home-editorial-light *::after {
    scroll-behavior: auto !important;
  }

  body.home-editorial-light :is(
    .hero-image,
    .carousel-card,
    .pack-card,
    .diff-card,
    .feature-card,
    .channel-category,
    .csp-r-c90769ddff,
    .review-card,
    .vip-image,
    .globe-image
  ) {
    animation: none !important;
    transition: none !important;
  }
}

/* Batch 31 — nouveaux visuels et amélioration de la section VIP */
body.home-editorial-light .vip-visual,
body.home-editorial-light .channels-image {
  position: relative;
  display: flex;
  justify-content: center;
}

body.home-editorial-light .vip-visual::before,
body.home-editorial-light .channels-image::before {
  content: "";
  position: absolute;
  inset: 6% 9%;
  z-index: 0;
  background: linear-gradient(145deg, rgba(23, 78, 166, .12), rgba(91, 33, 182, .08));
  border-radius: 28px;
  filter: blur(10px);
  opacity: .7;
}

body.home-editorial-light :is(.vip-image, .globe-image) {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 580px;
  aspect-ratio: 1000 / 560;
  object-fit: cover;
  border-radius: 26px;
  border: 1px solid #dbe3ef;
  box-shadow: 0 24px 54px rgba(16, 24, 40, .12);
}

/* 1. Changement d’images : rendu plus moderne et plus commercial */
body.home-editorial-light .vip-image {
  background: #0b1220;
}

body.home-editorial-light .globe-image {
  background: #0b1220;
}

/* 2. Amélioration du texte VIP */
body.home-editorial-light .vip-title {
  max-width: 14ch;
  margin-bottom: 1rem;
}

body.home-editorial-light .vip-title .gradient-text {
  position: relative;
  display: inline-block;
  color: transparent !important;
  background-image: linear-gradient(90deg, #174ea6 0%, #5b21b6 52%, #174ea6 100%) !important;
  background-size: 220% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  animation: vip-gold-shine 5s ease-in-out infinite;
}

body.home-editorial-light .vip-title .gradient-text::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  margin-top: .35rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(23, 78, 166, .15), rgba(91, 33, 182, .55), rgba(23, 78, 166, .15));
  animation: vip-underline-pulse 3.6s ease-in-out infinite;
}

@keyframes vip-gold-shine {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes vip-underline-pulse {
  0%, 100% { opacity: .68; transform: scaleX(.96); }
  50% { opacity: 1; transform: scaleX(1); }
}

/* 3. Micro-animations visuelles sur les deux images */
body.home-editorial-light :is(.vip-image, .globe-image) {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

body.home-editorial-light :is(.vip-image, .globe-image):hover {
  transform: translateY(-6px) scale(1.01);
  border-color: #a6bddf;
  box-shadow: 0 30px 60px rgba(16, 24, 40, .16);
}

/* 4. Lisibilité de la colonne texte VIP */
body.home-editorial-light .vip-intro {
  margin-bottom: .7rem;
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
  font-weight: 700;
}

body.home-editorial-light .vip-content > p:not(.vip-intro) {
  margin-bottom: 1rem;
}

body.home-editorial-light .vip-list li {
  margin-bottom: .65rem;
  padding-left: .1rem;
}

/* 5. Mobile : meilleur équilibre titre/visuels */
@media (max-width: 980px) {
  body.home-editorial-light .vip-title {
    max-width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  body.home-editorial-light .vip-content {
    text-align: center;
  }

  body.home-editorial-light .vip-list {
    text-align: left;
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 720px) {
  body.home-editorial-light :is(.vip-image, .globe-image) {
    max-width: 100%;
    border-radius: 22px;
  }

  body.home-editorial-light .vip-title .gradient-text::after {
    margin-left: auto;
    margin-right: auto;
    width: 88%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-editorial-light .vip-title .gradient-text,
  body.home-editorial-light .vip-title .gradient-text::after,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    animation: none !important;
    transition: none !important;
  }
}

/* Batch 32 — correction du badge de section et verrouillage des nouveaux visuels */
body.home-editorial-light .section-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .52rem 1rem;
  color: #0b2f6b !important;
  -webkit-text-fill-color: #0b2f6b !important;
  background: #f1f5fb !important;
  background-image: none !important;
  border: 1px solid #b8c9e1 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  box-shadow: 0 5px 16px rgba(16, 24, 40, .045);
}

body.home-editorial-light .section-tag:hover {
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
  background: #e8eef7 !important;
  border-color: #91a9ca !important;
}

/* Les deux nouvelles images gardent un ratio stable et remplacent les anciens visuels. */
body.home-editorial-light .vip-visual .vip-image,
body.home-editorial-light .channels-image .globe-image {
  width: 100% !important;
  max-width: 580px !important;
  height: auto !important;
  aspect-ratio: 1000 / 560;
  object-fit: cover !important;
}

/* Batch 33 — optimisation complète des sections VIP et Chaînes */

/* 1. Mise en page premium de la section VIP */
body.home-editorial-light .vip-section .container,
body.home-editorial-light .channels.section .container {
  max-width: 1220px;
}

body.home-editorial-light .vip-grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 500px);
  gap: clamp(2rem, 5vw, 4.2rem);
  align-items: center;
}

body.home-editorial-light .vip-content {
  padding: clamp(1.8rem, 3.5vw, 3rem) !important;
  background:
    radial-gradient(circle at 90% 10%, rgba(91, 33, 182, .05), transparent 34%),
    radial-gradient(circle at 10% 90%, rgba(23, 78, 166, .05), transparent 34%),
    #ffffff !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 40px rgba(16, 24, 40, .07) !important;
}

body.home-editorial-light .vip-title {
  max-width: 12ch !important;
  margin-bottom: 1rem !important;
  font-size: clamp(2.2rem, 4vw, 3.55rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -.045em;
}

body.home-editorial-light .vip-title .gradient-text {
  position: relative;
  display: inline-block;
  color: transparent !important;
  background-image: linear-gradient(90deg, #174ea6 0%, #5b21b6 48%, #3b82f6 100%) !important;
  background-size: 220% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
  animation: vip-title-shimmer 5.6s ease-in-out infinite;
}

body.home-editorial-light .vip-title .gradient-text::after {
  content: "";
  display: block;
  width: min(100%, 330px);
  height: 4px;
  margin-top: .45rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(23, 78, 166, .10), rgba(91, 33, 182, .55), rgba(23, 78, 166, .10));
  animation: vip-title-underline 3.8s ease-in-out infinite;
}

@keyframes vip-title-shimmer {
  0%, 100% { background-position: 0% 50%; filter: drop-shadow(0 0 0 rgba(23, 78, 166, 0)); }
  50% { background-position: 100% 50%; filter: drop-shadow(0 6px 16px rgba(91, 33, 182, .08)); }
}

@keyframes vip-title-underline {
  0%, 100% { opacity: .72; transform: scaleX(.96); }
  50% { opacity: 1; transform: scaleX(1); }
}

/* 2. Meilleure mise en valeur du texte VIP */
body.home-editorial-light .vip-intro {
  display: inline-block;
  margin-bottom: 1rem !important;
  padding: .6rem .9rem;
  color: #0b2f6b !important;
  -webkit-text-fill-color: #0b2f6b !important;
  background: #edf4ff !important;
  border: 1px solid #d4e2f5 !important;
  border-radius: 14px !important;
  font-size: 1.02rem !important;
  font-weight: 750 !important;
  line-height: 1.5 !important;
}

body.home-editorial-light .vip-content > p:not(.vip-intro) {
  max-width: 50ch;
  margin-bottom: 1.35rem !important;
  color: #475467 !important;
  -webkit-text-fill-color: #475467 !important;
  font-size: 1.08rem !important;
  line-height: 1.75 !important;
}

/* 3. Avantages VIP transformés en cartes lisibles */
body.home-editorial-light .vip-list {
  display: grid;
  gap: .9rem;
  margin: 0 0 1.8rem !important;
  padding: 0 !important;
  list-style: none !important;
}

body.home-editorial-light .vip-list li {
  margin: 0 !important;
  padding: .95rem 1rem 1rem 1.05rem !important;
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
  background: #ffffff !important;
  border: 1px solid #dde5ef !important;
  border-left: 5px solid #174ea6 !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 20px rgba(16, 24, 40, .045) !important;
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}

body.home-editorial-light .vip-list li:hover {
  transform: translateX(4px);
  border-color: #b7cae4 !important;
  box-shadow: 0 12px 24px rgba(16, 24, 40, .08) !important;
}

/* 4. Format d’image cohérent entre les deux sections */
body.home-editorial-light .vip-visual,
body.home-editorial-light .channels-image {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

body.home-editorial-light .vip-visual::before,
body.home-editorial-light .channels-image::before {
  content: "";
  position: absolute;
  inset: 7%;
  z-index: 0;
  background: linear-gradient(145deg, rgba(23, 78, 166, .10), rgba(91, 33, 182, .08));
  border-radius: 30px;
  filter: blur(10px);
  opacity: .7;
}

body.home-editorial-light .vip-visual picture,
body.home-editorial-light .channels-image picture {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 520px);
}

body.home-editorial-light :is(.vip-image, .globe-image) {
  width: 100% !important;
  max-width: 520px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  background: #0a1020 !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 28px !important;
  box-shadow: 0 26px 54px rgba(16, 24, 40, .13) !important;
  transition: transform .34s ease, box-shadow .34s ease, border-color .34s ease !important;
}

body.home-editorial-light :is(.vip-image, .globe-image):hover {
  transform: translateY(-6px) scale(1.01);
  border-color: #9fb8da !important;
  box-shadow: 0 30px 62px rgba(16, 24, 40, .17) !important;
}

/* 5. CTA VIP plus clair */
html body.home-editorial-light .vip-content .btn-success,
html body.home-editorial-light .vip-content .btn-success:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: .95rem 1.55rem !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(90deg, #15803d 0%, #16a34a 100%) !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  font-size: 1.02rem !important;
  font-weight: 760 !important;
  box-shadow: 0 12px 24px rgba(22, 163, 74, .20);
  transition: transform .24s ease, box-shadow .24s ease !important;
}

html body.home-editorial-light .vip-content .btn-success:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 28px rgba(22, 163, 74, .25) !important;
}

/* 6. Parité visuelle de la section Chaînes */
body.home-editorial-light .channels-layout {
  grid-template-columns: minmax(320px, 500px) 1fr !important;
  gap: clamp(2rem, 5vw, 4rem) !important;
  align-items: center !important;
}

body.home-editorial-light .channels-content {
  gap: 1rem !important;
}

body.home-editorial-light .channel-category {
  min-height: 158px;
}

body.home-editorial-light .channels-cta {
  margin-top: 1.8rem !important;
}

@media (max-width: 980px) {
  body.home-editorial-light .vip-grid,
  body.home-editorial-light .channels-layout {
    grid-template-columns: 1fr !important;
  }

  body.home-editorial-light .vip-content {
    text-align: center;
  }

  body.home-editorial-light .vip-title {
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  body.home-editorial-light .vip-intro {
    display: inline-block;
    margin-inline: auto !important;
  }

  body.home-editorial-light .vip-content > p:not(.vip-intro) {
    margin-inline: auto !important;
  }

  body.home-editorial-light .vip-list {
    max-width: 680px;
    margin-inline: auto !important;
  }

  body.home-editorial-light .channels-image {
    order: -1;
  }
}

@media (max-width: 720px) {
  body.home-editorial-light .vip-content {
    padding: 1.45rem !important;
    border-radius: 20px !important;
  }

  body.home-editorial-light .vip-title {
    font-size: clamp(1.95rem, 9vw, 2.7rem) !important;
  }

  body.home-editorial-light .vip-title .gradient-text::after {
    width: min(82%, 280px);
    margin-inline: auto;
  }

  body.home-editorial-light :is(.vip-image, .globe-image) {
    max-width: 100% !important;
    border-radius: 22px !important;
  }

  body.home-editorial-light .channel-category {
    min-height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-editorial-light .vip-title .gradient-text,
  body.home-editorial-light .vip-title .gradient-text::after,
  body.home-editorial-light .vip-list li,
  body.home-editorial-light :is(.vip-image, .globe-image),
  body.home-editorial-light .vip-content .btn-success {
    animation: none !important;
    transition: none !important;
  }
}

/* Batch 34 — agrandir les visuels des sections VIP et Chaînes */

/* 1. Sur desktop, les deux colonnes prennent une hauteur visuellement équilibrée */
body.home-editorial-light .vip-grid,
body.home-editorial-light .channels-layout {
  align-items: stretch !important;
}

/* 2. Le bloc image devient plus présent et peut occuper toute la hauteur disponible */
body.home-editorial-light .vip-visual,
body.home-editorial-light .channels-image {
  align-self: stretch !important;
}

body.home-editorial-light .vip-visual picture,
body.home-editorial-light .channels-image picture {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 580px) !important;
  height: 100% !important;
  min-height: 640px;
  margin-inline: auto;
}

/* 3. Les images sont affichées plus grandes et remplissent mieux la colonne */
body.home-editorial-light :is(.vip-image, .globe-image) {
  width: 100% !important;
  max-width: 580px !important;
  height: 100% !important;
  min-height: 640px;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center;
}

/* 4. On donne un peu plus d’espace à la colonne image sur grand écran */
@media (min-width: 1180px) {
  body.home-editorial-light .vip-grid {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 600px) !important;
  }

  body.home-editorial-light .channels-layout {
    grid-template-columns: minmax(420px, 600px) minmax(0, 1fr) !important;
  }

  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    max-width: 600px !important;
    min-height: 690px;
  }
}

/* 5. Taille intermédiaire pour ordinateur portable */
@media (max-width: 1179px) and (min-width: 981px) {
  body.home-editorial-light .vip-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 540px) !important;
  }

  body.home-editorial-light .channels-layout {
    grid-template-columns: minmax(360px, 540px) minmax(0, 1fr) !important;
  }

  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    max-width: 540px !important;
    min-height: 600px;
  }
}

/* 6. Mobile et tablette : on revient à des proportions naturelles */
@media (max-width: 980px) {
  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture {
    width: min(100%, 520px) !important;
    height: auto !important;
    min-height: 0;
  }

  body.home-editorial-light :is(.vip-image, .globe-image) {
    max-width: 520px !important;
    height: auto !important;
    min-height: 0;
    aspect-ratio: 1 / 1 !important;
  }
}

@media (max-width: 720px) {
  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    transition: none !important;
  }
}

/* Batch 35 — faire remplir toute la hauteur disponible aux deux images */

/* 1. Les deux grilles utilisent une vraie ligne de même hauteur */
body.home-editorial-light .vip-grid,
body.home-editorial-light .channels-layout {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

/* 2. Les colonnes texte et image s’étirent réellement */
body.home-editorial-light .vip-content,
body.home-editorial-light .vip-visual,
body.home-editorial-light .channels-image,
body.home-editorial-light .channels-content {
  align-self: stretch !important;
}

body.home-editorial-light .vip-visual,
body.home-editorial-light .channels-image {
  display: flex !important;
  height: 100% !important;
  min-height: 100% !important;
}

/* 3. Le conteneur picture prend toute la hauteur disponible */
body.home-editorial-light .vip-visual picture,
body.home-editorial-light .channels-image picture {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 620px !important;
  height: 100% !important;
  min-height: 100% !important;
  margin-inline: auto;
}

/* 4. L’image remplit complètement le bloc, sans vide sous elle */
body.home-editorial-light :is(.vip-image, .globe-image) {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 620px !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  aspect-ratio: auto !important;
}

/* 5. Sur grand écran, la colonne image peut monter jusqu’à la hauteur de la carte texte */
@media (min-width: 1180px) {
  body.home-editorial-light .vip-grid {
    grid-template-columns: minmax(0, 1fr) minmax(450px, 640px) !important;
  }

  body.home-editorial-light .channels-layout {
    grid-template-columns: minmax(450px, 640px) minmax(0, 1fr) !important;
  }

  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    max-width: 640px !important;
  }
}

/* 6. Sur portable, on garde le remplissage mais avec un bloc un peu plus raisonnable */
@media (max-width: 1179px) and (min-width: 981px) {
  body.home-editorial-light .vip-grid {
    grid-template-columns: minmax(0, 1fr) minmax(390px, 560px) !important;
  }

  body.home-editorial-light .channels-layout {
    grid-template-columns: minmax(390px, 560px) minmax(0, 1fr) !important;
  }

  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    max-width: 560px !important;
  }
}

/* 7. Mobile et tablette : retour à une hauteur naturelle pour éviter un bloc trop grand */
@media (max-width: 980px) {
  body.home-editorial-light .vip-visual,
  body.home-editorial-light .channels-image,
  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture {
    height: auto !important;
    min-height: 0 !important;
  }

  body.home-editorial-light :is(.vip-image, .globe-image) {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    max-width: 520px !important;
  }
}

@media (max-width: 720px) {
  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    transition: none !important;
  }
}

/* Batch 36 — intégration finale des deux bannières horizontales */

/* Les sections restent horizontales sur ordinateur, sans étirement vertical. */
body.home-editorial-light .vip-grid {
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr) !important;
  align-items: center !important;
  grid-auto-rows: auto !important;
  gap: clamp(2rem, 4.5vw, 4rem) !important;
}

body.home-editorial-light .channels-layout {
  grid-template-columns: minmax(520px, 1.14fr) minmax(0, .86fr) !important;
  align-items: center !important;
  grid-auto-rows: auto !important;
  gap: clamp(2rem, 4.5vw, 4rem) !important;
}

/* Neutralise les anciennes règles de pleine hauteur. */
body.home-editorial-light .vip-visual,
body.home-editorial-light .channels-image {
  display: flex !important;
  align-self: center !important;
  height: auto !important;
  min-height: 0 !important;
}

body.home-editorial-light .vip-visual picture,
body.home-editorial-light .channels-image picture {
  display: block !important;
  flex: none !important;
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  min-height: 0 !important;
  margin-inline: auto;
}

body.home-editorial-light :is(.vip-image, .globe-image) {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1440 / 811 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 24px !important;
  border: 1px solid #d7e0ec !important;
  box-shadow:
    0 24px 54px rgba(16, 24, 40, .14),
    0 0 0 1px rgba(255, 255, 255, .55) inset !important;
}

/* Halo discret adapté au format horizontal. */
body.home-editorial-light .vip-visual::before,
body.home-editorial-light .channels-image::before {
  inset: 10% 5% !important;
  border-radius: 28px !important;
  opacity: .58 !important;
  filter: blur(16px) !important;
}

/* Animation visuelle légère uniquement sur l'image. */
body.home-editorial-light :is(.vip-image, .globe-image) {
  transition:
    transform .32s ease,
    box-shadow .32s ease,
    border-color .32s ease !important;
}

body.home-editorial-light :is(.vip-image, .globe-image):hover {
  transform: translateY(-6px) scale(1.008) !important;
  border-color: #9db5d7 !important;
  box-shadow:
    0 30px 64px rgba(16, 24, 40, .18),
    0 0 0 1px rgba(255, 255, 255, .65) inset !important;
}

/* L'image Chaînes passe au-dessus du contenu sur tablette pour un rendu plus naturel. */
@media (max-width: 1080px) {
  body.home-editorial-light .vip-grid,
  body.home-editorial-light .channels-layout {
    grid-template-columns: 1fr !important;
  }

  body.home-editorial-light .vip-visual,
  body.home-editorial-light .channels-image {
    order: -1;
  }

  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    max-width: 900px !important;
  }
}

/* Téléphone : largeur complète, coins légèrement réduits. */
@media (max-width: 720px) {
  body.home-editorial-light .vip-visual picture,
  body.home-editorial-light .channels-image picture,
  body.home-editorial-light :is(.vip-image, .globe-image) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-editorial-light :is(.vip-image, .globe-image) {
    transition: none !important;
    transform: none !important;
  }
}

/* Batch 37 — structure inspirée de la section Broadx */

/* 1. Structure globale : composition visuelle à gauche, contenu à droite */
body.home-editorial-light .vip-broadx-layout {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(520px, 1.12fr) minmax(0, .88fr) !important;
  gap: clamp(2.8rem, 5vw, 5rem) !important;
  align-items: center !important;
  grid-auto-rows: auto !important;
  overflow: visible;
}

/* 2. Scène visuelle professionnelle */
body.home-editorial-light .vip-broadx-visual {
  position: relative;
  isolation: isolate;
  display: grid !important;
  place-items: center;
  min-height: 620px !important;
  padding: clamp(1rem, 3vw, 2.25rem);
  overflow: visible;
}

body.home-editorial-light .vip-broadx-visual::before {
  content: "";
  position: absolute;
  inset: 8% 4%;
  z-index: -2;
  background:
    radial-gradient(circle at 30% 25%, rgba(23, 78, 166, .18), transparent 34%),
    radial-gradient(circle at 78% 72%, rgba(91, 33, 182, .14), transparent 36%);
  border-radius: 38px;
  filter: blur(8px);
}

body.home-editorial-light .vip-broadx-visual picture {
  position: relative;
  z-index: 2;
  display: block !important;
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}

body.home-editorial-light .vip-broadx-visual .vip-image {
  display: block !important;
  width: 100% !important;
  max-width: 720px !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1440 / 811 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 28px !important;
  border: 1px solid rgba(23, 78, 166, .18) !important;
  box-shadow:
    0 32px 70px rgba(16, 24, 40, .18),
    0 0 0 8px rgba(255, 255, 255, .82) !important;
  animation: vip-broadx-image-float 7s ease-in-out infinite;
}

/* 3. Éléments décoratifs animés */
body.home-editorial-light .vip-broadx-decor {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

body.home-editorial-light .vip-orbit {
  position: absolute;
  border: 1px solid rgba(23, 78, 166, .16);
  border-radius: 50%;
}

body.home-editorial-light .vip-orbit-one {
  width: 420px;
  height: 420px;
  top: 4%;
  left: -5%;
  animation: vip-orbit-spin 18s linear infinite;
}

body.home-editorial-light .vip-orbit-two {
  width: 280px;
  height: 280px;
  right: 2%;
  bottom: 3%;
  border-color: rgba(91, 33, 182, .18);
  animation: vip-orbit-spin-reverse 15s linear infinite;
}

body.home-editorial-light .vip-spark {
  position: absolute;
  width: 14px;
  height: 14px;
  top: 18%;
  right: 11%;
  background: #5b21b6;
  border-radius: 50%;
  box-shadow:
    0 0 0 8px rgba(91, 33, 182, .08),
    0 0 30px rgba(91, 33, 182, .28);
  animation: vip-spark-pulse 3.2s ease-in-out infinite;
}

/* 4. Cartes flottantes comme sur la référence */
body.home-editorial-light .vip-floating-benefits {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

body.home-editorial-light .vip-floating-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: .75rem;
  width: min(250px, 38%);
  padding: .85rem 1rem;
  color: #101828;
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(23, 78, 166, .16);
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(16, 24, 40, .14);
  backdrop-filter: blur(8px);
}

body.home-editorial-light .vip-floating-card-1 {
  top: 7%;
  left: -2%;
  animation: vip-floating-card-one 5.5s ease-in-out infinite;
}

body.home-editorial-light .vip-floating-card-2 {
  right: -3%;
  bottom: 8%;
  animation: vip-floating-card-two 6.2s ease-in-out infinite;
}

body.home-editorial-light .vip-floating-icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  color: #174ea6;
  background: #edf4ff;
  border-radius: 12px;
  font-weight: 800;
}

body.home-editorial-light .vip-floating-text {
  color: #344054;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
}

/* 5. Bloc contenu structuré comme la référence */
body.home-editorial-light .vip-broadx-content {
  position: relative;
  padding: clamp(1rem, 2vw, 2rem) 0 !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.home-editorial-light .vip-broadx-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .85rem;
  color: #174ea6;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.home-editorial-light .vip-broadx-eyebrow::before {
  content: "";
  width: 42px;
  height: 2px;
  background: linear-gradient(90deg, #174ea6, #5b21b6);
}

body.home-editorial-light .vip-broadx-content .vip-title {
  max-width: 12ch !important;
  margin-bottom: 1.1rem !important;
  font-size: clamp(2.45rem, 4.3vw, 4.15rem) !important;
  line-height: 1.02 !important;
}

body.home-editorial-light .vip-broadx-content .vip-intro {
  display: block !important;
  margin-bottom: .9rem !important;
  padding: 0 !important;
  color: #174ea6 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 1.05rem !important;
}

body.home-editorial-light .vip-broadx-content > p:not(.vip-intro) {
  max-width: 52ch;
  margin-bottom: 1.35rem !important;
  color: #475467 !important;
  font-size: 1.04rem !important;
  line-height: 1.75 !important;
}

/* 6. Deux bénéfices principaux mis en avant */
body.home-editorial-light .vip-highlight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.25rem;
}

body.home-editorial-light .vip-highlight-card {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 92px;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid #dce5ef;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(16, 24, 40, .055);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

body.home-editorial-light .vip-highlight-card:hover {
  transform: translateY(-5px);
  border-color: #9db7dc;
  box-shadow: 0 16px 32px rgba(16, 24, 40, .10);
}

body.home-editorial-light .vip-highlight-icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  color: #174ea6;
  background: #edf4ff;
  border-radius: 13px;
  font-size: 1.2rem;
}

body.home-editorial-light .vip-highlight-text {
  color: #101828;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.45;
}

/* 7. Liste restante plus légère */
body.home-editorial-light .vip-broadx-content .vip-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: .7rem;
  margin-bottom: 1.6rem !important;
}

body.home-editorial-light .vip-broadx-content .vip-list li {
  padding: .75rem .9rem !important;
  background: #f7f9fc !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #174ea6 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: .95rem !important;
}

@keyframes vip-broadx-image-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-9px); }
}

@keyframes vip-orbit-spin {
  to { transform: rotate(360deg); }
}

@keyframes vip-orbit-spin-reverse {
  to { transform: rotate(-360deg); }
}

@keyframes vip-spark-pulse {
  0%, 100% { transform: scale(.9); opacity: .65; }
  50% { transform: scale(1.15); opacity: 1; }
}

@keyframes vip-floating-card-one {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-10px) rotate(1deg); }
}

@keyframes vip-floating-card-two {
  0%, 100% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(9px) rotate(-1deg); }
}

@media (max-width: 1120px) {
  body.home-editorial-light .vip-broadx-layout {
    grid-template-columns: 1fr !important;
  }

  body.home-editorial-light .vip-broadx-visual {
    min-height: 0 !important;
    order: -1;
  }

  body.home-editorial-light .vip-broadx-visual picture,
  body.home-editorial-light .vip-broadx-visual .vip-image {
    max-width: 900px !important;
  }

  body.home-editorial-light .vip-broadx-content {
    max-width: 780px;
    margin-inline: auto;
    text-align: center !important;
  }

  body.home-editorial-light .vip-broadx-content .vip-title,
  body.home-editorial-light .vip-broadx-content > p:not(.vip-intro) {
    margin-inline: auto !important;
  }

  body.home-editorial-light .vip-broadx-eyebrow {
    justify-content: center;
  }

  body.home-editorial-light .vip-floating-card-1 {
    left: 2%;
  }

  body.home-editorial-light .vip-floating-card-2 {
    right: 2%;
  }
}

@media (max-width: 720px) {
  body.home-editorial-light .vip-broadx-visual {
    padding: .5rem;
  }

  body.home-editorial-light .vip-floating-benefits {
    display: none;
  }

  body.home-editorial-light .vip-orbit {
    display: none;
  }

  body.home-editorial-light .vip-broadx-content .vip-title {
    max-width: 100% !important;
    font-size: clamp(2rem, 10vw, 2.9rem) !important;
  }

  body.home-editorial-light .vip-highlight-grid {
    grid-template-columns: 1fr;
  }

  body.home-editorial-light .vip-broadx-content .vip-list {
    text-align: left;
  }

  body.home-editorial-light .vip-broadx-visual .vip-image {
    border-radius: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-editorial-light .vip-broadx-visual .vip-image,
  body.home-editorial-light .vip-orbit,
  body.home-editorial-light .vip-spark,
  body.home-editorial-light .vip-floating-card {
    animation: none !important;
  }

  body.home-editorial-light .vip-highlight-card {
    transition: none !important;
  }
}

/* Batch 42 v2 — section VIP : visuel à gauche, textes HTML à droite */
body.home-editorial-light .vip-exact-example-section {
  position: relative;
  overflow: hidden;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0 !important;
  background: #f8f9fd !important;
}

body.home-editorial-light .vip-exact-example-container {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  width: min(100%, 1340px);
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 2rem);
}

body.home-editorial-light .vip-exact-example-visual {
  position: relative;
  width: 100%;
}

body.home-editorial-light .vip-exact-example-visual picture {
  display: block;
  width: 100%;
}

body.home-editorial-light .vip-exact-example-image {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 860 / 900;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* Colonne texte — visible, plus de sr-only */
body.home-editorial-light .vip-exact-seo-content {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-weight: 760;
  color: #4237d4;
  font-size: .95rem;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-eyebrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #eceafd;
  font-size: 1rem;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-title {
  margin: 0;
  font-size: clamp(1.5rem, 2.6vw, 2.15rem);
  line-height: 1.15;
  color: #101733;
  font-weight: 820;
  font-family: var(--font-body);
  letter-spacing: -.015em;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-title-main {
  display: block;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-title-accent {
  display: block;
  background: linear-gradient(90deg, #2f6bff, #5b49ef);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-intro {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
  color: #ef5567;
  font-weight: 740;
  font-size: 1rem;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-intro-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #fde7ea;
  font-size: .85rem;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-paragraph {
  margin: 0;
  color: #46506b;
  font-size: 1rem;
  line-height: 1.55;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-benefits {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  margin-top: .25rem;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-benefit {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .7rem 1rem;
  background: #ffffff;
  border: 1px solid #eef0fa;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(31, 39, 84, .06);
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #eceafd;
  color: #4237d4;
  font-weight: 780;
  font-size: .85rem;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-benefit-text {
  color: #232c4d;
  font-weight: 620;
  font-size: .95rem;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 50px;
  margin-top: .35rem;
  padding: .8rem 1.7rem;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(90deg, #4237d4, #5b49ef);
  border-radius: 999px;
  font-weight: 780;
  font-size: 1rem;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(90, 73, 238, .22);
  transition: transform .18s ease, box-shadow .18s ease;
}

body.home-editorial-light .vip-exact-seo-content .vip-showcase-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(90, 73, 238, .3);
}

@media (max-width: 900px) {
  body.home-editorial-light .vip-exact-example-container {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  body.home-editorial-light .vip-exact-example-visual {
    max-width: 560px;
    margin: 0 auto;
  }

  body.home-editorial-light .vip-exact-seo-content .vip-showcase-cta {
    align-self: stretch;
  }
}


/* Batch 43 v2 — section Chaînes : grille de cartes pleine largeur, sans image */
body.home-editorial-light .channels-layout {
  display: block !important;
}
body.home-editorial-light .channels-content {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(1rem, 2.5vw, 1.5rem) !important;
}
@media (max-width: 900px) {
  body.home-editorial-light .channels-content {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 560px) {
  body.home-editorial-light .channels-content {
    grid-template-columns: 1fr !important;
  }
}
