/* ═══════════════════════════════════════════════════════════════
   STOP INFLATIONS — DESIGN SYSTEM UNIFIÉ v3
   ★ MAJ 26/04/2026 : BLEU NUIT CORPORATE + POLICE SORA (validée + sa femme) ★
   Référence : MAQUETTE_FINALE_BLEU_NUIT_26avril
   ═══════════════════════════════════════════════════════════════ */

/* ★ POLICE GLOBALE SORA — validée + femme 26/04/2026 ★ */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

html, body, button, input, textarea, select, optgroup,
h1, h2, h3, h4, h5, h6, p, a, span, div, li, dd, dt, label,
nav, header, footer, main, article, aside, section,
.si-page-content, [class*="si-"], [class*="db-"], [class*="cmp-"],
[class*="sb-"], [class*="ob-"], [class*="cb-"], [class*="cf-"] {
  font-family: 'Sora', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif !important;
}
/* Exception : code/monospace garde JetBrains Mono */
code, pre, kbd, samp, .mono, .num, [class*="mono"],
[style*="JetBrains"], [style*="monospace"] {
  font-family: 'JetBrains Mono', 'Consolas', 'Courier New', monospace !important;
}

/* OVERRIDES BLEU NUIT CHIC — appliqués au TOUT DÉBUT pour neutraliser les anciennes couleurs */
:root {
  --si-blue-nuit: #0F172A;
  --si-cyan-saturated: #06B6D4;
  --si-brand-final: linear-gradient(135deg, #0F172A 0%, #06B6D4 100%);
}
/* Convertit tous les textes anciens rouges (#e21b23, --si-red) en bleu nuit */
[style*="color:#e21b23"], [style*="color: #e21b23"],
[style*="color:#dc2626"], [style*="color:#ef4444"] {
  color: #06B6D4 !important;
}
/* Convertit tous les boutons anciens rouges en bleu nuit */
[style*="background:#e21b23"], [style*="background: #e21b23"],
[style*="background:#dc2626"], [style*="background:#ef4444"],
[style*="background:#06B6D4"], [style*="background: #06B6D4"] {
  background: linear-gradient(135deg, #0F172A 0%, #06B6D4 100%) !important;
}
/* Convertit les box-shadow rouges */
[style*="box-shadow:0 10px 30px rgba(226,27,35"],
[style*="rgba(239,68,68"] {
  box-shadow: 0 10px 30px rgba(6,182,212,.25) !important;
}
/* Borders/colors verts du dashboard */
.spinner { border-color: #cffafe !important; border-top-color: #06B6D4 !important; }



/* --- PALETTE STOP INFLATIONS (mise à jour 26/04/2026 — BLEU NUIT CHIC) --- */
:root{
  --si-anthra: #0F172A;
  --si-anthra-soft: #1E293B;
  /* Anciennes accents conservées pour compat composants existants */
  --si-red: #0F172A;          /* bleu nuit (validé 26/04 - anciennement red) */
  --si-orange: #06B6D4;       /* cyan saturé (validé 26/04 - anciennement orange) */
  --si-yellow: #FCD34D;
  --si-green: #06B6D4;        /* override: le vert devient cyan saturé */
  --si-cyan: #06B6D4;
  --si-violet: #06B6D4;       /* override: violet devient cyan */
  --si-pink: #06B6D4;
  --si-border: #eef2f7;
  --si-bg: #f8fafc;
  --si-text: #0F172A;
  --si-muted: #64748b;
}

/* --- ACCENT GLOBAL : tous les textes orange/strong en accent passent en cyan saturé --- */
h1 strong:not([style]),
h2 strong:not([style]),
h3 strong:not([style]),
.d-sec-title strong,
.cmp-section-title strong,
.si-sec-title strong,
main em, main i:not([class]),
article em, article i:not([class]) {
  color: #06B6D4 !important;
}

/* --- ENRICHISSEMENT TITRES <strong> GLOBAL
     Tout h1/h2/h3 utilisant <strong> (sans style inline) reçoit
     l'accent orange signature. Pas de surcharge si inline-style. --- */
h1 strong:not([style]),
h2 strong:not([style]),
h3 strong:not([style]) {
  color: var(--si-orange);
  font-weight: 900;
}
/* Exception pour les hero sombres où strong a déjà un gradient text */
.cb-hero h1 strong,
.sdg-hero h1 strong,
.cf-hero h1 strong,
.mp-hero h1 strong,
.p-hero h1 strong,
.ph-hero h1 strong,
.pw-hero h1 strong,
.w3-hero h1 strong,
.cmp-hero h1 strong,
.lisa-hero-fused h1 strong,
.darty-hero h1 strong,
.m-hero h1 strong,
.m-hero strong {
  color: inherit; /* conserve le gradient défini dans le style hero */
}

/* Accent orange uniforme sur tous les titres de section (règle 16/04) */
.d-sec-title strong,
.cmp-section-title strong,
.si-sec-title strong {
  color: var(--si-orange);
}
/* Exception : dans les heros sombres qui ont leur propre gradient strong */
.cb-hero .d-sec-title strong,
.sdg-hero .d-sec-title strong,
.cf-hero .d-sec-title strong,
.m-hero .d-sec-title strong,
.mp-hero .d-sec-title strong {
  color: inherit;
}

/* --- TOUCHE COLORÉE : liens forts + emphase --- */
main a:not([class]):hover,
article a:not([class]):hover,
.si-page-content a:not([class]):hover {
  color: var(--si-orange);
  text-decoration: underline;
}

/* Citations et mises en valeur */
main em, main i:not([class]),
article em, article i:not([class]) {
  font-style: normal;
  color: var(--si-orange);
  font-weight: 700;
}

/* --- Bordures latérales dans les sections légales --- */
main section > h2:first-child,
article > h2:first-child {
  border-left: 4px solid var(--si-orange);
  padding-left: 14px;
}

/* --- ITEMS LISTES : puces orange --- */
main ul:not([class]) li::marker,
article ul:not([class]) li::marker {
  color: var(--si-orange);
}

/* --- HR : bordure dégradée --- */
main hr, article hr {
  border: none;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--si-orange) 50%, transparent 100%);
  margin: 32px 0;
}

/* --- CENTRAGE GLOBAL DU SITE (règle interne 16/04/2026) --- */
body {
  text-align: center;
}
/* Les containers principaux sont centrés dans leur viewport */
main,
article,
.si-page-content,
section,
header,
footer,
.m-hero,
.m-stats,
.m-sec,
.si-ds-sec,
.cb-hero, .cb-proof,
.sdg-hero, .sdg-proof,
.cf-hero, .cf-proof,
.mp-hero, .mp-proof,
.p-hero, .p-proof,
.ph-hero, .ph-proof,
.pw-hero, .pw-proof,
.w3-hero, .w3-proof,
.cmp-hero, .cmp-proof,
.lisa-hero-fused {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Texte interne : on laisse text-align local mais aligné à gauche par défaut pour la lisibilité des paragraphes longs */
main p, main li, main td, main th,
article p, article li, article td, article th,
.si-page-content p, .si-page-content li,
.m-sec p, .m-sec li,
.si-ds-sec p, .si-ds-sec li {
  text-align: left;
}
/* Titres de sections centrés */
.d-sec-title,
.si-ds-sec-title,
.m-sec-title,
.cf-hero-title, .cb-hero-title, .sdg-hero-title,
.mp-hero h1, .ph-hero h1, .pw-hero h1, .w3-hero h1, .cmp-hero h1, .p-hero h1,
main section > h2,
article > h2 {
  text-align: center;
}
/* FAQ <details> alignement centré */
main details summary { text-align: left; }
main details p { text-align: left; }
/* Reset bordure gauche décorative pour pas casser le centrage */
main section > h2:first-child,
article > h2:first-child {
  border-left: none;
  padding-left: 0;
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
}
main section > h2:first-child::after,
article > h2:first-child::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--si-orange);
  border-radius: 2px;
}
/* Headers/sections : containers centrés avec largeur max */
.si-page-header-inner,
.si-page-content,
.si-page-hero,
.si-page-footer {
  max-width: 1420px;
  margin: 0 auto;
}
/* Footer centré */
.d-footer, .si-page-footer {
  text-align: center;
}
.d-footer-inner {
  margin: 0 auto;
}

