/* LeBonRobot — lbr-core.css
 * Bundle : consolidated-tokens + design-improvements + premium + premium-extras + mobile-premium
 * Remplace 5 <link> par 1 seul. Mise en cache HTTP/2 optimisée.
 */
:root{--v370-ink:#191d15;--v370-muted:#465041;--v370-soft:#667160;--v370-paper:#f6f1e8;--v370-paper2:#eee8dc;--v370-card:#fff;--v370-line:rgba(25,29,21,.11);--v370-green:#1c4d12;--v370-lime:#aad838;--v370-dark:#0b0e09;--v370-dark2:#151a12;--v370-cream:#ede8dc;--v370-shadow:0 16px 44px rgba(11,14,9,.08)} body.pr{background:var(--v370-paper)!important;color:var(--v370-ink)!important}body.pr main{background:transparent!important;color:var(--v370-ink)!important}body.pr a{color:inherit} body.pr :where(.section-box,.card,.panel,.toc,.reco-box,.mini-card,.legal-status-card,.page-role-note,.trust-signal-public,.premium-context,.trust-indexable-note,.trust-verifiable-now,.method-compact-note,.visual-policy-current,.visual-reader-check,.sensitive-source-ledger,.source-note,.guide-source-ledger,.guide-proof-note,.product-decision-card,.product-analysis,.commercial-block,.reading-mode-switch,.surface-fit-guard,.brand-decision-grid,.decision-router,.seo-section,.money-section,.duel-premium-table,.method-card,.visual-card,.product-card,.buying-path-v357__step,.premium-assurance-grid article,.guide-source-grid article,.trust-proof-list article,.amazon-showcase-card,.offer-card,.rank-card,.comparison-card,.segment-card){background:rgba(255,255,255,.94)!important;color:var(--v370-ink)!important;border-color:var(--v370-line);box-shadow:var(--v370-shadow)} body.pr :where(.section-box,.card,.panel,.mini-card,.legal-status-card,.page-role-note,.trust-signal-public,.premium-context,.trust-indexable-note,.trust-verifiable-now,.method-compact-note,.visual-policy-current,.visual-reader-check,.sensitive-source-ledger,.product-decision-card,.product-analysis,.commercial-block,.guide-block,.seo-section,.money-section,.method-card,.visual-card,.product-card,.trust-proof-list article) :where(h1,h2,h3,h4,strong,b,summary){color:var(--v370-ink)!important} body.pr :where(.section-box,.card,.panel,.mini-card,.legal-status-card,.page-role-note,.trust-signal-public,.premium-context,.trust-indexable-note,.trust-verifiable-now,.method-compact-note,.visual-policy-current,.visual-reader-check,.sensitive-source-ledger,.product-decision-card,.product-analysis,.commercial-block,.guide-block,.seo-section,.money-section,.method-card,.visual-card,.product-card,.trust-proof-list article) :where(p,li,span,small,figcaption,td,dd,.muted,.lead,.section-intro,.editorial-standard-note,.aff-note){color:var(--v370-muted)!important} body.pr :where(.btn-p,.btn,button[type=submit],.hdr-cta,.hdr-cta-mobile){background:var(--v370-green)!important;color:#fff!important;border-color:var(--v370-green)}body.pr :where(.btn-ghost,.text-link){color:var(--v370-green)!important;border-color:var(--v370-green);background:transparent!important}body.pr :where(.btn-ghost,.text-link):hover{background:var(--v370-green)!important;color:#fff!important} body.pr .badge,body.pr .lbr-eyebrow,body.pr .eyebrow{color:var(--v370-green)!important;background:rgba(92,156,42,.10)!important;border-color:rgba(92,156,42,.22)} body.pr table,body.pr .cmp-tbl{background:#fff!important;color:var(--v370-ink)!important;border-color:var(--v370-line)}body.pr th{background:var(--v370-paper2)!important;color:var(--v370-ink)!important}body.pr td{color:var(--v370-muted)!important;border-color:var(--v370-line)} body.pr input,body.pr select,body.pr textarea{background:#fff!important;color:var(--v370-ink)!important;border-color:rgba(25,29,21,.2)}body.pr input::placeholder,body.pr textarea::placeholder{color:#7a8475!important} body.pr .proof-bar,body.pr .lbr-proof-bar,body.pr footer{background:var(--v370-dark)!important;color:rgba(237,232,220,.72)!important}body.pr .proof-bar span,body.pr footer :where(p,a,span,li){color:rgba(237,232,220,.70)!important}body.pr footer :where(h4,strong,.ftr-logo){color:var(--v370-cream)!important} body.pr :where(.hero,.seo-hero,.money-hero,.guide-hero,.article-hero,.page-hero,.lbr-hero-signature,.lbr-test-hero-block,.test-hero):not(.hm-hero),body.pr.hm-ready .garden-section,body.pr.hm-ready .hm-hero{background:radial-gradient(ellipse 70% 80% at 82% 18%,rgba(44,107,28,.22),transparent 58%),var(--v370-dark)!important;color:var(--v370-cream)!important}body.pr :where(.hero,.seo-hero,.money-hero,.guide-hero,.article-hero,.page-hero,.lbr-hero-signature,.lbr-test-hero-block,.test-hero):not(.hm-hero) :where(h1,h2,h3,h4,strong,b),body.pr.hm-ready .garden-section :where(h1,h2,h3,h4,strong,b),body.pr.hm-ready .hm-hero :where(h1,h2,h3,h4,strong,b){color:var(--v370-cream)!important}body.pr :where(.hero,.seo-hero,.money-hero,.guide-hero,.article-hero,.page-hero,.lbr-hero-signature,.lbr-test-hero-block,.test-hero):not(.hm-hero) :where(p,li,span,small,.lead,.section-intro),body.pr.hm-ready .garden-section :where(p,li,span,small,.lead,.section-intro),body.pr.hm-ready .hm-hero :where(p,li,span,small,.lead,.section-intro){color:rgba(237,232,220,.72)!important}body.pr :where(.hero,.seo-hero,.money-hero,.guide-hero,.article-hero,.page-hero,.lbr-hero-signature,.lbr-test-hero-block,.test-hero):not(.hm-hero) .badge,body.pr.hm-ready .garden-section .eyebrow,body.pr.hm-ready .hm-hero .hero-eyebrow{color:var(--v370-lime)!important;background:rgba(170,216,56,.12)!important;border-color:rgba(170,216,56,.25)} body.pr.hm-ready :where(.paths,.topfive-home,.visual-proof){background:var(--v370-paper)!important}body.pr.hm-ready .method{background:var(--v370-paper2)!important}body.pr.hm-ready :where(.paths,.topfive-home,.visual-proof,.method) :where(h2,h3,strong){color:var(--v370-ink)!important}body.pr.hm-ready :where(.paths,.topfive-home,.visual-proof,.method) :where(p,li,span,figcaption,.section-intro,.product-card-lead,.aff-note-top5){color:var(--v370-muted)!important} body.pr.hm-ready .visual-card{overflow:hidden}body.pr.hm-ready .visual-card img{background:var(--v370-paper2)!important}body.pr.amazon-home-redesign .product-card-img{background:linear-gradient(180deg,#fff,#f1ede4)!important;min-height:180px}body.pr.amazon-home-redesign .product-card-img img{background:#fff!important;color:transparent!important}body.pr.amazon-home-redesign .product-card-img::after{color:#5c6458!important;background:rgba(255,255,255,.96)!important;border-color:var(--v370-line)}body.pr.amazon-home-redesign .product-card-img.is-broken{padding:18px;align-items:flex-end;justify-content:flex-start}body.pr.amazon-home-redesign .product-card-img.is-broken img{display:none}body.pr.amazon-home-redesign .product-card-img.is-broken::before{content:attr(data-fallback-title);font:900 1.08rem/1.2 Georgia,serif;color:var(--v370-ink)!important;max-width:13ch} body.pr .amazon-showcase-img{background:#fff!important;border:1px solid var(--v370-line);border-radius:18px;box-shadow:var(--v370-shadow);display:flex;align-items:center;justify-content:center;min-height:180px;overflow:hidden}body.pr .amazon-showcase-img img{object-fit:contain;background:#fff!important;padding:12px}body.pr .lbr-amazon-consent-image-slot{background:#fff!important;border-color:var(--v370-line);color:var(--v370-muted)!important} body.pr .main-nav a,body.pr .mobile-nav-static a{color:var(--v370-muted)!important}body.pr .main-nav a.active,body.pr .main-nav a[aria-current=page],body.pr .mobile-nav-static a.active,body.pr .mobile-nav-static a[aria-current=page]{color:var(--v370-ink)!important;background:var(--v370-paper2)!important} @media(max-width:900px){body.pr .section-box{margin:20px 0}body.pr.hm-ready .top5-grid{gap:12px}}:root{--v371-paper:#f4efe5;--v371-paper2:#ebe6da;--v371-ink:#191d15;--v371-muted:#4f5948;--v371-green:#1c4d12;--v371-lime:#aad838;--v371-dark:#0b0e09;--v371-cream:#ede8dc;--v371-line:rgba(25,29,21,.10);--v371-shadow:0 10px 34px rgba(11,14,9,.07)}body.pdf-master{background:var(--v371-paper)!important;color:var(--v371-ink)!important}body.pdf-master header{background:rgba(244,239,229,.94)!important;box-shadow:none!important;border-bottom:1px solid var(--v371-line)!important}body.pdf-master .hdr-in{min-height:58px!important}body.pdf-master .hdr-cta{padding:9px 16px!important;min-height:40px!important;max-width:230px!important;line-height:1.25!important}body.pdf-master .hdr-cta-mobile{min-height:40px!important}body.pdf-master .mobile-nav-static{background:var(--v371-paper2)!important}body.pdf-master main{background:var(--v371-paper)!important}body.pdf-master :where(.section-box,.card,.panel,.mini-card,.method-card,.product-card,.visual-card,.legal-status-card,.premium-context,.trust-verifiable-now,.trust-indexable-note,.trust-signal-public,.page-role-note,.product-analysis,.product-decision-card,.commercial-block,.guide-source-ledger,.guide-proof-note,.source-note,.buying-path-v357__step,.premium-assurance-grid article){background:#fff!important;color:var(--v371-ink)!important;border:1px solid var(--v371-line)!important;box-shadow:var(--v371-shadow)!important}body.pdf-master :where(.section-box,.card,.panel,.mini-card,.method-card,.product-card,.legal-status-card,.premium-context,.trust-verifiable-now,.trust-indexable-note,.trust-signal-public,.page-role-note,.product-analysis,.product-decision-card,.commercial-block,.guide-source-ledger,.guide-proof-note,.source-note) :where(h1,h2,h3,h4,strong,b,summary){color:var(--v371-ink)!important}body.pdf-master :where(.section-box,.card,.panel,.mini-card,.method-card,.product-card,.legal-status-card,.premium-context,.trust-verifiable-now,.trust-indexable-note,.trust-signal-public,.page-role-note,.product-analysis,.product-decision-card,.commercial-block,.guide-source-ledger,.guide-proof-note,.source-note) :where(p,li,span,small,figcaption,td,dd,.muted,.lead,.section-intro){color:var(--v371-muted)!important}body.pdf-master .badge,body.pdf-master .eyebrow,body.pdf-master .lbr-eyebrow{color:var(--v371-green)!important;background:transparent!important;border:0!important;padding-left:0!important}body.pdf-master .badge:before,body.pdf-master .eyebrow:before{background:var(--v371-green)!important}body.pdf-master .btn-p,body.pdf-master .btn,body.pdf-master button[type=submit]{background:var(--v371-green)!important;color:#fff!important;border-color:var(--v371-green)!important}body.pdf-master .btn-ghost,body.pdf-master .text-link{color:var(--v371-green)!important;border-color:var(--v371-green)!important;background:transparent!important}body.pdf-master .btn-ghost:hover,body.pdf-master .text-link:hover{background:var(--v371-green)!important;color:#fff!important}body.pdf-master :where(.hero,.seo-hero,.money-hero,.guide-hero,.article-hero,.page-hero,.lbr-hero-signature,.lbr-test-hero-block,.test-hero):not(.hm-hero),body.pdf-master.hm-ready .hm-hero,body.pdf-master.hm-ready .garden-section{background:radial-gradient(ellipse 55% 70% at 75% 38%,rgba(44,107,28,.28),transparent 62%),var(--v371-dark)!important;color:var(--v371-cream)!important}body.pdf-master :where(.hero,.seo-hero,.money-hero,.guide-hero,.article-hero,.page-hero,.lbr-hero-signature,.lbr-test-hero-block,.test-hero):not(.hm-hero) :where(h1,h2,h3,h4,strong,b),body.pdf-master.hm-ready .hm-hero :where(h1,h2,h3,h4,strong,b),body.pdf-master.hm-ready .garden-section :where(h1,h2,h3,h4,strong,b){color:var(--v371-cream)!important}body.pdf-master :where(.hero,.seo-hero,.money-hero,.guide-hero,.article-hero,.page-hero,.lbr-hero-signature,.lbr-test-hero-block,.test-hero):not(.hm-hero) :where(p,li,span,small,.lead,.section-intro),body.pdf-master.hm-ready .hm-hero :where(p,li,span,small,.lead,.section-intro),body.pdf-master.hm-ready .garden-section :where(p,li,span,small,.lead,.section-intro){color:rgba(237,232,220,.74)!important}body.pdf-master.hm-ready .hm-hero{padding:clamp(56px,7vw,92px) 0 clamp(42px,6vw,68px)}body.pdf-master.hm-ready .paths,body.pdf-master.hm-ready .topfive-home,body.pdf-master.hm-ready .method{padding:clamp(56px,7vw,86px) 0;background:var(--v371-paper)!important;border:0}body.pdf-master.hm-ready .topfive-home{background:var(--v371-paper2)!important}body.pdf-master.hm-ready .method{background:var(--v371-paper2)!important}body.pdf-master.hm-ready .visual-proof{display:none}body.pdf-master.hm-ready :where(.path-card,.method-card,.product-card){border-radius:24px;box-shadow:var(--v371-shadow)}body.pdf-master.hm-ready .path-num{color:rgba(25,29,21,.055)!important}body.pdf-master.hm-ready .top5-grid{margin-top:36px}body.pdf-master.amazon-home-redesign .product-card-img{background:linear-gradient(180deg,#fff,#f3eee4)!important;min-height:170px}body.pdf-master.amazon-home-redesign .product-card-img img{background:#fff!important;object-fit:contain}body.pdf-master.amazon-home-redesign .product-card-img::after{color:#5d6658!important;background:rgba(255,255,255,.96)!important;border:1px solid var(--v371-line)}body.pdf-master .garden-map-wrap{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.11)!important}body.pdf-master footer{background:var(--v371-dark)!important;color:rgba(237,232,220,.6)!important}@media(min-width:901px){body.pdf-master main>section.section-box{max-width:1180px;margin-left:auto!important;margin-right:auto!important}}@media(max-width:900px){body.pdf-master.hm-ready .paths,body.pdf-master.hm-ready .topfive-home,body.pdf-master.hm-ready .method{padding:44px 0}}
/*
 * LeBonRobot — Design Improvements
 * Fichier à charger EN DERNIER dans chaque <head>, après pr.css
 * Corrige : signal animation, logotype, hiérarchie badges,
 *           distinction CTA affiliation/éditorial, byline, nav, aff-note
 * ------------------------------------------------------------------ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   1. TYPOGRAPHIE — DM Sans en priorité (fix Inter/Arial)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body {
  font-family: "DM Sans", Inter, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   2. LOGO & SIGNAL — identité visuelle cohérente
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Animation signal (dark mode) */
@keyframes lbr-beat {
  0%, 100% { opacity: 0.85; transform: scale(1); }
  50%       { opacity: 0.25; transform: scale(0.8); }
}

.lbr-signal i {
  border-radius: 50%;
  animation: lbr-beat 2.2s ease-in-out infinite;
}
.lbr-signal i:nth-child(1) {
  background: #c8f53a;
  animation-delay: 0s;
}
.lbr-signal i:nth-child(2) {
  background: #c8f53a;
  opacity: 0.6;
  animation-delay: 0.32s;
}
.lbr-signal i:nth-child(3) {
  background: #c8f53a;
  opacity: 0.3;
  animation-delay: 0.64s;
}

/* Logo lockup — position:relative requis pour le dot pseudo */
.logo-lockup {
  position: relative;
}

/* Dot lime pulsant à gauche du wordmark (dark mode) */
.logo-lockup::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c8f53a;
  box-shadow: 0 0 0 3px rgba(200, 245, 58, 0.14);
  animation: lbr-dot-breathe 3.2s ease-in-out infinite;
}

