/* Harmonisation visuelle, chargée en dernier sur toutes les pages.
   Une seule échelle pour le texte, les arrondis, les ombres et les boutons.
   Les trois faux identifiants passent devant les anciennes surcharges. */

/* Texte courant : 16 px, chapeaux : 18 px, métadonnées : 14 px */
html body:not(#_h1):not(#_h2):not(#_h3) :is(main, section, article) :is(p, li, dd):not(.rv-fab-panel *, [class*="toc"] *, .hxA-sub, [class*="num"], [class*="value"], [class*="price"], [class*="stat"]) {
  font-size: var(--rv-text-body) !important;
  line-height: var(--rv-leading-body) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.section-sub, .rv-stats-sub, .hxA-sub, .page-hero p:not(.breadcrumb), .rv-compare-sub, .rv-estim-sub, .ob-intro, .bm-hero-sub, .rv-roi-sub, .rv-typos-head p, .rv-calendar-head p) {
  font-size: var(--rv-text-lead) !important;
  line-height: 1.6 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.bm-card-foot, .bm-card-foot *, .breadcrumb, .breadcrumb *, figcaption, .rv-stats-footnote, .rv-footnote, .rvpq-note, .rv-note, .rv-author-meta, .rv-author-meta *, .rv-estim-result-note, .lead-mockup-sub) {
  font-size: var(--rv-text-small) !important;
}

/* Titres : une graisse, trois tailles de h3 selon le rôle */
html body:not(#_h1):not(#_h2):not(#_h3) :is(h1, h2, h3, h4) {
  font-weight: 600 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(main, section, article) h3:not(.section-title) {
  font-size: var(--rv-text-card) !important;
  line-height: 1.35 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.article-content, .rv-article-body, .legal-content, .ml-content) h3:not(.section-title) {
  font-size: var(--rv-text-h3) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.service-header, .step, .rv-outil-card, .faq-cta-bottom, .rv-article-cta, .cal-cta-final, .pq-cta-final, .rv-wizard-step, .article-card, .rv-sector-cas, .contact-info-card, .rv-cta-block) h3:not(.section-title) {
  font-size: var(--rv-text-panel) !important;
  line-height: 1.25 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(strong, b):not(.hxA-h1 *) {
  font-weight: 700 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.faq-q, .faq-q span, .faq-question, .faq-question span) {
  font-weight: 600 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.bm-card-tag, .section-tag, .rv-bp-tag, [class*="eyebrow"]) {
  font-weight: 700 !important;
}

/* Sigles : ni petites capitales ni gras, le soulignement pointillé suffit */
html body:not(#_h1):not(#_h2):not(#_h3) :is(abbr, abbr.rv-abbr, .rv-abbr, .rv-caps, abbr[title]) {
  font-variant: normal !important;
  font-variant-caps: normal !important;
  letter-spacing: normal !important;
  font-weight: inherit !important;
}

/* Titres de section : plus de trait ondulé décoratif */
html body:not(#_h1):not(#_h2):not(#_h3) .section-title::after {
  content: none !important;
  display: none !important;
}

/* Logo de l'en-tête : un seul mot, comme dans le pied de page */
html body:not(#_h1):not(#_h2):not(#_h3) .rv-wordmark {
  gap: 0 !important;
}

/* Arrondis : 8 px pour les petits éléments, 14 px pour les cartes, 20 px pour les panneaux */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.card, .service-card, .tarif-card, .rv-sector-card, .rv-stat-card, .rv-value-card, .value-card, .faq-item, .step, .bm-card, .bm-featured, .rv-typo-card, .rv-outil-card, .rvpq-tile, .ob-card, .imp-card, .rh-card, .article-card, .rv-related-card, .contact-info-card, .rv-author-card, .pq-when-card, .rvx-r, .rv-bp-card, .lead-mockup, .rv-cal-item, .rv-estim-result) {
  border-radius: var(--rv-radius) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.rv-cta-block, .rv-article-cta, .rv-wizard, .rv-roi-result, .rv-newsletter-inline, .rv-compare, .rv-estim-form, .faq-cta-bottom) {
  border-radius: var(--rv-radius-lg) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea, .rv-share-btn, .rv-3d-icon-wrap, .step-num) {
  border-radius: var(--rv-radius-sm) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.reg-badge, .section-tag, .bm-card-tag, .article-tag, .tarif-badge, .service-badge, .rv-compare-badge) {
  border-radius: var(--rv-radius-pill) !important;
}

/* Ombres : trois niveaux */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.card, .service-card, .tarif-card, .rv-sector-card, .rv-stat-card, .rv-value-card, .value-card, .faq-item, .step, .bm-card, .rv-typo-card, .rvpq-tile, .ob-card, .imp-card, .rh-card, .article-card, .rv-related-card, .contact-info-card, .rv-author-card, .pq-when-card, .rv-bp-card) {
  box-shadow: var(--rv-shadow-1) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.bm-card, .rv-typo-card, .rv-bp-card, .rv-related-card, .rv-outil-card, .article-card):hover {
  box-shadow: var(--rv-shadow-2) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.section-tag, .rv-eyebrow, .reg-badge, .rv-3d-icon-wrap, .step-num, .rv-fbm-chip) {
  box-shadow: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.rv-fab-toggle, .rv-fab-panel, .rv-link-preview, #rvConsent > div) {
  box-shadow: var(--rv-shadow-3) !important;
}