/* --- BOUTONS CTA : rouge → anthracite (règle: rouge=prix/promo uniquement) --- */
.si-prod-btn,
.d-offre-btn,
.ds-btn-cta {
  background:#0F172A !important;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(15,23,42,.25) !important;
}
.si-prod:hover .si-prod-btn,
.d-offre:hover .d-offre-btn,
.ds-btn-cta:hover {
  background:#1E293B !important;
}

/* --- AÉRATION SECTIONS UNIFORME --- */
.d-sec {
  margin-top: clamp(32px, 5vw, 56px) !important;
  margin-bottom: clamp(32px, 5vw, 56px) !important;
  background:#fff;
}
.d-sec:nth-of-type(even) { background:#FAFBFC; }

/* --- HEADER SECTION : titre + séparateur subtil --- */
.d-sec-h {
  padding-bottom: 16px !important;
  margin-bottom: 28px !important;
  border-bottom: 1px solid #eef2f7 !important;
}

/* --- PARTAGE TOP + BOTTOM (design unifié toutes pages) --- */
.si-share-strip {
  max-width: 1420px;
  margin: 20px auto 8px;
  padding: 14px 22px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #eef2f7;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  box-shadow: 0 2px 10px rgba(15,23,42,.04);
}
.si-share-strip .si-share-text {
  font-size: 13px;
  font-weight: 700;
  color: #475569;
  letter-spacing: .1px;
}
.si-share-strip .si-share {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.si-share-block {
  max-width: 1420px;
  margin: 48px auto 20px;
  padding: 40px 32px;
  background: var(--si-brand-gradient);
  border-radius: 22px;
  color: #fff;
  text-align: center;
  box-shadow: 0 20px 60px rgba(15,23,42,.22);
  position: relative;
  overflow: hidden;
}
.si-share-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at top, rgba(6,182,212,.18), transparent 60%);
  pointer-events: none;
}
.si-share-block-title {
  font-size: clamp(20px, 3vw, 26px);
  font-weight: 900;
  letter-spacing: -.5px;
  margin-bottom: 8px;
  position: relative;
}
.si-share-block-sub {
  font-size: 15px;
  opacity: .78;
  margin-bottom: 22px;
  position: relative;
}
.si-share-block .si-share {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  position: relative;
  display: inline-flex !important;
  margin: 0 auto !important;
}
.si-share-block .si-share-label { color: #e2e8f0 !important; }

@media (max-width: 600px) {
  .si-share-block {
    padding: 28px 18px;
    margin: 32px 12px 16px;
  }
  .si-share-block-sub { font-size: 13px; }
}

/* ═══════════════════════════════════════════════════════════════
   HEROS GAIES — Dégradés multicolores prononcés (règle interne 16/04/2026)
   Remplace les fonds sombres par des dégradés chauds/vifs
   ═══════════════════════════════════════════════════════════════ */
.cb-hero,
.cf-hero,
.sdg-hero,
.mp-hero,
.ph-hero,
.pw-hero,
.w3-hero,
.cmp-hero,
.w4-hero,
.w5-hero,
.p-hero,
.m-hero {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  box-shadow: 0 20px 50px rgba(6,182,212,.35) !important;
}
.cb-hero::before,
.cf-hero::before,
.sdg-hero::before,
.mp-hero::before,
.ph-hero::before,
.pw-hero::before,
.w3-hero::before,
.cmp-hero::before,
.w4-hero::before,
.w5-hero::before,
.p-hero::before,
.m-hero::before {
  background: radial-gradient(ellipse at top right, rgba(255,255,255,.25), transparent 55%),
              radial-gradient(ellipse at bottom left, rgba(255,255,255,.15), transparent 50%),
              radial-gradient(ellipse at center, rgba(124,58,237,.12), transparent 60%) !important;
}
/* Strong text dans heros = blanc éclatant avec ombre pour lisibilité */
.cb-hero h1 strong,
.cf-hero h1 strong,
.sdg-hero h1 strong,
.mp-hero h1 strong,
.ph-hero h1 strong,
.pw-hero h1 strong,
.w3-hero h1 strong,
.cmp-hero h1 strong,
.w4-hero h1 strong,
.w5-hero h1 strong,
.p-hero h1 strong,
.m-hero h1 strong,
.cb-hero-title strong,
.cf-hero-title strong,
.sdg-hero-title strong,
.m-hello strong {
  background: linear-gradient(135deg, #fff 0%, #FEF3C7 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.2);
}
/* Badges heros plus lisibles sur fond coloré */
.cb-hero-badge,
.cf-hero-badge,
.sdg-hero-badge,
.mp-hero-badge,
.ph-hero-badge,
.pw-hero-badge,
.w3-hero-badge,
.cmp-hero-badge,
.w4-hero-badge,
.w5-hero-badge,
.p-hero-badge {
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.9) !important;
  color: #0F172A !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}
/* Paragraphes heros : texte blanc opaque */
.cb-hero p, .cf-hero p, .sdg-hero p, .mp-hero p,
.ph-hero p, .pw-hero p, .w3-hero p, .cmp-hero p,
.w4-hero p, .w5-hero p, .p-hero p, .m-hero p {
  color: rgba(255,255,255,.95) !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.15);
}
/* Stats pills dans heros */
.cb-hero-stat, .sdg-hero-stat {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.32) !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
}
.cb-hero-stat strong, .sdg-hero-stat strong {
  color: #FEF3C7 !important;
}

/* ══ CENTRAGE hero cashback + autres pages ══ */
.cb-hero, .cf-hero, .sdg-hero, .mp-hero, .ph-hero, .pw-hero, .w3-hero, .cmp-hero, .w4-hero, .w5-hero, .p-hero {
  text-align: center !important;
}
.cb-hero > *, .cf-hero > *, .sdg-hero > *, .mp-hero > *,
.ph-hero > *, .pw-hero > *, .w3-hero > *, .cmp-hero > *,
.w4-hero > *, .w5-hero > *, .p-hero > * {
  margin-left: auto;
  margin-right: auto;
}