@keyframes lbr-dot-breathe {
  0%, 100% { opacity: 1;   box-shadow: 0 0 0 3px rgba(200,245,58,.14); }
  50%       { opacity: 0.6; box-shadow: 0 0 0 7px rgba(200,245,58,.04); }
}

/* Wordmark — lettre de base */
.logo {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 1;
  color: #eef2f5;
  text-decoration: none;
}

/* Micro-tagline : visible desktop, refonte claire */
.brand-claim {
  font-size: 0.67rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(238, 242, 245, 0.35);
  line-height: 1.2;
  max-width: 280px;
  margin-top: 1px;
}

@media (max-width: 640px) {
  .brand-claim { display: none; }
  .logo-lockup::before { display: none; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   3. NAVIGATION — hiérarchie des liens
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Action primaire "Offres" — distinguée visuellement */
.main-nav a.nav-buy-link {
  font-weight: 750;
  color: #c8f53a !important;
  background: rgba(200, 245, 58, 0.10) !important;
  border-color: rgba(200, 245, 58, 0.22) !important;
}
.main-nav a.nav-buy-link:hover {
  background: rgba(200, 245, 58, 0.18) !important;
  border-color: rgba(200, 245, 58, 0.38) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   4. HIÉRARCHIE DES BADGES
   Deux niveaux : catégorie (léger) / éditorial (fort)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Base — badge catégorie : discret */
.badge, .lbr-eyebrow, .eyebrow {
  font-weight: 700;
  letter-spacing: 0.055em;
}

/* Lecture (mode .pr) : badge catégorie neutre */
.pr .badge,
.pr .lbr-eyebrow,
.pr .eyebrow {
  background: rgba(92, 156, 42, 0.08) !important;
  color: #3b6e1a !important;
  border-color: rgba(92, 156, 42, 0.15) !important;
  font-weight: 700;
  font-size: 0.70rem;
}

/* Badge éditorial — recommandation LeBonRobot : plus de poids */
.pr .section-box > .badge:first-child,
.pr [data-guide-premium-v268] > .badge,
.pr [data-money-direct-cta-v297] > .badge {
  background: rgba(28, 77, 18, 0.12) !important;
  color: #1c4d12 !important;
  border-color: rgba(28, 77, 18, 0.25) !important;
  font-weight: 850 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   5. DISTINCTION CTA AFFILIATION / ÉDITORIAL
   Le problème central de confiance du site.
   Attribution via rel="sponsored" (déjà dans le HTML)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Mode sombre — affilié : fond distinct, moins dominant */
a.btn[rel~="sponsored"],
a.btn-p[rel~="sponsored"] {
  background: #161e14 !important;
  color: #c8f53a !important;
  border-color: rgba(200, 245, 58, 0.22) !important;
  font-weight: 700;
  position: relative;
}
a.btn[rel~="sponsored"]::after,
a.btn-p[rel~="sponsored"]::after {
  content: "↗";
  display: inline-block;
  margin-left: 5px;
  font-size: 0.78em;
  opacity: 0.6;
  font-style: normal;
}
a.btn[rel~="sponsored"]:hover,
a.btn-p[rel~="sponsored"]:hover {
  background: #1d2a1a !important;
  border-color: rgba(200, 245, 58, 0.38) !important;
  transform: translateY(-1px);
}

/* Mode lecture (light) — affilié : claire distinction du btn-p éditorial */
.pr a.btn[rel~="sponsored"],
.pr a.btn-p[rel~="sponsored"] {
  background: #f4f9f2 !important;
  color: #2d5e1a !important;
  border: 1.5px solid rgba(44, 94, 26, 0.22) !important;
  box-shadow: none !important;
  font-weight: 700;
}
.pr a.btn[rel~="sponsored"]::after,
.pr a.btn-p[rel~="sponsored"]::after {
  content: "↗";
  display: inline-block;
  margin-left: 5px;
  font-size: 0.78em;
  opacity: 0.55;
}
.pr a.btn[rel~="sponsored"]:hover,
.pr a.btn-p[rel~="sponsored"]:hover {
  background: #edf5eb !important;
  border-color: rgba(44, 94, 26, 0.38) !important;
  transform: translateY(-1px);
}

/* CTA "Suivre ce prix" — neutre/secondaire, pas de confusion avec l'affiliation */
.pr .btn-ghost {
  font-weight: 750 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   6. NOTE AFFILIATION — séparée visuellement du contenu éditorial
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Mode sombre */
.aff-note,
.affiliate-page-note,
.aff-note--inline {
  font-size: 0.76rem !important;
  color: rgba(238, 242, 245, 0.38) !important;
  background: rgba(255, 255, 255, 0.025);
  border-left: 2px solid rgba(200, 245, 58, 0.18);
  padding: 7px 11px !important;
  border-radius: 0 8px 8px 0 !important;
  margin-top: 10px !important;
  display: block;
  line-height: 1.4;
}

/* Mode lecture */
.pr .aff-note,
.pr .affiliate-page-note,
.pr .aff-note--inline {
  font-size: 0.76rem !important;
  color: rgba(25, 29, 21, 0.38) !important;
  background: rgba(25, 29, 21, 0.03) !important;
  border-left: 2px solid rgba(92, 156, 42, 0.25) !important;
  padding: 7px 11px !important;
  border-radius: 0 8px 8px 0 !important;
  margin-top: 10px !important;
  line-height: 1.4;
}

/* Note affiliation inline dans section éditorial */
.pr .affiliate-page-note--generic {
  background: transparent !important;
  border-left: none !important;
  padding: 0 !important;
  font-size: 0.80rem !important;
  color: rgba(25, 29, 21, 0.42) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   7. AUTHOR BYLINE — signal de confiance renforcé
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Mode lecture */
.pr .author-byline {
  background: rgba(255,255,255,0.72) !important;
  border: 1px solid var(--pr-line) !important;
  border-radius: 16px !important;
  padding: 16px 20px !important;
  margin: 24px 0 !important;
  box-shadow: 0 4px 16px rgba(11,14,9,0.05) !important;
}

.pr .author-avatar {
  background: radial-gradient(
    circle at 35% 35%,
    rgba(170, 216, 56, 0.32),
    rgba(28, 77, 18, 0.88) 100%
  ) !important;
  color: #fff !important;
  font-weight: 850 !important;
  font-size: 0.9rem !important;
  border: 1.5px solid rgba(28, 77, 18, 0.18) !important;
}

.pr .author-byline strong {
  font-size: 0.97rem;
  font-weight: 850;
  color: var(--pr-text) !important;
}

.pr .author-byline span {
  color: var(--pr-muted) !important;
  font-size: 0.82rem;
}

.pr .author-byline a {
  color: var(--pr-forest) !important;
  text-decoration: none;
  font-weight: 700;
}

/* Meta byline — tags MAJ/méthode */
.pr .byline-meta-item {
  background: rgba(28, 77, 18, 0.07) !important;
  border-color: rgba(28, 77, 18, 0.14) !important;
  color: #3b6e1a !important;
  font-size: 0.75rem !important;
  font-weight: 650;
}

.pr .byline-meta-item b {
  color: #1c4d12 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   8. LECTURE FRESHNESS — bandeau de fraîcheur
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.pr .lecture-freshness {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 18px;
  background: rgba(28, 77, 18, 0.06) !important;
  border: 1px solid rgba(28, 77, 18, 0.12) !important;
  border-radius: 12px;
  margin: 0 0 20px;
  font-size: 0.88rem;
}

.pr .lecture-freshness-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #1c4d12;
  color: #fff;
  font-size: 0.72rem;
  flex-shrink: 0;
  margin-top: 1px;
}

.pr .lecture-freshness strong {
  display: block;
  color: #1c4d12 !important;
  font-weight: 800;
  font-size: 0.88rem;
  margin-bottom: 2px;
}

.pr .lecture-freshness span {
  color: var(--pr-muted) !important;
  font-size: 0.83rem;
  line-height: 1.45;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   9. SECTION-BOX — cohérence interne
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Heading principal dans une section-box : toujours ink */
.pr .section-box > h2:first-of-type,
.pr .section-box > h3:first-of-type {
  color: var(--pr-text) !important;
  font-size: clamp(1.3rem, 2.2vw, 1.72rem) !important;
  margin-top: 10px !important;
  line-height: 1.15;
}

/* Tables dans les sections */
.pr .section-box table {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--pr-line) !important;
  margin-top: 14px;
}

.pr .section-box th {
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pr-muted) !important;
  font-weight: 700;
  padding: 10px 14px !important;
}

.pr .section-box td {
  padding: 10px 14px !important;
  font-size: 0.92rem;
  color: var(--pr-muted) !important;
  border-top: 1px solid var(--pr-line) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   10. MONEY / DECISION STRIP — section de décision
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.pr .money-decision-strip {
  margin: 28px 0;
}

.pr .money-decision-strip > h2 {
  font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
  color: var(--pr-text) !important;
  margin-bottom: 18px !important;
}

.pr .money-decision-card {
  background: #fff !important;
  border: 1px solid var(--pr-line) !important;
  border-radius: 18px !important;
  padding: 22px !important;
  box-shadow: 0 8px 28px rgba(11,14,9,0.055) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pr .money-decision-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 38px rgba(11,14,9,0.09) !important;
}

.pr .money-decision-card h3 {
  font-size: 1.0rem !important;
  color: var(--pr-text) !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  line-height: 1.3;
}

.pr .money-decision-card p {
  font-size: 0.88rem !important;
  color: var(--pr-muted) !important;
  line-height: 1.58;
  margin-bottom: 16px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   11. SEO-MONEY-LOCK — cadre de fiabilité
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.pr .seo-money-lock {
  border: 1px solid rgba(28, 77, 18, 0.14) !important;
  background: rgba(28, 77, 18, 0.05) !important;
  border-radius: 14px;
  padding: 14px 18px !important;
  margin: 20px 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.58;
  color: var(--pr-muted) !important;
}

.pr .seo-money-lock strong {
  color: #1c4d12 !important;
  font-weight: 800;
  display: inline;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   12. BREADCRUMB — allégé, plus propre
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.pr .breadcrumb {
  font-size: 0.80rem !important;
  color: rgba(25, 29, 21, 0.42) !important;
  gap: 8px !important;
  margin-bottom: 14px;
}

.pr .breadcrumb a {
  color: rgba(25, 29, 21, 0.52) !important;
  text-decoration: none;
  font-weight: 600;
}

.pr .breadcrumb a:hover {
  color: var(--pr-forest) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   13. HEADER (mode lecture) — logo signal en light mode
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Signal dans le header lecture : visible et animé en vert */
.pr .lbr-signal {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}

.pr .lbr-signal i {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  animation: lbr-beat 2.2s ease-in-out infinite !important;
}

.pr .lbr-signal i:nth-child(1) {
  background: #1c4d12 !important;
  animation-delay: 0s !important;
  opacity: 0.9 !important;
}
.pr .lbr-signal i:nth-child(2) {
  background: #3d7c28 !important;
  animation-delay: 0.32s !important;
  opacity: 0.6 !important;
}
.pr .lbr-signal i:nth-child(3) {
  background: #5c9c2a !important;
  animation-delay: 0.64s !important;
  opacity: 0.35 !important;
}

/* Supprime le dot pseudo de pr.css (remplacé par le signal animé) */
.pr .logo-lockup::before {
  display: none !important;
}

/* Logo couleur en mode lecture */
.pr .logo,
.pr .ftr-logo {
  color: #0b0e09 !important;
  font-size: 1.45rem !important;
  letter-spacing: -0.048em !important;
  font-weight: 900 !important;
}

/* Nav Offres en mode lecture */
.pr .main-nav a.nav-buy-link {
  background: rgba(28, 77, 18, 0.09) !important;
  border-color: rgba(28, 77, 18, 0.20) !important;
  color: #1c4d12 !important;
  font-weight: 800 !important;
}

.pr .main-nav a.nav-buy-link:hover {
  background: rgba(28, 77, 18, 0.15) !important;
  border-color: rgba(28, 77, 18, 0.30) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   14. FOOTER — refinement typographique
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.pr footer h4 {
  font-size: 0.68rem !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase;
  color: rgba(237, 232, 220, 0.32) !important;
  margin-bottom: 16px !important;
  font-weight: 750 !important;
}

.pr footer a {
  font-size: 0.87rem !important;
  color: rgba(237, 232, 220, 0.52) !important;
  margin-bottom: 9px !important;
  transition: color 0.16s ease;
}

.pr footer a:hover {
  color: #ede8dc !important;
}

.pr .ftr-affiliate {
  font-size: 0.78rem !important;
  color: rgba(237, 232, 220, 0.28) !important;
  line-height: 1.6 !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  margin-top: 4px !important;
}

.pr .ftr-bot {
  font-size: 0.75rem !important;
  color: rgba(237, 232, 220, 0.22) !important;
  margin-top: 8px !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   15. INLINE STYLES CONSOLIDATION
   Les <style id="readability-hotfix-v370"> et
   <style id="pdf-master-style"> dans chaque HTML head
   sont redondants avec pr.css.
   → À supprimer depuis le builder une fois ce fichier intégré.
   Les tokens essentiels sont ici consolidés.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Tokens spécifiques au mode lecture (déjà dans pr.css, re-déclarés ici
   pour être sûrs qu'ils ne soient pas écrasés par les inline styles) */
:root {
  --pr-ink:        #0B0E09;
  --pr-forest:     #1C4D12;
  --pr-forest-mid: #2B6B1C;
  --pr-grass:      #5C9C2A;
  --pr-lime:       #AAD838;
  --pr-paper:      #F4EFE5;
  --pr-paper-2:    #EBE6DA;
  --pr-paper-3:    #E3DDD0;
  --pr-text:       #191D15;
  --pr-muted:      #59614F;
  --pr-line:       rgba(25,29,21,.10);
  --pr-shadow:     0 22px 70px rgba(11,14,9,.10);
  --pr-shadow-soft:0 12px 36px rgba(11,14,9,.08);
  --pr-r:          18px;
  --pr-r-lg:       28px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   16. DETAILS/SUMMARY — refinement
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.pr details {
  border: 1px solid var(--pr-line);
  border-radius: 14px;
  margin: 18px 0;
  background: rgba(255,255,255,0.5);
  overflow: hidden;
}

.pr details summary {
  padding: 14px 18px;
  cursor: pointer;
  font-weight: 750;
  font-size: 0.9rem;
  color: var(--pr-text);
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  user-select: none;
}

.pr details summary::-webkit-details-marker { display: none; }

.pr details summary::before {
  content: "›";
  font-size: 1.1em;
  font-weight: 900;
  color: var(--pr-forest);
  transition: transform 0.18s ease;
  display: inline-block;
}

.pr details[open] summary::before {
  transform: rotate(90deg);
}

.pr details[open] summary {
  border-bottom: 1px solid var(--pr-line);
}

.pr details > *:not(summary) {
  padding: 14px 18px;
  font-size: 0.9rem;
  color: var(--pr-muted);
  line-height: 1.62;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   17. MICRO-INTERACTIONS — hovering cartes
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.pr .section-box {
  transition: box-shadow 0.2s ease;
}

/* Boutons : retour visuel cohérent */
.pr .btn,
.pr .btn-p,
.pr .btn-ghost {
  transition: background 0.18s ease, border-color 0.18s ease,
              transform 0.15s ease, box-shadow 0.15s ease !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   18. PRINT / PDF — ne pas appliquer les transitions
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media print {
  .lbr-signal i { animation: none !important; }
  .logo-lockup::before { animation: none !important; }
  .pr .btn, .pr .btn-p, .pr .btn-ghost { transition: none !important; }
}

/*
 * LeBonRobot — PREMIUM REDESIGN
 * Carte blanche. Direction : Editorial Luxury × Technical Authority.
 * Lora (display) + DM Sans (UI)
 * ─────────────────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════
   TOKENS PREMIUM
   ══════════════════════════════════════════════════════ */
:root {
  --pm-paper:      #F3EEE4;
  --pm-paper-2:    #EAE4D8;
  --pm-paper-3:    #E1DBCF;
  --pm-white:      #FFFFFF;
  --pm-ink:        #0B0F08;
  --pm-text:       #181D13;
  --pm-muted:      #4A5240;
  --pm-faint:      #757E6A;
  --pm-forest:     #173C0B;
  --pm-forest-2:   #265C18;
  --pm-grass:      #4E8C2A;
  --pm-lime:       #A6D12A;
  --pm-lime-bg:    rgba(166, 209, 42, 0.10);
  --pm-line:       rgba(15, 20, 10, 0.08);
  --pm-line-2:     rgba(15, 20, 10, 0.04);

  --pm-dark:       #06090400;
  --pm-dark-solid: #080C06;
  --pm-dark-2:     #0D1309;
  --pm-dark-3:     #121A0E;
  --pm-dark-lime:  #C4F040;
  --pm-dark-text:  #E5EDDA;
  --pm-dark-muted: rgba(229, 237, 218, 0.58);

  --pm-serif: "Lora", Georgia, "Times New Roman", serif;
  --pm-sans:  "DM Sans", Inter, system-ui, sans-serif;

  --pm-shadow-xs: 0 2px 8px rgba(10,14,8,.05);
  --pm-shadow-sm: 0 6px 24px rgba(10,14,8,.08);
  --pm-shadow:    0 18px 56px rgba(10,14,8,.11);
  --pm-shadow-lg: 0 40px 100px rgba(10,14,8,.16);

  --pm-r:    16px;
  --pm-r-lg: 28px;
  --pm-r-xl: 40px;
  --pm-max:  1160px;
}

/* ══════════════════════════════════════════════════════
   BASE
   ══════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

body,
.pr,
.pr.lbr-signed {
  font-family: var(--pm-sans) !important;
  -webkit-font-smoothing: antialiased ;
  -moz-osx-font-smoothing: grayscale ;
}

.pr,
.pr.lbr-signed {
  background: var(--pm-paper) !important;
  color: var(--pm-text) !important;
  line-height: 1.72 !important;
}

/* ══════════════════════════════════════════════════════
   SIGNAL LOGO — barres montantes (signal strength)
   ══════════════════════════════════════════════════════ */

/* Override toutes les versions précédentes */
.lbr-signal,
.pr .lbr-signal,
.hm .lbr-signal {
  display: inline-flex !important;
  align-items: flex-end !important;
  gap: 3px !important;
  height: 20px !important;
  margin-right: 7px !important;
  flex-shrink: 0;
}

.lbr-signal i,
.pr .lbr-signal i,
.hm .lbr-signal i {
  display: block !important;
  width: 5px !important;
  border-radius: 3px 3px 2px 2px !important;
  background: var(--pm-dark-lime) !important;
  opacity: 1 !important;
  animation: none !important;
  box-shadow: none !important;
  position: relative;
  bottom: 0;
}

/* Barre 1 — petite */
.lbr-signal i:nth-child(1) { height: 8px  !important; opacity: 0.38 !important; }
/* Barre 2 — moyenne */
.lbr-signal i:nth-child(2) { height: 13px !important; opacity: 0.68 !important; }
/* Barre 3 — grande, lime full */
.lbr-signal i:nth-child(3) { height: 19px !important; opacity: 1   !important; background: var(--pm-dark-lime) !important; }

/* Mode lecture : barres vertes */
.pr .lbr-signal i { background: var(--pm-forest) !important; }
.pr .lbr-signal i:nth-child(3) { background: var(--pm-lime) !important; }

/* Supprime le dot pseudo (pr.css) */
.pr .logo-lockup::before { display: none !important; }

/* ══════════════════════════════════════════════════════
   HEADER — publication masthead
   ══════════════════════════════════════════════════════ */

header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

/* Header dark mode */
:not(.pr) header {
  background: rgba(8, 12, 6, 0.94) !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  box-shadow: none !important;
}

/* Header light mode */
.pr header {
  background: rgba(243, 238, 228, 0.96) !important;
  border-bottom: 1px solid var(--pm-line) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  box-shadow: 0 1px 0 var(--pm-line) !important;
}

.pr .hdr-in,
.hdr-in {
  min-height: 68px !important;
  padding: 0 clamp(20px, 3vw, 36px) !important;
  gap: 24px !important;
}

/* ══════════════════════════════════════════════════════
   LOGO WORDMARK
   ══════════════════════════════════════════════════════ */
.logo-lockup {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 0 !important;
  position: relative;
}

.logo {
  font-family: var(--pm-serif) !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

:not(.pr) .logo { color: #E8EDDF !important; }
.pr .logo,
.pr .ftr-logo { color: var(--pm-ink) !important; }

.brand-claim { display: none !important; }

/* ══════════════════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════════════════ */
.main-nav {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  margin-left: auto !important;
}

.main-nav a {
  font-family: var(--pm-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  letter-spacing: 0.01em;
}

:not(.pr) .main-nav a {
  color: rgba(232, 237, 223, 0.58) !important;
}
:not(.pr) .main-nav a:hover,
:not(.pr) .main-nav a.active {
  color: #E8EDDF !important;
  background: rgba(255,255,255,0.07) !important;
}

.pr .main-nav a {
  color: var(--pm-muted) !important;
  background: transparent !important;
  border-color: transparent !important;
}
.pr .main-nav a:hover {
  color: var(--pm-text) !important;
  background: var(--pm-paper-2) !important;
}

/* CTA nav — Offres */
.main-nav a.nav-buy-link,
.pr .main-nav a.nav-buy-link {
  font-weight: 700 !important;
  letter-spacing: 0.005em;
}

:not(.pr) .main-nav a.nav-buy-link {
  background: rgba(196, 240, 64, 0.13) !important;
  color: var(--pm-dark-lime) !important;
  border-color: rgba(196, 240, 64, 0.22) !important;
}
:not(.pr) .main-nav a.nav-buy-link:hover {
  background: rgba(196, 240, 64, 0.20) !important;
}

.pr .main-nav a.nav-buy-link {
  background: rgba(23, 60, 11, 0.09) !important;
  color: var(--pm-forest) !important;
  border-color: rgba(23, 60, 11, 0.18) !important;
}
.pr .main-nav a.nav-buy-link:hover {
  background: rgba(23, 60, 11, 0.15) !important;
}

/* Bouton header */
.hdr-cta,
.pr .hdr-cta {
  font-family: var(--pm-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 10px 18px !important;
  min-height: 40px !important;
  border-radius: 999px !important;
  background: var(--pm-forest) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: var(--pm-shadow-xs) !important;
  transition: background 0.15s ease, transform 0.12s ease !important;
}
.hdr-cta:hover,
.pr .hdr-cta:hover {
  background: var(--pm-forest-2) !important;
  transform: translateY(-1px) !important;
}

/* Mobile nav */
.pr .mobile-nav-static {
  background: var(--pm-paper-2) !important;
  border-bottom: 1px solid var(--pm-line) !important;
  padding: 10px clamp(16px, 3vw, 28px) !important;
}
.pr .mobile-nav-static a {
  background: #fff !important;
  color: var(--pm-text) !important;
  border: 1px solid var(--pm-line) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
}

/* ══════════════════════════════════════════════════════
   TYPOGRAPHIE — ÉCHELLE PREMIUM
   ══════════════════════════════════════════════════════ */

/* Titres display — Lora */
.pr h1,
.pr h2,
.pr h3,
.hm h1,
.hm h2 {
  font-family: var(--pm-serif) !important;
  color: var(--pm-text) !important;
  text-wrap: balance;
}

/* H1 — titre majeur */
.pr h1,
.pr .hero h1,
.pr .lbr-test-hero-block h1,
.pr .article-hero h1 {
  font-size: clamp(42px, 6.2vw, 86px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.032em !important;
  font-weight: 700 !important;
  margin: 0 0 20px !important;
}

/* H1 sur fond sombre */
.pr .hero:not(.hm-hero) h1,
.pr .lbr-hero-signature h1,
.pr .seo-hero h1,
.pr .guide-hero h1,
.pr .test-hero h1 {
  color: #EDE8DC !important;
  font-size: clamp(40px, 5.8vw, 80px) !important;
}

/* H2 — section heading */
.pr h2 {
  font-size: clamp(28px, 3.5vw, 50px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  font-weight: 600 !important;
  margin: 52px 0 14px !important;
  color: var(--pm-ink) !important;
}

/* H2 premier (après h1) — pas de margin-top */
.pr .lbr-guide-article-shell > h2:first-of-type,
.pr .section-box > h2:first-child,
.pr .section-box > h2:first-of-type,
.pr [data-money-direct-cta-v297] h2 {
  margin-top: 0 !important;
  font-size: clamp(22px, 2.6vw, 34px) !important;
}

/* H2 dans hero sombre */
.pr .hero h2,
.pr .seo-hero h2 {
  color: rgba(237, 232, 220, 0.92) !important;
  font-size: clamp(18px, 2vw, 28px) !important;
  font-weight: 500 !important;
}

/* H3 */
.pr h3 {
  font-family: var(--pm-serif) !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.018em !important;
  font-weight: 600 !important;
  margin: 32px 0 10px !important;
  color: var(--pm-ink) !important;
}
.pr .section-box h3,
.pr .card h3 { margin-top: 0 !important; }

/* Body */
.pr p,
.pr li {
  font-size: 1.03rem !important;
  line-height: 1.74 !important;
  color: var(--pm-muted) !important;
}

.pr strong { color: var(--pm-text) !important; font-weight: 750 !important; }
.pr .lead {
  font-size: clamp(1.05rem, 1.3vw, 1.22rem) !important;
  line-height: 1.65 !important;
  color: var(--pm-muted) !important;
  margin-bottom: 24px;
}

/* ══════════════════════════════════════════════════════
   WRAP & SPACING
   ══════════════════════════════════════════════════════ */
.pr .wrap {
  max-width: var(--pm-max) !important;
  padding-inline: clamp(20px, 3.5vw, 40px) !important;
}

/* ══════════════════════════════════════════════════════
   HERO BLOCKS — zone d'en-tête d'article
   ══════════════════════════════════════════════════════ */

.pr .hero:not(.hm-hero),
.pr .seo-hero,
.pr .guide-hero,
.pr .article-hero,
.pr .page-hero,
.pr .lbr-hero-signature,
.pr .lbr-test-hero-block,
.pr .test-hero {
  background: var(--pm-ink) !important;
  border-radius: var(--pm-r-xl) !important;
  padding: clamp(40px, 6vw, 72px) clamp(32px, 5vw, 64px) !important;
  margin: clamp(24px, 4vw, 44px) 0 !important;
  border: none !important;
  box-shadow: var(--pm-shadow-lg) !important;
  position: relative;
  overflow: hidden;
}

/* Texture subtile dans le hero */
.pr .hero:not(.hm-hero)::before,
.pr .seo-hero::before,
.pr .lbr-test-hero-block::before,
.pr .test-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 80% 20%, rgba(23,60,11,.35), transparent 55%),
    radial-gradient(ellipse 35% 55% at 5% 90%, rgba(166,209,42,.06), transparent);
  pointer-events: none;
}

/* Grid lignes en fond */
.pr .hero:not(.hm-hero)::after,
.pr .lbr-test-hero-block::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.4), transparent 75%);
  pointer-events: none;
}

.pr .hero:not(.hm-hero) > *,
.pr .seo-hero > *,
.pr .lbr-test-hero-block > *,
.pr .test-hero > * {
  position: relative;
  z-index: 1;
}

.pr .hero:not(.hm-hero) .badge,
.pr .test-hero .badge,
.pr .lbr-test-hero-block .badge {
  background: rgba(196, 240, 64, 0.12) !important;
  color: var(--pm-dark-lime) !important;
  border-color: rgba(196, 240, 64, 0.22) !important;
  margin-bottom: 22px !important;
}

/* ══════════════════════════════════════════════════════
   BADGES — deux niveaux
   ══════════════════════════════════════════════════════ */
.pr .badge,
.pr .lbr-eyebrow,
.pr .eyebrow {
  font-family: var(--pm-sans) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  padding: .38rem .72rem !important;
  border-radius: 999px !important;
  /* Par défaut : catégorie */
  background: rgba(23, 60, 11, 0.08) !important;
  color: var(--pm-forest) !important;
  border: 1px solid rgba(23, 60, 11, 0.14) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: max-content !important;
}

.pr .badge::before,
.pr .eyebrow::before {
  content: "" !important;
  width: 16px !important;
  height: 1.5px !important;
  background: var(--pm-grass) !important;
  border-radius: 99px !important;
  flex-shrink: 0;
}

/* Badge éditorial (première badge dans une section-box) */
.pr .section-box > .badge:first-child,
.pr [data-money-direct-cta-v297] > .badge:first-child,
.pr [data-guide-premium-v268] > .badge:first-child {
  background: rgba(23, 60, 11, 0.12) !important;
  color: var(--pm-forest) !important;
  border-color: rgba(23, 60, 11, 0.22) !important;
  font-weight: 850 !important;
}

/* ══════════════════════════════════════════════════════
   SECTION-BOX — cards principales
   ══════════════════════════════════════════════════════ */
.pr .section-box {
  background: var(--pm-white) !important;
  border: none !important;
  border-radius: var(--pm-r-lg) !important;
  box-shadow: var(--pm-shadow-sm) !important;
  padding: clamp(28px, 4vw, 52px) !important;
  margin: clamp(28px, 4vw, 48px) 0 !important;
}

/* Accent bar supérieure */
.pr .section-box::before {
  content: "" !important;
  display: block !important;
  width: 32px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--pm-lime), var(--pm-grass)) !important;
  border-radius: 99px !important;
  margin-bottom: 20px !important;
}

/* Remove l'ancienne shimmer line qui venait de style-deferred */
.pr .section-box::after,
.pr .card::after,
.pr .panel::after { display: none !important; }

/* Section-box : sous-éléments */
.pr .section-box > h2 { margin-top: 0 !important; }
.pr .section-box > p:last-child,
.pr .section-box > ul:last-child { margin-bottom: 0 !important; }

/* ══════════════════════════════════════════════════════
   PRODUCT CARDS dans les sections
   (les <article> avec data-product-id)
   ══════════════════════════════════════════════════════ */
.pr .section-box article[data-product-id] {
  background: var(--pm-paper) !important;
  border: 1px solid var(--pm-line) !important;
  border-radius: var(--pm-r) !important;
  padding: 22px 24px !important;
  margin: 18px 0 !important;
  box-shadow: var(--pm-shadow-xs) !important;
  transition: box-shadow 0.2s ease, transform 0.18s ease;
}
.pr .section-box article[data-product-id]:hover {
  box-shadow: var(--pm-shadow-sm) !important;
  transform: translateY(-2px);
}

.pr .section-box article[data-product-id] h3 {
  font-size: 1.12rem !important;
  font-weight: 750 !important;
  margin: 0 0 10px !important;
  color: var(--pm-ink) !important;
  letter-spacing: -0.015em;
}

.pr .section-box article[data-product-id] > p {
  font-size: 0.9rem !important;
  margin-bottom: 8px !important;
  line-height: 1.6 !important;
}

/* Prix mis en avant */
.pr .section-box article[data-product-id] strong:first-of-type {
  display: inline-block;
  font-variant-numeric: tabular-nums;
  font-size: 0.93rem;
}

/* CTA dans les product cards */
.pr .section-box article .u-flex-cta {
  margin-top: 16px !important;
  gap: 8px !important;
  flex-wrap: wrap;
}

/* ══════════════════════════════════════════════════════
   CTA BUTTONS — système complet
   ══════════════════════════════════════════════════════ */

/* Base */
.pr .btn,
.pr .btn-p,
.pr .btn-ghost,
.pr a.btn,
.pr a.btn-p,
.pr a.btn-ghost {
  font-family: var(--pm-sans) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  letter-spacing: 0.01em;
  transition: background 0.15s ease, border-color 0.15s ease,
              transform 0.12s ease, box-shadow 0.15s ease !important;
}

/* CTA éditorial — forêt */
.pr .btn-p:not([rel~="sponsored"]),
.pr a.btn-p:not([rel~="sponsored"]) {
  background: var(--pm-forest) !important;
  color: #fff !important;
  border: 1px solid var(--pm-forest) !important;
  box-shadow: 0 2px 8px rgba(23, 60, 11, 0.22) !important;
}
.pr .btn-p:not([rel~="sponsored"]):hover,
.pr a.btn-p:not([rel~="sponsored"]):hover {
  background: var(--pm-forest-2) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(23, 60, 11, 0.30) !important;
}

/* CTA ghost */
.pr .btn-ghost,
.pr a.btn-ghost {
  background: transparent !important;
  color: var(--pm-forest) !important;
  border: 1.5px solid rgba(23, 60, 11, 0.28) !important;
  box-shadow: none !important;
}
.pr .btn-ghost:hover,
.pr a.btn-ghost:hover {
  background: rgba(23, 60, 11, 0.06) !important;
  border-color: rgba(23, 60, 11, 0.45) !important;
  transform: translateY(-1px) !important;
}

/* CTA affilié — visuellement distinct */
.pr a[rel~="sponsored"],
.pr a.btn[rel~="sponsored"],
.pr a.btn-p[rel~="sponsored"] {
  background: #F2F7F0 !important;
  color: #285C14 !important;
  border: 1.5px solid rgba(40, 92, 20, 0.20) !important;
  box-shadow: none !important;
}
.pr a[rel~="sponsored"]::after,
.pr a.btn[rel~="sponsored"]::after,
.pr a.btn-p[rel~="sponsored"]::after {
  content: "↗" !important;
  font-size: 0.78em !important;
  opacity: 0.55 !important;
  margin-left: 2px !important;
  display: inline !important;
}
.pr a[rel~="sponsored"]:hover,
.pr a.btn[rel~="sponsored"]:hover {
  background: #EAF2E6 !important;
  border-color: rgba(40, 92, 20, 0.36) !important;
  transform: translateY(-1px) !important;
}

/* ══════════════════════════════════════════════════════
   BREADCRUMB
   ══════════════════════════════════════════════════════ */
.pr .breadcrumb {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: var(--pm-faint) !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
  letter-spacing: 0.01em;
}
.pr .breadcrumb a {
  color: var(--pm-faint) !important;
  text-decoration: none !important;
  transition: color 0.14s ease;
}
.pr .breadcrumb a:hover { color: var(--pm-forest) !important; }

/* ══════════════════════════════════════════════════════
   AUTHOR BYLINE
   ══════════════════════════════════════════════════════ */
.pr .author-byline {
  display: grid !important;
  grid-template-columns: 50px 1fr auto !important;
  align-items: center !important;
  gap: 16px !important;
  background: var(--pm-white) !important;
  border: 1px solid var(--pm-line) !important;
  border-radius: var(--pm-r) !important;
  padding: 18px 22px !important;
  margin: 28px 0 !important;
  box-shadow: var(--pm-shadow-xs) !important;
}

.pr .author-avatar {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  border-radius: 50% !important;
  background: linear-gradient(145deg, rgba(166,209,42,.28), var(--pm-forest) 100%) !important;
  color: #fff !important;
  font-family: var(--pm-serif) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid rgba(23,60,11,.14) !important;
  letter-spacing: -.01em;
  flex-shrink: 0 !important;
}

.pr .author-byline strong {
  display: block !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: var(--pm-text) !important;
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}

.pr .author-byline span,
.pr .author-byline-main span {
  font-size: 0.80rem !important;
  color: var(--pm-faint) !important;
}

.pr .author-byline a {
  color: var(--pm-forest) !important;
  text-decoration: none !important;
  font-weight: 650 !important;
}

.pr .author-byline-meta {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  grid-column: 1 / -1 !important;
  margin-top: 10px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--pm-line) !important;
}

.pr .byline-meta-item {
  background: var(--pm-paper) !important;
  border: 1px solid var(--pm-line) !important;
  color: var(--pm-muted) !important;
  font-size: 0.73rem !important;
  font-weight: 650 !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
}
.pr .byline-meta-item b { color: var(--pm-forest) !important; }

/* ══════════════════════════════════════════════════════
   LECTURE FRESHNESS — freshness badge
   ══════════════════════════════════════════════════════ */
.pr .lecture-freshness {
  display: flex !important;
  align-items: flex-start !important;
  gap: 13px !important;
  padding: 15px 20px !important;
  background: rgba(23, 60, 11, 0.05) !important;
  border: 1px solid rgba(23, 60, 11, 0.12) !important;
  border-radius: var(--pm-r) !important;
  margin-bottom: 28px !important;
}

.pr .lecture-freshness-badge {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border-radius: 50% !important;
  background: var(--pm-forest) !important;
  color: #fff !important;
  font-size: 0.70rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-top: 1px;
}

.pr .lecture-freshness strong {
  display: block !important;
  font-size: 0.87rem !important;
  font-weight: 800 !important;
  color: var(--pm-forest) !important;
  margin-bottom: 2px !important;
}
.pr .lecture-freshness span {
  font-size: 0.82rem !important;
  color: var(--pm-muted) !important;
  line-height: 1.5 !important;
}

/* ══════════════════════════════════════════════════════
   SEO MONEY LOCK — cadre confiance
   ══════════════════════════════════════════════════════ */
.pr .seo-money-lock {
  border: 1px solid rgba(23, 60, 11, 0.12) !important;
  background: rgba(23, 60, 11, 0.04) !important;
  border-radius: var(--pm-r) !important;
  padding: 15px 20px !important;
  margin: 24px 0 !important;
  font-size: 0.86rem !important;
  line-height: 1.62 !important;
  color: var(--pm-muted) !important;
}
.pr .seo-money-lock strong { color: var(--pm-forest) !important; font-weight: 800 !important; }

/* ══════════════════════════════════════════════════════
   TABLES — premium data design
   ══════════════════════════════════════════════════════ */
.pr table,
.pr .section-box table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #fff !important;
  border: 1px solid var(--pm-line) !important;
  border-radius: var(--pm-r) !important;
  overflow: hidden !important;
  margin: 20px 0 !important;
  font-size: 0.90rem !important;
  box-shadow: var(--pm-shadow-xs) !important;
}

.pr th {
  font-family: var(--pm-sans) !important;
  font-size: 0.70rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--pm-faint) !important;
  background: var(--pm-paper-2) !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--pm-line) !important;
  text-align: left !important;
}

.pr td {
  padding: 11px 16px !important;
  color: var(--pm-muted) !important;
  border-bottom: 1px solid rgba(15, 20, 10, 0.05) !important;
  vertical-align: top !important;
  line-height: 1.52 !important;
}
.pr tr:last-child td { border-bottom: none !important; }
.pr tr:hover td { background: var(--pm-paper) !important; }
.pr td strong { color: var(--pm-text) !important; }

/* Table quick-answer */
.pr .quick-answer-table th[scope="row"] {
  font-family: var(--pm-sans) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: var(--pm-text) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: var(--pm-paper) !important;
  width: 30% !important;
}

/* ══════════════════════════════════════════════════════
   MONEY DECISION STRIP — comparaison modèles
   ══════════════════════════════════════════════════════ */
.pr .money-decision-strip {
  margin: 36px 0 !important;
}

.pr .money-decision-strip > h2 {
  font-size: clamp(20px, 2.4vw, 30px) !important;
  margin-bottom: 20px !important;
  color: var(--pm-ink) !important;
}

.pr .money-decision-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 14px !important;
}

.pr .money-decision-card {
  background: var(--pm-white) !important;
  border: 1px solid var(--pm-line) !important;
  border-radius: var(--pm-r) !important;
  padding: 24px !important;
  box-shadow: var(--pm-shadow-xs) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  position: relative;
  overflow: hidden;
}

/* Trait supérieur vert sur les cards */
.pr .money-decision-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--pm-lime), var(--pm-grass)) !important;
  border-radius: var(--pm-r) var(--pm-r) 0 0 !important;
}

.pr .money-decision-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--pm-shadow-sm) !important;
}

.pr .money-decision-card h3 {
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: var(--pm-text) !important;
  margin: 0 0 9px !important;
  line-height: 1.32 !important;
  font-family: var(--pm-sans) !important;
  letter-spacing: -0.01em;
}

.pr .money-decision-card p {
  font-size: 0.85rem !important;
  line-height: 1.60 !important;
  color: var(--pm-muted) !important;
  margin-bottom: 16px !important;
}

.pr .money-decision-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* ══════════════════════════════════════════════════════
   FLAGSHIP BLOCK — exit block éditorial
   ══════════════════════════════════════════════════════ */
.pr .lbr-flagship-block {
  background: var(--pm-ink) !important;
  border-radius: var(--pm-r-xl) !important;
  padding: clamp(36px, 5vw, 64px) !important;
  margin: clamp(32px, 5vw, 56px) 0 !important;
  border: none !important;
  overflow: hidden !important;
  position: relative;
}

.pr .lbr-flagship-block::before {
  background: none !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse 50% 80% at 80% 30%, rgba(23,60,11,.45), transparent),
    radial-gradient(ellipse 25% 40% at 5% 80%, rgba(166,209,42,.06), transparent) !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  opacity: 1 !important;
}

.pr .lbr-flagship-block::after { display: none !important; }

.pr .lbr-flagship-block > * { position: relative; z-index: 1; }

.pr .lbr-flagship-block .lbr-block-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.pr .lbr-flagship-block .lbr-block-label {
  font-size: 0.65rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em !important;
  color: var(--pm-lime) !important;
  text-transform: uppercase !important;
}

.pr .lbr-flagship-block p {
  color: rgba(237,232,220,.72) !important;
  font-size: 0.95rem !important;
  max-width: 640px;
  margin-bottom: 24px !important;
}

.pr .lbr-flagship-block strong { color: rgba(237,232,220,.95) !important; }

.pr .lbr-flagship-block .btn-p {
  background: rgba(255,255,255,.10) !important;
  color: #EDE8DC !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}
.pr .lbr-flagship-block .btn-p:hover {
  background: rgba(255,255,255,.16) !important;
  transform: translateY(-1px) !important;
}

.pr .lbr-flagship-block .btn-ghost {
  background: transparent !important;
  color: rgba(237,232,220,.68) !important;
  border-color: rgba(255,255,255,.15) !important;
}
.pr .lbr-flagship-block .btn-ghost:hover {
  color: #EDE8DC !important;
  border-color: rgba(255,255,255,.28) !important;
}

.pr .lbr-block-signal { display: none !important; }

/* ══════════════════════════════════════════════════════
   DETAILS / SUMMARY
   ══════════════════════════════════════════════════════ */
.pr details {
  border: 1px solid var(--pm-line) !important;
  border-radius: var(--pm-r) !important;
  margin: 16px 0 !important;
  background: rgba(255,255,255,.6) !important;
  overflow: hidden !important;
}

.pr details summary {
  padding: 14px 20px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  color: var(--pm-text) !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  user-select: none;
  font-family: var(--pm-sans) !important;
}
.pr details summary::-webkit-details-marker { display: none !important; }
.pr details summary::before {
  content: "+" !important;
  font-size: 1.1em !important;
  font-weight: 400 !important;
  color: var(--pm-forest) !important;
  width: 20px !important;
  text-align: center !important;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}
.pr details[open] summary::before {
  content: "−" !important;
}
.pr details[open] summary {
  border-bottom: 1px solid var(--pm-line) !important;
}
.pr details > *:not(summary) {
  padding: 16px 20px !important;
  font-size: 0.88rem !important;
  color: var(--pm-muted) !important;
  line-height: 1.64 !important;
}

/* ══════════════════════════════════════════════════════
   NOTE AFFILIATION
   ══════════════════════════════════════════════════════ */
.pr .aff-note,
.pr .affiliate-page-note,
.pr .aff-note--inline {
  font-size: 0.74rem !important;
  color: var(--pm-faint) !important;
  display: block !important;
  padding: 8px 12px 8px 14px !important;
  border-left: 2.5px solid rgba(78, 140, 42, 0.28) !important;
  background: rgba(78, 140, 42, 0.04) !important;
  border-radius: 0 8px 8px 0 !important;
  margin: 12px 0 !important;
  line-height: 1.52 !important;
}

.pr .affiliate-page-note--generic {
  background: transparent !important;
  border-left: none !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
}

/* ══════════════════════════════════════════════════════
   FIGURE / ED-VISUAL
   ══════════════════════════════════════════════════════ */
.pr .ed-visual {
  margin: 32px 0 !important;
  border-radius: var(--pm-r-lg) !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-line) !important;
  background: var(--pm-white) !important;
  box-shadow: var(--pm-shadow-sm) !important;
}

.pr .ed-visual img {
  display: block !important;
  width: 100% !important;
  max-height: 440px !important;
  object-fit: cover !important;
}

.pr .ed-visual figcaption {
  padding: 14px 22px !important;
  font-size: 0.82rem !important;
  color: var(--pm-faint) !important;
  border-top: 1px solid var(--pm-line) !important;
  line-height: 1.5 !important;
}
.pr .ed-visual figcaption strong {
  display: block !important;
  color: var(--pm-muted) !important;
  font-weight: 750 !important;
  margin-bottom: 2px !important;
  font-size: 0.86rem !important;
}

/* ══════════════════════════════════════════════════════
   HOMEPAGE HERO (mode sombre)
   ══════════════════════════════════════════════════════ */
.hm .hm-hero {
  background: var(--pm-ink) !important;
  padding: clamp(64px, 9vw, 108px) 0 clamp(56px, 8vw, 88px) !important;
}

.hm .hm-hero h1 {
  font-family: var(--pm-serif) !important;
  font-size: clamp(48px, 6.5vw, 92px) !important;
  line-height: 1.00 !important;
  letter-spacing: -0.038em !important;
  font-weight: 700 !important;
  color: #EDE8DC !important;
}

.hm .hm-hero h1 em {
  color: var(--pm-dark-lime) !important;
  font-style: italic !important;
  font-weight: 500 !important;
}

.hm .hero-sub {
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height: 1.68 !important;
}

.hm .hero-stat-num {
  font-family: var(--pm-serif) !important;
  font-size: clamp(1.7rem, 2.5vw, 2.55rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
}

.hm .path-card,
.hm .method-card {
  border-radius: var(--pm-r-lg) !important;
  box-shadow: 0 8px 32px rgba(10,14,8,.06) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.hm .path-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 48px rgba(10,14,8,.11) !important;
}

.hm .path-card h3,
.hm .method-card h3 {
  font-family: var(--pm-serif) !important;
}

/* ══════════════════════════════════════════════════════
   FOOTER — masthead publication
   ══════════════════════════════════════════════════════ */
.pr footer {
  background: var(--pm-ink) !important;
  padding: clamp(56px, 7vw, 88px) 0 clamp(28px, 3vw, 40px) !important;
  color: rgba(237, 232, 220, 0.54) !important;
  border: none !important;
  margin-top: clamp(48px, 7vw, 88px) !important;
}

.pr .ftr-in {
  max-width: var(--pm-max) !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 3.5vw, 40px) !important;
  display: grid !important;
  grid-template-columns: 1.6fr repeat(4, 1fr) !important;
  gap: 40px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

.pr .ftr-brand p {
  font-size: 0.85rem !important;
  color: rgba(237, 232, 220, 0.38) !important;
  line-height: 1.6 !important;
  max-width: 240px;
  margin-top: 10px;
}

.pr .ftr-logo {
  font-family: var(--pm-serif) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: #EDE8DC !important;
  text-decoration: none !important;
  letter-spacing: -0.03em !important;
  display: block !important;
  margin-bottom: 4px !important;
}

.pr footer h4 {
  font-family: var(--pm-sans) !important;
  font-size: 0.65rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(237, 232, 220, 0.28) !important;
  margin: 0 0 18px !important;
}

.pr footer a {
  display: block !important;
  color: rgba(237, 232, 220, 0.50) !important;
  text-decoration: none !important;
  font-size: 0.86rem !important;
  margin-bottom: 10px !important;
  transition: color 0.14s ease !important;
}
.pr footer a:hover { color: #EDE8DC !important; }

.pr .ftr-affiliate,
.pr .ftr-bot {
  max-width: var(--pm-max) !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 3.5vw, 40px) !important;
  font-size: 0.75rem !important;
  line-height: 1.6 !important;
}

.pr .ftr-affiliate {
  color: rgba(237, 232, 220, 0.28) !important;
  padding-top: 20px !important;
}
.pr .ftr-bot {
  color: rgba(237, 232, 220, 0.18) !important;
  margin-top: 8px !important;
  padding-bottom: 0 !important;
}

/* ══════════════════════════════════════════════════════
   PREMIUM ASSURANCE GRID
   ══════════════════════════════════════════════════════ */
.pr .premium-assurance-grid {
  gap: 12px !important;
}

.pr .premium-assurance-grid article {
  background: var(--pm-paper) !important;
  border: 1px solid var(--pm-line) !important;
  border-radius: var(--pm-r) !important;
  padding: 18px !important;
  box-shadow: none !important;
}

.pr .premium-assurance-grid strong {
  color: var(--pm-text) !important;
  font-size: 0.90rem !important;
  font-weight: 750 !important;
  margin-bottom: 4px !important;
  display: block !important;
}

.pr .premium-assurance-grid span {
  color: var(--pm-muted) !important;
  font-size: 0.84rem !important;
  line-height: 1.54 !important;
}

/* ══════════════════════════════════════════════════════
   GUIDE NOTE COMPACT
   ══════════════════════════════════════════════════════ */
.pr .guide-note-compact {
  padding: 24px 0 !important;
  border-top: 1px solid var(--pm-line) !important;
  border-bottom: 1px solid var(--pm-line) !important;
  margin: 32px 0 !important;
}

.pr .guide-note-compact p.lead {
  font-family: var(--pm-serif) !important;
  font-size: clamp(1.05rem, 1.5vw, 1.28rem) !important;
  font-style: italic !important;
  color: var(--pm-text) !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  margin-bottom: 12px !important;
}

/* ══════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .pr .ftr-in {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
  .pr .main-nav,
  .pr .hdr-cta { display: none !important; }
}

@media (max-width: 720px) {
  .pr h2 {
    margin-top: 36px !important;
    margin-bottom: 10px !important;
  }
  .pr .section-box { padding: 24px !important; }
  .pr .money-decision-grid {
    grid-template-columns: 1fr !important;
  }
  .pr .author-byline {
    grid-template-columns: 46px 1fr !important;
  }
  .pr .ftr-in {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .pr .lbr-flagship-block {
    border-radius: var(--pm-r-lg) !important;
    padding: 28px !important;
  }
}

@media (max-width: 480px) {
  .pr .hero:not(.hm-hero),
  .pr .seo-hero,
  .pr .test-hero,
  .pr .lbr-test-hero-block {
    border-radius: var(--pm-r) !important;
    padding: 28px 24px !important;
  }
}

/* ══════════════════════════════════════════════════════
   PRINT — aucune animation ni transition
   ══════════════════════════════════════════════════════ */
@media print {
  .pr * { transition: none !important; animation: none !important; }
}

/*
 * LeBonRobot — Premium extras CSS
 * Header hide-on-scroll + WebGL canvas transitions
 */

/* ── Header hide on scroll ── */
header {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
header.lbr-header-hidden {
  transform: translateY(-100%) !important;
}

/* ── WebGL canvas fade-in ── */
#lbr-webgl {
  opacity: 0;
  animation: lbr-wgl-in 1.2s 0.3s ease forwards;
}
@keyframes lbr-wgl-in {
  to { opacity: 1; }
}

/* ── Smooth scroll cursor indicator ── */
@media (hover: hover) and (pointer: fine) {
  html {
    scroll-behavior: auto !important; /* lerp JS remplace smooth CSS */
  }
}

/*
 * LeBonRobot — Mobile Premium
 * Expérience mobile soignée : héros, cartes, nav, typo, touch targets
 * S'active à partir de 768px et en dessous
 */

/* ══════════════════════════════════════════════════
   MOBILE NAV — sticky bottom sur mobile
══════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Header fixe haut */
  header {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 700 !important;
    height: 56px !important;
    backdrop-filter: blur(20px) !important;
  }
  .pr header {
    background: rgba(241,236,225,.97) !important;
  }
  header .hdr-in {
    height: 56px !important;
    padding: 0 18px !important;
  }

  /* Barre nav mobile sticky bottom */
  #lbr-bottom-nav {
    position: fixed !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 650 !important;
    display: flex !important;
    background: rgba(241,236,225,.97) !important;
    backdrop-filter: blur(20px) !important;
    border-top: 1px solid rgba(13,17,8,.09) !important;
    padding: 8px 0 max(8px, env(safe-area-inset-bottom)) !important;
  }
  #lbr-bottom-nav a {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 3px !important;
    font-size: .64rem !important;
    font-weight: 700 !important;
    color: var(--hp-fa, #717969) !important;
    text-decoration: none !important;
    padding: 4px 0 !important;
    min-height: 44px !important;
    transition: color .14s !important;
  }
  #lbr-bottom-nav a.active,
  #lbr-bottom-nav a[aria-current="page"] {
    color: var(--hp-fo, #143607) !important;
  }
  #lbr-bottom-nav a svg {
    width: 22px !important; height: 22px !important;
    stroke: currentColor !important; fill: none !important;
    stroke-width: 1.8 !important; stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
  #lbr-bottom-nav a.active svg {
    stroke-width: 2.4 !important;
  }

  /* Push content above bottom nav */
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important; }
  /* Push content below fixed header */
  main { padding-top: 56px !important; }

  /* Mobile nav top - masquer */
  .mobile-nav-static { display: none !important; }

  /* ── HERO MOBILE — article pages ── */
  .pr .lbr-test-hero-block,
  .pr .test-hero,
  .pr .hero:not(.hm-hero),
  .pr .seo-hero {
    border-radius: 0 0 28px 28px !important;
    margin: 0 0 0 !important;
    padding: clamp(40px,8vw,56px) clamp(20px,5vw,28px) clamp(32px,6vw,44px) !important;
    min-height: auto !important;
  }

  .pr .lbr-test-hero-block h1,
  .pr .test-hero h1,
  .pr .hero:not(.hm-hero) h1 {
    font-size: clamp(30px, 7vw, 42px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.028em !important;
    margin-bottom: 14px !important;
  }

  /* ── HERO HOMEPAGE MOBILE ── */
  .pr.hm-ready .hm-hero {
    padding: clamp(72px,10vw,88px) 0 clamp(36px,6vw,48px) ;
    border-radius: 0 0 28px 28px ;
  }
  .pr.hm-ready .hero-inner {
    grid-template-columns: 1fr ;
    gap: 0 ;
  }
  .pr.hm-ready .hero-aside { display: none ; }
  .pr.hm-ready .hm-hero h1 {
    font-size: clamp(36px, 8vw, 52px) !important;
    letter-spacing: -.032em !important;
  }
  .pr.hm-ready .hero-sub {
    font-size: .92rem !important;
    margin-bottom: 24px ;
  }
  .pr.hm-ready .hero-actions {
    flex-direction: column ;
    gap: 10px ;
  }
  .pr.hm-ready .btn-hero-primary,
  .pr.hm-ready .btn-hero-ghost {
    width: 100% ;
    justify-content: center ;
    padding: 16px 24px ;
    font-size: 15px !important;
    min-height: 52px ;
  }
  .pr.hm-ready .hero-stats {
    grid-template-columns: repeat(2,1fr) ;
    gap: 0 ;
    margin-top: 28px ;
    padding-top: 22px ;
  }
  .pr.hm-ready .hero-stat:nth-child(2) {
    border-right: none ;
  }
  .pr.hm-ready .hero-stat:nth-child(n+3) {
    border-top: 1px solid rgba(255,255,255,.07) ;
  }

  /* ── PATHS SECTION MOBILE ── */
  .pr.hm-ready .paths-grid {
    grid-template-columns: 1fr ;
    gap: 14px ;
  }
  .pr.hm-ready .path-card {
    padding: 28px 24px ;
  }
  .pr.hm-ready .path-card h3 {
    font-size: 1.2rem !important;
  }
  .pr.hm-ready .btn-forest,
  .pr.hm-ready .btn-forest-line {
    width: 100% ;
    justify-content: center ;
    padding: 14px 20px ;
    min-height: 48px ;
  }

  /* ── PRODUCT CARDS MOBILE (top 5) ── */
  .pr.amazon-home-redesign .top5-grid {
    grid-template-columns: 1fr ;
    gap: 14px ;
  }
  .pr.amazon-home-redesign .product-card {
    display: grid ;
    grid-template-columns: 120px 1fr ;
    grid-template-rows: auto auto ;
    border-radius: 18px ;
  }
  .pr.amazon-home-redesign .product-card::before {
    grid-column: 1 / -1 ;
    border-radius: 18px 18px 0 0 ;
  }
  .pr.amazon-home-redesign .product-card-img {
    grid-row: 1 / 3 ;
    border-bottom: none ;
    border-right: 1px solid var(--hp-line, rgba(13,17,8,.08)) ;
    min-height: 130px ;
    padding: 16px 12px ;
    border-radius: 0 0 0 18px ;
  }
  .pr.amazon-home-redesign .product-card-img img {
    max-height: 100px ;
  }
  .pr.amazon-home-redesign .product-card-body {
    padding: 14px 16px 8px ;
  }
  .pr.amazon-home-redesign .product-card-name {
    font-size: .88rem !important;
  }
  .pr.amazon-home-redesign .product-card-lead {
    font-size: .78rem !important;
    -webkit-line-clamp: 2 ;
    display: -webkit-box ;
    -webkit-box-orient: vertical ;
    overflow: hidden ;
  }
  .pr.amazon-home-redesign .product-card-footer {
    grid-column: 2 ;
    padding: 8px 16px 14px ;
  }

  /* ── ARTICLE LAYOUT MOBILE ── */
  .pr .art-layout,
  .pr .alyt {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 28px 0 60px !important;
  }
  .pr .tocsid { display: none !important; }

  .pr .box {
    padding: 22px 20px !important;
    border-radius: 20px !important;
    margin: 18px 0 !important;
  }

  .pr h1 {
    font-size: clamp(30px,7vw,44px) !important;
    line-height: 1.06 !important;
  }
  .pr h2 {
    font-size: clamp(22px,5vw,32px) !important;
    margin-top: 36px !important;
  }

  /* ── FLOATING CTA MOBILE ── */
  #fcta .fcta-in {
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }
  #fcta .fi-info span { display: none !important; }
  #fcta .fi-price { font-size: 1.2rem !important; }
  #fcta .bf {
    font-size: 12px !important;
    padding: 9px 14px !important;
    white-space: nowrap !important;
  }
  #fcta .bfg { display: none !important; }

  /* ── SECTION BOX MOBILE ── */
  .pr .section-box,
  .pr .box {
    margin: 16px 0 !important;
  }

  /* ── TABLE MOBILE ── */
  .pr .tw,
  .pr .tbl-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 14px !important;
  }

  /* ── FOOTER MOBILE ── */
  .pr footer .ftr-in,
  .pr footer .fg {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    padding-bottom: 24px !important;
  }
  .pr footer .ftr-brand,
  .pr footer .ftr-col:first-child {
    grid-column: 1 / -1 !important;
  }

  /* ── SCORE BYLINE MOBILE ── */
  .pr .score-bl,
  .pr .score-byline {
    grid-template-columns: 48px 1fr !important;
    gap: 12px !important;
    padding: 16px 18px !important;
  }
  .pr .score-ring { width: 80px !important; height: 80px !important; }
  .pr .byline-tags,
  .pr .tags {
    grid-column: 1 / -1 !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--hp-line, rgba(13,17,8,.08)) !important;
  }

  /* ── PRICE BLOCK MOBILE ── */
  .pr .price-top,
  .pr .priceblock .price-top {
    padding: 22px 22px !important;
  }
  .pr .pnum { font-size: clamp(52px,12vw,78px) !important; }
  .pr .pctx,
  .pr .price-context {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 16px 18px !important;
  }

  /* ── RADAR MOBILE ── */
  .pr .radar-svg {
    max-width: 280px !important;
  }

  /* ── READ BAR + HERO-PROD ── */
  .pr .hero-prod { display: none !important; }

  /* ── COMPARATIF MOBILE ── */
  .pr .lbr-comparison-premium-hero {
    border-radius: 0 0 24px 24px !important;
    padding: clamp(72px,10vw,88px) 0 36px !important;
  }
  .pr .lbr-comparison-premium-hero h1 {
    font-size: clamp(28px,6vw,44px) !important;
  }
  .pr .lbr-comparison-premium-hero p:has(.btn) {
    flex-direction: column !important;
  }
  .pr .lbr-comparison-premium-hero .btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 20px !important;
    min-height: 48px !important;
  }

  /* ── MONEY DECISION GRID ── */
  .pr .money-decision-grid,
  .pr .mdgrid {
    grid-template-columns: 1fr !important;
  }

  /* ── EXIT BLOCK MOBILE ── */
  .pr .exit,
  .pr .lbr-flagship-block {
    border-radius: 20px !important;
    padding: 32px 24px !important;
    margin: 24px 0 !important;
  }
  .pr .exit h2,
  .pr .exit-h2 {
    font-size: clamp(22px,5vw,32px) !important;
  }
  .pr .crow,
  .pr .exit .crow {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .pr .exit .bex,
  .pr .exit .bexg {
    width: 100% !important;
    justify-content: center !important;
    min-height: 48px !important;
  }
}