/* Boutons : or (action principale), vert (action secondaire), contour (lien fort) */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn, a.btn-primary, a.btn-secondary, .hxA-cta, .rv-roi-cta, .rv-wizard-next, .lead-form button[type="submit"], .rv-newsletter-inline-form button) {
  border-radius: var(--rv-radius-pill) !important;
  font-family: var(--rv-font-body) !important;
  font-size: var(--rv-text-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  padding: 14px 28px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .btn.btn-sm {
  font-size: var(--rv-text-small) !important;
  padding: 9px 18px !important;
  min-height: 40px !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-gold, .btn-cta-gold, .btn-primary-hero, .hxA-cta, .rv-roi-cta, .lead-form button[type="submit"], .rv-typo-cta .btn, .rv-article-cta .btn, .faq-cta-bottom .btn) {
  background: var(--rv-btn-gold) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  box-shadow: var(--rv-shadow-cta) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-gold, .btn-cta-gold, .btn-primary-hero, .hxA-cta, .rv-roi-cta, .lead-form button[type="submit"], .rv-typo-cta .btn, .rv-article-cta .btn, .faq-cta-bottom .btn) :is(i, span) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-gold, .btn-cta-gold, .btn-primary-hero, .hxA-cta, .rv-roi-cta, .lead-form button[type="submit"], .rv-typo-cta .btn, .rv-article-cta .btn, .faq-cta-bottom .btn):hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px -12px rgba(176,132,45,.7) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-primary, .rv-wizard-next, .rv-newsletter-inline-form button, .btn-green) {
  background: var(--rv-green-600) !important;
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-primary, .rv-wizard-next, .rv-newsletter-inline-form button, .btn-green):hover {
  background: var(--rv-green-700) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-outline-green, .btn-outline, .btn-secondary) {
  background: transparent !important;
  color: var(--rv-green-600) !important;
  -webkit-text-fill-color: var(--rv-green-600) !important;
  border: 1.5px solid var(--rv-green-600) !important;
  box-shadow: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-outline-green, .btn-outline, .btn-secondary):hover {
  background: var(--rv-green-50) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cta-banner, .rv-hero-dark, .rv-article-cta, .rv-outils-strip, .rv-cta-block, [class*="cta-final"]) :is(.btn-outline, .btn-outline-green, .btn-secondary) {
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
  border-color: rgba(255,253,248,.7) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cta-banner, .rv-hero-dark, .rv-article-cta, .rv-outils-strip, .rv-cta-block, [class*="cta-final"]) :is(.btn-outline, .btn-outline-green, .btn-secondary):hover {
  background: rgba(255,253,248,.1) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .btn-white {
  background: var(--rv-cream) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Liste « Ce qui est inclus » : le texte reste d'un seul tenant, sigles et liens compris */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.service-card .service-body li, .tarif-features li) {
  display: block !important;
  position: relative !important;
  padding-left: 1.6rem !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.service-card .service-body li, .tarif-features li)::before {
  position: absolute !important;
  left: 0 !important;
  top: .42em !important;
  margin: 0 !important;
}

/* Cartes de services : un seul dégradé pour les quatre en-têtes */
html body:not(#_h1):not(#_h2):not(#_h3) .service-card {
  overflow: hidden !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .service-card .service-header {
  background: linear-gradient(135deg, var(--rv-green-700), var(--rv-green-600)) !important;
  border-radius: 0 !important;
}

/* Outils gratuits : quatre cartes sur une ligne */
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outils-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}
@media (max-width: 1100px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-outils-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-outils-grid { grid-template-columns: 1fr !important; }
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card {
  display: flex !important;
  flex-direction: column !important;
  background: linear-gradient(180deg, var(--rv-green-600) 0%, var(--rv-green-700) 100%) !important;
  border: 1px solid rgba(253,224,71,.32) !important;
  padding: 1.75rem 1.5rem !important;
  color: var(--rv-cream) !important;
  text-decoration: none !important;
  box-shadow: 0 10px 30px -14px rgba(0,0,0,.5) !important;
  transition: transform .2s ease, border-color .2s ease !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(253,224,71,.6) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card h3 {
  font-family: var(--rv-font-display) !important;
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
  margin: 0 0 .75rem !important;
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card p {
  color: rgba(255,253,248,.86) !important;
  -webkit-text-fill-color: rgba(255,253,248,.86) !important;
  margin: 0 0 1.25rem !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card .rv-outil-card-cta {
  margin-top: auto !important;
  color: var(--rv-gold-300) !important;
  -webkit-text-fill-color: var(--rv-gold-300) !important;
  font-weight: 600 !important;
  font-size: .9375rem !important;
}

/* Derniers articles de l'accueil */
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 1.5rem !important;
  margin-top: 2.5rem !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card {
  background: var(--rv-white) !important;
  overflow: hidden !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card:hover {
  transform: translateY(-2px) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card > a {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-cover {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: cover !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-body {
  padding: 1.25rem 1.4rem 1.5rem !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-tag {
  display: block !important;
  font-size: var(--rv-text-eyebrow) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--rv-gold-700) !important;
  -webkit-text-fill-color: var(--rv-gold-700) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card h3 {
  font-family: var(--rv-font-display) !important;
  color: var(--rv-green-600) !important;
  -webkit-text-fill-color: var(--rv-green-600) !important;
  margin: .5rem 0 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card p {
  color: var(--rv-ink-700) !important;
  -webkit-text-fill-color: var(--rv-ink-700) !important;
  margin: 0 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-more {
  text-align: center !important;
  margin-top: 2rem !important;
}

/* Blog : photos pour les articles, couverture typographique pour les feuilles de route */
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-cover.bm-card-cover--photo {
  padding: 0 !important;
  background: var(--rv-green-700) !important;
  overflow: hidden !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.bm-card-cover--photo img, .bm-featured-visual img) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s ease !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card:hover .bm-card-cover--photo img {
  transform: scale(1.03) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-featured-visual {
  padding: 0 !important;
  overflow: hidden !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-cover.bm-card-cover--type {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  gap: .35rem !important;
  padding: 1.25rem 1.4rem !important;
  background: linear-gradient(150deg, var(--rv-green-600) 0%, var(--rv-green-900) 100%) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-cover-kicker {
  font-size: var(--rv-text-eyebrow) !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--rv-gold-300) !important;
  -webkit-text-fill-color: var(--rv-gold-300) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-cover-word {
  font-family: var(--rv-font-display) !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 2.1rem !important;
  line-height: 1 !important;
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-search input::placeholder {
  color: var(--rv-ink-500) !important;
  opacity: 1 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-read::before,
html body:not(#_h1):not(#_h2):not(#_h3) .trust-item::after {
  content: none !important;
  display: none !important;
}

/* Bloc final de l'accueil : un voile réel sous le texte */
html body:not(#_h1):not(#_h2):not(#_h3) .rv-ctaphoto-veil {
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(8,32,18,.55) 0%, rgba(8,32,18,.35) 100%),
    radial-gradient(120% 90% at 50% 50%, rgba(8,32,18,.88) 0%, rgba(8,32,18,.8) 50%, rgba(8,32,18,.62) 100%) !important;
}

/* Éléments flottants : la bulle de contact suffit sur ordinateur, la barre d'onglets sur mobile */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.floating-cta, .rv-top, .rv-reading-toggle, #rvPwaInstall, .rv-pwa-install, #rvIosInstallTip) {
  display: none !important;
}
@media (max-width: 900px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-fab {
    display: none !important;
  }
}

/* Accueil : trois en-têtes de section alignés à gauche pour casser la répétition du modèle centré */
@media (min-width: 1000px) {
  html body:not(#_h1):not(#_h2):not(#_h3) :is(#pourquoi, #processus, #blog-preview) .container > .text-center:first-child {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important;
    column-gap: clamp(2rem, 5vw, 4.5rem) !important;
    row-gap: .75rem !important;
    align-items: end !important;
    text-align: left !important;
    max-width: none !important;
  }
  html body:not(#_h1):not(#_h2):not(#_h3) :is(#pourquoi, #processus, #blog-preview) .container > .text-center:first-child > .section-tag {
    grid-column: 1 !important;
    justify-self: start !important;
    margin: 0 !important;
  }
  html body:not(#_h1):not(#_h2):not(#_h3) :is(#pourquoi, #processus, #blog-preview) .container > .text-center:first-child > .section-title {
    grid-column: 1 !important;
    text-align: left !important;
    margin: 0 !important;
    max-width: none !important;
  }
  html body:not(#_h1):not(#_h2):not(#_h3) :is(#pourquoi, #processus, #blog-preview) .container > .text-center:first-child > .section-sub {
    grid-column: 2 !important;
    grid-row: 2 !important;
    text-align: left !important;
    margin: 0 0 .35rem !important;
    max-width: 46ch !important;
  }
}

/* Articles : une seule largeur de lecture, sommaire en tête sur toute cette largeur */
html body:not(#_h1):not(#_h2):not(#_h3) .article-content {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .article-content :is(p, ul, ol, blockquote, h2, h3, h4, table) {
  max-width: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-toc {
  position: static !important;
  width: auto !important;
  max-width: 680px !important;
  margin: 0 auto 2.5rem !important;
  padding: 1.25rem 1.5rem !important;
  background: var(--rv-white) !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: var(--rv-radius) !important;
  box-shadow: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-toc ol {
  columns: 2 !important;
  column-gap: 2rem !important;
  margin: .75rem 0 0 !important;
  padding: 0 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-toc li {
  break-inside: avoid !important;
  font-size: var(--rv-text-small) !important;
  line-height: 1.45 !important;
  margin: 0 0 .5rem !important;
}
@media (max-width: 700px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-toc ol { columns: 1 !important; }
}

/* Images différées : visibles même sur les pages qui ne chargent pas le script de fondu */
html body:not(#_h1):not(#_h2):not(#_h3) img[loading="lazy"]:is([data-loaded], .is-loaded, [src]:not([src=""])) {
  opacity: 1 !important;
}

/* Audit final du 2026-09-18 */
html body:not(#_h1):not(#_h2):not(#_h3) :is(#navbar h4, .nav-dropdown h4, .rvn h4) {
  font-size: var(--rv-text-eyebrow) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is([class*="eyebrow"], .section-tag, .rv-toc-title, .rv-loi-kicker, .hero-alert, .bm-card-tag, .bm-featured-badge, .gloss-cat, .md-step-num) {
  font-size: var(--rv-text-eyebrow) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-sector-deadline,
html body:not(#_h1):not(#_h2):not(#_h3) .ob-note a {
  color: var(--rv-gold-700) !important;
  -webkit-text-fill-color: var(--rv-gold-700) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-blog-filters:empty {
  display: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-case-kpi-pre {
  display: block !important;
  font-family: var(--rv-font-body) !important;
  font-size: var(--rv-text-small) !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  margin-bottom: .2rem !important;
  color: var(--rv-ink-500) !important;
  -webkit-text-fill-color: var(--rv-ink-500) !important;
  background: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) button[data-rv-cookies] {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cta-banner, .rv-cta-block, [class*="cta-final"]) a.btn-primary {
  background: var(--rv-btn-gold) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  border-radius: var(--rv-radius-pill) !important;
  padding: 14px 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: var(--rv-shadow-cta) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cta-banner, .rv-cta-block, [class*="cta-final"]) a.btn-primary i {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-cta-block :is(h2, h3) {
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cal-back, .cnc-back, .gen-back, .cmp-back, .md-back, .imp-back, .jeu-back, .pq-back, .re-back, .rv-sticky-pro, #rvScrollTop) {
  display: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .cal-cta-final a {
  background: var(--rv-btn-gold) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  border-radius: var(--rv-radius-pill) !important;
  padding: 14px 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: var(--rv-shadow-cta) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cal-cta-final, .faq-cta-bottom) :is(h2, h3) {
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.faq-hero input, .bm-search input, input[type="search"], .rv-newsletter-inline input, .rv-newsletter-inline-form input)::placeholder {
  color: var(--rv-ink-500) !important;
  opacity: 1 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .re-cta-1 {
  background: var(--rv-btn-gold) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  border-radius: var(--rv-radius-pill) !important;
  padding: 14px 28px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  box-shadow: var(--rv-shadow-cta) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .re-cta-2 {
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
  border: 1.5px solid rgba(255,253,248,.7) !important;
  border-radius: var(--rv-radius-pill) !important;
  padding: 13px 26px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-content a:not(.btn) {
  color: var(--rv-green-600) !important;
  -webkit-text-fill-color: var(--rv-green-600) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) main:has(> .rv-lm-hero) {
  max-width: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-hero {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  align-items: center !important;
  gap: clamp(2rem, 4vw, 3.5rem) !important;
}
@media (max-width: 860px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-hero { grid-template-columns: 1fr !important; }
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-content :is(h1, h2, h3) {
  color: var(--rv-green-600) !important;
  -webkit-text-fill-color: var(--rv-green-600) !important;
}
@media (min-width: 901px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .focus-brand {
    display: none !important;
  }
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-wordmark .rv-wordmark-restau {
  margin-right: 0 !important;
}
@media (max-width: 900px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .focus-brand {
    margin-bottom: .9rem !important;
  }
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-content :is(p, li):not(.rv-lm-privacy) {
  color: var(--rv-ink-700) !important;
  -webkit-text-fill-color: var(--rv-ink-700) !important;
}

/* ------------------------------------------------------------------ *
 *  Accessibilité : taille minimale des cibles (WCAG 2.2, critère 2.5.8)
 *  Les liens posés au fil d'une phrase en sont dispensés : leur taille est
 *  contrainte par l'interlignage du texte. On ne corrige donc que les liens
 *  isolés, en liste dans le pied de page, et les ancres de section.
 * ------------------------------------------------------------------ */
html body footer li > a,
html body .rv-footer-col li > a {
  display: inline-block;
}
html body a.rv-anchor {
  min-width: 24px;
  min-height: 24px;
}

/* ------------------------------------------------------------------ *
 *  Accordéon FAQ
 *
 *  Trois défauts hérités de style.css et rv-bundle.css :
 *  - .faq-answer n'a aucun retrait horizontal alors que la question en a
 *    24 px : le texte de la réponse était collé au bord de la carte ;
 *  - le paragraphe héritait d'un max-width de 70ch, soit 560 px dans une
 *    carte de 780 px, laissant un vide à droite ;
 *  - à l'ouverture, max-height était plafonné à 300 px. Sur téléphone la
 *    première réponse en fait 438 : son dernier tiers, qui limite la CSRD
 *    aux groupes de plus de 1 000 salariés, était purement invisible.
 * ------------------------------------------------------------------ */
html body .faq-answer {
  padding-left: 24px;
  padding-right: 24px;
}
html body .faq-answer p:not(#_f1):not(#_f2) {
  max-width: none;
}
html body .faq-item.open .faq-answer {
  max-height: 1200px;
}