/* ══ Proof bands plus colorés ══ */
.cb-proof-card, .cf-proof-card, .sdg-proof-card,
.mp-proof-card, .ph-proof-card, .pw-proof-card,
.w3-proof-card, .cmp-proof-card, .w4-proof-card, .w5-proof-card {
  background: linear-gradient(180deg, #fff 0%, #ECFEFF 100%) !important;
  border: 1px solid #fde68a !important;
  box-shadow: 0 10px 28px rgba(6,182,212,.12) !important;
  transition: transform .2s, box-shadow .2s;
}
.cb-proof-card:hover, .cf-proof-card:hover, .sdg-proof-card:hover,
.mp-proof-card:hover, .ph-proof-card:hover, .pw-proof-card:hover,
.w3-proof-card:hover, .cmp-proof-card:hover, .w4-proof-card:hover, .w5-proof-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(6,182,212,.22) !important;
}
.cb-proof-card .val, .cf-proof-card .val, .sdg-proof-card .val,
.mp-proof-card .val, .ph-proof-card .val, .pw-proof-card .val,
.w3-proof-card .val, .cmp-proof-card .val, .w4-proof-card .val, .w5-proof-card .val {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ══ Section catégories : dégradés chauds en fond ══ */
.d-sec {
  background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%) !important;
}
.d-sec:nth-of-type(even) {
  background: linear-gradient(180deg, #ECFEFF 0%, #ffffff 100%) !important;
}
.d-sec:nth-of-type(3n) {
  background: linear-gradient(180deg, #f0f9ff 0%, #ECFEFF 100%) !important;
}

/* ══ Hero Darty conservé sauf override ci-dessus ══ */
/* Rien à faire, la règle générale le couvre */

/* ══ COMPARATEURS (cmp-*) couleurs unifiées ══ */
.cmp-filters {
  justify-content: center !important;
  max-width: 1200px;
  margin: 0 auto 28px !important;
  gap: 10px !important;
}
.cmp-filter {
  border-radius: 999px !important;
  border: 2px solid #fde68a !important;
  background: #fff !important;
  color: #0F172A !important;
  padding: 10px 22px !important;
  transition: all .2s;
}
.cmp-filter:hover {
  border-color: #06B6D4 !important;
  transform: translateY(-1px);
  background: #fff !important;
  color: #0F172A !important;
}
.cmp-filter.active {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  color: #fff !important;
  border-color: #06B6D4 !important;
  box-shadow: 0 8px 20px rgba(6,182,212,.35);
}
/* Badges catégories comparateurs */
.cmp-badge-partner,
.cmp-badge-best,
.cmp-badge-5g,
.cmp-badge-free,
.cmp-badge-prime,
.cmp-badge-intl {
  border-radius: 999px !important;
  padding: 4px 12px !important;
}
.cmp-badge-best,
.cmp-badge-free {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
}
.cmp-badge-partner,
.cmp-badge-prime {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
}
.cmp-badge-5g,
.cmp-badge-intl {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
}

/* Tableau comparatif centré + coloré (tous comparateurs) */
.cmp-table-wrap {
  max-width: 1200px;
  margin: 32px auto !important;
  border: 1px solid #fde68a !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 30px rgba(6,182,212,.12) !important;
}
.cmp-table thead th {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  color: #fff !important;
  padding: 14px 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.cmp-table tbody td {
  border-bottom: 1px solid #fef3c7 !important;
  padding: 13px 14px !important;
}
.cmp-table tbody tr:nth-child(even) td {
  background: #FAFBFC !important;
}
.cmp-table tbody tr:hover td {
  background: #F8FAFC !important;
}
.cmp-table tbody tr:nth-child(even):hover td {
  background: #fef3c7 !important;
}
.cmp-table .price-cell {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}
.cmp-table .check-yes {
  color: #22C55E !important;
  font-weight: 900 !important;
}

/* Offer cards comparateurs (forfaits, assurance, mutuelle, énergie) */
.offer-card {
  background: linear-gradient(180deg,#fff 0%,#F8FAFC 100%) !important;
  border: 1px solid #fde68a !important;
  border-radius: 16px !important;
  transition: all .25s !important;
}
.offer-card:hover {
  box-shadow: 0 16px 40px rgba(6,182,212,.2) !important;
  transform: translateY(-5px) !important;
  border-color: #06B6D4 !important;
}
.offer-card.featured {
  border: 2px solid #06B6D4 !important;
  background: linear-gradient(180deg,#fff 0%,#fef3c7 100%) !important;
  box-shadow: 0 12px 32px rgba(6,182,212,.18) !important;
}
.offer-featured-tag {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  font-weight: 900 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 14px rgba(6,182,212,.4);
}
.offer-price {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-weight: 900 !important;
}
/* Steps gradient chauds */
.step-card,
.cf-step {
  background: linear-gradient(180deg,#fff 0%,#F8FAFC 100%) !important;
  border: 1px solid #fde68a !important;
  border-radius: 18px !important;
  transition: all .25s !important;
}
.step-card:hover,
.cf-step:hover {
  box-shadow: 0 14px 32px rgba(6,182,212,.18) !important;
  transform: translateY(-4px) !important;
  border-color: #06B6D4 !important;
}
.step-number,
.step-num {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  box-shadow: 0 8px 18px rgba(6,182,212,.3);
}
.cf-step::before {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  box-shadow: 0 6px 14px rgba(6,182,212,.35);
}

/* --- CARDS PRODUITS (réutilisable toutes pages) --- */
.si-prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:640px){.si-prod-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.si-prod-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){.si-prod-grid{grid-template-columns:repeat(5,1fr)}}
.si-prod{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e6e6e6;border-radius:14px;padding:14px 14px 16px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;overflow:hidden}
.si-prod:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.10);border-color:#d0d0d0}
.si-prod-tag{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#0F172A 0%,#06B6D4 100%);color:#fff;font-size:11px;font-weight:900;padding:4px 10px;border-radius:4px;letter-spacing:.3px;z-index:2;box-shadow:0 2px 6px rgba(6,182,212,.3)}
.si-prod-img{width:100%;aspect-ratio:4/3;background:#fafafa;border-radius:10px;margin-bottom:12px;overflow:hidden;position:relative}
.si-prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;will-change:transform}
.si-prod:hover .si-prod-img img{transform:scale(1.08)}
.si-prod-img::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-100%);transition:transform .8s ease;pointer-events:none}
.si-prod:hover .si-prod-img::after{transform:translateX(100%)}
.si-prod-name{font-size:14px;font-weight:800;color:#1a1a2e;line-height:1.4;margin-bottom:10px;min-height:36px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.si-prod-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.si-prod-old{font-size:14px;color:#999;text-decoration:line-through;font-weight:600}
.si-prod-new{font-size:22px;font-weight:900;color:#0891b2;letter-spacing:-.3px}
.si-prod-cb{font-size:12px;font-weight:700;color:#059669;background:#ecfdf5;padding:5px 10px;border-radius:6px;display:inline-block;margin-bottom:10px;align-self:flex-start}
.si-prod-btn{margin-top:auto;display:flex;align-items:center;justify-content:center;background:#0F172A;color:#fff;font-size:14px;font-weight:800;padding:12px 16px;border-radius:10px;text-align:center;transition:background .15s}
.si-prod:hover .si-prod-btn{background:#1E293B}

/* --- RESPONSIVE CALIBRAGE MOBILE (feedback utilisateurs) --- */
@media (max-width: 768px) {
  /* Hero Lisa fusionné : textes + chips plus petits */
  .lisa-hero-fused h1,
  .lisa-hero-fused .lisa-hero-grid h1 {
    font-size: clamp(22px, 6.4vw, 32px) !important;
    line-height: 1.1 !important;
    margin-bottom: 10px !important;
  }
  .lisa-hero-fused p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
  }
  .lisa-hero-fused .lisa-hero-grid > div > div[style*="inline-flex"]:first-child {
    font-size: 10px !important;
    padding: 5px 12px !important;
    margin-bottom: 12px !important;
  }
  /* Chips capacités : plus serrés sur mobile */
  .lisa-hero-fused .lisa-hero-grid span[style*="border-radius:30px"] {
    font-size: 10.5px !important;
    padding: 5px 10px !important;
  }
  /* CTA hero adaptés */
  .lisa-hero-fused .lisa-hero-grid a[style*="linear-gradient"],
  .lisa-hero-fused .lisa-hero-grid button {
    font-size: 13px !important;
    padding: 12px 18px !important;
  }
  /* Exemples pour commencer : plus compact */
  .lisa-hero-fused .lisa-qbox {
    padding: 16px !important;
    margin-top: 8px;
  }
  .lisa-hero-fused .lisa-qbox ul li {
    font-size: 12px !important;
    line-height: 1.6 !important;
  }
  /* Titres sections */
  .d-sec-title,
  .si-ds-sec-title {
    font-size: clamp(18px, 5vw, 24px) !important;
    letter-spacing: -.2px;
  }
  /* Paragraphes descriptifs */
  .d-sec-sub,
  .si-ds-sec-sub,
  .si-page-hero p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  /* Cards produits mobile : 2 cols */
  .si-prod-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
  }
  .si-prod {
    padding: 10px 10px 12px !important;
  }
  .si-prod-name { font-size: 12.5px !important; min-height: 30px !important; }
  .si-prod-new { font-size: 17px !important; }
  .si-prod-btn { font-size: 12px !important; padding: 10px 12px !important; }
  .si-prod-tag { font-size: 9.5px !important; padding: 3px 7px !important; }
  .si-prod-cb { font-size: 10.5px !important; padding: 3px 7px !important; }
  /* Share bars mobile */
  .si-share-strip {
    padding: 10px 14px;
    margin: 14px 12px 6px;
    gap: 8px;
  }
  .si-share-strip .si-share-text { font-size: 11.5px; text-align: center; }
  .si-share-btn { width: 26px; height: 26px; font-size: 12px; }
  /* Hero cashback / sondages etc. */
  .cb-hero, .sdg-hero {
    padding: clamp(28px, 8vw, 44px) 18px !important;
    margin: 10px 10px !important;
  }
  .cb-hero-title, .sdg-hero-title {
    font-size: clamp(22px, 6.8vw, 32px) !important;
  }
  .cb-hero-sub, .sdg-hero-sub {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  .cb-hero-stat, .sdg-hero-stat {
    font-size: 11px !important;
    padding: 7px 12px !important;
  }
  /* Proof band mobile : 2 cols puis 1 */
  .cb-proof, .sdg-proof {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
    margin-top: -24px !important;
  }
  .cb-proof-card, .sdg-proof-card { padding: 14px 10px !important; }
  .cb-proof-card .val, .sdg-proof-card .val { font-size: 17px !important; }
  .cb-proof-card .lbl, .sdg-proof-card .lbl { font-size: 10.5px !important; }
  .cb-proof-card .icon, .sdg-proof-card .icon { font-size: 22px !important; }
}

@media (max-width: 480px) {
  .lisa-hero-fused h1,
  .lisa-hero-fused .lisa-hero-grid h1 {
    font-size: clamp(20px, 6.8vw, 28px) !important;
  }
  .lisa-hero-fused p {
    font-size: 12.5px !important;
  }
  .lisa-hero-fused .lisa-qbox ul li {
    font-size: 11.5px !important;
  }
  .si-prod-name { -webkit-line-clamp: 3; }
}

/* --- SECTION WRAP style accueil (réutilisable) --- */
.si-ds-sec{max-width:1420px;margin:clamp(32px,5vw,56px) auto;padding:36px 32px;background:#fff;border-radius:18px;box-shadow:0 10px 32px rgba(0,0,0,.08)}
.si-ds-sec:nth-of-type(even){background:#FAFBFC}
.si-ds-sec-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid #eef2f7;flex-wrap:wrap;gap:12px}
.si-ds-sec-title{font-size:clamp(22px,2.6vw,28px);font-weight:900;color:#1a1a2e;letter-spacing:-.3px;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}
.si-ds-sec-title strong{color:#0891b2}
.si-ds-sec-sub{font-size:13px;color:#64748b;margin-bottom:18px}
@media(max-width:768px){.si-ds-sec{padding:24px 18px;margin-left:12px;margin-right:12px}}

/* --- BASE SHARE COMPONENT (si pas déjà défini dans la page) --- */
.si-share {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 6px 10px;
  background: #f8fafc;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
}
.si-share-label {
  font-size: 11px;
  font-weight: 700;
  color: #666;
  margin-right: 4px;
}
.si-share-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  transition: all .2s;
  color: #fff;
  font-size: 13px;
  text-decoration: none;
  flex-shrink: 0;
  font-weight: 700;
}
.si-share-btn:hover {
  transform: translateY(-2px) scale(1.15);
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
}
.si-share-btn.fb { background: #1877F2; }
.si-share-btn.x { background: #000; }
.si-share-btn.wa { background: #25D366; }
.si-share-btn.tg { background: #229ED9; }
.si-share-btn.mail { background: #e31b23; }
.si-share-btn.copy { background: #64748b; }

.si-share-toast {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #1a1a2e;
  color: #fff;
  padding: 12px 24px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  z-index: 99998;
  box-shadow: 0 12px 30px rgba(0,0,0,.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s;
}
.si-share-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(-10px);
}

/* ═══════════════════════════════════════════════════════════════
   CALIBRAGE UNIFORME v2 — 19/04/2026
   Toutes les sections de la home à la même hauteur / même cadre
   Dégradés joyeux cohérents · pas de grand/petit parci parla
   ═══════════════════════════════════════════════════════════════ */

/* CADRE SECTION : même max-width, même padding partout */
.d-sec, section.d-sec {
  max-width: 1420px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 32px !important;
  margin-bottom: 32px !important;
  padding: 40px 32px !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 4px 20px rgba(15,23,42,.04) !important;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

/* Alternance douce 1 section sur 3 : dégradé très subtil */
.d-sec:nth-of-type(3n+1) { background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important; }
.d-sec:nth-of-type(3n+2) { background: linear-gradient(180deg, #ffffff 0%, #ECFEFF 100%) !important; }
.d-sec:nth-of-type(3n+3) { background: linear-gradient(180deg, #ffffff 0%, #ecfeff 100%) !important; }

/* HEADER SECTION uniforme */
.d-sec-h, .d-sec > .d-sec-h:first-child {
  margin-bottom: 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #eef2f7 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px;
  flex-wrap: wrap;
}
.d-sec-title {
  font-size: clamp(20px, 2.5vw, 26px) !important;
  font-weight: 900 !important;
  color: #0F172A !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  letter-spacing: -.3px;
}
.d-sec-sub {
  font-size: 13px !important;
  color: #64748b !important;
  margin: 4px 0 0 !important;
}

/* PRODUIT GRID : 1 SEULE RANGÉE visible, calibrée */
.d-sec .si-prod-grid, .si-prod-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 16px !important;
  flex: 1 0 auto;
}
@media(min-width:900px){
  .d-sec .si-prod-grid, .si-prod-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
  }
  /* Masque au delà de 5 produits pour garder 1 seule rangée */
  .d-sec .si-prod-grid > .si-prod:nth-child(n+6) { display: none !important; }
}
.si-prod { min-height: 400px !important; }

/* MOSAÏQUE : ramenée à la même hauteur qu'une section normale */
.d-mosaic {
  min-height: 520px !important;
  max-height: 560px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  overflow: hidden !important;
}
@media(min-width:840px){
  .d-mosaic { grid-template-columns: 1.1fr 1fr !important; }
}
.d-mosaic-hero {
  min-height: 520px !important;
  max-height: 560px !important;
}
.d-mosaic-grid {
  padding: 22px !important;
  max-height: 560px !important;
  overflow: hidden !important;
  align-content: start !important;
}
.d-mosaic-grid > a:nth-child(n+5) { display: none !important; }

/* TITRE DÉGRADÉ JOYEUX sur les strong */
.d-sec-title strong,
section h2 strong:not([style]),
section h3 strong:not([style]) {
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* BOUTONS "Voir tous →" en haut à droite : couleur uniforme */
.d-sec-h a {
  color: #0891b2 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* CTA BANDEAU ROUGE : même calibrage que les autres */
body > section[style*="background:#e21b23"],
body > section[style*="background: #e21b23"] {
  max-width: 1420px !important;
  margin: 32px auto !important;
  border-radius: 22px !important;
  padding: 48px 32px !important;
  min-height: 300px !important;
  background: var(--si-brand-gradient) !important;
  box-shadow: 0 20px 60px rgba(226,27,35,.25) !important;
}

/* DARTY-WRAP (hero + catégories + widgets + bons plans) : même cadre */
.darty-wrap > section,
.darty-wrap > div {
  max-width: 1420px;
  margin-left: auto;
  margin-right: auto;
}

/* RESPONSIVE : sur mobile sections pleine largeur */
@media(max-width:720px){
  .d-sec, section.d-sec {
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding: 28px 18px !important;
    min-height: auto !important;
    border-radius: 16px !important;
  }
  .d-mosaic, .d-mosaic-hero { min-height: 340px !important; max-height: none !important; }
}

/* ═══════════════════════════════════════════════════════════════
   CARDS PRODUITS — UN SEUL STYLE PARTOUT (19/04/2026)
   Forcé sur .si-prod, .bp-card, .deal-card, .enseigne et tous les a
   descendants d'une grille produit
   ═══════════════════════════════════════════════════════════════ */

/* Carte produit universelle */
.si-prod, .bp-card, .deal-card,
.d-sec > .si-prod-grid > a,
section[id*="deals"] a[href],
section[id*="mosaic"] .d-mosaic-grid > a {
  background: #fff !important;
  border: 1px solid #eef2f7 !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 10px rgba(15,23,42,.04) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.si-prod:hover, .bp-card:hover, .deal-card:hover,
.d-sec > .si-prod-grid > a:hover,
section[id*="deals"] a[href]:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 32px rgba(15,23,42,.10) !important;
  border-color: #cbd5e1 !important;
}

/* Prix : toujours rouge, même taille */
.si-prod-new, .si-prod .price, .bp-card [class*="price"],
span[style*="font-weight:900;color:#06B6D4"],
span[style*="font-weight:900;color:#6d28d9"],
span[style*="font-weight:900;color:#059669"],
div[style*="font-size:18px;font-weight:900"],
div[style*="font-size:20px;font-weight:900"],
div[style*="font-size:22px;font-weight:900"] {
  color: #e21b23 !important;
  font-weight: 900 !important;
}

/* Prix barré : gris uniforme */
.si-prod-old, span[style*="text-decoration:line-through"] {
  color: #94a3b8 !important;
  font-weight: 600 !important;
  text-decoration: line-through !important;
}

/* Badge cashback vert uniforme */
.si-prod-cb, span[style*="background:#ecfdf5"], div[style*="background:#ecfdf5"],
span[style*="Cashback"][style*="color:#059669"] {
  background: #ecfdf5 !important;
  color: #059669 !important;
  font-weight: 700 !important;
  padding: 5px 10px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  display: inline-block !important;
}

/* Badge -% rouge uniforme */
.si-prod-tag, .deal-badge,
span[style*="background:#e21b23"][style*="TEXT-TRANSFORM"],
span[style*="BON PLAN"], span[style*="PROMO"] {
  background: #e21b23 !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  letter-spacing: .3px !important;
}

/* Bouton "Voir l'offre" unique : rouge dégradé */
.si-prod-btn,
a[href][style*="background:#e21b23"]:not(.dh-cta),
div[style*="background:#06B6D4;color:#fff"],
div[style*="background:#6d28d9;color:#fff"],
div[style*="background:#059669;color:#fff"],
.bp-card div[style*="background:#0d2340;color:#fff"],
.d-mosaic-grid a[href] [style*="Voir"],
button[type="button"][style*="Voir"] {
  background: var(--si-brand-gradient) !important;
  color: #fff !important;
  font-weight: 800 !important;
  padding: 11px 18px !important;
  border-radius: 10px !important;
  text-align: center !important;
  box-shadow: 0 6px 18px rgba(226,27,35,.3) !important;
  border: none !important;
}

/* Card titre : anthracite uniforme */
.si-prod-name, .bp-card h3, .bp-card [style*="font-weight:900;color:#0d2340"],
.bp-card [style*="font-weight:900;color:#1a1a2e"] {
  color: #0F172A !important;
  font-weight: 800 !important;
}

/* Image card : même ratio partout */
.si-prod-img, .bp-card img:first-of-type, .deal-img {
  aspect-ratio: 4/3;
  object-fit: cover;
  background: #f8fafc;
}

/* HERO V3B verrouillé (seule exception gradient teal validée) */
.lisa-hero-v3b { border-radius: 22px !important; overflow: hidden !important; }

/* ═══════════════════════════════════════════════════════════════
   UNIFICATION FINALE — UN SEUL THEME PARTOUT (19/04/2026)
   Résout : banners carburant vert / forfaits violet / bons plans multicolores
   / tiles catégories photo / hero dégradés orange-vert-magenta
   ═══════════════════════════════════════════════════════════════ */

/* Tous les grands blocs "banner" coloré → même cadre + shadow */
section[class*="mosaic"] > div,
section[id*="deals"] > div > div,
.d-sec > div[style*="border-radius"],
.d-sec-banner {
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* Bandeau carburant : garde le vert (branding carburant verrouillé) mais force calibrage */
section[class*="carburant"] > div,
div[style*="linear-gradient"][style*="#078ADB"],
div[style*="linear-gradient"][style*="#0066CC"] {
  border-radius: 18px !important;
  box-shadow: 0 8px 30px rgba(7,138,219,.18) !important;
}

/* Banners multicolores "bons plans du moment" : badges uniformisés */
.bp-card [style*="background:#e21b23"],
.bp-card [style*="background:#06B6D4"],
.bp-card [style*="background:#6d28d9"],
.bp-card [style*="background:#059669"],
.bp-card span[style*="color:#fff"][style*="border-radius"] {
  font-weight: 800 !important;
  font-size: 11px !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
}

/* Tiles catégories photo HD : border-radius et overlay uniforme */
.cat-tile, a[class*="cat-"],
section[class*="categories"] a[href],
.d-mosaic-grid > a {
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(15,23,42,.06) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}
.cat-tile:hover, section[class*="categories"] a[href]:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 36px rgba(15,23,42,.14) !important;
}

/* Titres sections : même police/taille/couleur partout */
.d-sec h2, .d-sec-h h2,
section[id*="deals"] h2, section[id*="mosaic"] h2,
section h2[style*="font-weight"] {
  font-size: 28px !important;
  font-weight: 900 !important;
  color: #0F172A !important;
  letter-spacing: -.5px !important;
  margin: 0 0 24px 0 !important;
  line-height: 1.2 !important;
}

/* Liens "Voir tout →" : rouge uniforme partout */
.d-sec-h a, .d-sec a[href*="voir"], a[href][style*="color:#e21b23"][style*="Voir"],
a[style*="Tout voir"], a[style*="Voir tout"] {
  color: #e21b23 !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}

/* Tous les boutons CTA secondaires (pilules blanches "Activer/Trouver/Répondre") → même style */
a[href][style*="background:#fff"][style*="border-radius:999"],
a[href][style*="background:#ffffff"][style*="border-radius:999"],
button[style*="background:#fff"][style*="border-radius:999"] {
  background: #fff !important;
  color: #0F172A !important;
  border-radius: 999px !important;
  padding: 10px 20px !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 14px rgba(15,23,42,.08) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Badge "LIVE" verte uniforme */
span[class*="live"], span[style*="LIVE"][style*="#059669"],
span[style*="background:#ecfdf5"][style*="#059669"] {
  background: #ecfdf5 !important;
  color: #059669 !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  text-transform: uppercase !important;
  letter-spacing: .3px !important;
}

/* Espacement uniforme entre sections */
body > main > section,
body > main > div > section,
.darty-wrap > section,
.d-sec {
  margin-top: 28px !important;
  margin-bottom: 28px !important;
}

/* Tous les fonds gris clair → une seule teinte */
section[style*="background:#f0f2f5"],
section[style*="background:#f8fafc"],
section[style*="background:#f1f5f9"],
body > div[style*="background:#f0f2f5"] {
  background: #f5f7fb !important;
}

/* ═══════════════════════════════════════════════════════════════
   ██ SIGNATURE THEME V4 — 19/04/2026 ██
   Design unique Stop Inflations : éditorial + glass + animé
   Mix propre Amazon (UX search) + Darty (cards) + idealo (layout)
   + vibe Klarna/Joko (cagnotte gamifiée)
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* ═══════════════════════════════════════════════════════════════
     ★ BLEU NUIT CORPORATE HAUT DE GAMME — VALIDÉ 26/04/2026 ★
     Palette définitive Stop Inflations bicolore #0F172A → #06B6D4
     Validation interne : "tomber amoureux de cette formule très chic"
     ═══════════════════════════════════════════════════════════════ */
  --si-brand-start: #0F172A;
  --si-brand-end: #06B6D4;
  --si-brand-gradient: linear-gradient(135deg, #0F172A 0%, #06B6D4 100%);
  --si-brand-gradient-animated: linear-gradient(135deg, #0F172A 0%, #06B6D4 100%);
  --si-anthra: #0F172A;
  --si-anthra-soft: #1e293b;
  --si-green: #059669;
  --si-green-soft: #ecfdf5;
  --si-fuel-start: #078ADB;
  --si-fuel-end: #0066CC;
  --si-bg: #f5f7fb;
  --si-card-border: #eef2f7;
  --si-card-border-hover: #cbd5e1;
  --si-shadow-card: 0 2px 10px rgba(15,23,42,.04);
  --si-shadow-card-hover: 0 20px 48px rgba(15,23,42,.14);
  --si-shadow-brand: 0 10px 32px rgba(226,27,35,.28);
}

/* Dot-pattern background subtil sur le body */
body {
  background-color: var(--si-bg);
  background-image:
    radial-gradient(circle at 1px 1px, rgba(15,23,42,.035) 1px, transparent 0);
  background-size: 24px 24px;
  background-attachment: fixed;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(15,23,42,.04); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--si-brand-start), var(--si-brand-end));
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #0F172A, #0891B2); }

/* Sélection texte brand */
::selection { background: var(--si-brand-start); color: #fff; }

/* ─── Gradient animé brand (réutilisable : class .si-gradient-text) ─── */
@keyframes siGradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.si-gradient-text {
  background: var(--si-brand-gradient-animated);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: siGradientShift 6s ease infinite;
  font-weight: 900;
}

/* ─── Reveal au scroll (activé par JS) ─── */
.si-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.si-reveal.si-in { opacity: 1; transform: translateY(0); }

/* ─── Tilt 3D sur cards (activé par JS sur .si-tilt) ─── */
.si-tilt {
  transform-style: preserve-3d;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
  will-change: transform;
}

/* ─── Glass morphism pour sidebars filtres (idealo-style) ─── */
.si-glass {
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
  border: 1px solid rgba(255,255,255,.6) !important;
  box-shadow: 0 8px 32px rgba(15,23,42,.06);
}

/* ─── Hero éditorial XXL (headline .si-hero-title) ─── */
.si-hero-title {
  font-family: 'Plus Jakarta Sans', -apple-system, sans-serif;
  font-size: clamp(44px, 7vw, 96px);
  line-height: .98;
  letter-spacing: -.035em;
  font-weight: 900;
  color: var(--si-anthra);
  margin: 0 0 18px;
}
.si-hero-subtitle {
  font-size: clamp(16px, 1.4vw, 21px);
  line-height: 1.55;
  color: #475569;
  max-width: 640px;
  font-weight: 500;
}

/* ─── Badge LIVE premium (pulse + gradient) ─── */
.si-live-badge,
span[class*="live"][class*="LIVE"], span[style*="LIVE"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: linear-gradient(135deg, #dcfce7, #ecfdf5) !important;
  color: #047857 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
  border: 1px solid #bbf7d0 !important;
}
.si-live-badge::before,
span[class*="live"]::before {
  content: '';
  width: 6px; height: 6px;
  background: #10b981;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(16,185,129,.7);
  animation: siPulse 2s infinite;
}
@keyframes siPulse {
  0% { box-shadow: 0 0 0 0 rgba(16,185,129,.7); }
  70% { box-shadow: 0 0 0 8px rgba(16,185,129,0); }
  100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}

/* ─── Number ticker — animation changement de prix ─── */
@keyframes siPriceFlash {
  0% { transform: scale(1); color: var(--si-brand-start); }
  35% { transform: scale(1.14); color: var(--si-brand-end); text-shadow: 0 0 20px rgba(6,182,212,.55); }
  100% { transform: scale(1); color: var(--si-brand-start); }
}
.si-price-live.si-price-changed,
[data-live-price].si-price-changed {
  animation: siPriceFlash .9s ease;
}

/* ─── Photo hero banner (catégories) ─── */
.si-photo-hero {
  position: relative;
  min-height: 280px;
  border-radius: 22px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 36px 40px;
  color: #fff;
  background-size: cover;
  background-position: center;
  box-shadow: 0 12px 40px rgba(15,23,42,.18);
}
.si-photo-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(15,23,42,0) 30%, rgba(15,23,42,.88) 100%);
}
.si-photo-hero > * { position: relative; z-index: 1; }
.si-photo-hero h2 {
  font-size: clamp(28px, 3.2vw, 44px) !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
  color: #fff !important;
  margin: 0 !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.3);
}

/* ─── Cards produits signature (glass + hover spot) ─── */
.si-prod, .bp-card, .deal-card,
.d-mosaic-grid > a,
section[class*="deals"] a[href] {
  position: relative;
  overflow: hidden !important;
  isolation: isolate;
}
/* Spotlight hover effect (souris = point de lumière) */
.si-prod::after, .bp-card::after, .deal-card::after,
.d-mosaic-grid > a::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    400px circle at var(--mx, 50%) var(--my, 50%),
    rgba(226,27,35,.08),
    transparent 40%
  );
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
  z-index: 1;
}
.si-prod:hover::after, .bp-card:hover::after, .deal-card:hover::after,
.d-mosaic-grid > a:hover::after { opacity: 1; }

/* ─── Bouton CTA signature (shine) ─── */
.si-prod-btn, a[href][style*="linear-gradient(90deg,#0F172A,#06B6D4), transparent);
  transition: left .6s ease;
}
.si-prod:hover .si-prod-btn::before,
a:hover > div[style*="linear-gradient(135deg,#0F172A,#06B6D4) ─── */
body::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--si-brand-gradient-animated);
  background-size: 200% 200%;
  animation: siGradientShift 8s ease infinite;
  z-index: 9999;
  pointer-events: none;
}

/* ─── Titres de section signature ─── */
.d-sec h2, section h2.d-sec-title, section[id*="deals"] h2 {
  font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  color: var(--si-anthra) !important;
  line-height: 1.1 !important;
  margin: 0 0 8px !important;
}
/* Trait de couleur sous le titre */
.d-sec h2::after, section[id*="deals"] h2::after {
  content: '';
  display: block;
  width: 48px;
  height: 4px;
  margin-top: 12px;
  background: var(--si-brand-gradient);
  border-radius: 2px;
}

/* ─── Sidebar filtres (idealo-style) glass ─── */
aside.filters, .sidebar-filters, .idealo-filters {
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
  border: 1px solid rgba(255,255,255,.6) !important;
  border-radius: 18px !important;
  padding: 24px !important;
  position: sticky;
  top: 90px;
  box-shadow: 0 8px 32px rgba(15,23,42,.06);
}

/* ─── Anim micro-interactions sur tous les a,button ─── */
a, button {
  transition: transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s ease, opacity .18s ease !important;
}

/* ─── Focus accessible partout ─── */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--si-brand-start);
  outline-offset: 3px;
  border-radius: 6px;
}

/* ─── Responsive mobile : désactive tilt + pattern pour perf ─── */
@media (max-width: 720px) {
  body { background-image: none; }
  .si-tilt { transform: none !important; }
  .si-hero-title { font-size: clamp(32px, 10vw, 54px); }
  .si-photo-hero { min-height: 220px; padding: 24px; }
}

/* Préférence réduction motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   UNIFORMISATION GLOBALE v2 — 19 avril 2026
   Harmonise toutes les pages vers la palette rouge/anthracite/orange
   ═══════════════════════════════════════════════════════════════ */

/* Force Plus Jakarta Sans partout */
body, button, input, textarea, select {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
}

/* Remplace les anciens violets/bleus legacy par rouge marque */
a[style*="#7c3aed"], a[style*="#7B2FFF"], a[style*="rgb(124, 58, 237)"] {
  color: var(--si-red) !important;
}

/* Hero anciens legacy : force gradient anthracite→rouge */
.cmp-hero, .gs-hero, .cb-hero, .cf-hero, .sdg-hero, .mp-hero, .ph-hero, .pw-hero {
  background: var(--si-brand-gradient) !important;
  color: #fff !important;
}

/* Cards uniformes : bordures arrondies 14px, ombre légère, fond blanc */
.comparatif-card, .forfait-card, .assurance-card, .banque-card,
.offre-card, .marchand-card, .pp-card, .mag-card {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.comparatif-card:hover, .forfait-card:hover, .assurance-card:hover,
.banque-card:hover, .offre-card:hover, .marchand-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}

/* Boutons primary uniformes — multicolore 24/04/2026 */
.btn-primary, .cta-primary, button[type="submit"]:not(.no-override) {
  background: var(--si-brand-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

/* Titres h1 : couleur ink */
body h1:not(.si-hero h1):not(.cmp-hero h1):not(.gs-hero h1) {
  color: var(--si-anthra) !important;
  font-weight: 900 !important;
  letter-spacing: -.4px !important;
}

/* Prix en rouge marque */
.price, .prix, .price-main, .forfait-price, .comp-price {
  color: var(--si-red) !important;
  font-weight: 900 !important;
}

/* Footer unifié : force typo + couleurs */
footer.si-foot, .si-foot * {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
}

/* Supprime emojis parasites dans les titres legacy */
h1 > .emoji-decorator, h2 > .emoji-decorator { display: none !important; }

/* Largeur max cohérente sur contenus */
.si-page-content, .legal-content, .content-wrap {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 40px 20px !important;
}

/* Images rondes/avatars : cohérence */
.logo-marchand, .logo-partenaire, .avatar-rond {
  border-radius: 50% !important;
  object-fit: cover !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
}

/* ──────────────────────────────────────────────────────────────── */
/* CTA FESTIF UNIVERSEL — EN ACCORD AVEC LE HERO                    */
/* Dégradé rose→orange→jaune→vert identique au hero festif          */
/* Appliqué sur TOUS les CTA de TOUTES les pages, centrés sous card */
/* ──────────────────────────────────────────────────────────────── */

.p-cta,
span.p-cta,
a.p-cta,
.cta-affilie,
a.cta-affilie,
.offer-cta,
.offer-cta-outline,
.offer-cta-red,
.btn-deal,
a.btn-deal,
.svc-cta,
.svc-cta-outline,
.svc-cta-red,
.bank-cta,
.bank-cta-outline,
.bank-cta-red,
.prov-cta,
.prov-cta-out,
.prov-cta-red,
.shop-cta,
.so-partner-link,
.product-cta,
.btn-buy-here,
.cmp-cta,
.c-cta,
.mc-cta,
.mc-cta-primary,
.mc-cta-outline,
.cta-red,
.btn-voir-offre {
  display: block !important;
  width: 100% !important;
  margin: 14px auto 0 !important;
  padding: 13px 20px !important;
  text-align: center !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  letter-spacing: .2px !important;
  color: #fff !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  background-size: 180% 180% !important;
  background-position: 0% 50% !important;
  box-shadow: 0 10px 28px rgba(226,27,35,.28), 0 4px 10px rgba(31,184,99,.22) !important;
  transition: background-position .45s ease, transform .2s ease, box-shadow .2s ease !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.18) !important;
}

.p-cta:hover, a.p-cta:hover,
.cta-affilie:hover, a.cta-affilie:hover,
.offer-cta:hover, .offer-cta-outline:hover, .offer-cta-red:hover,
.btn-deal:hover, a.btn-deal:hover,
.svc-cta:hover, .svc-cta-outline:hover, .svc-cta-red:hover,
.bank-cta:hover, .bank-cta-outline:hover, .bank-cta-red:hover,
.prov-cta:hover, .prov-cta-out:hover, .prov-cta-red:hover,
.shop-cta:hover, .so-partner-link:hover, .product-cta:hover,
.btn-buy-here:hover, .cmp-cta:hover, .c-cta:hover,
.mc-cta:hover, .mc-cta-primary:hover, .mc-cta-outline:hover,
.cta-red:hover, .btn-voir-offre:hover {
  background-position: 100% 50% !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 36px rgba(255,122,0,.38), 0 6px 14px rgba(255,77,126,.30) !important;
  color: #fff !important;
}

/* Card wrappers : push CTA en bas */
.offer-card, .bank-card, .prov-card, .shop-card, .so-partner,
.product-card, .svc-card, .mc-card, .cmp-card {
  display: flex !important;
  flex-direction: column !important;
}
.offer-card > .offer-body,
.bank-card > .bank-body,
.prov-card > .prov-body,
.svc-card > .svc-body,
.so-partner {
  flex: 1 1 auto !important;
}

/* ═══════════════════════════════════════════════════════════════
   PALETTE PHOTO 2/3 — VERROUILLÉE 21/04/2026
   Dégradé rose→orange→jaune→vert sur tous les héros
   Cards Darty Pro style : badge -% rouge + badge +€ vert
   Top bar promesses, chips filtres, pill date de MAJ
   ═══════════════════════════════════════════════════════════════ */

:root{
  --si-hero-gradient: linear-gradient(90deg,#0F172A,#06B6D4);
  --si-cta-gradient: linear-gradient(90deg,#0F172A,#06B6D4);
  --si-cta-gradient-hover: linear-gradient(90deg,#0F172A,#06B6D4);
  --si-chip-active-gradient: linear-gradient(90deg,#0F172A,#06B6D4);
  --si-cashback-green: #16A34A;
  --si-cashback-green-bg: #DCFCE7;
  --si-discount-red: #DC2626;
}

/* --- Top bar promesses (bande blanche sous la nav) --- */
.si-topbar{
  background:#fff;
  border-bottom:1px solid #E5E7EB;
  padding:8px 16px;
  text-align:center;
  font-size:13px;
  color:#64748B;
  display:flex;
  gap:28px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
}
.si-topbar-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.si-topbar-item strong{color:#0F172A;font-weight:700}
.si-topbar-dot{color:#06B6D4;font-weight:900}
@media(max-width:760px){
  .si-topbar{gap:16px;font-size:12px}
  .si-topbar-dot{display:none}
}

/* --- Hero dégradé multi-couleur photo 2/3 --- */
.si-hero-v2{
  background: var(--si-hero-gradient);
  color:#fff;
  padding:56px 20px 48px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.si-hero-v2::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 30%, rgba(255,255,255,.14), transparent 60%);
  pointer-events:none;
}
.si-hero-v2 h1{
  font-size:clamp(30px,4.8vw,54px);
  font-weight:900;
  margin:0 0 12px;
  letter-spacing:-.5px;
  line-height:1.05;
  text-shadow:0 2px 16px rgba(0,0,0,.18);
  position:relative;
}
.si-hero-v2 p.si-hero-sub{
  font-size:clamp(14px,1.7vw,17px);
  opacity:.96;
  margin:0 auto 20px;
  max-width:720px;
  line-height:1.5;
  position:relative;
}
.si-hero-v2 .si-hero-stats-v2{
  display:flex;
  gap:40px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:18px;
  position:relative;
}
.si-hero-v2 .si-hero-stat-v2{text-align:center}
.si-hero-v2 .si-hero-stat-v2 strong{
  display:block;
  font-size:clamp(26px,3.4vw,40px);
  font-weight:900;
  color:#FDE68A;
  line-height:1;
  margin-bottom:6px;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.si-hero-v2 .si-hero-stat-v2 span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
  opacity:.95;
  font-weight:700;
}

/* --- Pill date mise à jour --- */
.si-update-pill{
  display:inline-block;
  background:#ECFEFF;
  color:#155E75;
  font-size:12px;
  font-weight:600;
  padding:6px 14px;
  border-radius:100px;
  margin:20px auto 18px;
  border:1px solid #A5F3FC;
}

/* --- Chips filtres ronds photo 2 --- */
.si-chips{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  padding:18px 16px 24px;
  max-width:1200px;
  margin:0 auto;
}
.si-chip{
  padding:10px 22px;
  border-radius:100px;
  border:1.5px solid #E5E7EB;
  background:#fff;
  color:#475569;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  transition:all .18s ease;
  font-family:inherit;
}
.si-chip:hover{border-color:#06B6D4;color:#06B6D4;transform:translateY(-1px)}
.si-chip.active{
  background: var(--si-chip-active-gradient);
  border-color:transparent;
  color:#fff;
  box-shadow:0 4px 12px rgba(6,182,212,.35);
}

/* --- Card produit photo 2 : badges doubles --- */
.si-card-v2{
  background:#fff;
  border:1px solid #F1F5F9;
  border-radius:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  position:relative;
}
.si-card-v2:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(15,23,42,.08);
  border-color:#A5F3FC;
}
.si-card-badges{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  display:flex;
  justify-content:space-between;
  pointer-events:none;
  z-index:2;
}
.si-badge-discount{
  background: var(--si-discount-red);
  color:#fff;
  padding:5px 11px;
  border-radius:8px;
  font-size:12px;
  font-weight:800;
  box-shadow:0 3px 10px rgba(220,38,38,.28);
}
.si-badge-cashback{
  background: var(--si-cashback-green);
  color:#fff;
  padding:5px 11px;
  border-radius:8px;
  font-size:12px;
  font-weight:800;
  box-shadow:0 3px 10px rgba(22,163,74,.28);
}
.si-card-img{
  background:#fff;
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  overflow:hidden;
}
.si-card-img img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.si-card-body{
  padding:14px 16px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
}
.si-card-partner{
  color:#DC2626;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.si-card-title{
  font-size:14px;
  font-weight:700;
  color:#0F172A;
  line-height:1.35;
  min-height:38px;
  margin:2px 0 6px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.si-card-prices{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:8px;
}
.si-card-price-old{
  color:#94A3B8;
  text-decoration:line-through;
  font-size:13px;
  font-weight:600;
}
.si-card-price{
  color:#E11D48;
  font-size:22px;
  font-weight:900;
  letter-spacing:-.3px;
}
.si-card-cashback-pill{
  background: var(--si-cashback-green-bg);
  color:#15803D;
  text-align:center;
  padding:7px 10px;
  border-radius:10px;
  font-size:12px;
  font-weight:700;
  margin-bottom:10px;
}
.si-card-cta{
  display:block;
  width:100%;
  text-align:center;
  padding:11px 14px;
  border-radius:10px;
  background: var(--si-cta-gradient);
  color:#fff !important;
  font-weight:800;
  font-size:14px;
  text-decoration:none;
  letter-spacing:.2px;
  box-shadow:0 6px 14px rgba(6,182,212,.3);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  margin-top:auto;
  border:0;
  cursor:pointer;
  font-family:inherit;
}
.si-card-cta:hover{
  background: var(--si-cta-gradient-hover);
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(225,29,72,.36);
}

/* --- Titre de section avec badge BON PLAN --- */
.si-section-title-v2{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:20px;
  font-weight:900;
  color:#0F172A;
  margin:24px 0 14px;
  padding:0 4px;
}
.si-section-title-v2 .si-badge-bonplan{
  background:#DC2626;
  color:#fff;
  padding:3px 10px;
  border-radius:6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.si-section-title-v2 .si-badge-partenaire{
  background: var(--si-cta-gradient);
  color:#fff;
  padding:3px 10px;
  border-radius:6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.3px;
  text-transform:uppercase;
}

/* --- Grid produits responsive --- */
.si-grid-products{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:16px;
  padding:0 4px;
}

/* --- Cards forfaits mobile photo 3 --- */
.si-offer-card{
  background:#fff;
  border:2px solid #F1F5F9;
  border-radius:18px;
  padding:22px 18px;
  text-align:center;
  position:relative;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.si-offer-card.featured{
  border-color:#06B6D4;
  box-shadow:0 12px 28px rgba(6,182,212,.18);
}
.si-offer-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,23,42,.06)}
.si-offer-badge-top{
  position:absolute;
  top:12px;
  right:12px;
  padding:4px 10px;
  border-radius:100px;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.si-offer-badge-best{background: var(--si-cta-gradient);color:#fff}
.si-offer-badge-5g{background:linear-gradient(135deg,#0F172A,#06B6D4);color:#fff}
.si-offer-logo{
  width:56px;
  height:56px;
  border-radius:50%;
  background:#F8FAFC;
  margin:0 auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #E2E8F0;
}
.si-offer-logo img{max-width:38px;max-height:38px;object-fit:contain}
.si-offer-brand{font-size:18px;font-weight:900;color:#0F172A;margin-bottom:2px}
.si-offer-network{font-size:11px;color:#64748B;margin-bottom:14px}
.si-offer-data{
  font-size:38px;
  font-weight:900;
  color:#0F172A;
  line-height:1;
  margin-bottom:4px;
}
.si-offer-data-label{
  font-size:10px;
  font-weight:700;
  color:#94A3B8;
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:14px;
}
.si-offer-price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:4px;
  margin-bottom:10px;
}
.si-offer-price strong{font-size:26px;color:#E11D48;font-weight:900}
.si-offer-price span{font-size:13px;color:#64748B;font-weight:600}
.si-offer-feature{font-size:12px;color:#475569;margin-bottom:14px}

/* ═══════════════════════════════════════════════════════════════
   ██ MULTICOLORE UNIFIÉ 24/04/2026 ██
   Catch-all : tout fond rouge solide devient gradient multicolore
   signature (red → orange → pink → yellow) pour unité totale.
   ═══════════════════════════════════════════════════════════════ */
[style*="background:#e21b23"]:not(.si-prod-tag):not(.deal-badge):not(span),
[style*="background: #e21b23"]:not(.si-prod-tag):not(.deal-badge):not(span),
[style*="background-color:#e21b23"],
[style*="background-color: #e21b23"],
[style*="background:#dc2626"],
[style*="background:#0F172A"],
[style*="background:#e31b23"]{
  background: var(--si-brand-gradient) !important;
}

/* Catch-all : inline-style 2-couleurs rouge→orange => multicolore */
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(90deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(90deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"],
[style*="linear-gradient(135deg,#0F172A,#06B6D4)"]{
  background: var(--si-brand-gradient) !important;
}

/* Boutons pleine-largeur / CTA rouges → multicolore */
.btn-primary, .si-btn-primary, .cta-primary,
button.primary, a.btn-rouge, a.cta-rouge{
  background: var(--si-brand-gradient) !important;
  color:#fff !important;
  border:none !important;
  box-shadow: 0 6px 18px rgba(226,27,35,.28) !important;
}

/* Hover : légère inversion du dégradé */
.btn-primary:hover, .si-btn-primary:hover, .cta-primary:hover,
button.primary:hover, a.btn-rouge:hover, a.cta-rouge:hover{
  background: linear-gradient(135deg,#0F172A,#06B6D4) !important;
  transform: translateY(-1px);
}


/* ═══════════════════════════════════════════════════════════════
   ★ ACCESSIBILITÉ — TEXTES BIEN LISIBLES · 26/04/2026 v2 ★
   Validé interne : "écran 34 pouces, des fois j'ai dur à lire"
   Boost agressif : +20 à +30 % sur le corps de texte
   ═══════════════════════════════════════════════════════════════ */

/* Base body : grand confort de lecture pour grands écrans */
html { font-size: 18px; }
body {
  font-size: 18px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  letter-spacing: -0.005em;
}

/* Paragraphes & listes : 18px confortable + line-height aéré */
p, li, dd, dt, blockquote {
  font-size: 18px !important;
  line-height: 1.65 !important;
}
.lead, p.lead {
  font-size: 20px !important;
  line-height: 1.55 !important;
  font-weight: 600;
}

/* Liens & boutons : 16-17px pour éviter le clic difficile */
a, button, .btn, [role="button"] {
  font-size: 16px;
}
button, .btn-primary, .si-btn-primary, .cta-primary, a.btn, a.cta {
  font-size: 17px !important;
  font-weight: 800;
  padding: 14px 26px !important;
}

/* Inputs / textarea / select : 17px (anti-zoom iOS + confort grands écrans) */
input, textarea, select {
  font-size: 17px !important;
  padding: 12px 16px !important;
}
label { font-size: 16px !important; font-weight: 700; margin-bottom: 6px; }

/* Petits textes (légendes, méta, footer) — toujours lisibles */
small, .meta, .when, .small, .footer-meta, .copy, .tx-when {
  font-size: 14px !important;
}

/* Tableaux et grilles */
td, th { font-size: 16px !important; padding: 12px !important; }

/* Headings : grands et confortables pour grands écrans */
h1 { font-size: clamp(34px, 4.5vw, 56px) !important; line-height: 1.1; letter-spacing: -0.03em; }
h2 { font-size: clamp(26px, 3.2vw, 38px) !important; line-height: 1.2; letter-spacing: -0.025em; }
h3 { font-size: clamp(20px, 2.4vw, 26px) !important; line-height: 1.3; letter-spacing: -0.02em; }
h4 { font-size: clamp(17px, 1.8vw, 19px) !important; line-height: 1.35; }
h5 { font-size: 16px !important; }
h6 { font-size: 15px !important; }

/* Cartes produits, badges, pills : confortables */
.card, .product, .deal-card, .feed-card, .merchant-card {
  font-size: 16.5px;
}
.badge, .pill, .tag {
  font-size: 13px !important;
  padding: 4px 10px !important;
}
.product-name, .prod-name, .si-prod-name { font-size: 16px !important; }
.product-price, .si-prod-new { font-size: 24px !important; font-weight: 900; }

/* Sidebar de navigation : 16px lisible (avant 14.5px) */
.sidebar-left .sb-link-row,
.sidebar-left .sb-link,
.mbr-nav a,
.tb-nav a,
nav a {
  font-size: 16px !important;
  padding: 10px 14px !important;
}
.sidebar-left .sb-section h4,
.sidebar h4 {
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: 0.04em;
}

/* Section heroes / cagnotte mini */
.cagn-mini .amount, .db-hero-balance { font-size: 36px !important; }
.cagn-mini .label, .db-hero-left-label { font-size: 13px !important; }

/* Auth modal : plus grand */
.si-auth-form input, .si-auth-form select { font-size: 17px !important; padding: 13px 16px !important; }
.si-auth-form label { font-size: 15px !important; font-weight: 700; }
.si-btn-primary, .si-auth-submit { font-size: 17px !important; padding: 16px !important; }

/* Footer */
footer p, footer a, footer li { font-size: 15px !important; line-height: 1.55 !important; }
footer h4, footer h5 { font-size: 15px !important; }

/* Responsive : sur mobile on adapte sans descendre trop bas */
@media (max-width: 720px) {
  html { font-size: 17px; }
  body { font-size: 16px; }
  p, li, dd { font-size: 16px !important; line-height: 1.6 !important; }
  .lead, p.lead { font-size: 17px !important; }
  h1 { font-size: clamp(28px, 7vw, 36px) !important; }
  h2 { font-size: clamp(22px, 5.5vw, 28px) !important; }
  h3 { font-size: clamp(18px, 4vw, 22px) !important; }
  button, .btn-primary { font-size: 16px !important; padding: 12px 22px !important; }
  .sidebar-left .sb-link-row, nav a { font-size: 15px !important; }
}

/* Tablette grand */
@media (min-width: 1400px) {
  html { font-size: 19px; }
  body { font-size: 18.5px; }
  p, li { font-size: 18.5px !important; }
  h1 { font-size: clamp(40px, 4.5vw, 60px) !important; }
}