/* ══════════════════════════════════════════════════
   SMALL MOBILE (≤480px)
══════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .pr.hm-ready .hm-hero h1 {
    font-size: clamp(32px, 8.5vw, 42px) !important;
  }
  .pr.hm-ready .paths { padding: 48px 0 ; }
  .pr.hm-ready .method-grid {
    grid-template-columns: 1fr ;
  }
  .pr.hm-ready .garden-inner {
    grid-template-columns: 1fr ;
  }
  .pr.hm-ready .garden-map-wrap { display: none ; }

  .pr .sgrid,
  .pr .stats-grid {
    grid-template-columns: repeat(2,1fr) !important;
  }

  footer .ftr-in,
  footer .fg {
    grid-template-columns: 1fr !important;
  }
}

/* ══════════════════════════════════════════════════
   TOUCH TARGETS — accessibilité
══════════════════════════════════════════════════ */
@media (hover: none) {
  .pr .btn,
  .pr .btn-p,
  .pr .btn-ghost,
  .pr .be,
  .pr .baf,
  .pr .bg2,
  .pr .bex,
  .pr a.btn,
  button {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  /* Désactiver les effets hover qui n'ont pas de sens sur touch */
  .pr .box:hover,
  .pr .mcard:hover,
  .pr .path-card:hover,
  .pr .product-card:hover,
  .pr .method-card:hover {
    transform: none !important;
  }
  /* Le scroll-hint ne s'affiche pas sur mobile */
  .scroll-h { display: none !important; }
}

/* ══════════════════════════════════════════════════
   IPHONE NOTCH / SAFE AREAS
══════════════════════════════════════════════════ */
@supports (padding: env(safe-area-inset-bottom)) {
  header {
    padding-top: env(safe-area-inset-top) !important;
  }
  #lbr-bottom-nav {
    padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }
}

/* ════════════════════════════════════
   POINT 2 — VIEW TRANSITIONS API
   Transitions de pages native navigateur
   Progressive enhancement (Chrome 111+)
════════════════════════════════════ */
@view-transition { navigation: auto; }

::view-transition-old(root) {
  animation: 260ms cubic-bezier(.4, 0, .2, 1) both lbr-vt-out;
}
::view-transition-new(root) {
  animation: 380ms cubic-bezier(.16, 1, .3, 1) both lbr-vt-in;
}

@keyframes lbr-vt-out {
  from { opacity: 1; transform: translateY(0); filter: blur(0); }
  to   { opacity: 0; transform: translateY(-10px); filter: blur(3px); }
}
@keyframes lbr-vt-in {
  from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
  to   { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* Header reste fixe pendant la transition */
header { view-transition-name: lbr-header; }
::view-transition-old(lbr-header),
::view-transition-new(lbr-header) { animation: none; }

/* Réduire les animations pour accessibilité */
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) {
    animation-duration: 60ms !important;
  }
}

/* ════════════════════════════════════
   POINT 4 — COMPARATIF INTERACTIF
   CSS pour le compare UI
════════════════════════════════════ */
.lbr-compare-btn {
  position: absolute !important;
  top: 12px !important; right: 12px !important;
  width: 32px !important; height: 32px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.92) !important;
  border: 1.5px solid rgba(13,17,8,.12) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important; z-index: 10 !important;
  font-size: 18px !important; font-weight: 300 !important; color: #47503E !important;
  transition: background .14s, border-color .14s, color .14s, transform .14s !important;
  box-shadow: 0 2px 8px rgba(8,13,6,.1) !important;
  line-height: 1 !important;
  font-family: system-ui !important;
}
.lbr-compare-btn:hover {
  background: #fff !important;
  border-color: rgba(20,54,7,.3) !important;
  color: #143607 !important;
  transform: scale(1.1) !important;
}
.lbr-compare-btn.selected {
  background: #9EC926 !important;
  border-color: #9EC926 !important;
  color: #080D06 !important;
  font-weight: 700 !important;
}

/* Floating compare bar */
#lbr-compare-bar {
  position: fixed !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 800 !important;
  background: rgba(8,13,6,.97) !important;
  backdrop-filter: blur(18px) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  padding: 14px clamp(20px,3.5vw,44px) !important;
  transform: translateY(110%) !important;
  transition: transform .45s cubic-bezier(.16,1,.3,1) !important;
}
#lbr-compare-bar.visible {
  transform: translateY(0) !important;
}
.lbr-cb-inner {
  max-width: 1100px !important; margin: 0 auto !important;
  display: flex !important; align-items: center !important; gap: 16px !important;
  flex-wrap: wrap !important;
}
.lbr-cb-slots {
  display: flex !important; gap: 10px !important; flex: 1 !important; min-width: 0 !important;
}
.lbr-cb-slot {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  font-size: .78rem !important; font-weight: 700 !important;
  color: rgba(237,232,220,.72) !important;
  min-width: 120px !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 8px !important;
}
.lbr-cb-slot.empty {
  color: rgba(237,232,220,.28) !important;
  border-style: dashed !important;
  font-weight: 400 !important;
}
.lbr-cb-slot-remove {
  background: transparent !important; border: none !important;
  color: rgba(237,232,220,.4) !important; cursor: pointer !important;
  font-size: 16px !important; line-height: 1 !important;
  padding: 0 !important; flex-shrink: 0 !important;
  transition: color .12s !important;
}
.lbr-cb-slot-remove:hover { color: rgba(237,232,220,.8) !important; }
.lbr-cb-count {
  font-size: .72rem !important; color: rgba(237,232,220,.42) !important;
  font-weight: 600 !important; white-space: nowrap !important;
}
.lbr-cb-cta {
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  font-size: 13px !important; font-weight: 800 !important;
  padding: 11px 22px !important; border-radius: 999px !important;
  background: #9EC926 !important; color: #080D06 !important;
  border: none !important; cursor: pointer !important;
  box-shadow: 0 4px 20px rgba(158,201,38,.3) !important;
  transition: background .14s, transform .12s !important;
  white-space: nowrap !important;
}
.lbr-cb-cta:disabled {
  background: rgba(255,255,255,.1) !important; color: rgba(237,232,220,.3) !important;
  box-shadow: none !important; cursor: default !important;
}
.lbr-cb-cta:not(:disabled):hover {
  background: #BDE83A !important; transform: translateY(-1px) !important;
}
.lbr-cb-clear {
  font-size: .78rem !important; color: rgba(237,232,220,.36) !important;
  background: none !important; border: none !important;
  cursor: pointer !important; padding: 0 !important;
  transition: color .12s !important;
}
.lbr-cb-clear:hover { color: rgba(237,232,220,.7) !important; }

/* Compare modal */
#lbr-compare-modal {
  position: fixed !important; inset: 0 !important; z-index: 900 !important;
  display: flex !important; align-items: flex-end !important; justify-content: center !important;
  opacity: 0 !important; pointer-events: none !important;
  transition: opacity .3s ease !important;
}
#lbr-compare-modal.open {
  opacity: 1 !important; pointer-events: auto !important;
}
.lbr-modal-backdrop {
  position: absolute !important; inset: 0 !important;
  background: rgba(8,13,6,.72) !important; backdrop-filter: blur(6px) !important;
}
.lbr-modal-sheet {
  position: relative !important; z-index: 1 !important;
  background: #F2EDE2 !important;
  border-radius: 32px 32px 0 0 !important;
  width: 100% !important; max-width: 1100px !important;
  max-height: 88vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 28px clamp(20px,4vw,48px) 48px !important;
  transform: translateY(100%) !important;
  transition: transform .45s cubic-bezier(.16,1,.3,1) !important;
  box-shadow: 0 -32px 80px rgba(8,13,6,.3) !important;
}
#lbr-compare-modal.open .lbr-modal-sheet {
  transform: translateY(0) !important;
}
.lbr-modal-handle {
  width: 44px !important; height: 4px !important; border-radius: 99px !important;
  background: rgba(8,13,6,.14) !important;
  margin: 0 auto 24px !important;
}
.lbr-modal-title {
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(1.3rem,2.5vw,1.9rem) !important;
  font-weight: 600 !important; color: #080D06 !important;
  letter-spacing: -.025em !important; margin-bottom: 24px !important;
}
.lbr-modal-close {
  position: absolute !important; top: 22px !important; right: 24px !important;
  width: 36px !important; height: 36px !important; border-radius: 50% !important;
  background: rgba(8,13,6,.07) !important; border: none !important;
  cursor: pointer !important; font-size: 18px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: #47503E !important; transition: background .14s !important;
}
.lbr-modal-close:hover { background: rgba(8,13,6,.13) !important; }

/* Comparison table inside modal */
.lbr-cmp-table {
  width: 100% !important; border-collapse: collapse !important;
  background: #fff !important; border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(13,17,8,.08) !important;
  box-shadow: 0 4px 20px rgba(8,13,6,.07) !important;
}
.lbr-cmp-table th {
  background: #E9E3D5 !important;
  padding: 14px 18px !important; text-align: left !important;
  font-size: .72rem !important; font-weight: 900 !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  color: #717969 !important; border-bottom: 1px solid rgba(13,17,8,.08) !important;
}
.lbr-cmp-table th:first-child { width: 160px !important; }
.lbr-cmp-table td {
  padding: 13px 18px !important;
  font-size: .9rem !important; color: #47503E !important;
  border-bottom: 1px solid rgba(13,17,8,.04) !important;
  vertical-align: middle !important;
}
.lbr-cmp-table tr:last-child td { border-bottom: none !important; }
.lbr-cmp-table td:first-child {
  font-weight: 750 !important; color: #080D06 !important;
  background: #F2EDE2 !important; font-size: .84rem !important;
}
.lbr-cmp-table td strong { color: #080D06 !important; font-weight: 800 !important; }
.lbr-cmp-best { color: #143607 !important; font-weight: 800 !important; }
.lbr-cmp-badge {
  display: inline-block !important; font-size: .66rem !important; font-weight: 800 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important;
  padding: .28rem .6rem !important; border-radius: 999px !important;
  background: rgba(20,54,7,.09) !important; color: #143607 !important;
}
.lbr-cmp-bar-wrap {
  display: flex !important; align-items: center !important; gap: 8px !important;
}
.lbr-cmp-bar {
  flex: 1 !important; height: 5px !important;
  background: rgba(13,17,8,.08) !important; border-radius: 99px !important; overflow: hidden !important;
}
.lbr-cmp-fill {
  height: 100% !important; border-radius: 99px !important;
  background: linear-gradient(90deg,#9EC926,#498629) !important;
  transition: width 1s cubic-bezier(.16,1,.3,1) !important;
}
.lbr-cmp-val { font-size: .8rem !important; font-weight: 700 !important; color: #080D06 !important; white-space: nowrap !important; }
.lbr-modal-actions {
  display: flex !important; gap: 10px !important; margin-top: 24px !important; flex-wrap: wrap !important;
}

@media (max-width: 640px) {
  .lbr-cb-slots { display: none !important; }
  .lbr-cmp-table { font-size: .82rem !important; }
  .lbr-cmp-table th, .lbr-cmp-table td { padding: 10px 12px !important; }
}

/* ════════════════════════════════════
   SECTIONS TERRAIN ENRICHIES
   Styles pour les analyses croisees
════════════════════════════════════ */
.lbr-terrain-enriched .lbr-pattern-item {
  padding: 18px 0;
  border-bottom: 1px solid var(--line, rgba(13,17,8,.08));
}
.lbr-terrain-enriched .lbr-pattern-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.lbr-terrain-enriched .lbr-pattern-title {
  font-family: "DM Sans", system-ui, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  color: var(--hp-ink, #080D06) !important;
  letter-spacing: -.01em !important;
  margin: 0 0 8px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 0 !important;
  line-height: 1.3 !important;
}
.lbr-terrain-enriched .lbr-pattern-item p {
  font-size: .92rem !important;
  line-height: 1.68 !important;
  color: var(--hp-mu, #47503E) !important;
  margin: 0 !important;
  padding-left: calc(1.4rem + 16px) !important;
}
/* HOTFIX NAV — afficher le menu desktop et le tiroir mobile */
@media (min-width: 1025px) {
  header .main-nav,
  .site-header .main-nav,
  .lbr-header .main-nav {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  header .burger,
  .site-header .burger,
  .lbr-header .burger {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  header .burger,
  .site-header .burger,
  .lbr-header .burger {
    display: inline-flex !important;
  }

  header .main-nav,
  .site-header .main-nav,
  .lbr-header .main-nav {
    display: none !important;
  }

  header .burger[aria-expanded="true"] + .main-nav,
  header .burger[aria-expanded="true"] ~ .main-nav,
  header:has(.burger[aria-expanded="true"]) .main-nav,
  .site-header:has(.burger[aria-expanded="true"]) .main-nav,
  .lbr-header:has(.burger[aria-expanded="true"]) .main-nav,
  .main-nav.is-open,
  .main-nav.open {
    display: flex !important;
    position: fixed !important;
    top: 86px !important;
    left: 14px !important;
    right: 14px !important;
    z-index: 999999 !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 18px !important;
    border-radius: 24px !important;
    background: rgba(250, 247, 238, 0.98) !important;
    border: 1px solid rgba(31, 61, 31, 0.16) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
  }

  .main-nav.is-open a,
  .main-nav.open a,
  header:has(.burger[aria-expanded="true"]) .main-nav a,
  .site-header:has(.burger[aria-expanded="true"]) .main-nav a,
  .lbr-header:has(.burger[aria-expanded="true"]) .main-nav a {
    display: flex !important;
    width: 100% !important;
    padding: 13px 14px !important;
    border-radius: 14px !important;
    color: #151A12 !important;
    background: rgba(255, 255, 255, 0.78) !important;
    text-decoration: none !important;
  }
}
/* GLOBAL HEADER FIX — menu visible sur toutes les pages */
.site-header,
header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: rgba(243, 238, 223, .96) !important;
  border-bottom: 1px solid rgba(21, 26, 18, .12) !important;
  backdrop-filter: blur(18px) !important;
}

.site-header .header-inner,
header .header-inner,
.site-header .wrap,
header .wrap {
  width: min(1180px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  min-height: 76px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

.site-header .brand,
header .brand,
.site-header .logo,
header .logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  color: #151a12 !important;
}

.site-header .main-nav,
header .main-nav {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-header .main-nav a,
header .main-nav a {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  padding: 10px 13px !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
  color: rgba(21, 26, 18, .72) !important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a[aria-current="page"],
header .main-nav a:hover,
header .main-nav a[aria-current="page"] {
  background: rgba(31, 85, 25, .1) !important;
  color: #1f5519 !important;
}

.site-header .header-cta,
header .header-cta,
.site-header .cta,
header .cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  background: #1f5519 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 850 !important;
}

.site-header .burger,
header .burger {
  display: none !important;
}

@media (max-width: 1100px) {
  .site-header .main-nav,
  header .main-nav {
    display: none !important;
  }

  .site-header .burger,
  header .burger {
    display: inline-flex !important;
  }

  .site-header .main-nav.is-open,
  header .main-nav.is-open,
  .site-header .main-nav.open,
  header .main-nav.open {
    display: flex !important;
    position: fixed !important;
    top: 86px !important;
    left: 14px !important;
    right: 14px !important;
    z-index: 99999 !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 18px !important;
    border-radius: 24px !important;
    background: rgba(250, 247, 238, .98) !important;
    border: 1px solid rgba(21, 26, 18, .12) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .28) !important;
  }

  .site-header .main-nav.is-open a,
  header .main-nav.is-open a,
  .site-header .main-nav.open a,
  header .main-nav.open a {
    display: flex !important;
    width: 100% !important;
    color: #151a12 !important;
    background: rgba(255, 255, 255, .78) !important;
    border: 1px solid rgba(21, 26, 18, .08) !important;
  }
}
