@charset "UTF-8";
/*!
 * Client Vault Site — thème FSE
 * VERSION: 1.1.10
 * CSS landing page + bascule clair/sombre (data-theme)
 *
 * Source des tokens : Client Vault.html (dark par défaut) + Client Vault Light.html (light override).
 * Tout est scopé sous html[data-theme="light"] pour permettre la bascule JS sans rechargement.
 */
:root{--cvs-theme-version:"1.1.20"}

  .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  /* ──────────────────────────────────────────────────────────
     TOKENS
  ────────────────────────────────────────────────────────── */
  :root{
    /* palette mère */
    --ink-0:#0A0F1C;      /* noir profond */
    --ink-1:#10162A;
    --ink-2:#1A1A3E;      /* bleu nuit */
    --ink-3:#242454;
    --ink-4:#2E2E66;
    --line:rgba(255,255,255,.08);
    --line-2:rgba(255,255,255,.14);
    --violet:#7C3AED;     /* violet royal */
    --violet-2:#9F67FF;
    --violet-glow:rgba(124,58,237,.35);
    --cyan:#6DD5ED;
    --cyan-2:#A8E6F5;
    /* premium gold — champagne warm */
    --gold:#C9A24B;
    --gold-2:#E8C97C;
    --gold-soft:rgba(201,162,75,.14);
    --gold-line:rgba(201,162,75,.32);
    --gold-glow:rgba(232,201,124,.3);
    --gold-grad:linear-gradient(135deg,#E8C97C 0%,#C9A24B 45%,#8E6B2B 100%);
    --white:#FFFFFF;
    --ivory:#F6F6F2;
    --mist:#EDEDF2;
    --slate-100:#E5E7EB;
    --slate-400:#9CA3AF;
    --slate-500:#6B7280;
    --slate-700:#374151;

    /* sémantique */
    --bg:var(--ink-0);
    --bg-raised:#0D1324;
    --bg-soft:#121a33;
    --fg:var(--white);
    --fg-mute:rgba(255,255,255,.64);
    --fg-dim:rgba(255,255,255,.42);
    --accent:var(--violet);
    --accent-2:var(--cyan);

    /* metrics */
    --r-pill:50px;
    --r-card:12px;
    --r-container:16px;
    --r-chip:999px;
    --shadow-card: 0 1px 0 0 rgba(255,255,255,.04) inset,
                   0 30px 60px -20px rgba(0,0,0,.5),
                   0 8px 20px -8px rgba(0,0,0,.4);
    --shadow-lift: 0 1px 0 0 rgba(255,255,255,.08) inset,
                   0 40px 80px -20px rgba(0,0,0,.6),
                   0 20px 40px -15px rgba(124,58,237,.25);
    --shadow-soft: 0 20px 40px -20px rgba(10,15,28,.25),
                   0 6px 16px -8px rgba(10,15,28,.15);

    /* timing */
    --ease-out: cubic-bezier(.16,1,.3,1);
    --ease-spring: cubic-bezier(.34,1.56,.64,1);

    /* layout */
    --container: 1200px;
    --gutter: clamp(20px, 4vw, 32px);

    /* prose (lecture longue : articles de blog, 404, mentions légales).
       ~65–75 caractères par ligne pour le confort visuel. Surchargable
       pour les pages de type « app/dashboard » qui utilisent --container. */
    --prose: 760px;
  }

  /* ──────────────────────────────────────────────────────────
     RESET
  ────────────────────────────────────────────────────────── */
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{
    margin:0;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;
    background:var(--bg);
    color:var(--fg);
    font-size:16px;line-height:1.55;
    font-feature-settings:"ss01","cv11";
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
    position:relative;
  }
  /* premium grain overlay */
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:200;
    opacity:.035;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.86  0 0 0 0 0.6  0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  }
  /* gold utility */
  .gold{color:var(--gold-2)}
  .grad-gold{
    background:linear-gradient(95deg,var(--gold-2) 0%,#fff 45%,var(--gold) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hairline-gold{height:1px;background:linear-gradient(90deg,transparent,var(--gold-line) 30%,var(--gold-line) 70%,transparent);margin-block:14px}
  img,svg{display:block;max-width:100%}
  button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
  a{color:inherit;text-decoration:none}
  h1,h2,h3,h4{
    font-family:'Cabinet Grotesk','Inter',sans-serif;
    font-weight:700;letter-spacing:-.02em;line-height:1.05;
    margin:0;
    text-wrap:balance;
  }
  p{margin:0;text-wrap:pretty}
  ::selection{background:var(--violet);color:#fff}

  /* focus a11y */
  :focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}

  /* ──────────────────────────────────────────────────────────
     LAYOUT PRIMITIVES
  ────────────────────────────────────────────────────────── */
  .wrap{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
  .section{padding-block:clamp(60px,10vw,100px);position:relative}

  /* ─── LIGHT SECTIONS (ivory, warm) ─────────────────────── */
  .section-light{
    --bg:#F6F2EA;
    --bg-raised:#FFFFFF;
    --bg-soft:#EFEADF;
    --fg:#171A2B;
    --fg-mute:rgba(23,26,43,.70);
    --fg-dim:rgba(23,26,43,.52);
    --line:rgba(23,26,43,.10);
    --line-2:rgba(23,26,43,.16);
    --shadow-card: 0 1px 0 0 rgba(255,255,255,.9) inset,
                   0 30px 50px -22px rgba(40,30,10,.18),
                   0 6px 16px -8px rgba(40,30,10,.12);
    --shadow-lift: 0 1px 0 0 rgba(255,255,255,.9) inset,
                   0 40px 80px -24px rgba(40,30,10,.22),
                   0 14px 30px -12px rgba(201,162,75,.18);
    background:linear-gradient(180deg,#F6F2EA 0%,#F1ECDF 100%);
    color:var(--fg);
  }
  .section-light::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(1200px 400px at 50% -10%, rgba(232,201,124,.18), transparent 60%),
      radial-gradient(900px 300px at 90% 100%, rgba(124,58,237,.06), transparent 70%);
  }
  .section-light > *{position:relative}
  .section-light .eyebrow{
    color:#8E6B2B;
    background:rgba(201,162,75,.12);
    border-color:rgba(201,162,75,.32);
  }
  .section-light .section-title{color:#0F1426}
  .section-light .section-title .grad{
    background:linear-gradient(135deg,#7C3AED 0%,#4F2BC9 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .section-light .section-lede{color:rgba(23,26,43,.72)}
  .section-light .strike{color:rgba(23,26,43,.38);text-decoration-color:rgba(124,58,237,.5)}

  /* Light-mode card surfaces */
  .section-light .aud,
  .section-light .feat,
  .section-light .price-card,
  .section-light .sol-card{
    background:#FFFFFF;
    border-color:rgba(23,26,43,.08);
    color:var(--fg);
  }
  .section-light .aud h3,
  .section-light .aud h4,
  .section-light .feat h3,
  .section-light .price-card h3,
  .section-light .sol-card h3,
  .section-light .aud-name{color:#0F1426}
  .section-light .aud p,
  .section-light .feat p,
  .section-light .price-card p,
  .section-light .sol-card p,
  .section-light .aud-tag,
  .section-light .aud-pain,
  .section-light .aud-promise{color:rgba(23,26,43,.68)}
  .section-light .aud-sep{background:rgba(23,26,43,.08)}
  .section-light .feat-tag{background:rgba(124,58,237,.08);color:#7C3AED;border-color:rgba(124,58,237,.2)}
  .section-light .aud-ic,
  .section-light .feat-ic{
    background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(109,213,237,.06));
    color:#4F2BC9;border-color:rgba(124,58,237,.18);
  }
  .section-light .ac{
    background:rgba(23,26,43,.04);
    border-color:rgba(23,26,43,.1);
    color:rgba(23,26,43,.7);
  }
  .section-light .af-btn{
    background:#FFFFFF;
    border-color:rgba(23,26,43,.12);
    color:rgba(23,26,43,.7);
  }
  .section-light .af-btn.is-on{
    background:#0F1426;border-color:#0F1426;color:#fff;
  }
  .section-light .price-card.is-pro{
    background:linear-gradient(180deg,#FFFBF2 0%,#FFFFFF 100%);
    border-color:rgba(201,162,75,.5);
  }

  /* Light-mode: solution layers */
  .section-light .layer{background:#FFFFFF;border-color:rgba(23,26,43,.08)}
  .section-light .layer-desc,
  .section-light .layer-feats li{color:rgba(23,26,43,.68)}
  .section-light .layer h3{color:#0F1426}
  .section-light .layer-tag{background:rgba(23,26,43,.05);color:rgba(23,26,43,.7);border-color:rgba(23,26,43,.1)}
  .section-light .layer-tag-pro{background:rgba(124,58,237,.1);color:#7C3AED;border-color:rgba(124,58,237,.28)}
  .section-light .chip{background:rgba(23,26,43,.05);color:rgba(23,26,43,.7);border-color:rgba(23,26,43,.1)}
  .section-light .chip-pro{background:rgba(124,58,237,.12);color:#4F2BC9;border-color:rgba(124,58,237,.35)}
  .section-light .layer-feats li svg{color:#7C3AED}
  .section-light .layer-pro{
    background:linear-gradient(180deg,#FFFBF2 0%,#FFFFFF 100%);
    border-color:rgba(201,162,75,.5);
  }
  .section-light .layer-pro::before{
    background:radial-gradient(closest-side,rgba(232,201,124,.3),transparent 70%);
  }
  .section-light .layer-plus{
    background:linear-gradient(135deg,#7C3AED,#C9A24B);
    box-shadow:0 0 30px rgba(201,162,75,.35), 0 0 0 1px rgba(0,0,0,.05) inset;
  }

  /* Light-mode: pricing specifics */
  .section-light .price-toggle{
    background:rgba(23,26,43,.04);border-color:rgba(23,26,43,.12);
  }
  .section-light .pt-btn{color:rgba(23,26,43,.6)}
  .section-light .pt-btn.is-on{background:#0F1426;color:#fff}
  .section-light .price{background:#FFFFFF;border-color:rgba(23,26,43,.08)}
  .section-light .price header h3,
  .section-light .price-num{color:#0F1426}
  .section-light .price header p,
  .section-light .price-feats li,
  .section-light .price-curr,
  .section-light .price-period,
  .section-light .price-foot{color:rgba(23,26,43,.68)}
  .section-light .price-amount{border-color:rgba(23,26,43,.1)}
  .section-light .price-feats li svg{color:#7C3AED}
  .section-light .price-tag{color:rgba(23,26,43,.55)}
  .section-light .price-pro{
    background:linear-gradient(180deg,#FFFBF2 0%,#FFFFFF 100%);
    border-color:rgba(201,162,75,.55);
  }
  .section-light .price-pro .price-tag-pro{color:#8E6B2B}
  .section-light .price-foot a{color:#7C3AED;border-bottom-color:rgba(124,58,237,.3)}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-family:'JetBrains Mono',monospace;
    font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--cyan);
    padding:6px 12px;border-radius:var(--r-chip);
    background:rgba(109,213,237,.08);
    border:1px solid rgba(109,213,237,.2);
  }
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
  .section-title{font-size:clamp(30px,4.4vw,52px);letter-spacing:-.025em}
  .section-lede{color:var(--fg-mute);font-size:clamp(15px,1.4vw,18px);max-width:62ch;margin-top:18px}

  /* buttons */
  .btn{
    --h:48px;
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    height:var(--h);padding:0 22px;border-radius:var(--r-pill);
    font-weight:600;font-size:15px;letter-spacing:-.01em;
    transition:transform .25s var(--ease-spring), box-shadow .25s var(--ease-out), background .25s, border-color .25s;
    position:relative;white-space:nowrap;
  }
  .btn svg{width:16px;height:16px}
  .btn-primary{
    background:linear-gradient(180deg,#8a46f5 0%,#6d2ce4 100%);
    color:#fff;
    box-shadow: 0 1px 0 0 rgba(255,255,255,.25) inset,
                0 4px 10px -2px rgba(0,0,0,.3);
  }
  .btn-primary:hover{transform:translateY(-1px);box-shadow: 0 1px 0 0 rgba(255,255,255,.3) inset, 0 6px 14px -2px rgba(0,0,0,.35)}
  .btn-ghost{
    background:rgba(255,255,255,.04);
    color:#fff;border:1px solid var(--line-2);
    backdrop-filter:blur(20px);
  }
  .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24)}
  .btn-dark{background:var(--ink-0);color:#fff}
  .btn-dark:hover{background:#141a2e}
  .btn-lg{--h:56px;padding:0 28px;font-size:16px}

  .chip{
    display:inline-flex;align-items:center;gap:6px;
    font-family:'JetBrains Mono',monospace;font-size:11px;
    letter-spacing:.1em;text-transform:uppercase;
    padding:4px 10px;border-radius:var(--r-chip);
    border:1px solid var(--line-2);color:var(--fg-mute);
    background:rgba(255,255,255,.03);
  }

  /* ──────────────────────────────────────────────────────────
     TOPBAR
  ────────────────────────────────────────────────────────── */
  .topbar{
    height:36px;background:linear-gradient(90deg,#0a0f1c 0%, #1a1a3e 50%, #0a0f1c 100%);
    border-bottom:1px solid var(--line);
    font-size:12.5px;color:var(--fg-mute);
    display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;
    font-family:'JetBrains Mono',monospace;letter-spacing:.04em;
  }
  .topbar::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(90deg, transparent 0%, rgba(232,201,124,.2) 50%, transparent 100%);
    transform:translateX(-100%);
    animation:shimmer 6s linear infinite;
  }
  .topbar-inner strong.gold-acc{color:var(--gold-2);font-family:'JetBrains Mono',monospace;letter-spacing:.06em}
  @keyframes shimmer{to{transform:translateX(100%)}}
  .topbar-inner{display:flex;align-items:center;gap:16px;position:relative;z-index:1;flex-wrap:wrap;justify-content:center;padding:0 16px}
  .topbar-inner .sep{opacity:.3}
  .topbar-inner strong{color:#fff;font-weight:600}
  .topbar .pulse{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;animation:pulseDot 2s infinite}
  @keyframes pulseDot{50%{opacity:.4;transform:scale(.8)}}

  /* ──────────────────────────────────────────────────────────
     NAV
  ────────────────────────────────────────────────────────── */
  .nav{
    position:sticky;top:0;z-index:60;
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    background:rgba(10,15,28,.72);
    border-bottom:1px solid transparent;
    transition:border-color .3s, background .3s;
  }
  .nav.scrolled{border-bottom-color:var(--line);background:rgba(10,15,28,.85)}
  .nav-inner{
    max-width:var(--container);margin-inline:auto;
    padding:14px var(--gutter);
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em;font-size:17px}
  .logo-mark{
    width:28px;height:28px;border-radius:8px;position:relative;
    background:linear-gradient(135deg,var(--violet) 0%,#4f1fb6 100%);
    display:grid;place-items:center;
    box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 8px 20px -8px var(--violet-glow);
  }
  .logo-mark::before{
    content:"";position:absolute;inset:5px;border-radius:4px;
    background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,transparent 70%);
  }
  .logo-mark svg{width:14px;height:14px;color:#fff;position:relative;z-index:1}

  .nav-links{display:flex;align-items:center;gap:6px;list-style:none;padding:0;margin:0}
  .nav-links a{
    font-size:14px;color:var(--fg-mute);
    padding:8px 14px;border-radius:10px;
    transition:color .2s, background .2s;
  }
  .nav-links a:hover{color:#fff;background:rgba(255,255,255,.04)}
  .nav-cta{display:flex;align-items:center;gap:10px}
  .nav-burger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-2);align-items:center;justify-content:center}
  .nav-burger svg{width:18px;height:18px}

  @media (max-width:1023px){
    .nav-links{display:none}
    .nav-burger{display:inline-flex}
    .nav-cta .btn-ghost{display:none}
  }

  /* ──────────────────────────────────────────────────────────
     HERO
  ────────────────────────────────────────────────────────── */
  .hero{
    position:relative;isolation:isolate;overflow:hidden;
    padding-block:50px clamp(80px, 10vw, 140px);
  }
  .hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
  .hero-bg .grid{
    position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse at 50% 0%, #000 20%, transparent 70%);
  }
  .hero-bg .glow-a{
    position:absolute;top:-180px;left:20%;width:720px;height:720px;border-radius:50%;
    background:radial-gradient(circle, rgba(124,58,237,.35) 0%, transparent 60%);
    filter:blur(60px);
    animation:float1 18s ease-in-out infinite;
  }
  .hero-bg .glow-b{
    position:absolute;top:40%;right:-120px;width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle, rgba(109,213,237,.18) 0%, transparent 60%);
    filter:blur(60px);
    animation:float2 22s ease-in-out infinite;
  }
  @keyframes float1{50%{transform:translate(40px,30px)}}
  @keyframes float2{50%{transform:translate(-40px,-30px)}}
  .hero-bg canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.7}
  html[data-theme="light"] .hero-bg canvas{opacity:.85}

  .hero-inner{
    max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);
    display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    gap:64px;align-items:center;
  }
  @media (max-width:1023px){.hero-inner{grid-template-columns:1fr;gap:56px}}

  .hero-badge{
    display:inline-flex;align-items:center;gap:10px;
    padding:6px 14px 6px 6px;border-radius:var(--r-pill);
    background:rgba(255,255,255,.04);border:1px solid var(--line-2);
    font-size:13px;color:var(--fg-mute);
    backdrop-filter:blur(10px);
  }
  .hero-badge .tag{
    padding:3px 9px;border-radius:var(--r-pill);
    background:linear-gradient(135deg,var(--violet) 0%,#5a1fd1 100%);
    color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    font-family:'JetBrains Mono',monospace;
  }
  .hero-badge strong{color:#fff;font-weight:600}

  .hero h1{
    margin-top:26px;
    font-size:clamp(48px,7.2vw,92px);
    letter-spacing:-.032em;line-height:1.02;font-weight:700;
  }
  .hero h1 .accent{
    background:linear-gradient(95deg, var(--cyan) 0%, #fff 50%, var(--violet-2) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero h1 .ul{position:relative;white-space:nowrap}
  .hero h1 .ul::after{
    content:"";position:absolute;left:0;right:0;bottom:.04em;height:.1em;
    background:linear-gradient(90deg,var(--violet),var(--cyan));
    border-radius:4px;transform-origin:left;transform:scaleX(0);
    animation:drawUl 1.4s .8s var(--ease-out) forwards;
  }
  @keyframes drawUl{to{transform:scaleX(1)}}

  .hero-lede{
    margin-top:26px;font-size:clamp(16px,1.4vw,19px);
    color:var(--fg-mute);max-width:58ch;line-height:1.55;
  }
  .hero-lede strong{color:#fff;font-weight:600}

  .hero-ctas{display:flex;align-items:center;gap:14px;margin-top:36px;flex-wrap:wrap}
  .hero-ctas .btn-primary{position:relative}
  .hero-ctas .btn-primary::before{
    content:"";position:absolute;inset:-4px;border-radius:var(--r-pill);z-index:-1;
    background:radial-gradient(closest-side,var(--violet-glow),transparent 70%);
    filter:blur(16px);
    animation:haloPulse 2.6s ease-in-out infinite;
  }
  @keyframes haloPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}

  .hero-proof{
    margin-top:40px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;
    color:var(--fg-dim);font-size:13px;
  }
  .hero-proof .item{display:flex;align-items:center;gap:8px}
  .hero-proof .item svg{width:14px;height:14px;color:var(--cyan)}
  .hero-proof .num{font-family:'JetBrains Mono',monospace;color:#fff;font-weight:600}

  /* word reveal */
  .reveal-words .word{
    display:inline-block;opacity:0;transform:translateY(22px) rotateX(35deg);
    transform-origin:50% 100%;
    animation-name:wordIn;
    animation-duration:.7s;
    animation-timing-function:cubic-bezier(.16,1,.3,1);
    animation-fill-mode:forwards;
    animation-delay:calc(var(--i,0) * .06s);
  }
  .reveal-words .word.space{width:.3em}
  @keyframes wordIn{
    from{opacity:0;transform:translateY(22px) rotateX(35deg)}
    to{opacity:1;transform:translateY(0) rotateX(0)}
  }

  /* ──────────────────────────────────────────────────────────
     HERO MOCKUP (dashboard animé)
  ────────────────────────────────────────────────────────── */
  .mockup-wrap{
    position:relative;perspective:1800px;
  }
  .mockup{
    position:relative;
    background:linear-gradient(180deg,#14182A 0%,#0D1324 100%);
    border:1px solid var(--line-2);
    border-radius:var(--r-container);
    padding:14px;
    box-shadow:var(--shadow-lift);
    transform:rotateY(-8deg) rotateX(6deg) rotateZ(-.5deg);
    transform-style:preserve-3d;
    transition:transform .8s var(--ease-out);
    opacity:0;
    animation:mockIn 1.1s .5s var(--ease-out) forwards;
  }
  @keyframes mockIn{to{opacity:1}}
  .mockup::before{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 30%);
  }
  .mockup-chrome{
    display:flex;align-items:center;gap:6px;padding:4px 8px 12px;
    border-bottom:1px solid var(--line);
  }
  .mockup-chrome .dot{width:10px;height:10px;border-radius:50%;background:#2e3554}
  .mockup-chrome .url{
    margin-left:auto;margin-right:auto;
    font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--fg-dim);
    padding:4px 12px;border-radius:6px;background:rgba(255,255,255,.04);
    display:flex;align-items:center;gap:6px;
  }
  .mockup-chrome .url svg{width:10px;height:10px;color:#22c55e}

  .mockup-body{
    display:grid;grid-template-columns:180px 1fr;gap:14px;padding-top:14px;min-height:380px;
  }
  .m-side{
    background:rgba(255,255,255,.02);border:1px solid var(--line);
    border-radius:10px;padding:12px;
  }
  .m-side .brand{
    display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;margin-bottom:14px;
  }
  .m-side .brand-mark{width:18px;height:18px;border-radius:5px;background:linear-gradient(135deg,var(--violet),#4f1fb6)}
  .m-side .section-label{
    font-size:9px;letter-spacing:.14em;color:var(--fg-dim);text-transform:uppercase;
    margin:14px 0 8px;font-family:'JetBrains Mono',monospace;
  }
  .m-side .nav-item{
    display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;
    font-size:12px;color:var(--fg-mute);margin-bottom:2px;
  }
  .m-side .nav-item.active{background:rgba(124,58,237,.14);color:#fff;border:1px solid rgba(124,58,237,.3)}
  .m-side .nav-item .ic{width:12px;height:12px;opacity:.7}
  .m-side .nav-item.active .ic{color:var(--cyan);opacity:1}
  .m-side .nav-item .count{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:10px;opacity:.6}

  .m-main{display:flex;flex-direction:column;gap:12px;min-width:0}
  .m-top{display:flex;align-items:center;gap:10px;font-size:12px}
  .m-top .title{font-weight:700;font-size:14px;letter-spacing:-.01em}
  .m-top .title small{font-weight:400;color:var(--fg-dim);margin-left:6px}
  .m-top .spacer{flex:1}
  .m-top .avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#f97316,#dc2626);border:2px solid #14182A}
  .m-top .avatars{display:flex}
  .m-top .avatars > *{margin-left:-6px}
  .m-top .avatar.b{background:linear-gradient(135deg,#3b82f6,#1e40af)}
  .m-top .avatar.c{background:linear-gradient(135deg,#10b981,#065f46)}

  .m-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .m-stat{
    background:rgba(255,255,255,.02);border:1px solid var(--line);
    padding:10px;border-radius:8px;
  }
  .m-stat .k{font-size:9px;letter-spacing:.1em;color:var(--fg-dim);text-transform:uppercase;font-family:'JetBrains Mono',monospace}
  .m-stat .v{font-size:20px;font-weight:700;font-family:'JetBrains Mono',monospace;letter-spacing:-.02em;margin-top:2px}
  .m-stat .v .unit{font-size:11px;color:var(--fg-dim);margin-left:2px}
  .m-stat .trend{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#22c55e;margin-top:4px;font-family:'JetBrains Mono',monospace}

  .m-progress{
    background:rgba(255,255,255,.02);border:1px solid var(--line);
    padding:12px;border-radius:8px;
  }
  .m-progress .row{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:8px}
  .m-progress .row .l{color:var(--fg-mute)}
  .m-progress .row .r{font-family:'JetBrains Mono',monospace;font-weight:600}
  .m-progress .bar{height:6px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden;position:relative}
  .m-progress .bar .fill{
    position:absolute;inset:0;right:auto;width:0%;
    background:linear-gradient(90deg,var(--violet),var(--cyan));
    border-radius:inherit;
    box-shadow:0 0 12px rgba(124,58,237,.5);
    transition:width 1.8s var(--ease-out);
  }
  .m-progress .steps{display:flex;justify-content:space-between;margin-top:8px;gap:4px}
  .m-progress .step{flex:1;font-size:9px;font-family:'JetBrains Mono',monospace;color:var(--fg-dim);text-align:center;padding:4px 0;border-radius:5px;background:rgba(255,255,255,.02);border:1px solid transparent;transition:all .3s}
  .m-progress .step.done{color:var(--cyan);border-color:rgba(109,213,237,.3);background:rgba(109,213,237,.08)}

  .m-files{background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:8px;overflow:hidden}
  .m-file{
    display:flex;align-items:center;gap:10px;padding:10px 12px;
    font-size:12px;border-bottom:1px solid var(--line);
    transition:background .2s;
  }
  .m-file:last-child{border-bottom:0}
  .m-file .ic{
    width:24px;height:24px;border-radius:6px;display:grid;place-items:center;
    background:rgba(124,58,237,.14);color:var(--violet-2);flex-shrink:0;
  }
  .m-file .ic svg{width:12px;height:12px}
  .m-file .ic.pdf{background:rgba(239,68,68,.12);color:#f87171}
  .m-file .ic.img{background:rgba(16,185,129,.12);color:#34d399}
  .m-file .ic.doc{background:rgba(59,130,246,.12);color:#60a5fa}
  .m-file .meta{flex:1;min-width:0}
  .m-file .name{color:#fff;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .m-file .sub{font-size:10px;color:var(--fg-dim);font-family:'JetBrains Mono',monospace;margin-top:1px}
  .m-file .status{
    font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-family:'JetBrains Mono',monospace;
    padding:3px 7px;border-radius:99px;
  }
  .m-file .status.ok{background:rgba(34,197,94,.14);color:#4ade80}
  .m-file .status.pending{background:rgba(234,179,8,.14);color:#facc15}
  .m-file.new-in{
    animation:fileAppear .6s var(--ease-spring);
    background:rgba(124,58,237,.08);
  }
  @keyframes fileAppear{
    from{opacity:0;transform:translateY(-10px) scale(.95);background:rgba(124,58,237,.3)}
    to{opacity:1;transform:translateY(0) scale(1);background:rgba(124,58,237,.08)}
  }

  /* notification pop */
  .m-notif{
    position:absolute;top:14px;right:14px;z-index:5;
    display:flex;align-items:center;gap:10px;
    background:linear-gradient(180deg,#1f2540 0%, #161a30 100%);
    border:1px solid rgba(124,58,237,.45);
    border-radius:10px;padding:10px 12px;min-width:220px;
    box-shadow:0 20px 40px -10px rgba(0,0,0,.6), 0 0 0 1px rgba(124,58,237,.25);
    opacity:0;transform:translateX(30px);
    pointer-events:none;
  }
  .m-notif.show{
    opacity:1;transform:translateX(0);
    transition:opacity .4s, transform .5s var(--ease-spring);
  }
  .m-notif .ic{
    width:28px;height:28px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;
    background:linear-gradient(135deg,var(--violet),#4f1fb6);
  }
  .m-notif .ic svg{width:14px;height:14px;color:#fff}
  .m-notif .t{font-size:11px;font-weight:700;color:#fff}
  .m-notif .s{font-size:10px;color:var(--fg-mute);margin-top:1px}

  /* floating side badges */
  .hero-badge-float{
    position:absolute;z-index:3;
    display:flex;align-items:center;gap:8px;
    background:rgba(18,22,45,.85);backdrop-filter:blur(14px);
    border:1px solid var(--line-2);
    border-radius:12px;padding:10px 12px;
    box-shadow:0 20px 40px -12px rgba(0,0,0,.5);
    font-size:12px;
    animation:bounceIn 1s var(--ease-spring) both;
  }
  .hero-badge-float .ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}
  .hero-badge-float .ic svg{width:13px;height:13px}
  .hero-badge-float .t{font-weight:600;color:#fff}
  .hero-badge-float .s{font-size:10px;color:var(--fg-dim);font-family:'JetBrains Mono',monospace}
  .hero-badge-float.b-lock{top:-10px;left:-20px;animation-delay:1.1s}
  .hero-badge-float.b-lock .ic{background:rgba(34,197,94,.18);color:#4ade80}
  .hero-badge-float.b-audit{bottom:30px;left:-30px;animation-delay:1.3s}
  .hero-badge-float.b-audit .ic{background:rgba(109,213,237,.18);color:var(--cyan)}
  .hero-badge-float.b-speed{bottom:-10px;right:20px;animation-delay:1.5s}
  .hero-badge-float.b-speed .ic{background:rgba(124,58,237,.22);color:var(--violet-2)}
  @keyframes bounceIn{
    0%{opacity:0;transform:translateY(30px) scale(.8)}
    70%{transform:translateY(-6px) scale(1.04)}
    100%{opacity:1;transform:translateY(0) scale(1)}
  }
  @keyframes floatY{50%{transform:translateY(-8px)}}
  .hero-badge-float.b-lock{animation:bounceIn 1s 1.1s var(--ease-spring) both, floatY 4s 2s ease-in-out infinite}
  .hero-badge-float.b-audit{animation:bounceIn 1s 1.3s var(--ease-spring) both, floatY 5s 2.3s ease-in-out infinite}
  .hero-badge-float.b-speed{animation:bounceIn 1s 1.5s var(--ease-spring) both, floatY 4.5s 2.6s ease-in-out infinite}

  @media (max-width:767px){
    .hero-badge-float.b-lock{top:-6px;left:-8px;font-size:11px}
    .hero-badge-float.b-audit{display:none}
    .hero-badge-float.b-speed{display:none}
    .m-notif{min-width:180px}
  }

  /* ──────────────────────────────────────────────────────────
     SECTION HEAD
  ────────────────────────────────────────────────────────── */
  .section-head{max-width:820px}
  .section-head.center{margin-inline:auto;text-align:center}
  .section-head.center .eyebrow{margin-bottom:18px}
  .section-head .eyebrow{margin-bottom:18px}
  .grad{
    background:linear-gradient(95deg,var(--cyan) 0%,#fff 40%,var(--violet-2) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .strike{position:relative;white-space:nowrap;color:var(--fg-mute)}
  .strike::after{content:"";position:absolute;left:-2%;right:-2%;top:52%;height:3px;background:linear-gradient(90deg,var(--violet),var(--cyan));border-radius:3px;transform:skewY(-3deg) scaleX(0);transform-origin:left;transition:transform 1s var(--ease-out)}
  .strike.in::after{transform:skewY(-3deg) scaleX(1)}

  /* reveal primitive */
  .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease-out), transform .9s var(--ease-out)}
  .reveal.in{opacity:1;transform:translateY(0)}
  .reveal > *{transition:opacity .7s var(--ease-out), transform .8s var(--ease-out)}

  /* ──────────────────────────────────────────────────────────
     TRUST STRIP
  ────────────────────────────────────────────────────────── */
  /* v1.16.16 — Le pattern trust peut se retrouver imbriqué dans un autre bloc
     Group ayant la classe `trust` (lors d'une insertion dans un wrapper existant).
     Cela crée une double border (une par instance). Fix : on neutralise totalement
     le .trust imbriqué (.trust .trust), seules les borders du wrapper racine restent
     visibles → 1 seule ligne top + 1 seule ligne bottom. */
  .trust{padding:46px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}
  .trust .trust{border:0 !important;padding:0 !important;background:transparent !important;margin:0 !important}
  /* v1.16.15 — neutralise le block-gap WP : margin-block sur .trust ET sur son voisin direct
     (le 24px parasite EN-DESSOUS venait du margin-top du sibling next, pas du .trust) */
  section.trust.wp-block-group{margin-block-start:0 !important;margin-block-end:0 !important;margin-top:0 !important;margin-bottom:0 !important}
  section.trust.wp-block-group + *.wp-block-group{margin-block-start:0 !important;margin-top:0 !important}
  .trust-label{
    text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;
    letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 22px;
  }
  .trust-row{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
    gap:44px 60px;opacity:.85;
  }
  .trust-row .mark{
    display:inline-flex;align-items:center;gap:9px;
    color:var(--fg-mute);font-weight:600;letter-spacing:-.01em;font-size:16px;
    filter:grayscale(.3);transition:color .25s, filter .25s, transform .3s var(--ease-spring);
  }
  .trust-row .mark:hover{color:#fff;filter:none;transform:translateY(-2px)}
  .trust-row .mark svg{width:22px;height:22px}

  /* ──────────────────────────────────────────────────────────
     AUDIENCES ("Pour qui")
  ────────────────────────────────────────────────────────── */
  .audiences{
    position:relative;isolation:isolate;
    background:linear-gradient(180deg,#0A0F1C 0%,#0B1022 100%);
    border-bottom:1px solid var(--line);
  }
  .audiences-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
  .audiences-head .section-lede{margin-top:14px}
  .audiences-filter{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .af-btn{
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
    padding:7px 14px;border-radius:var(--r-chip);
    background:rgba(255,255,255,.03);border:1px solid var(--line-2);color:var(--fg-mute);
    transition:all .25s;
  }
  .af-btn.is-on{color:#0A0F1C;background:var(--gold-2);border-color:var(--gold-2);box-shadow:0 0 0 1px var(--gold-line), 0 8px 22px -6px var(--gold-glow)}
  .af-btn:hover:not(.is-on){color:#fff;background:rgba(255,255,255,.06);border-color:var(--gold-line)}

  .aud-grid{
    margin-top:52px;display:grid;gap:18px;
    grid-template-columns:repeat(3,1fr);
  }
  @media (max-width:1023px){.aud-grid{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:599px){.aud-grid{grid-template-columns:1fr}}

  .aud{
    position:relative;overflow:hidden;
    background:linear-gradient(180deg,rgba(255,255,255,.025) 0%,rgba(255,255,255,0) 100%);
    border:1px solid var(--line);border-radius:var(--r-container);
    padding:24px 22px 22px;
    display:flex;flex-direction:column;gap:12px;
    transition:transform .45s var(--ease-spring), border-color .3s, background .3s, box-shadow .4s;
  }
  .aud::before{
    content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
    background:linear-gradient(135deg,var(--gold-line) 0%,transparent 40%,transparent 60%,rgba(124,58,237,.25) 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude;
    opacity:0;transition:opacity .35s;
  }
  .aud::after{
    content:"";position:absolute;top:0;right:0;width:120px;height:120px;border-radius:50%;
    background:radial-gradient(closest-side,var(--gold-glow),transparent 70%);
    filter:blur(30px);opacity:0;transition:opacity .4s;pointer-events:none;
    transform:translate(40%,-40%);
  }
  .aud:hover{transform:translateY(-4px);border-color:rgba(201,162,75,.35);background:rgba(255,255,255,.035);box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
  .aud:hover::before{opacity:1}
  .aud:hover::after{opacity:.7}
  .aud-head{display:flex;align-items:flex-start;gap:14px}
  .aud-ic{
    width:42px;height:42px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;
    background:linear-gradient(180deg,rgba(201,162,75,.14) 0%,rgba(201,162,75,.04) 100%);
    border:1px solid var(--gold-line);color:var(--gold-2);
    transition:transform .45s var(--ease-spring);
  }
  .aud:hover .aud-ic{transform:rotate(-6deg) scale(1.05)}
  .aud-ic svg{width:20px;height:20px}
  .aud-name{font-family:'Cabinet Grotesk','Inter',sans-serif;font-weight:700;font-size:16px;letter-spacing:-.01em;line-height:1.2;color:#fff}
  .aud-tag{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);margin-top:3px}
  .aud-sep{height:1px;background:linear-gradient(90deg,transparent,var(--gold-line) 20%,var(--gold-line) 80%,transparent);margin:4px 0 2px}
  .aud-line{font-size:14px;line-height:1.55;color:var(--fg-mute);margin:0}
  .section-light .aud-line{color:rgba(23,26,43,.68)}
  .aud.hidden{display:none}

  /* ──────────────────────────────────────────────────────────
     PAIN GRID
  ────────────────────────────────────────────────────────── */
  .pain-cols{
    display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:56px;
  }
  @media (max-width:1023px){.pain-cols{grid-template-columns:1fr}}

  .pain-col{
    background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,0) 100%);
    border:1px solid var(--line);border-radius:var(--r-container);
    padding:28px;position:relative;overflow:hidden;
  }
  .pain-col-pro{
    background:linear-gradient(180deg,rgba(124,58,237,.08) 0%,rgba(124,58,237,0) 60%);
    border-color:rgba(124,58,237,.25);
  }
  .pain-col-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
  .pain-col-head h3{font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em;flex:1;min-width:240px;margin:0}
  .pain-n{
    display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;
    text-transform:uppercase;padding:5px 10px;border-radius:var(--r-chip);
    background:rgba(255,255,255,.05);color:var(--fg-mute);border:1px solid var(--line-2);
  }
  .pain-n-pro{background:rgba(124,58,237,.15);color:var(--violet-2);border-color:rgba(124,58,237,.35)}
  .pro-badge{
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
    padding:4px 10px;border-radius:var(--r-chip);color:var(--cyan);
    background:rgba(109,213,237,.1);border:1px solid rgba(109,213,237,.3);
  }
  .pain-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
  .pain-card{
    display:flex;gap:14px;padding:16px;border-radius:var(--r-card);
    background:rgba(255,255,255,.02);border:1px solid var(--line);
    transition:transform .35s var(--ease-spring), border-color .3s, background .3s, box-shadow .35s;
    position:relative;overflow:hidden;
  }
  .pain-card::before{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
    background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(124,58,237,.15),transparent 40%);
    transition:opacity .3s;
  }
  .pain-card:hover{transform:translateY(-3px);border-color:rgba(124,58,237,.3);background:rgba(255,255,255,.035);box-shadow:var(--shadow-soft)}
  .pain-card:hover::before{opacity:1}
  .pain-card .ic{
    width:36px;height:36px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;
    background:rgba(255,255,255,.04);border:1px solid var(--line-2);color:var(--fg-mute);
    transition:transform .4s var(--ease-spring), color .3s, border-color .3s;
  }
  .pain-card .ic svg{width:16px;height:16px}
  .pain-card:hover .ic{transform:rotate(-8deg) scale(1.05);color:var(--cyan);border-color:rgba(109,213,237,.35)}
  .pain-card h4{font-size:15px;margin:0 0 4px;letter-spacing:-.01em;font-family:'Inter',sans-serif;font-weight:700}
  .pain-card p{font-size:13.5px;color:var(--fg-mute);line-height:1.5}

  .pain-cost{
    margin-top:40px;padding:24px;border-radius:var(--r-container);
    background:linear-gradient(90deg,rgba(124,58,237,.1) 0%,rgba(109,213,237,.08) 100%);
    border:1px solid rgba(124,58,237,.22);
  }
  .cost-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  @media (max-width:767px){.cost-row{grid-template-columns:repeat(2,1fr)}}
  .cost-cell{display:flex;flex-direction:column;gap:4px}
  .cost-k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim)}
  .cost-v{display:flex;align-items:baseline;gap:10px;font-size:14px;color:var(--fg-mute)}
  .cost-v .mono{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:700;color:#fff;letter-spacing:-.02em}

  /* ──────────────────────────────────────────────────────────
     TRANSITION SOMBRE (pattern interrupt)
  ────────────────────────────────────────────────────────── */
  .transition-dark{
    position:relative;overflow:hidden;isolation:isolate;
    padding:90px 0 110px;
    background:
      radial-gradient(ellipse at 30% 0%,rgba(124,58,237,.25) 0%,transparent 55%),
      radial-gradient(ellipse at 70% 100%,rgba(109,213,237,.15) 0%,transparent 55%),
      linear-gradient(180deg,#070B16 0%,#0A0F1C 100%);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .transition-dark::before{
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:
      repeating-linear-gradient(45deg,transparent 0 38px, rgba(255,255,255,.018) 38px 39px);
  }
  .td-ribbon{
    position:absolute;top:38px;left:0;right:0;
    display:flex;gap:34px;white-space:nowrap;
    font-family:'Cabinet Grotesk','Inter',sans-serif;font-weight:700;
    font-size:clamp(30px,4.8vw,64px);
    letter-spacing:-.02em;
    color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);
    animation:scrollLeft 40s linear infinite;
    pointer-events:none;
  }
  @keyframes scrollLeft{to{transform:translateX(-50%)}}
  .td-inner{text-align:center;position:relative;z-index:1;padding-top:90px}
  .td-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin:0 0 22px}
  .td-line{
    font-family:'Cabinet Grotesk','Inter',sans-serif;font-weight:700;
    font-size:clamp(28px,5.2vw,62px);letter-spacing:-.03em;line-height:1.02;
    max-width:900px;margin-inline:auto;
  }
  .td-line span{display:inline-block;opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transition-delay:calc(var(--d,0) * 60ms);padding:0 .06em}
  .td-line span.accent{color:transparent;background:linear-gradient(95deg,var(--cyan),var(--violet-2));-webkit-background-clip:text;background-clip:text}
  .transition-dark.in .td-line span{opacity:1;transform:translateY(0)}

  /* ──────────────────────────────────────────────────────────
     SOLUTION REVEAL
  ────────────────────────────────────────────────────────── */
  .solution{background:linear-gradient(180deg,#0A0F1C 0%,#0C1226 100%)}
  .layers{
    margin-top:56px;display:grid;gap:24px;align-items:stretch;
    grid-template-columns:1fr auto 1fr;
  }
  @media (max-width:1023px){.layers{grid-template-columns:1fr}}
  .layer{
    background:rgba(255,255,255,.02);border:1px solid var(--line);
    border-radius:var(--r-container);padding:32px;
    transition:transform .5s var(--ease-spring), border-color .3s, box-shadow .5s;
  }
  .layer:hover{transform:translateY(-6px);box-shadow:var(--shadow-card)}
  .layer-pro{
    background:linear-gradient(180deg,rgba(124,58,237,.12) 0%,rgba(124,58,237,.02) 100%);
    border-color:rgba(124,58,237,.3);position:relative;overflow:hidden;
  }
  .layer-pro::before{
    content:"";position:absolute;top:-50%;right:-30%;width:80%;height:160%;
    background:radial-gradient(closest-side,rgba(124,58,237,.25),transparent 70%);
    pointer-events:none;animation:drift 14s ease-in-out infinite;
  }
  @keyframes drift{50%{transform:translate(-30px,20px)}}
  .layer-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
  .layer-head h3{font-size:clamp(24px,2.8vw,32px);letter-spacing:-.025em;flex:1;min-width:160px}
  .layer-tag{
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;
    padding:5px 10px;border-radius:var(--r-chip);text-transform:uppercase;
    background:rgba(255,255,255,.05);color:var(--fg-mute);border:1px solid var(--line-2);
  }
  .layer-tag-pro{background:rgba(109,213,237,.12);color:var(--cyan);border-color:rgba(109,213,237,.3)}
  .chip-pro{background:rgba(124,58,237,.18);color:#fff;border-color:rgba(124,58,237,.4)}
  .layer-desc{color:var(--fg-mute);font-size:15px;line-height:1.6;margin:10px 0 22px}
  .layer-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
  .layer-feats li{display:flex;align-items:center;gap:10px;font-size:14.5px}
  .layer-feats li svg{width:16px;height:16px;color:var(--cyan);flex-shrink:0}
  .layer-plus{
    align-self:center;width:48px;height:48px;border-radius:50%;
    background:linear-gradient(135deg,var(--violet),#5a1fd1);color:#fff;
    display:grid;place-items:center;margin:0 auto;
    box-shadow:0 0 30px rgba(124,58,237,.5), 0 0 0 1px rgba(255,255,255,.15) inset;
    animation:plusPulse 2.4s ease-in-out infinite;
  }
  .layer-plus svg{width:20px;height:20px}
  @keyframes plusPulse{50%{transform:scale(1.08);box-shadow:0 0 44px rgba(124,58,237,.7), 0 0 0 1px rgba(255,255,255,.2) inset}}
  @media (max-width:1023px){.layer-plus{transform:rotate(90deg)}}

  /* ──────────────────────────────────────────────────────────
     FEATURES GRID
  ────────────────────────────────────────────────────────── */
  .feat-grid{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  @media (max-width:1023px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:639px){.feat-grid{grid-template-columns:1fr}}
  .feat{
    background:rgba(255,255,255,.02);border:1px solid var(--line);
    border-radius:var(--r-container);padding:26px;
    position:relative;overflow:hidden;
    transition:transform .45s var(--ease-spring), border-color .3s, background .3s, box-shadow .4s;
  }
  .feat::before{
    content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;
    background:linear-gradient(135deg,rgba(124,58,237,.5),rgba(109,213,237,.3),transparent 50%);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    opacity:0;transition:opacity .35s;pointer-events:none;
  }
  .feat:hover{transform:translateY(-5px);background:rgba(255,255,255,.035);box-shadow:var(--shadow-card)}
  .feat:hover::before{opacity:1}
  .feat-ic{
    width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
    background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(124,58,237,.04));
    border:1px solid rgba(124,58,237,.3);color:var(--violet-2);
    margin-bottom:18px;
    transition:transform .5s var(--ease-spring), color .3s;
  }
  .feat:hover .feat-ic{transform:rotate(-6deg) scale(1.06);color:#fff}
  .feat-ic svg{width:20px;height:20px}
  .feat h3{font-size:18px;letter-spacing:-.015em;font-family:'Inter',sans-serif;font-weight:700;margin:0 0 8px}
  .feat p{font-size:14px;color:var(--fg-mute);line-height:1.55}
  .feat code{font-family:'JetBrains Mono',monospace;font-size:12px;background:rgba(255,255,255,.06);padding:1px 6px;border-radius:5px}
  .feat-tag{
    position:absolute;top:16px;right:16px;
    font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
    padding:3px 8px;border-radius:var(--r-chip);color:var(--fg-dim);
    background:rgba(255,255,255,.04);border:1px solid var(--line-2);
  }
  .feat-tag-pro{color:var(--cyan);background:rgba(109,213,237,.1);border-color:rgba(109,213,237,.3)}
  .feat-pro{background:linear-gradient(180deg,rgba(109,213,237,.06) 0%,rgba(255,255,255,0) 60%);border-color:rgba(109,213,237,.18)}

  /* ──────────────────────────────────────────────────────────
     PARCOURS FOCUS
  ────────────────────────────────────────────────────────── */
  .parcours{position:relative;overflow:hidden;isolation:isolate}
  .parcours-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:
      radial-gradient(ellipse at 80% 20%,rgba(124,58,237,.2) 0%,transparent 55%),
      radial-gradient(ellipse at 10% 80%,rgba(109,213,237,.14) 0%,transparent 55%);
  }
  .parcours-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
  @media (max-width:1023px){.parcours-inner{grid-template-columns:1fr;gap:48px}}
  .parcours-copy .eyebrow{margin-bottom:18px}
  .parcours-copy .btn{margin-top:8px}
  .parcours-bullets{list-style:none;padding:0;margin:26px 0 32px;display:flex;flex-direction:column;gap:12px}
  .parcours-bullets li{display:flex;align-items:baseline;gap:14px;font-size:15.5px;color:var(--fg-mute)}
  .parcours-bullets .num{
    font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;
    color:var(--cyan);background:rgba(109,213,237,.08);
    border:1px solid rgba(109,213,237,.25);padding:3px 8px;border-radius:6px;flex-shrink:0;
  }
  .parcours-svg-wrap{position:relative;aspect-ratio:480/520;max-width:480px;margin-inline:auto;width:100%}
  .parcours-svg{width:100%;height:auto}
  .parcours-svg .mile{opacity:0;transform:scale(.6);transform-origin:center;transform-box:fill-box;transition:opacity .5s var(--ease-out), transform .6s var(--ease-spring)}
  .parcours-svg .mile.lit{opacity:1;transform:scale(1)}
  .parcours-svg .mile.lit .mile-dot{animation:mileDot 1.4s ease-in-out infinite}
  @keyframes mileDot{50%{r:8;fill:#fff}}

  /* ──────────────────────────────────────────────────────────
     COMPARISON TABLE
  ────────────────────────────────────────────────────────── */
  .cmp-wrap{margin-top:48px;border-radius:var(--r-container);overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.02)}
  .cmp{width:100%;border-collapse:collapse;font-size:14.5px}
  .cmp th, .cmp td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
  .cmp thead th{padding-block:22px;background:rgba(255,255,255,.02)}
  .cmp tbody th{font-weight:500;color:var(--fg-mute);width:40%}
  .cmp tbody td{color:var(--fg-mute)}
  .cmp tbody tr:hover{background:rgba(124,58,237,.04)}
  .cmp tbody tr:last-child th, .cmp tbody tr:last-child td{border-bottom:0}
  .cmp-col{font-family:'Cabinet Grotesk','Inter',sans-serif;font-weight:700;font-size:18px;color:#fff;display:block}
  .cmp-sub{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--fg-dim);display:block;margin-top:3px}
  .cmp-star{color:var(--cyan);font-size:14px;vertical-align:super}
  .cmp-pro{background:linear-gradient(180deg,rgba(124,58,237,.14) 0%,rgba(124,58,237,.04) 100%);border-left:1px solid rgba(124,58,237,.3);border-right:1px solid rgba(124,58,237,.3)}
  .ok, .ko{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
  .ok::before{content:"";width:18px;height:18px;border-radius:50%;background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.4);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234ade80' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:center}
  .ko::before{content:"";width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.04);border:1px solid var(--line-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");background-size:10px;background-repeat:no-repeat;background-position:center}
  .ko{color:var(--fg-dim)}
  @media (max-width:767px){.cmp th, .cmp td{padding:12px 14px;font-size:13px} .cmp tbody th{width:50%}}

  /* ──────────────────────────────────────────────────────────
     SOCIAL PROOF
  ────────────────────────────────────────────────────────── */
  .proof{background:linear-gradient(180deg,#0C1226 0%,#0A0F1C 100%)}
  .testimonials{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  @media (max-width:1023px){.testimonials{grid-template-columns:1fr}}
  .testi{
    position:relative;background:rgba(255,255,255,.02);border:1px solid var(--line);
    border-radius:var(--r-container);padding:32px 28px 24px;
    transition:transform .4s var(--ease-spring), border-color .3s, box-shadow .4s;
  }
  .testi:hover{transform:translateY(-4px);border-color:rgba(124,58,237,.3);box-shadow:var(--shadow-card)}
  .quote-mark{position:absolute;top:8px;right:20px;font-family:'Cabinet Grotesk',serif;font-size:80px;line-height:1;color:rgba(124,58,237,.18);font-weight:800;pointer-events:none}
  .testi blockquote{margin:0 0 24px;font-size:15.5px;line-height:1.6;color:#fff;font-weight:500;letter-spacing:-.005em}
  .testi footer{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
  .testi .avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0;font-family:'JetBrains Mono',monospace}
  .testi .name{font-weight:600;font-size:14px}
  .testi .role{font-size:12px;color:var(--fg-dim);font-family:'JetBrains Mono',monospace}
  .testi .stars{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--gold-2);font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;filter:drop-shadow(0 0 8px var(--gold-glow))}
  .testi .stars svg{width:14px;height:14px}

  /* ──────────────────────────────────────────────────────────
     PRICING
  ────────────────────────────────────────────────────────── */
  .pricing{background:linear-gradient(180deg,#0A0F1C 0%,#0D1324 100%)}
  .price-toggle{
    display:inline-flex;margin-top:24px;padding:4px;border-radius:var(--r-pill);
    background:rgba(255,255,255,.04);border:1px solid var(--line-2);
  }
  .pt-btn{padding:8px 18px;border-radius:var(--r-pill);font-size:13px;font-weight:600;color:var(--fg-mute);transition:color .25s, background .25s;font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
  .pt-btn.is-on{background:#fff;color:var(--ink-0)}
  .price-grid{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px;margin-inline:auto}
  @media (max-width:767px){.price-grid{grid-template-columns:1fr}}
  .price{
    background:rgba(255,255,255,.02);border:1px solid var(--line);
    border-radius:var(--r-container);padding:32px;
    display:flex;flex-direction:column;gap:22px;
    transition:transform .45s var(--ease-spring), border-color .3s, box-shadow .5s;
  }
  .price:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
  .price-tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute)}
  .price-tag-pro{color:var(--cyan)}
  .price header h3{font-size:24px;letter-spacing:-.02em;margin:8px 0 6px;font-family:'Cabinet Grotesk','Inter',sans-serif}
  .price header p{color:var(--fg-mute);font-size:14px;line-height:1.55}
  .price-amount{display:flex;align-items:baseline;gap:6px;padding-block:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
  .price-num{font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:60px;font-weight:800;letter-spacing:-.035em;line-height:1}
  .price-curr{font-size:22px;font-weight:600;color:var(--fg-mute);margin-left:2px}
  .price-period{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--fg-dim);margin-left:auto}
  .price-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
  .price-feats li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px}
  .price-feats li svg{width:16px;height:16px;color:var(--cyan);flex-shrink:0;margin-top:3px}
  .price-pro{
    position:relative;overflow:hidden;
    background:linear-gradient(180deg,rgba(124,58,237,.14) 0%,rgba(124,58,237,.02) 100%);
    border-color:rgba(124,58,237,.35);
  }
  .price-pro::before{
    content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;
    background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 30%,transparent 60%);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude;
    opacity:.7;
  }
  .price-pro .price-tag-pro{color:var(--gold-2);letter-spacing:.14em}
  .price-pro .halo{
    position:absolute;inset:-2px;border-radius:inherit;z-index:-1;pointer-events:none;
    background:conic-gradient(from 0deg, var(--violet) 0%, var(--cyan) 30%, var(--violet) 60%, var(--cyan) 100%);
    filter:blur(18px);opacity:.35;
    animation:haloSpin 8s linear infinite;
  }
  @keyframes haloSpin{to{transform:rotate(360deg)}}
  .price-pro::after{
    content:"";position:absolute;inset:0;border-radius:inherit;
    background:linear-gradient(180deg,rgba(124,58,237,.08),transparent 50%);
    pointer-events:none;z-index:0;
  }
  .price-pro > *{position:relative;z-index:1}
  .price-foot{text-align:center;margin-top:28px;font-size:13px;color:var(--fg-dim)}
  .price-foot a{color:var(--cyan);border-bottom:1px solid rgba(109,213,237,.3)}

  /* ──────────────────────────────────────────────────────────
     GARANTIE
  ────────────────────────────────────────────────────────── */
  .guarantee{background:#F6F6F2;color:var(--ink-0);border-block:1px solid rgba(10,15,28,.08)}
  .guarantee .eyebrow{background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.22);color:var(--violet)}
  .guarantee .eyebrow .dot{background:var(--violet);box-shadow:0 0 12px var(--violet)}
  .guarantee .grad{background:linear-gradient(95deg,var(--violet),#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}
  .guarantee-inner{display:grid;grid-template-columns:160px 1fr;gap:44px;align-items:center}
  @media (max-width:767px){.guarantee-inner{grid-template-columns:1fr;text-align:center;gap:24px}}
  .guar-seal{width:160px;height:160px;animation:sealSpin 24s linear infinite}
  .guar-seal svg{width:100%;height:100%;filter:drop-shadow(0 10px 30px rgba(124,58,237,.35))}
  @keyframes sealSpin{to{transform:rotate(360deg)}}
  @media (max-width:767px){.guar-seal{margin-inline:auto;width:120px;height:120px}}
  .guar-copy h2{font-size:clamp(26px,3.6vw,40px);letter-spacing:-.02em;margin:12px 0}
  .guar-copy p{color:var(--slate-700);font-size:16px;line-height:1.6;max-width:60ch}

  /* ──────────────────────────────────────────────────────────
     FAQ
  ────────────────────────────────────────────────────────── */
  .faq-list{margin-top:48px;max-width:820px;margin-inline:auto;display:flex;flex-direction:column;gap:10px}
  .faq-item{
    background:rgba(255,255,255,.02);border:1px solid var(--line);
    border-radius:var(--r-card);overflow:hidden;
    transition:border-color .3s, background .3s;
  }
  .faq-item:hover{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.035)}
  .faq-item[open]{border-color:rgba(124,58,237,.3);background:rgba(124,58,237,.04)}
  .faq-item summary{
    list-style:none;cursor:pointer;padding:20px 22px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    font-weight:600;font-size:15.5px;letter-spacing:-.01em;
  }
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-ic{
    width:32px;height:32px;border-radius:50%;flex-shrink:0;
    display:grid;place-items:center;background:rgba(255,255,255,.04);
    border:1px solid var(--line-2);color:var(--fg-mute);
    transition:transform .5s var(--ease-spring), background .3s, color .3s;
  }
  .faq-ic svg{width:14px;height:14px}
  .faq-item[open] .faq-ic{transform:rotate(45deg);background:rgba(124,58,237,.2);color:#fff;border-color:rgba(124,58,237,.5)}
  .faq-body{
    padding:0 22px 22px;color:var(--fg-mute);font-size:14.5px;line-height:1.65;
    animation:faqIn .4s var(--ease-out);
  }
  .faq-body p{max-width:70ch}
  @keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

  /* ──────────────────────────────────────────────────────────
     FINAL CTA
  ────────────────────────────────────────────────────────── */
  .final-cta{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding-block:clamp(80px,12vw,140px)}
  .fc-bg{
    position:absolute;inset:0;z-index:-1;
    background:
      radial-gradient(ellipse at 50% 0%,rgba(124,58,237,.3) 0%,transparent 55%),
      radial-gradient(ellipse at 50% 100%,rgba(109,213,237,.22) 0%,transparent 55%),
      linear-gradient(180deg,#0A0F1C 0%,#1A1A3E 50%,#0A0F1C 100%);
  }
  .fc-bg::after{
    content:"";position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse at 50% 50%,#000 20%,transparent 70%);
  }
  .fc-inner{position:relative}
  .fc-inner .eyebrow{margin-bottom:24px}
  .fc-inner h2{font-size:clamp(36px,6vw,72px);letter-spacing:-.03em;line-height:1.03}
  .fc-inner p{max-width:58ch;margin:22px auto 0;color:var(--fg-mute);font-size:17px;line-height:1.55}
  .fc-ctas{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:40px;flex-wrap:wrap}
  .fc-primary{
    position:relative;isolation:isolate;overflow:hidden;
    background:linear-gradient(90deg,#7C3AED,#5a1fd1,#6DD5ED,#7C3AED);
    background-size:300% 100%;color:#fff;
    animation:liquidShift 6s linear infinite;
    box-shadow:0 1px 0 0 rgba(255,255,255,.25) inset, 0 4px 14px -2px rgba(0,0,0,.3);
  }
  @keyframes liquidShift{to{background-position:300% 0}}
  .fc-primary::before{
    content:"";position:absolute;inset:-40%;z-index:-1;
    background:conic-gradient(from 0deg,transparent 0%,rgba(109,213,237,.8) 20%,transparent 40%);
    animation:fcSpin 3.5s linear infinite;opacity:.6;
  }
  @keyframes fcSpin{to{transform:rotate(360deg)}}
  .fc-primary .fc-liquid{
    position:absolute;inset:0;z-index:-1;border-radius:inherit;
    background:radial-gradient(180px circle at 20% 50%,rgba(255,255,255,.25),transparent 60%);
    animation:liquidBlob 4s ease-in-out infinite;
  }
  @keyframes liquidBlob{50%{background:radial-gradient(180px circle at 80% 50%,rgba(255,255,255,.25),transparent 60%)}}
  .fc-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 1px 0 0 rgba(255,255,255,.3) inset, 0 6px 18px -2px rgba(0,0,0,.35)}
  .fc-micro{margin-top:24px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--fg-dim);letter-spacing:.04em}

  /* ──────────────────────────────────────────────────────────
     FOOTER
  ────────────────────────────────────────────────────────── */
  .footer{background:#070B16;border-top:1px solid var(--line);padding-top:72px}
  .footer-inner{display:grid;grid-template-columns:1.2fr 2fr;gap:56px;padding-bottom:56px}
  @media (max-width:1023px){.footer-inner{grid-template-columns:1fr;gap:44px}}
  .footer-brand p{color:var(--fg-mute);font-size:14px;line-height:1.55;margin-top:14px;max-width:36ch}
  .footer-tag{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--fg-dim);margin-top:18px;letter-spacing:.06em}
  .footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  @media (max-width:639px){.footer-cols{grid-template-columns:repeat(2,1fr)}}
  .footer-cols h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);font-family:'JetBrains Mono',monospace;margin-bottom:14px;font-weight:500}
  .footer-cols ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
  .footer-cols a{font-size:14px;color:var(--fg-mute);transition:color .2s}
  .footer-cols a:hover{color:#fff}
  .footer-base{border-top:1px solid var(--line);padding:20px 0;font-size:12px;color:var(--fg-dim);font-family:'JetBrains Mono',monospace}
  .footer-base-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .footer-badges{display:flex;gap:10px;flex-wrap:wrap}
  .footer-badges .b{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-chip);background:rgba(255,255,255,.04);border:1px solid var(--line-2);letter-spacing:.06em}
  .footer-badges .b svg{width:11px;height:11px}

  /* ──────────────────────────────────────────────────────────
     TWEAKS PANEL
  ────────────────────────────────────────────────────────── */
  #tweaks{
    position:fixed;bottom:24px;right:24px;z-index:80;width:300px;
    background:linear-gradient(180deg,#14182A 0%,#0D1324 100%);
    border:1px solid rgba(124,58,237,.3);border-radius:14px;
    padding:18px;box-shadow:0 30px 60px -15px rgba(0,0,0,.7), 0 0 0 1px rgba(124,58,237,.15);
    backdrop-filter:blur(20px);
    animation:twIn .4s var(--ease-out);
  }
  @keyframes twIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
  #tweaks header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  #tweaks header strong{font-size:13px;font-family:'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
  #tweaksClose{width:26px;height:26px;border-radius:8px;color:var(--fg-mute);border:1px solid var(--line-2);font-size:16px;line-height:1;background:rgba(255,255,255,.03)}
  #tweaksClose:hover{color:#fff;background:rgba(255,255,255,.08)}
  .tw-group{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .tw-group:last-of-type{border-bottom:0;margin-bottom:0}
  .tw-group > label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-dim);margin-bottom:8px;font-family:'JetBrains Mono',monospace}
  .tw-segmented{display:flex;flex-direction:column;gap:6px}
  .tw-seg{padding:8px 12px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);font-size:12.5px;color:var(--fg-mute);text-align:left;transition:all .2s}
  .tw-seg:hover{background:rgba(255,255,255,.07);color:#fff}
  .tw-seg.is-on{background:rgba(124,58,237,.2);border-color:rgba(124,58,237,.5);color:#fff}
  .tw-swatches{display:flex;gap:8px;flex-wrap:wrap}
  .tw-sw{width:28px;height:28px;border-radius:50%;background:var(--c);border:2px solid transparent;transition:transform .2s, border-color .2s;box-shadow:0 0 0 1px rgba(255,255,255,.1)}
  .tw-sw[aria-pressed="true"]{border-color:#fff;transform:scale(1.1)}
  .tw-sw:hover{transform:scale(1.1)}
  .tw-switch{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--fg-mute);cursor:pointer}
  .tw-switch input{display:none}
  .tw-switch span{width:34px;height:18px;border-radius:99px;background:rgba(255,255,255,.08);position:relative;transition:background .25s}
  .tw-switch span::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .25s}
  .tw-switch input:checked + span{background:var(--violet)}
  .tw-switch input:checked + span::after{transform:translateX(16px)}
  .tw-foot{font-size:11px;color:var(--fg-dim);margin-top:14px;font-family:'JetBrains Mono',monospace}

  /* ──────────────────────────────────────────────────────────
     CUSTOM CURSOR
  ────────────────────────────────────────────────────────── */
  .cursor{
    position:fixed;top:0;left:0;width:28px;height:28px;border-radius:50%;
    border:1.5px solid rgba(124,58,237,.7);
    pointer-events:none;z-index:999;
    transform:translate(-50%,-50%);
    transition:width .25s var(--ease-spring), height .25s var(--ease-spring), background .25s, border-color .25s;
    mix-blend-mode:screen;
    opacity:0;
  }
  .cursor.on{opacity:1}
  .cursor.hover{width:44px;height:44px;background:rgba(124,58,237,.1);border-color:var(--cyan)}
  .cursor-dot{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:var(--cyan);transform:translate(-50%,-50%);box-shadow:0 0 8px var(--cyan)}
  @media (hover:none), (pointer:coarse){.cursor{display:none!important}}

  /* ──────────────────────────────────────────────────────────
     HERO VARIANTS
  ────────────────────────────────────────────────────────── */
  html[data-hero="center"] .hero-inner{grid-template-columns:1fr;text-align:center;gap:48px}
  html[data-hero="center"] .hero-copy{max-width:900px;margin-inline:auto}
  html[data-hero="center"] .hero-lede,
  html[data-hero="center"] .hero-badge{margin-inline:auto}
  html[data-hero="center"] .hero h1{font-size:clamp(44px,7vw,92px)}
  html[data-hero="center"] .hero-ctas,
  html[data-hero="center"] .hero-proof{justify-content:center}
  html[data-hero="center"] .mockup-wrap{max-width:860px;margin-inline:auto}
  html[data-hero="center"] .mockup{transform:rotateX(10deg) scale(.96)}
  html[data-hero="center"] .hero-badge-float.b-audit{left:-40px;top:40px;bottom:auto}

  html[data-hero="stack"] .hero-inner{grid-template-columns:1fr;text-align:center;gap:56px}
  html[data-hero="stack"] .hero-copy{max-width:820px;margin-inline:auto}
  html[data-hero="stack"] .hero-lede,
  html[data-hero="stack"] .hero-badge{margin-inline:auto}
  html[data-hero="stack"] .hero-ctas,
  html[data-hero="stack"] .hero-proof{justify-content:center}
  html[data-hero="stack"] .mockup{transform:rotateX(0) rotateY(0)}
  html[data-hero="stack"] .hero-badge-float{display:none}

  /* global reduced motion */
  @media (prefers-reduced-motion:reduce){
    .td-line span{opacity:1!important;transform:none!important}
    .reveal,.feat,.testi,.layer,.price,.pain-card,.mockup{opacity:1!important;transform:none!important}
  }

  /* parcours theme vars */
  .parcours-stage{
    --ps-bg:linear-gradient(180deg,#14182A 0%,#0D1324 100%);
    --ps-line:rgba(255,255,255,.08);
    --ps-fg:#FFFFFF;
    --ps-mute:rgba(255,255,255,.65);
    --ps-dim:rgba(255,255,255,.5);
    --ps-g1:#7C3AED;
    --ps-g2:#6DD5ED;
    --ps-rail:rgba(255,255,255,.1);
    --ps-node:#14182A;
    --ps-info-bg:rgba(124,58,237,.08);
    --ps-info-line:rgba(124,58,237,.22);
  }

  /* ══════════════════════════════════════════════════════════
     PARCOURS · Courbe + Stepper hybride (thème-neutre)
     ══════════════════════════════════════════════════════════ */
  .parcours-svg-wrap{
    position:relative;
    max-width:640px;margin-inline:auto;width:100%;
  }
  .parcours-stage{
    position:relative;
    background:var(--ps-bg,#FFFFFF);
    border:1px solid var(--ps-line,rgba(23,26,43,.08));
    border-radius:20px;
    padding:22px 22px 18px;
    box-shadow:
      0 1px 0 0 rgba(255,255,255,.9) inset,
      0 30px 60px -22px rgba(40,30,10,.22),
      0 10px 24px -12px rgba(201,162,75,.18);
    font-family:'Inter','Cabinet Grotesk',system-ui,sans-serif;
    overflow:hidden;
  }
  .parcours-stage::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(420px 140px at 100% 0%,rgba(201,162,75,.10),transparent 60%),
      radial-gradient(420px 220px at 0% 100%,rgba(91,43,224,.08),transparent 60%);
  }
  .parcours-stage > *{position:relative}
  .parcours-stage .ps-data{display:none}

  /* HEADER client */
  .ps-head{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding-bottom:14px;margin-bottom:16px;
    border-bottom:1px solid var(--ps-line,rgba(23,26,43,.08));
  }
  .ps-client{display:flex;align-items:center;gap:12px;min-width:0}
  .ps-avatar{
    width:38px;height:38px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,var(--ps-g1,#5B2BE0),var(--ps-g2,#C9A24B));
    color:#FFFFFF;font-weight:700;font-size:13px;
    display:flex;align-items:center;justify-content:center;letter-spacing:.02em;
    box-shadow:0 4px 10px -4px rgba(91,43,224,.5);
  }
  .ps-name{font-size:13.5px;font-weight:700;color:var(--ps-fg,#0F1426);letter-spacing:-.005em}
  .ps-sub{font-size:11px;color:var(--ps-mute,rgba(15,20,38,.55));margin-top:1px;font-family:'JetBrains Mono',monospace}
  .ps-prog{text-align:right;flex-shrink:0}
  .ps-prog-num{font-size:22px;font-weight:700;color:var(--ps-fg,#0F1426);line-height:1;letter-spacing:-.02em;font-family:'Cabinet Grotesk','Inter',sans-serif}
  .ps-prog-num strong{color:var(--ps-g1,#5B2BE0);font-weight:700;transition:color .4s}
  .ps-prog-label{font-size:10px;color:var(--ps-dim,rgba(15,20,38,.5));margin-top:2px;text-transform:uppercase;letter-spacing:.1em;font-family:'JetBrains Mono',monospace}

  /* SPLIT : courbe + info */
  .ps-split{
    display:grid;grid-template-columns:1fr 1fr;gap:20px;
    align-items:stretch;
  }
  @media (max-width:540px){ .ps-split{grid-template-columns:1fr} }

  /* Courbe */
  .ps-curve{
    position:relative;
    aspect-ratio:260/420;
    min-height:340px;
  }
  .parcours-svg{width:100%;height:100%;display:block;overflow:visible}
  .ps-rail{}
  #parcoursPath{
    stroke-dasharray:900;stroke-dashoffset:900;
    transition:stroke-dashoffset 2.6s cubic-bezier(.2,.7,.2,1);
  }

  /* Jalons */
  .mile{opacity:0;transform:scale(.5);transform-origin:center;transform-box:fill-box;transition:opacity .5s var(--ease-out,ease), transform .6s cubic-bezier(.5,1.6,.5,1)}
  .mile.lit{opacity:1;transform:scale(1)}
  .mile .mile-halo{fill:var(--ps-g1,#5B2BE0);opacity:0;transition:opacity .4s}
  .mile.lit .mile-halo{opacity:.12;animation:mileHalo 2.2s ease-in-out infinite}
  @keyframes mileHalo{0%,100%{r:18;opacity:.12}50%{r:24;opacity:.05}}
  .mile .mile-ring{transition:stroke-width .3s}
  .mile.lit .mile-ring{stroke-width:3}
  .mile .mile-dot{opacity:.4;transition:opacity .4s}
  .mile.lit .mile-dot{opacity:1}
  .mile .mile-tag{opacity:.3;transition:opacity .4s, fill .4s}
  .mile.lit .mile-tag{opacity:1}
  /* Jalon courant (pulse) */
  .mile.current .mile-ring{filter:drop-shadow(0 0 6px var(--ps-g1,#5B2BE0))}
  .mile.current .mile-dot{animation:mileDot 1.4s ease-in-out infinite}
  @keyframes mileDot{50%{r:7}}

  /* Badge "arrivée" sur la courbe */
  .ps-finish{
    position:absolute;
    right:6%;bottom:2%;
    display:flex;align-items:center;gap:6px;
    padding:6px 10px;border-radius:999px;
    background:linear-gradient(135deg,var(--ps-g1,#5B2BE0),var(--ps-g2,#C9A24B));
    color:#FFFFFF;font-size:11px;font-weight:700;letter-spacing:.02em;
    font-family:'Cabinet Grotesk','Inter',sans-serif;
    box-shadow:0 8px 18px -8px rgba(91,43,224,.45), 0 0 0 3px var(--ps-bg,#FFFFFF);
    opacity:0;transform:translateY(6px) scale(.9);
    transition:opacity .5s, transform .5s cubic-bezier(.5,1.6,.5,1);
  }
  .ps-finish svg{width:12px;height:12px;stroke-width:3}
  .parcours-stage.complete .ps-finish{opacity:1;transform:translateY(0) scale(1)}

  /* Panneau info */
  .ps-info{
    display:flex;flex-direction:column;gap:10px;
    padding:16px;border-radius:14px;
    background:var(--ps-info-bg, rgba(91,43,224,.04));
    border:1px solid var(--ps-info-line, rgba(91,43,224,.12));
  }
  .ps-info-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .ps-info-step{
    font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;
    color:var(--ps-dim,rgba(15,20,38,.5));
    text-transform:uppercase;letter-spacing:.12em;
  }
  .ps-info-status{
    font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;
    padding:3px 8px;border-radius:5px;border:1px solid;white-space:nowrap;
    transition:all .4s;
  }
  .ps-info-status[data-state="ok"]{background:rgba(16,185,129,.1);color:#0B8F5A;border-color:rgba(16,185,129,.35)}
  .ps-info-status[data-state="wait"]{background:rgba(91,43,224,.1);color:var(--ps-g1,#5B2BE0);border-color:rgba(91,43,224,.35)}
  .ps-info-status[data-state="todo"]{background:rgba(23,26,43,.04);color:var(--ps-dim,rgba(15,20,38,.5));border-color:rgba(23,26,43,.12)}

  .ps-info-title{
    font-size:17px;font-weight:700;color:var(--ps-fg,#0F1426);
    letter-spacing:-.01em;line-height:1.25;
    min-height:2.5em;
  }
  .ps-info-meta{
    font-size:12px;color:var(--ps-mute,rgba(15,20,38,.6));
    line-height:1.45;min-height:2.9em;
  }
  /* Cross-fade sur les champs live */
  #psInfoStep,#psInfoStatus,#psInfoTitle,#psInfoMeta{transition:opacity .25s ease}
  .ps-info.swapping #psInfoStep,
  .ps-info.swapping #psInfoStatus,
  .ps-info.swapping #psInfoTitle,
  .ps-info.swapping #psInfoMeta{opacity:0}

  .ps-bar{
    height:4px;border-radius:999px;overflow:hidden;
    background:var(--ps-line,rgba(23,26,43,.08));margin-top:2px;
  }
  .ps-bar-fill{
    height:100%;width:0%;
    background:linear-gradient(90deg,var(--ps-g1,#5B2BE0),var(--ps-g2,#C9A24B));
    border-radius:999px;
    transition:width .8s cubic-bezier(.2,.7,.2,1);
  }

  .ps-summary{
    list-style:none;margin:4px 0 0;padding:0;
    display:flex;flex-direction:column;gap:6px;
  }
  .ps-summary li{
    display:flex;align-items:center;gap:8px;
    font-size:11.5px;color:var(--ps-mute,rgba(15,20,38,.55));
    font-family:'JetBrains Mono',monospace;
    transition:color .3s;
  }
  .ps-summary .ps-sdot{
    width:7px;height:7px;border-radius:50%;flex-shrink:0;
    background:var(--ps-line,rgba(23,26,43,.2));
    transition:background .3s, box-shadow .3s;
  }
  .ps-summary li.lit{color:var(--ps-fg,#0F1426)}
  .ps-summary li.lit .ps-sdot{background:#10B981}
  .ps-summary li.current{color:var(--ps-g1,#5B2BE0);font-weight:700}
  .ps-summary li.current .ps-sdot{background:var(--ps-g1,#5B2BE0);box-shadow:0 0 8px rgba(91,43,224,.5)}

  /* Footer */
  .ps-foot{
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    margin-top:14px;padding-top:12px;
    border-top:1px solid var(--ps-line,rgba(23,26,43,.08));
    font-family:'JetBrains Mono',monospace;
    font-size:10px;color:var(--ps-mute,rgba(15,20,38,.55));
  }
  .ps-leg{display:flex;align-items:center;gap:5px}
  .ps-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
  .ps-dot.ok{background:#10B981}
  .ps-dot.wait{background:var(--ps-g1,#5B2BE0);box-shadow:0 0 8px rgba(91,43,224,.5)}
  .ps-dot.todo{background:rgba(23,26,43,.2)}
  .ps-auto{color:var(--ps-dim,rgba(15,20,38,.45));margin-left:auto}

  @media (max-width:540px){
    .ps-curve{min-height:280px}
    .ps-info-title{min-height:auto}
    .ps-info-meta{min-height:auto}
  }

/* ──────────────────────────────────────────────────────────
   THEME TOGGLE BUTTON (dans la nav)
   Chaque thème swap l'icône sun/moon via [data-theme].
────────────────────────────────────────────────────────── */
.theme-toggle{
  position:relative;width:40px;height:40px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line-2);background:rgba(255,255,255,.04);
  color:var(--fg-mute);cursor:pointer;
  transition:background .2s, color .2s, border-color .2s, transform .2s;
}
.theme-toggle:hover{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24)}
.theme-toggle svg{width:16px;height:16px;transition:opacity .25s, transform .4s var(--ease-spring)}
.theme-toggle .i-moon{display:none}
.theme-toggle .i-sun{display:block}
html[data-theme="light"] .theme-toggle{background:#FFFFFF;border-color:rgba(23,26,43,.12);color:var(--fg)}
html[data-theme="light"] .theme-toggle:hover{background:#FAF7F0;border-color:var(--gold-line)}
html[data-theme="light"] .theme-toggle .i-moon{display:block}
html[data-theme="light"] .theme-toggle .i-sun{display:none}

/* ──────────────────────────────────────────────────────────
   MOBILE NAV DRAWER (déclenché par .nav-burger)
────────────────────────────────────────────────────────── */
.nav-drawer{
  position:fixed;inset:0 0 auto 0;top:var(--topbar-h,36px);z-index:55;
  padding:20px var(--gutter) 24px;
  background:rgba(10,15,28,.96);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  display:none;flex-direction:column;gap:12px;
  opacity:0;transform:translateY(-10px);
  transition:opacity .25s var(--ease-out), transform .25s var(--ease-out);
}
.nav-drawer.is-open{display:flex;opacity:1;transform:translateY(0)}
.nav-drawer a{
  padding:12px 14px;border-radius:10px;font-size:15px;color:var(--fg-mute);
  border:1px solid var(--line);background:rgba(255,255,255,.02);
}
.nav-drawer a:hover{color:#fff;background:rgba(255,255,255,.05)}
@media (min-width:1024px){ .nav-drawer{display:none!important} }
html[data-theme="light"] .nav-drawer{background:rgba(247,244,236,.96);border-bottom-color:rgba(23,26,43,.08)}
html[data-theme="light"] .nav-drawer a{color:var(--fg-mute);background:#FFFFFF;border-color:rgba(23,26,43,.08)}
html[data-theme="light"] .nav-drawer a:hover{color:var(--fg);background:#FAF7F0}

/* WP admin bar — décaler la nav sticky */
html.admin-bar .nav{top:32px}
@media (max-width:782px){ html.admin-bar .nav{top:46px} }

/* Page générique (blog, archive, 404) — containers lisibles sur fond sombre.

   v11.28.3 — Approche inversée : par défaut, .entry-content occupe 100%
   de son parent (qui est déjà contraint par le layout constrained du thème
   à --container = 1200px via theme.json). On ne spécialise la largeur de
   lecture (--prose) que pour les contextes éditoriaux longs (articles,
   archives, 404, recherche). Cela évite de ré-écraser un max-width qui
   pourrait être tiré par un autre selecteur WP (wp-container-* généré par
   FSE, cache de thème, etc.). */
.cv-page{padding:60px 0}
.cv-page .entry-content{
  max-width:100%;
  margin-inline:auto;
}
.single .cv-page .entry-content,
.blog .cv-page .entry-content,
.archive .cv-page .entry-content,
.search .cv-page .entry-content,
.error404 .cv-page .entry-content{
  max-width:var(--prose);
}
.cv-page h1,.cv-page h2,.cv-page h3{color:var(--fg)}
.cv-page a{color:var(--cyan);text-decoration:underline}

/* ══════════════════════════════════════════════════════════
     LIGHT THEME OVERRIDE — Ivoire premium
  ══════════════════════════════════════════════════════════ */  
  html[data-theme="light"]{
    --ink-0:#F4EFE4;
    --ink-1:#EFE9DB;
    --ink-2:#E8DFCB;
    --ink-3:#DCD0B4;
    --ink-4:#CEBF99;
    --line:rgba(23,26,43,.10);
    --line-2:rgba(23,26,43,.16);
    --violet:#5B2BE0;
    --violet-2:#7C3AED;
    --violet-glow:rgba(91,43,224,.22);
    --cyan:#0EA5C4;
    --cyan-2:#22C3E0;
    --gold:#B08333;
    --gold-2:#C9A24B;
    --gold-soft:rgba(176,131,51,.12);
    --gold-line:rgba(176,131,51,.32);
    --gold-glow:rgba(201,162,75,.30);
    --white:#0F1426;         /* "white" → now ink, since it's used for text */
    --ivory:#F7F4EC;
    --bg:#F7F4EC;
    --bg-raised:#FFFFFF;
    --bg-soft:#F1ECDF;
    --fg:#0F1426;
    --fg-mute:rgba(15,20,38,.72);
    --fg-dim:rgba(15,20,38,.54);
    --accent:var(--violet);
    --accent-2:var(--cyan);
    --shadow-card: 0 1px 0 0 rgba(255,255,255,.9) inset,
                   0 30px 50px -22px rgba(40,30,10,.18),
                   0 6px 16px -8px rgba(40,30,10,.12);
    --shadow-lift: 0 1px 0 0 rgba(255,255,255,.9) inset,
                   0 40px 80px -24px rgba(40,30,10,.22),
                   0 14px 30px -12px rgba(201,162,75,.18);
    --shadow-soft: 0 10px 30px -14px rgba(40,30,10,.14);
  }/* kill grid/particles overlays that were made for dark */

  
  html[data-theme="light"] body{background:var(--ivory)!important;color:var(--fg)!important}/* text-based tweaks */

  
  html[data-theme="light"] ::selection{background:var(--gold-soft);color:var(--fg)}/* ─── HERO ──────────────────────────────────────────────── */

  
  html[data-theme="light"] .hero{background:transparent}
  html[data-theme="light"] .hero-bg .grid{
    background-image:
      linear-gradient(rgba(15,20,38,.04) 1px,transparent 1px),
      linear-gradient(90deg,rgba(15,20,38,.04) 1px,transparent 1px)!important;
  }
  html[data-theme="light"] .hero-bg .glow-a{background:radial-gradient(closest-side,rgba(201,162,75,.22),transparent 70%)!important}
  html[data-theme="light"] .hero-bg .glow-b{background:radial-gradient(closest-side,rgba(124,58,237,.14),transparent 70%)!important}
  html[data-theme="light"] #particles{opacity:.4}

  html[data-theme="light"] .hero-badge{background:#FFFFFF;border-color:rgba(23,26,43,.12);color:var(--fg)}
  html[data-theme="light"] .hero-badge .tag{background:var(--gold-soft);color:var(--gold);border-color:var(--gold-line)}
  html[data-theme="light"] .hero-badge strong{color:var(--fg)}

  html[data-theme="light"] .hero h1{color:var(--fg)}
  html[data-theme="light"] .hero h1 .accent{
    background-image:linear-gradient(95deg, var(--violet) 0%, #0F1426 45%, var(--cyan) 100%)!important;
    background-color:transparent!important;
    -webkit-background-clip:text!important;background-clip:text!important;
    color:transparent!important;
  }
  html[data-theme="light"] .hero h1 .grad-gold{
    background-image:linear-gradient(135deg,#E8C97C 0%,#C9A24B 30%,#8E6B2B 70%,#C9A24B 100%)!important;
    background-color:transparent!important;
    -webkit-background-clip:text!important;background-clip:text!important;
    color:transparent!important;
  }
  html[data-theme="light"] .hero-lede{color:var(--fg-mute)}
  html[data-theme="light"] .hero-lede strong{color:var(--fg)}
  html[data-theme="light"] .hero-lede em{color:var(--gold);font-style:normal;font-weight:600}
  html[data-theme="light"] .hero-proof .item{color:var(--fg-mute);border-color:rgba(23,26,43,.12)}
  html[data-theme="light"] .hero-proof .item svg{color:var(--violet)}
  html[data-theme="light"] .hero-proof .item .num{color:var(--fg);background:rgba(15,20,38,.04);border-color:rgba(23,26,43,.1)}

  html[data-theme="light"] .hero-badge-float{
    background:#FFFFFF;border-color:rgba(23,26,43,.1);color:var(--fg);
    box-shadow:0 20px 40px -15px rgba(40,30,10,.22),0 4px 12px -6px rgba(40,30,10,.14);
  }
  html[data-theme="light"] .hero-badge-float .s{color:var(--fg-dim)}
  html[data-theme="light"] .hero-badge-float .ic{
    background:linear-gradient(135deg,var(--gold-soft),rgba(124,58,237,.08));
    color:var(--gold);border-color:var(--gold-line);
  }/* ─── MOCKUP (surface blanche, chrome warm) ─────────────── */

  
  html[data-theme="light"] .mockup{
    background:linear-gradient(180deg,#FFFFFF 0%,#FAF7F0 100%)!important;
    border-color:rgba(23,26,43,.08)!important;
    box-shadow:0 40px 80px -24px rgba(40,30,10,.22),0 14px 30px -12px rgba(201,162,75,.18),0 0 0 1px rgba(255,255,255,.8) inset!important;
  }
  html[data-theme="light"] .mockup-chrome{background:#F1ECDF;border-bottom-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .mockup-chrome .dot{background:rgba(23,26,43,.15)}
  html[data-theme="light"] .mockup-chrome .url{background:#FFFFFF;border-color:rgba(23,26,43,.08);color:var(--fg-mute)}
  html[data-theme="light"] .m-side{background:#FAF7F0;border-right-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .m-side .brand{color:var(--fg)}
  html[data-theme="light"] .m-side .brand-mark{background:linear-gradient(135deg,var(--violet),var(--gold))}
  html[data-theme="light"] .m-side .section-label{color:var(--fg-dim)}
  html[data-theme="light"] .m-side .nav-item{color:var(--fg-mute)}
  html[data-theme="light"] .m-side .nav-item.active{background:rgba(124,58,237,.08);color:var(--violet)}
  html[data-theme="light"] .m-side .nav-item .count{background:rgba(23,26,43,.05);color:var(--fg-dim)}
  html[data-theme="light"] .m-top{border-bottom-color:rgba(23,26,43,.06)}
  html[data-theme="light"] .m-top .title{color:var(--fg)}
  html[data-theme="light"] .m-top .title small{color:var(--fg-dim)}
  html[data-theme="light"] .m-top .avatar{border-color:#FFF}
  html[data-theme="light"] .m-stat{background:#FFFFFF;border-color:rgba(23,26,43,.06);box-shadow:0 4px 12px -8px rgba(40,30,10,.1)}
  html[data-theme="light"] .m-stat .k{color:var(--fg-dim)}
  html[data-theme="light"] .m-stat .v{color:var(--fg)}
  html[data-theme="light"] .m-stat .v .unit{color:var(--fg-dim)}
  html[data-theme="light"] .m-stat .trend{color:#0B8F5A}
  html[data-theme="light"] .m-progress{background:#FFFFFF;border-color:rgba(23,26,43,.06)}
  html[data-theme="light"] .m-progress .row .l{color:var(--fg)}
  html[data-theme="light"] .m-progress .row .r{color:var(--gold)}
  html[data-theme="light"] .m-progress .bar{background:rgba(23,26,43,.06)}
  html[data-theme="light"] .m-progress .fill{background:linear-gradient(90deg,var(--violet),var(--gold))}
  html[data-theme="light"] .m-progress .steps .step{color:var(--fg-dim);border-color:rgba(23,26,43,.1)}
  html[data-theme="light"] .m-progress .steps .step.done{color:var(--violet);background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.28)}
  html[data-theme="light"] .m-files{background:transparent}
  html[data-theme="light"] .m-file{background:#FFFFFF;border-color:rgba(23,26,43,.06)}
  html[data-theme="light"] .m-file .name{color:var(--fg)}
  html[data-theme="light"] .m-file .sub{color:var(--fg-dim)}
  html[data-theme="light"] .m-file .ic{background:rgba(23,26,43,.04);color:var(--fg-mute)}
  html[data-theme="light"] .m-file .status.ok{background:rgba(16,185,129,.1);color:#0B8F5A;border-color:rgba(16,185,129,.3)}
  html[data-theme="light"] .m-file .status.pending{background:var(--gold-soft);color:var(--gold);border-color:var(--gold-line)}
  html[data-theme="light"] .m-notif{
    background:#FFFFFF;border-color:rgba(23,26,43,.1);color:var(--fg);
    box-shadow:0 20px 40px -15px rgba(40,30,10,.22);
  }
  html[data-theme="light"] .m-notif .ic{background:rgba(16,185,129,.1);color:#0B8F5A}
  html[data-theme="light"] .m-notif .s{color:var(--fg-dim)}/* ─── TOPBAR ─────────────────────────────────────────────── */

  
  html[data-theme="light"] .topbar{
    background:linear-gradient(90deg,#F1ECDF 0%,#F7F4EC 50%,#F1ECDF 100%)!important;
    color:var(--fg-mute)!important;border-bottom-color:rgba(23,26,43,.08)!important;
  }
  html[data-theme="light"] .topbar-inner strong{color:var(--fg)}
  html[data-theme="light"] .topbar-inner .sep{color:var(--fg-dim)}
  html[data-theme="light"] .pulse{background:var(--gold)}
  html[data-theme="light"] .pulse::after{background:var(--gold)}
  html[data-theme="light"] .topbar::before{background:linear-gradient(90deg,transparent 0%,rgba(201,162,75,.25) 50%,transparent 100%)!important}/* ─── NAV ────────────────────────────────────────────────── */

  
  html[data-theme="light"] .nav{background:rgba(247,244,236,.82)!important;border-bottom-color:rgba(23,26,43,.08)!important;backdrop-filter:blur(20px) saturate(160%)}
  html[data-theme="light"] .nav .logo{color:var(--fg)}
  html[data-theme="light"] .nav .logo-mark{background:linear-gradient(135deg,var(--violet),var(--gold));color:#fff}
  html[data-theme="light"] .nav-links a{color:var(--fg-mute)}
  html[data-theme="light"] .nav-links a:hover{color:var(--fg)}/* ─── BUTTONS ────────────────────────────────────────────── */

  
  html[data-theme="light"] .btn-primary{
    background:linear-gradient(135deg,#0F1426 0%,#1A1F3A 100%)!important;
    color:#FFFFFF!important;border:1px solid #0F1426;
    box-shadow:0 10px 26px -12px rgba(15,20,38,.4),0 2px 6px -2px rgba(15,20,38,.2);
  }
  html[data-theme="light"] .btn-primary:hover{transform:translateY(-2px)}
  html[data-theme="light"] .btn-ghost{background:#FFFFFF;color:var(--fg);border:1px solid rgba(23,26,43,.14)!important}
  html[data-theme="light"] .btn-ghost:hover{background:#FAF7F0;border-color:var(--gold-line)!important}/* ─── EYEBROW / SECTION HEAD ─────────────────────────────── */

  
  html[data-theme="light"] .eyebrow{
    color:var(--gold);
    background:var(--gold-soft)!important;
    border-color:var(--gold-line)!important;
  }
  html[data-theme="light"] .eyebrow .dot{background:var(--gold);box-shadow:0 0 12px var(--gold-glow)}
  html[data-theme="light"] .section-title{color:var(--fg)}
  html[data-theme="light"] .section-title .grad{
    background-image:linear-gradient(95deg,var(--violet),#0F1426)!important;
    background-color:transparent!important;
    -webkit-background-clip:text!important;background-clip:text!important;
    color:transparent!important;
  }
  html[data-theme="light"] .section-title .grad-gold{
    background-image:linear-gradient(135deg,#E8C97C 0%,#C9A24B 30%,#8E6B2B 70%,#C9A24B 100%)!important;
    background-color:transparent!important;
    -webkit-background-clip:text!important;background-clip:text!important;
    color:transparent!important;
  }
  html[data-theme="light"] .section-lede{color:var(--fg-mute)}/* ─── TRUST STRIP ────────────────────────────────────────── */

  
  html[data-theme="light"] .trust{background:linear-gradient(180deg,#F7F4EC 0%,#F1ECDF 100%)!important;border-block-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .trust-label{color:var(--fg-dim)}
  html[data-theme="light"] .trust-row .mark{color:var(--fg-mute)}/* ─── AUDIENCES ─────────────────────────────────────────── */

  
  html[data-theme="light"] .audiences{background:#FFFFFF!important}
  html[data-theme="light"] .audiences::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(1100px 400px at 50% -10%, rgba(201,162,75,.18), transparent 60%),
      radial-gradient(900px 300px at 90% 100%, rgba(124,58,237,.06), transparent 70%);
  }
  html[data-theme="light"] .audiences > *{position:relative}
  html[data-theme="light"] .aud{background:#FAF7F0;border-color:rgba(23,26,43,.08);color:var(--fg)}
  html[data-theme="light"] .aud:hover{background:#FFFFFF;border-color:var(--gold-line);box-shadow:var(--shadow-card)}
  html[data-theme="light"] .aud-name{color:var(--fg)}
  html[data-theme="light"] .aud-tag{color:var(--gold)}
  html[data-theme="light"] .aud-sep{background:rgba(23,26,43,.08)}
  html[data-theme="light"] .aud-line{color:var(--fg-mute)}
  html[data-theme="light"] .aud-ic{
    background:linear-gradient(135deg,var(--gold-soft),rgba(124,58,237,.06));
    border-color:var(--gold-line);color:var(--gold);
  }
  html[data-theme="light"] .af-btn{background:#FFFFFF;border-color:rgba(23,26,43,.12);color:var(--fg-mute)}
  html[data-theme="light"] .af-btn:hover{background:#F7F4EC;color:var(--fg)}
  html[data-theme="light"] .af-btn.is-on{background:#0F1426;border-color:#0F1426;color:#FFFFFF}/* ─── PAIN ──────────────────────────────────────────────── */

  
  html[data-theme="light"] .pain{background:#F7F4EC!important}
  html[data-theme="light"] .pain-col{background:#FFFFFF;border-color:rgba(23,26,43,.08);color:var(--fg)}
  html[data-theme="light"] .pain-col h3{color:var(--fg)}
  html[data-theme="light"] .pain-n{background:rgba(23,26,43,.05);color:var(--fg-mute);border-color:rgba(23,26,43,.1)}
  html[data-theme="light"] .pain-n-pro{background:rgba(124,58,237,.1);color:var(--violet);border-color:rgba(124,58,237,.28)}
  html[data-theme="light"] .pro-badge{background:var(--gold-soft);color:var(--gold);border-color:var(--gold-line)}
  html[data-theme="light"] .pain-col-pro{background:linear-gradient(180deg,#FFFBF2 0%,#FFFFFF 60%);border-color:var(--gold-line)}
  html[data-theme="light"] .pain-card{background:#FAF7F0;border-color:rgba(23,26,43,.06)}
  html[data-theme="light"] .pain-card:hover{background:#FFFFFF;border-color:var(--gold-line)}
  html[data-theme="light"] .pain-card .ic{background:#FFFFFF;border-color:rgba(23,26,43,.08);color:var(--fg-mute)}
  html[data-theme="light"] .pain-card:hover .ic{color:var(--violet);border-color:rgba(124,58,237,.3)}
  html[data-theme="light"] .pain-card h4{color:var(--fg)}
  html[data-theme="light"] .pain-card p{color:var(--fg-mute)}
  html[data-theme="light"] .pain-cost{background:linear-gradient(90deg,rgba(124,58,237,.08) 0%,var(--gold-soft) 100%);border-color:rgba(124,58,237,.18)}
  html[data-theme="light"] .cost-k{color:var(--fg-dim)}
  html[data-theme="light"] .cost-v{color:var(--fg-mute)}
  html[data-theme="light"] .cost-v .mono{color:var(--fg)}
  html[data-theme="light"] .strike{color:var(--fg-dim);text-decoration-color:rgba(124,58,237,.45)}/* ─── TRANSITION DARK → transition GOLD ─────────────────── */

  
  html[data-theme="light"] .transition-dark{
    background:
      radial-gradient(ellipse at 30% 0%,rgba(201,162,75,.3) 0%,transparent 55%),
      radial-gradient(ellipse at 70% 100%,rgba(124,58,237,.14) 0%,transparent 55%),
      linear-gradient(180deg,#F1ECDF 0%,#F7F4EC 100%)!important;
    border-color:rgba(23,26,43,.08)!important;
  }
  html[data-theme="light"] .transition-dark::before{
    background:repeating-linear-gradient(45deg,transparent 0 38px,rgba(23,26,43,.025) 38px 39px)!important;
  }
  html[data-theme="light"] .td-ribbon{-webkit-text-stroke-color:rgba(23,26,43,.12)!important}
  html[data-theme="light"] .td-eyebrow{color:var(--gold)}
  html[data-theme="light"] .td-line{color:var(--fg)}
  html[data-theme="light"] .td-line span.accent{
    background-image:linear-gradient(95deg,var(--violet),var(--gold))!important;
    background-color:transparent!important;
    -webkit-background-clip:text!important;background-clip:text!important;
    color:transparent!important;
  }/* ─── SOLUTION / LAYERS ─────────────────────────────────── */

  
  html[data-theme="light"] .solution{background:linear-gradient(180deg,#FFFFFF 0%,#F7F4EC 100%)!important}
  html[data-theme="light"] .layer{background:#FFFFFF;border-color:rgba(23,26,43,.08);color:var(--fg)}
  html[data-theme="light"] .layer h3{color:var(--fg)}
  html[data-theme="light"] .layer-desc, html[data-theme="light"] .layer-feats li{color:var(--fg-mute)}
  html[data-theme="light"] .layer-feats li svg{color:var(--violet)}
  html[data-theme="light"] .layer-tag{background:rgba(23,26,43,.05);color:var(--fg-mute);border-color:rgba(23,26,43,.1)}
  html[data-theme="light"] .layer-tag-pro{background:rgba(124,58,237,.1);color:var(--violet);border-color:rgba(124,58,237,.28)}
  html[data-theme="light"] .chip{background:rgba(23,26,43,.05);color:var(--fg-mute);border-color:rgba(23,26,43,.1)}
  html[data-theme="light"] .chip-pro{background:rgba(124,58,237,.12);color:var(--violet);border-color:rgba(124,58,237,.35)}
  html[data-theme="light"] .layer-pro{background:linear-gradient(180deg,#FFFBF2 0%,#FFFFFF 100%);border-color:var(--gold-line)}
  html[data-theme="light"] .layer-pro::before{background:radial-gradient(closest-side,rgba(201,162,75,.28),transparent 70%)}
  html[data-theme="light"] .layer-plus{
    background:linear-gradient(135deg,var(--violet),var(--gold))!important;color:#FFF;
    box-shadow:0 0 30px var(--gold-glow),0 0 0 1px rgba(255,255,255,.5) inset!important;
  }/* ─── FEATURES ──────────────────────────────────────────── */

  
  html[data-theme="light"] .features{background:#F7F4EC}
  html[data-theme="light"] .feat{background:#FFFFFF;border-color:rgba(23,26,43,.08);color:var(--fg)}
  html[data-theme="light"] .feat h3{color:var(--fg)}
  html[data-theme="light"] .feat p{color:var(--fg-mute)}
  html[data-theme="light"] .feat code{background:rgba(15,20,38,.06);color:var(--fg)}
  html[data-theme="light"] .feat-ic{
    background:linear-gradient(135deg,var(--gold-soft),rgba(124,58,237,.06));
    border-color:var(--gold-line);color:var(--gold);
  }
  html[data-theme="light"] .feat:hover .feat-ic{color:var(--violet)}
  html[data-theme="light"] .feat-tag{background:rgba(23,26,43,.04);color:var(--fg-dim);border-color:rgba(23,26,43,.1)}
  html[data-theme="light"] .feat-tag-pro{background:rgba(124,58,237,.1);color:var(--violet);border-color:rgba(124,58,237,.28)}
  html[data-theme="light"] .feat-pro{background:linear-gradient(180deg,#FFFBF2 0%,#FFFFFF 60%);border-color:var(--gold-line)}/* ─── PARCOURS FOCUS ────────────────────────────────────── */

  
  html[data-theme="light"] .parcours{background:#FFFFFF}
  html[data-theme="light"] .parcours-bg{
    background:
      radial-gradient(ellipse at 80% 20%,rgba(201,162,75,.18) 0%,transparent 55%),
      radial-gradient(ellipse at 10% 80%,rgba(124,58,237,.1) 0%,transparent 55%)!important;
  }
  html[data-theme="light"] .parcours-bullets li{color:var(--fg-mute)}
  html[data-theme="light"] .parcours-bullets .num{color:var(--violet);background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.25)}/* ─── COMPARISON ─────────────────────────────────────────── */

  
  html[data-theme="light"] .comparison{background:#F7F4EC}
  html[data-theme="light"] .cmp-wrap{background:#FFFFFF;border-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .cmp th, html[data-theme="light"] .cmp td{border-bottom-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .cmp thead th{background:#FAF7F0}
  html[data-theme="light"] .cmp tbody th{color:var(--fg-mute)}
  html[data-theme="light"] .cmp tbody td{color:var(--fg-mute)}
  html[data-theme="light"] .cmp tbody tr:hover{background:rgba(124,58,237,.04)}
  html[data-theme="light"] .cmp-col{color:var(--fg)}
  html[data-theme="light"] .cmp-sub{color:var(--fg-dim)}
  html[data-theme="light"] .cmp-pro{background:linear-gradient(180deg,#FFFBF2 0%,#FFFFFF 100%)!important;border-left-color:var(--gold-line)!important;border-right-color:var(--gold-line)!important}
  html[data-theme="light"] .cmp-star{color:var(--gold)}
  html[data-theme="light"] .ok::before{background-color:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
  html[data-theme="light"] .ko::before{background-color:rgba(23,26,43,.04);border-color:rgba(23,26,43,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E")}/* ─── PROOF ──────────────────────────────────────────────── */

  
  html[data-theme="light"] .proof{background:linear-gradient(180deg,#FFFFFF 0%,#F7F4EC 100%)!important}
  html[data-theme="light"] .testi{background:#FFFFFF;border-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .testi blockquote{color:var(--fg)}
  html[data-theme="light"] .testi footer{border-top-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .testi .name{color:var(--fg)}
  html[data-theme="light"] .testi .role{color:var(--fg-dim)}
  html[data-theme="light"] .quote-mark{color:rgba(201,162,75,.25)}
  html[data-theme="light"] .testi .stars{color:var(--gold);filter:drop-shadow(0 0 6px var(--gold-glow))}/* ─── PRICING ────────────────────────────────────────────── */

  
  html[data-theme="light"] .pricing{background:linear-gradient(180deg,#F7F4EC 0%,#F1ECDF 100%)!important}
  html[data-theme="light"] .price-toggle{background:#FFFFFF;border-color:rgba(23,26,43,.12)}
  html[data-theme="light"] .pt-btn{color:var(--fg-mute);white-space:nowrap;min-width:max-content}
  html[data-theme="light"] .pt-btn.is-on{background:#0F1426;color:#FFFFFF}
  html[data-theme="light"] .price{background:#FFFFFF;border-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .price header h3, html[data-theme="light"] .price-num{color:var(--fg)}
  html[data-theme="light"] .price header p, html[data-theme="light"] .price-feats li, html[data-theme="light"] .price-curr, html[data-theme="light"] .price-period, html[data-theme="light"] .price-foot{color:var(--fg-mute)}
  html[data-theme="light"] .price-amount{border-color:rgba(23,26,43,.1)}
  html[data-theme="light"] .price-feats li svg{color:var(--violet)}
  html[data-theme="light"] .price-tag{color:var(--fg-dim)}
  html[data-theme="light"] .price-tag-pro{color:var(--gold)!important}
  html[data-theme="light"] .price-pro{background:linear-gradient(180deg,#FFFBF2 0%,#FFFFFF 100%)!important;border-color:var(--gold-line)!important}
  html[data-theme="light"] .price-pro::before{
    background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 30%,transparent 60%)!important;
    opacity:.9!important;
  }
  html[data-theme="light"] .price-pro::after{background:linear-gradient(180deg,rgba(201,162,75,.08),transparent 50%)!important}
  html[data-theme="light"] .price-pro .halo{opacity:.25!important;filter:blur(24px)!important;background:conic-gradient(from 0deg,var(--violet) 0%,var(--gold-2) 30%,var(--violet) 60%,var(--gold-2) 100%)!important}
  html[data-theme="light"] .price-foot a{color:var(--violet);border-bottom-color:rgba(124,58,237,.3)}/* ─── GUARANTEE (déjà clair, on garde) ──────────────────── */

  
  html[data-theme="light"] .guarantee{background:#FFFFFF!important;border-color:rgba(23,26,43,.08)!important}/* ─── FAQ ────────────────────────────────────────────────── */

  
  html[data-theme="light"] .faq{background:#F7F4EC}
  html[data-theme="light"] .faq-item{background:#FFFFFF;border-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .faq-item:hover{background:#FAF7F0;border-color:var(--gold-line)}
  html[data-theme="light"] .faq-item[open]{background:#FFFBF2;border-color:var(--gold-line)}
  html[data-theme="light"] .faq-item summary{color:var(--fg)}
  html[data-theme="light"] .faq-ic{background:rgba(23,26,43,.04);color:var(--fg-mute);border-color:rgba(23,26,43,.1)}
  html[data-theme="light"] .faq-item[open] .faq-ic{background:var(--gold);color:#FFFFFF;border-color:var(--gold)}
  html[data-theme="light"] .faq-body{color:var(--fg-mute)}/* ─── FINAL CTA ─────────────────────────────────────────── */

  
  html[data-theme="light"] .final-cta{background:transparent}
  html[data-theme="light"] .fc-bg{
    background:
      radial-gradient(ellipse at 50% 0%,rgba(201,162,75,.28) 0%,transparent 55%),
      radial-gradient(ellipse at 50% 100%,rgba(124,58,237,.18) 0%,transparent 55%),
      linear-gradient(180deg,#F1ECDF 0%,#FFFFFF 50%,#F1ECDF 100%)!important;
  }
  html[data-theme="light"] .fc-bg::after{
    background-image:
      linear-gradient(rgba(15,20,38,.05) 1px,transparent 1px),
      linear-gradient(90deg,rgba(15,20,38,.05) 1px,transparent 1px)!important;
  }
  html[data-theme="light"] .fc-inner h2{color:var(--fg)}
  html[data-theme="light"] .fc-inner p{color:var(--fg-mute)}
  html[data-theme="light"] .fc-primary{
    background:linear-gradient(90deg,#0F1426,#1A1F3A,var(--gold),#0F1426)!important;
    background-size:300% 100%!important;
    color:#FFFFFF!important;
    box-shadow:0 1px 0 0 rgba(255,255,255,.15) inset,0 20px 50px -10px rgba(201,162,75,.4),0 4px 14px -2px rgba(15,20,38,.25)!important;
  }
  html[data-theme="light"] .fc-micro{color:var(--fg-dim)}/* ─── FOOTER ────────────────────────────────────────────── */

  
  html[data-theme="light"] .footer{background:#0F1426!important;border-top-color:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.72)}
  html[data-theme="light"] .footer .logo{color:#FFFFFF}
  html[data-theme="light"] .footer-brand p{color:rgba(255,255,255,.6)}
  html[data-theme="light"] .footer-tag{color:rgba(255,255,255,.4)}
  html[data-theme="light"] .footer-cols h4{color:rgba(255,255,255,.5)}
  html[data-theme="light"] .footer-cols a{color:rgba(255,255,255,.72)}
  html[data-theme="light"] .footer-cols a:hover{color:#FFFFFF}
  html[data-theme="light"] .footer-base{color:rgba(255,255,255,.45);border-top-color:rgba(255,255,255,.08)}
  html[data-theme="light"] .footer-badges .b{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}/* ─── TWEAKS PANEL ──────────────────────────────────────── */

  
  html[data-theme="light"] #tweaks{background:linear-gradient(180deg,#FFFFFF 0%,#FAF7F0 100%)!important;border-color:var(--gold-line)!important;box-shadow:0 30px 60px -15px rgba(40,30,10,.3),0 0 0 1px rgba(201,162,75,.15)!important}
  html[data-theme="light"] #tweaks header strong{color:var(--gold)!important}
  html[data-theme="light"] #tweaksClose{background:rgba(15,20,38,.04)!important;border-color:rgba(23,26,43,.1)!important;color:var(--fg-mute)!important}
  html[data-theme="light"] .tw-group{border-bottom-color:rgba(23,26,43,.08)!important}
  html[data-theme="light"] .tw-group > label{color:var(--fg-dim)!important}
  html[data-theme="light"] .tw-seg{background:rgba(15,20,38,.04)!important;border-color:rgba(23,26,43,.1)!important;color:var(--fg-mute)!important}
  html[data-theme="light"] .tw-seg.is-on{background:rgba(124,58,237,.1)!important;border-color:rgba(124,58,237,.35)!important;color:var(--violet)!important}
  html[data-theme="light"] .tw-foot{color:var(--fg-dim)!important}/* ─── Misc ──────────────────────────────────────────────── */

  
  html[data-theme="light"] .m-notif::before, html[data-theme="light"] .topbar::before, html[data-theme="light"] .hero-badge-float .ic::before{/* keep */}/* ══════════════════════════════════════════════════════════
     CONTRAST FIX — chasser tous les textes blancs restants
     (override des anciennes règles dark non couvertes)
  ══════════════════════════════════════════════════════════ *//* Selection */

  

  
  html[data-theme="light"] ::selection{background:var(--gold-soft)!important;color:var(--fg)!important}/* Boutons — couleurs déjà gérées plus haut mais on sécurise */

  
  html[data-theme="light"] .btn-ghost{color:var(--fg)!important}
  html[data-theme="light"] .btn-ghost:hover{color:var(--fg)!important;border-color:var(--gold-line)!important}
  html[data-theme="light"] .btn-dark{background:#0F1426!important;color:#FFFFFF!important;border-color:#0F1426!important}/* Topbar */

  
  html[data-theme="light"] .topbar-inner strong{color:var(--fg)!important}/* Nav */

  
  html[data-theme="light"] .nav-links a:hover{color:var(--fg)!important}
  html[data-theme="light"] .logo-mark svg{color:#FFFFFF!important}/* logo sur fond dégradé violet/or, on garde blanc *//* Hero */  

  
  html[data-theme="light"] .hero-badge .tag{color:var(--gold)!important}
  html[data-theme="light"] .hero-badge strong{color:var(--fg)!important}
  html[data-theme="light"] .hero-lede strong{color:var(--fg)!important}
  html[data-theme="light"] .hero-proof .num{color:var(--fg)!important}
  html[data-theme="light"] .hero-badge-float .t{color:var(--fg)!important}/* Mockup sidebar */

  
  html[data-theme="light"] .m-side .nav-item.active{color:var(--violet)!important}/* Mockup files */

  
  html[data-theme="light"] .m-file .name{color:var(--fg)!important}/* Notif */

  
  html[data-theme="light"] .m-notif .ic svg{color:#0B8F5A!important}
  html[data-theme="light"] .m-notif .t{color:var(--fg)!important}/* Trust */

  
  html[data-theme="light"] .trust-row .mark:hover{color:var(--fg)!important}/* Audiences */

  
  html[data-theme="light"] .af-btn:hover:not(.is-on){color:var(--fg)!important}
  html[data-theme="light"] .aud-name{color:var(--fg)!important}/* Pain */

  
  html[data-theme="light"] .cost-v .mono{color:var(--fg)!important}/* Solution chips */

  
  html[data-theme="light"] .chip-pro{color:var(--violet)!important}/* Layer plus badge — fond dégradé violet/or, texte blanc OK */

  
  html[data-theme="light"] .layer-plus{color:#FFFFFF!important}/* Layer tags, features, etc. — s'assurer visibles */

  
  html[data-theme="light"] .layer h3, html[data-theme="light"] .feat h3, html[data-theme="light"] .testi .name, html[data-theme="light"] .price header h3{color:var(--fg)!important}
  html[data-theme="light"] .layer-desc, html[data-theme="light"] .layer-feats li, html[data-theme="light"] .feat p, html[data-theme="light"] .testi blockquote, html[data-theme="light"] .price header p, html[data-theme="light"] .price-feats li, html[data-theme="light"] .faq-body{color:var(--fg-mute)!important}/* Pricing — CTA Pro doit rester lisible */

  
  html[data-theme="light"] .price-pro .btn-primary{
    background:linear-gradient(135deg,#0F1426 0%,#1A1F3A 100%)!important;
    color:#FFFFFF!important;
  }/* Sections explicitement .section-light (si présentes) restent lisibles */

  
  html[data-theme="light"] .section-light{color:var(--fg)}
  html[data-theme="light"] .section-light strong{color:var(--fg)}/* Dernière ceinture de sécurité : aucun texte direct blanc sur body */

  
  html[data-theme="light"] body > *:not(.footer):not(script){color:inherit}/* Footer : explicitement sombre donc le blanc est OK — on le laisse *//* ══════════════════════════════════════════════════════════
     PARCOURS · Stepper éducatif (light)
  ══════════════════════════════════════════════════════════ */

  

  
  html[data-theme="light"] .parcours-stepper{
    position:relative;
    background:#FFFFFF;
    border:1px solid rgba(23,26,43,.08);
    border-radius:20px;
    padding:22px 22px 18px;
    box-shadow:0 1px 0 0 rgba(255,255,255,.9) inset,
               0 30px 60px -22px rgba(40,30,10,.22),
               0 10px 24px -12px rgba(201,162,75,.18);
    font-family:'Inter','Cabinet Grotesk',system-ui,sans-serif;
    overflow:hidden;
  }
  html[data-theme="light"] .parcours-stepper::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(400px 120px at 100% 0%,rgba(201,162,75,.10),transparent 60%),
      radial-gradient(400px 200px at 0% 100%,rgba(91,43,224,.06),transparent 60%);
  }
  html[data-theme="light"] .parcours-stepper > *{position:relative}

  html[data-theme="light"] .ps-head{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding-bottom:14px;margin-bottom:14px;
    border-bottom:1px solid rgba(23,26,43,.08);
  }
  html[data-theme="light"] .ps-client{display:flex;align-items:center;gap:12px;min-width:0}
  html[data-theme="light"] .ps-avatar{
    width:38px;height:38px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,#5B2BE0,#C9A24B);
    color:#FFFFFF;font-weight:700;font-size:13px;
    display:flex;align-items:center;justify-content:center;
    letter-spacing:.02em;
    box-shadow:0 4px 10px -4px rgba(91,43,224,.5);
  }
  html[data-theme="light"] .ps-name{font-size:13.5px;font-weight:700;color:#0F1426;letter-spacing:-.005em}
  html[data-theme="light"] .ps-sub{font-size:11px;color:rgba(15,20,38,.55);margin-top:1px;font-family:'JetBrains Mono',monospace}
  html[data-theme="light"] .ps-prog{text-align:right;flex-shrink:0}
  html[data-theme="light"] .ps-prog-num{font-size:22px;font-weight:700;color:#0F1426;line-height:1;letter-spacing:-.02em;font-family:'Cabinet Grotesk','Inter',sans-serif}
  html[data-theme="light"] .ps-prog-num strong{color:#5B2BE0;font-weight:700}
  html[data-theme="light"] .ps-prog-label{font-size:10px;color:rgba(15,20,38,.5);margin-top:2px;text-transform:uppercase;letter-spacing:.1em;font-family:'JetBrains Mono',monospace}/* Track SVG (ligne de progression) */

  
  html[data-theme="light"] .ps-track{
    position:absolute;
    left:44px;top:88px;
    width:24px;height:calc(100% - 160px);
    pointer-events:none;
    z-index:0;
  }
  html[data-theme="light"] #parcoursPath{
    stroke-dasharray:400;
    stroke-dashoffset:400;
    transition:stroke-dashoffset 2.4s cubic-bezier(.2,.7,.2,1);
    filter:drop-shadow(0 0 6px rgba(91,43,224,.25));
  }/* Liste jalons */

  
  html[data-theme="light"] .ps-list{
    list-style:none;margin:0;padding:0;
    display:flex;flex-direction:column;gap:14px;
    position:relative;z-index:1;
  }
  html[data-theme="light"] .mile{
    display:flex;gap:14px;align-items:flex-start;
    opacity:.35;transform:translateX(-6px);
    transition:opacity .5s ease, transform .5s ease;
  }
  html[data-theme="light"] .mile.lit{opacity:1;transform:translateX(0)}

  html[data-theme="light"] .ps-node{
    width:40px;height:40px;border-radius:12px;flex-shrink:0;
    background:#F4EFE4;border:1px solid rgba(23,26,43,.1);
    color:rgba(15,20,38,.4);
    display:flex;align-items:center;justify-content:center;
    transition:background .4s ease, color .4s ease, border-color .4s ease, box-shadow .4s ease;
    position:relative;
  }
  html[data-theme="light"] .ps-ic{width:18px;height:18px}

  html[data-theme="light"] .mile[data-i="0"].lit .ps-node, html[data-theme="light"] .mile[data-i="1"].lit .ps-node{
    background:linear-gradient(135deg,#EFF7F1,#E5F3EA);
    border-color:rgba(16,185,129,.35);
    color:#0B8F5A;
    box-shadow:0 0 0 4px rgba(16,185,129,.08);
  }
  html[data-theme="light"] .mile[data-i="2"].lit .ps-node{
    background:linear-gradient(135deg,#F3EEFF,#FFFBF2);
    border-color:rgba(91,43,224,.35);
    color:#5B2BE0;
    box-shadow:0 0 0 4px rgba(91,43,224,.1), 0 0 20px rgba(91,43,224,.2);
    animation:psPulse 2s ease-in-out infinite;
  }
  html[data-theme="light"] .mile[data-i="3"].lit .ps-node, html[data-theme="light"] .mile[data-i="4"].lit .ps-node{
    background:#FAF7F0;
    border-color:rgba(176,131,51,.28);
    color:rgba(15,20,38,.55);
  }
  @keyframes psPulse{
    0%,100%{box-shadow:0 0 0 4px rgba(91,43,224,.08), 0 0 20px rgba(91,43,224,.15)}
    50%{box-shadow:0 0 0 8px rgba(91,43,224,.12), 0 0 28px rgba(91,43,224,.28)}
  }

  html[data-theme="light"] .ps-body{flex:1;min-width:0;padding-top:2px}
  html[data-theme="light"] .ps-row{display:flex;align-items:center;gap:8px;margin-bottom:3px}
  html[data-theme="light"] .ps-step{
    font-family:'JetBrains Mono',monospace;
    font-size:10px;font-weight:600;
    color:rgba(15,20,38,.5);
    text-transform:uppercase;letter-spacing:.12em;
  }
  html[data-theme="light"] .ps-status{
    font-family:'JetBrains Mono',monospace;
    font-size:10px;font-weight:600;
    padding:2px 7px;border-radius:4px;
    border:1px solid;
    white-space:nowrap;
  }
  html[data-theme="light"] .ps-status.ok{background:rgba(16,185,129,.1);color:#0B8F5A;border-color:rgba(16,185,129,.3)}
  html[data-theme="light"] .ps-status.wait{background:rgba(91,43,224,.1);color:#5B2BE0;border-color:rgba(91,43,224,.3)}
  html[data-theme="light"] .ps-status.todo{background:rgba(23,26,43,.04);color:rgba(15,20,38,.5);border-color:rgba(23,26,43,.1)}

  html[data-theme="light"] .ps-title{
    font-size:14.5px;font-weight:600;color:#0F1426;
    letter-spacing:-.005em;line-height:1.3;
  }
  html[data-theme="light"] .ps-meta{
    font-size:12px;color:rgba(15,20,38,.55);
    margin-top:2px;line-height:1.4;
  }/* Footer légende */

  
  html[data-theme="light"] .ps-foot{
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    margin-top:16px;padding-top:12px;
    border-top:1px solid rgba(23,26,43,.06);
    font-family:'JetBrains Mono',monospace;
    font-size:10px;color:rgba(15,20,38,.55);
  }
  html[data-theme="light"] .ps-leg{display:flex;align-items:center;gap:5px}
  html[data-theme="light"] .ps-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
  html[data-theme="light"] .ps-dot.ok{background:#10B981}
  html[data-theme="light"] .ps-dot.wait{background:#5B2BE0;box-shadow:0 0 8px rgba(91,43,224,.6)}
  html[data-theme="light"] .ps-dot.todo{background:rgba(23,26,43,.2)}
  html[data-theme="light"] .ps-auto{color:rgba(15,20,38,.4);margin-left:auto}

  @media (max-width: 560px){
    html[data-theme="light"] .parcours-stepper{padding:18px 16px 14px}
    html[data-theme="light"] .ps-track{left:38px;top:82px}
  }/* parcours theme vars */

  

  
  html[data-theme="light"] .parcours-stage{
    --ps-bg:#FFFFFF;
    --ps-line:rgba(23,26,43,.08);
    --ps-fg:#0F1426;
    --ps-mute:rgba(15,20,38,.6);
    --ps-dim:rgba(15,20,38,.5);
    --ps-g1:#5B2BE0;
    --ps-g2:#C9A24B;
    --ps-rail:rgba(23,26,43,.12);
    --ps-node:#FFFFFF;
    --ps-info-bg:rgba(91,43,224,.04);
    --ps-info-line:rgba(91,43,224,.12);
  }/* ══════════════════════════════════════════════════════════
     PARCOURS · Courbe + Stepper hybride (thème-neutre)
     ══════════════════════════════════════════════════════════ */

  
  html[data-theme="light"] .parcours-svg-wrap{
    position:relative;
    max-width:640px;margin-inline:auto;width:100%;
  }
  html[data-theme="light"] .parcours-stage{
    position:relative;
    background:var(--ps-bg,#FFFFFF);
    border:1px solid var(--ps-line,rgba(23,26,43,.08));
    border-radius:20px;
    padding:22px 22px 18px;
    box-shadow:
      0 1px 0 0 rgba(255,255,255,.9) inset,
      0 30px 60px -22px rgba(40,30,10,.22),
      0 10px 24px -12px rgba(201,162,75,.18);
    font-family:'Inter','Cabinet Grotesk',system-ui,sans-serif;
    overflow:hidden;
  }
  html[data-theme="light"] .parcours-stage::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(420px 140px at 100% 0%,rgba(201,162,75,.10),transparent 60%),
      radial-gradient(420px 220px at 0% 100%,rgba(91,43,224,.08),transparent 60%);
  }
  html[data-theme="light"] .parcours-stage > *{position:relative}
  html[data-theme="light"] .parcours-stage .ps-data{display:none}/* HEADER client */

  
  html[data-theme="light"] .ps-head{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding-bottom:14px;margin-bottom:16px;
    border-bottom:1px solid var(--ps-line,rgba(23,26,43,.08));
  }
  html[data-theme="light"] .ps-client{display:flex;align-items:center;gap:12px;min-width:0}
  html[data-theme="light"] .ps-avatar{
    width:38px;height:38px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,var(--ps-g1,#5B2BE0),var(--ps-g2,#C9A24B));
    color:#FFFFFF;font-weight:700;font-size:13px;
    display:flex;align-items:center;justify-content:center;letter-spacing:.02em;
    box-shadow:0 4px 10px -4px rgba(91,43,224,.5);
  }
  html[data-theme="light"] .ps-name{font-size:13.5px;font-weight:700;color:var(--ps-fg,#0F1426);letter-spacing:-.005em}
  html[data-theme="light"] .ps-sub{font-size:11px;color:var(--ps-mute,rgba(15,20,38,.55));margin-top:1px;font-family:'JetBrains Mono',monospace}
  html[data-theme="light"] .ps-prog{text-align:right;flex-shrink:0}
  html[data-theme="light"] .ps-prog-num{font-size:22px;font-weight:700;color:var(--ps-fg,#0F1426);line-height:1;letter-spacing:-.02em;font-family:'Cabinet Grotesk','Inter',sans-serif}
  html[data-theme="light"] .ps-prog-num strong{color:var(--ps-g1,#5B2BE0);font-weight:700;transition:color .4s}
  html[data-theme="light"] .ps-prog-label{font-size:10px;color:var(--ps-dim,rgba(15,20,38,.5));margin-top:2px;text-transform:uppercase;letter-spacing:.1em;font-family:'JetBrains Mono',monospace}/* SPLIT : courbe + info */

  
  html[data-theme="light"] .ps-split{
    display:grid;grid-template-columns:1fr 1fr;gap:20px;
    align-items:stretch;
  }
  @media (max-width:540px){ html[data-theme="light"] .ps-split{grid-template-columns:1fr} }/* Courbe */

  
  html[data-theme="light"] .ps-curve{
    position:relative;
    aspect-ratio:260/420;
    min-height:340px;
  }
  html[data-theme="light"] .parcours-svg{width:100%;height:100%;display:block;overflow:visible}
  html[data-theme="light"] .ps-rail{}
  html[data-theme="light"] #parcoursPath{
    stroke-dasharray:900;stroke-dashoffset:900;
    transition:stroke-dashoffset 2.6s cubic-bezier(.2,.7,.2,1);
  }/* Jalons */

  
  html[data-theme="light"] .mile{opacity:0;transform:scale(.5);transform-origin:center;transform-box:fill-box;transition:opacity .5s var(--ease-out,ease), transform .6s cubic-bezier(.5,1.6,.5,1)}
  html[data-theme="light"] .mile.lit{opacity:1;transform:scale(1)}
  html[data-theme="light"] .mile .mile-halo{fill:var(--ps-g1,#5B2BE0);opacity:0;transition:opacity .4s}
  html[data-theme="light"] .mile.lit .mile-halo{opacity:.12;animation:mileHalo 2.2s ease-in-out infinite}
  @keyframes mileHalo{0%,100%{r:18;opacity:.12}50%{r:24;opacity:.05}}
  html[data-theme="light"] .mile .mile-ring{transition:stroke-width .3s}
  html[data-theme="light"] .mile.lit .mile-ring{stroke-width:3}
  html[data-theme="light"] .mile .mile-dot{opacity:.4;transition:opacity .4s}
  html[data-theme="light"] .mile.lit .mile-dot{opacity:1}
  html[data-theme="light"] .mile .mile-tag{opacity:.3;transition:opacity .4s, fill .4s}
  html[data-theme="light"] .mile.lit .mile-tag{opacity:1}/* Jalon courant (pulse) */
  
  html[data-theme="light"] .mile.current .mile-ring{filter:drop-shadow(0 0 6px var(--ps-g1,#5B2BE0))}
  html[data-theme="light"] .mile.current .mile-dot{animation:mileDot 1.4s ease-in-out infinite}
  @keyframes mileDot{50%{r:7}}/* Badge "arrivée" sur la courbe */

  
  html[data-theme="light"] .ps-finish{
    position:absolute;
    right:6%;bottom:2%;
    display:flex;align-items:center;gap:6px;
    padding:6px 10px;border-radius:999px;
    background:linear-gradient(135deg,var(--ps-g1,#5B2BE0),var(--ps-g2,#C9A24B));
    color:#FFFFFF;font-size:11px;font-weight:700;letter-spacing:.02em;
    font-family:'Cabinet Grotesk','Inter',sans-serif;
    box-shadow:0 8px 18px -8px rgba(91,43,224,.45), 0 0 0 3px var(--ps-bg,#FFFFFF);
    opacity:0;transform:translateY(6px) scale(.9);
    transition:opacity .5s, transform .5s cubic-bezier(.5,1.6,.5,1);
  }
  html[data-theme="light"] .ps-finish svg{width:12px;height:12px;stroke-width:3}
  html[data-theme="light"] .parcours-stage.complete .ps-finish{opacity:1;transform:translateY(0) scale(1)}/* Panneau info */

  
  html[data-theme="light"] .ps-info{
    display:flex;flex-direction:column;gap:10px;
    padding:16px;border-radius:14px;
    background:var(--ps-info-bg, rgba(91,43,224,.04));
    border:1px solid var(--ps-info-line, rgba(91,43,224,.12));
  }
  html[data-theme="light"] .ps-info-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
  html[data-theme="light"] .ps-info-step{
    font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;
    color:var(--ps-dim,rgba(15,20,38,.5));
    text-transform:uppercase;letter-spacing:.12em;
  }
  html[data-theme="light"] .ps-info-status{
    font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;
    padding:3px 8px;border-radius:5px;border:1px solid;white-space:nowrap;
    transition:all .4s;
  }
  html[data-theme="light"] .ps-info-status[data-state="ok"]{background:rgba(16,185,129,.1);color:#0B8F5A;border-color:rgba(16,185,129,.35)}
  html[data-theme="light"] .ps-info-status[data-state="wait"]{background:rgba(91,43,224,.1);color:var(--ps-g1,#5B2BE0);border-color:rgba(91,43,224,.35)}
  html[data-theme="light"] .ps-info-status[data-state="todo"]{background:rgba(23,26,43,.04);color:var(--ps-dim,rgba(15,20,38,.5));border-color:rgba(23,26,43,.12)}

  html[data-theme="light"] .ps-info-title{
    font-size:17px;font-weight:700;color:var(--ps-fg,#0F1426);
    letter-spacing:-.01em;line-height:1.25;
    min-height:2.5em;
  }
  html[data-theme="light"] .ps-info-meta{
    font-size:12px;color:var(--ps-mute,rgba(15,20,38,.6));
    line-height:1.45;min-height:2.9em;
  }/* Cross-fade sur les champs live */
  
  html[data-theme="light"] #psInfoStep, html[data-theme="light"] #psInfoStatus, html[data-theme="light"] #psInfoTitle, html[data-theme="light"] #psInfoMeta{transition:opacity .25s ease}
  html[data-theme="light"] .ps-info.swapping #psInfoStep, html[data-theme="light"] .ps-info.swapping #psInfoStatus, html[data-theme="light"] .ps-info.swapping #psInfoTitle, html[data-theme="light"] .ps-info.swapping #psInfoMeta{opacity:0}

  html[data-theme="light"] .ps-bar{
    height:4px;border-radius:999px;overflow:hidden;
    background:var(--ps-line,rgba(23,26,43,.08));margin-top:2px;
  }
  html[data-theme="light"] .ps-bar-fill{
    height:100%;width:0%;
    background:linear-gradient(90deg,var(--ps-g1,#5B2BE0),var(--ps-g2,#C9A24B));
    border-radius:999px;
    transition:width .8s cubic-bezier(.2,.7,.2,1);
  }

  html[data-theme="light"] .ps-summary{
    list-style:none;margin:4px 0 0;padding:0;
    display:flex;flex-direction:column;gap:6px;
  }
  html[data-theme="light"] .ps-summary li{
    display:flex;align-items:center;gap:8px;
    font-size:11.5px;color:var(--ps-mute,rgba(15,20,38,.55));
    font-family:'JetBrains Mono',monospace;
    transition:color .3s;
  }
  html[data-theme="light"] .ps-summary .ps-sdot{
    width:7px;height:7px;border-radius:50%;flex-shrink:0;
    background:var(--ps-line,rgba(23,26,43,.2));
    transition:background .3s, box-shadow .3s;
  }
  html[data-theme="light"] .ps-summary li.lit{color:var(--ps-fg,#0F1426)}
  html[data-theme="light"] .ps-summary li.lit .ps-sdot{background:#10B981}
  html[data-theme="light"] .ps-summary li.current{color:var(--ps-g1,#5B2BE0);font-weight:700}
  html[data-theme="light"] .ps-summary li.current .ps-sdot{background:var(--ps-g1,#5B2BE0);box-shadow:0 0 8px rgba(91,43,224,.5)}/* Footer */

  
  html[data-theme="light"] .ps-foot{
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    margin-top:14px;padding-top:12px;
    border-top:1px solid var(--ps-line,rgba(23,26,43,.08));
    font-family:'JetBrains Mono',monospace;
    font-size:10px;color:var(--ps-mute,rgba(15,20,38,.55));
  }
  html[data-theme="light"] .ps-leg{display:flex;align-items:center;gap:5px}
  html[data-theme="light"] .ps-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
  html[data-theme="light"] .ps-dot.ok{background:#10B981}
  html[data-theme="light"] .ps-dot.wait{background:var(--ps-g1,#5B2BE0);box-shadow:0 0 8px rgba(91,43,224,.5)}
  html[data-theme="light"] .ps-dot.todo{background:rgba(23,26,43,.2)}
  html[data-theme="light"] .ps-auto{color:var(--ps-dim,rgba(15,20,38,.45));margin-left:auto}

  @media (max-width:540px){
    html[data-theme="light"] .ps-curve{min-height:280px}
    html[data-theme="light"] .ps-info-title{min-height:auto}
    html[data-theme="light"] .ps-info-meta{min-height:auto}
  }

/* ══════════════════════════════════════════════════════════
   v1.2.0 — RESET MAJEUR
   Objectif : garder uniquement les fixes essentiels non-parcours.
   Tous les overrides parcours mobile (v1.1.0 → v1.1.20) sont
   supprimés. Le CSS parcours original (dark + light auto-scopé)
   suffit, comme prouvé par le screenshot du template.
   ══════════════════════════════════════════════════════════ */

/* Version marker */
:root{--cvs-theme-version:"1.6.0"}

/* ─── Nav sticky via position:fixed sur mobile (v1.1.9 éprouvé,
   seul moyen fiable sur Safari iOS). */
@media (max-width:768px){
  html .nav,
  html[data-theme="dark"] .nav,
  html[data-theme="light"] .nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:9999!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html .nav,
  html[data-theme="dark"] .nav{background:#0A0F1C!important}
  html[data-theme="light"] .nav{background:#F7F4EC!important}
  /* Topbar cachée sur mobile (nav fixe couvrirait quoi qu'il arrive) */
  html .topbar{display:none!important}
}

/* ─── Template-part wrapper : display:contents pour que la nav
   fixed ne soit pas bloquée par le containing block WP. */
.wp-block-template-part{display:contents}

/* ─── Empêche html/body de créer un scroll-container qui casse
   position:sticky/fixed sur iOS. */
html,body{overflow-x:visible!important}
.wp-site-blocks{overflow-x:clip}
@supports not (overflow-x:clip){
  .wp-site-blocks{overflow-x:hidden}
}

/* ─── Container-level overflow pour les sections sans gradient
   décoratif (débordement horizontal safe, sans casser sticky). */
.audiences,.pain,.solution,.features,.comparison,.proof,.pricing,.guarantee,.faq{
  overflow-x:clip;
}
@supports not (overflow-x:clip){
  .audiences,.pain,.solution,.features,.comparison,.proof,.pricing,.guarantee,.faq{
    overflow-x:hidden;
  }
}

/* ─── Isolation des sections + bg solide (anti-bleed) */
.section,.hero,.trust,.transition-dark,.final-cta,.footer{
  position:relative;
  isolation:isolate;
  z-index:auto;
}
.section.audiences,.section.pain,.section.solution,.section.features,
.section.comparison,.section.proof,.section.pricing,.section.faq{
  background-color:var(--bg);
}
.section.guarantee{background-color:#F6F6F2}
html[data-theme="light"] .section.audiences,
html[data-theme="light"] .section.pain,
html[data-theme="light"] .section.solution,
html[data-theme="light"] .section.features,
html[data-theme="light"] .section.comparison,
html[data-theme="light"] .section.proof,
html[data-theme="light"] .section.pricing,
html[data-theme="light"] .section.faq{
  background-color:var(--ivory);
}

/* ─── Topbar mobile : pas d'2 lignes */
.topbar-inner{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
.topbar-inner > *{flex-shrink:0}

/* ─── Hero mobile : badge compacté + rapproché du header */
@media (max-width:768px){
  .hero{padding-top:76px!important;padding-bottom:60px}
  .hero-badge{font-size:12px;gap:8px;padding:4px 12px 4px 4px}
  .hero-badge .tag{font-size:10px;padding:2px 8px;letter-spacing:.04em}
  .hero h1{margin-top:16px;font-size:clamp(36px,13vw,56px)}
  .hero-lede{margin-top:14px;font-size:14.5px}
  .hero-ctas{margin-top:20px;gap:10px}
  .hero-ctas .btn-lg{--h:48px;padding:0 18px;font-size:14.5px}
  .hero-proof{margin-top:24px;gap:14px 18px;font-size:12px}
  .hero-inner{gap:32px}
}
@media (max-width:480px){
  .hero{padding-bottom:44px}
  .hero-badge{font-size:11.5px}
  .hero h1{font-size:clamp(32px,13vw,48px)}
}

/* ─── Hero mockup mobile : sidebar cachée, taille compacte */
@media (max-width:640px){
  .mockup{padding:10px;transform:none!important}
  .mockup-body{grid-template-columns:1fr;gap:10px;padding-top:10px;min-height:0}
  .m-side{display:none}
  html[data-theme="light"] .m-side{display:none}
  .mockup-chrome{padding:2px 6px 8px}
  .mockup-chrome .url{font-size:10px;padding:3px 8px}
  .m-stats{gap:6px}
  .m-stat{padding:8px}
  .m-stat .v{font-size:18px}
  .m-progress{padding:10px}
  .m-progress .steps{gap:3px}
  .m-progress .step{font-size:8.5px;padding:3px 2px}
  .m-file{padding:8px 10px;font-size:11px}
  .m-file .ic{width:22px;height:22px}
  .m-file .name{font-size:11.5px}
  .m-file .sub{font-size:9.5px}
  .hero-badge-float{display:none}
  .mockup-wrap{perspective:1000px}
}

/* ─── Nav mobile compacte */
@media (max-width:560px){
  .nav-inner{padding:10px var(--gutter);gap:10px}
  .nav-cta .btn-primary{padding:0 14px;font-size:13.5px;--h:40px}
  .nav-cta .btn-primary svg{display:none}
}
@media (max-width:420px){
  .nav-cta .btn-primary{display:none}
  .theme-toggle{width:36px;height:36px}
}

/* ─── Logo line-height serré */
.logo{line-height:1.1}
@media (max-width:420px){ .logo{font-size:16px;gap:8px} }

/* ─── Gap WP entre top-level blocks neutralisée sur mobile */
@media (max-width:768px){
  :where(.wp-site-blocks) > *{margin-block-start:0;margin-block-end:0}
}

/* ─── Blog / Archive / Single / Author styles (v1.1.0 — conservé) */
.cv-page{padding-block:clamp(40px,6vw,72px) clamp(60px,8vw,90px);position:relative}
.cv-page .wrap{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.cv-archive-head{max-width:820px;margin-inline:auto;padding-inline:var(--gutter)}
.cv-archive-head h1{font-size:clamp(32px,5vw,56px);letter-spacing:-.02em;line-height:1.05;margin-top:14px}
.cv-archive-head .eyebrow{margin-inline:auto;margin-bottom:10px}
.cv-archive-head + .wrap{margin-top:clamp(32px,4vw,52px)}

.cv-card{
  background:rgba(255,255,255,.02);
  border:1px solid var(--line);
  border-radius:var(--r-container);
  overflow:hidden;
  transition:transform .35s var(--ease-spring),border-color .3s,box-shadow .4s;
}
.cv-card:hover{transform:translateY(-3px);border-color:rgba(124,58,237,.3);box-shadow:var(--shadow-card)}
.cv-card .wp-block-post-featured-image img,
.cv-card .wp-block-post-featured-image{display:block;width:100%;height:auto}
.cv-card h3{font-size:20px;letter-spacing:-.01em;margin:8px 0 10px;line-height:1.25}
.cv-card h3 a{color:var(--fg);text-decoration:none}
.cv-card h3 a:hover{color:var(--accent)}
.cv-card .wp-block-post-excerpt{color:var(--fg-mute);font-size:14.5px;line-height:1.55;margin-bottom:12px}
.cv-card .wp-block-post-excerpt a{color:var(--accent)}
.cv-card .wp-block-post-date{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}

.cv-kicker{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.cv-kicker a{color:inherit;border-bottom:1px solid transparent;transition:border-color .2s}
.cv-kicker a:hover{border-bottom-color:currentColor}

.cv-single{padding-top:clamp(32px,5vw,64px)}
.cv-single h1{font-size:clamp(32px,5vw,56px);letter-spacing:-.025em;line-height:1.08;margin-top:18px}
.cv-single .wp-block-post-featured-image img{border-radius:12px;width:100%;height:auto}
.cv-single .post-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;color:var(--fg-dim);font-size:13.5px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
.cv-single .wp-block-post-content{font-size:17px;line-height:1.7;color:var(--fg-mute)}
.cv-single .wp-block-post-content strong{color:var(--fg)}
.cv-single .wp-block-post-content h2{font-size:clamp(22px,2.8vw,30px);letter-spacing:-.02em;margin:44px 0 14px;color:var(--fg)}
.cv-single .wp-block-post-content h3{font-size:clamp(18px,2.2vw,22px);margin:32px 0 10px;color:var(--fg)}
.cv-single .wp-block-post-content a{color:var(--cyan);border-bottom:1px solid rgba(109,213,237,.3)}
.cv-single .wp-block-post-content blockquote{border-left:3px solid var(--accent);padding-left:18px;color:var(--fg);font-style:italic;margin:24px 0}
.cv-single .wp-block-post-content code{font-family:'JetBrains Mono',monospace;font-size:.92em;background:rgba(255,255,255,.06);padding:2px 6px;border-radius:5px;color:var(--fg)}
.cv-single .wp-block-post-content pre{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:16px 18px;overflow-x:auto;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.55}

.cv-author-card{background:rgba(255,255,255,.02);border-color:var(--line)!important;display:flex;gap:16px;align-items:center}
.cv-author-card img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.cv-author-card .wp-block-post-author-biography{color:var(--fg-mute);font-size:14px;line-height:1.5;margin-top:4px}

.wp-block-comments-title{font-size:22px;letter-spacing:-.01em;margin-bottom:18px}
.wp-block-comments .wp-block-columns{background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px}

.wp-block-query-pagination{gap:8px;flex-wrap:wrap}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 12px;
  border:1px solid var(--line-2);border-radius:var(--r-chip);
  background:rgba(255,255,255,.03);color:var(--fg-mute);
  font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;
  transition:all .2s;
}
.wp-block-query-pagination a:hover{color:var(--fg);border-color:var(--accent);background:rgba(124,58,237,.08)}
.wp-block-query-pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}

.cv-sidebar{font-size:14px}
.cv-sidebar h4{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 12px}
.cv-sidebar ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.cv-sidebar a{color:var(--fg-mute)}
.cv-sidebar a:hover{color:var(--fg)}
.cv-sidebar .wp-block-search__input{background:rgba(255,255,255,.03);border:1px solid var(--line-2);color:var(--fg);padding:10px 14px;border-radius:var(--r-chip)}

.wp-block-search__input{background:rgba(255,255,255,.03);border:1px solid var(--line-2);color:var(--fg);padding:10px 14px;border-radius:var(--r-chip);font:inherit}
.wp-block-search__button{background:var(--accent);color:#fff;border:0;padding:10px 18px;border-radius:var(--r-chip);font-weight:600}

@media (max-width:1023px){
  .cv-archive .is-layout-grid,.cv-category .is-layout-grid,.cv-tag .is-layout-grid,
  .cv-author .is-layout-grid,.cv-date .is-layout-grid,.cv-home .is-layout-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media (max-width:639px){
  .cv-archive .is-layout-grid,.cv-category .is-layout-grid,.cv-tag .is-layout-grid,
  .cv-author .is-layout-grid,.cv-date .is-layout-grid,.cv-home .is-layout-grid,
  .cv-search .is-layout-grid{grid-template-columns:1fr!important}
}
.cv-blank{padding:0}

/* ─── Hero hero-bg décorations : contenues */
html,body,.wp-site-blocks{
  transform:none!important;
  filter:none!important;
  perspective:none!important;
  contain:none!important;
}

/* ══════════════════════════════════════════════════════════
   FIX v1.2.1 — CAUSE RACINE DE LA TRONCATURE MOBILE
   ══════════════════════════════════════════════════════════
   Le CSS original a DEUX règles .parcours-svg-wrap :
   - Ligne 1011 : aspect-ratio:480/520; max-width:480px
   - Ligne 1333 : max-width:640px (SANS reset aspect-ratio)
   Résultat : l'aspect-ratio reste actif et force la boîte à
   être ~433px de haut sur mobile, clippant visuellement le
   contenu qui déborde (curve 575px + ps-info 5 cards ~400px).
   On annule explicitement l'aspect-ratio. */
.parcours-svg-wrap{
  aspect-ratio:auto!important;
  max-width:640px!important;
}

/* ══════════════════════════════════════════════════════════
   v1.5.0 — Support blocs natifs Gutenberg pour l'avatar comptable
   Le pattern avatar-comptable est maintenant en blocs natifs
   (wp:paragraph avec className, wp:list, wp:group). Ces règles
   s'assurent que le rendu visuel matche l'original (spans → p).
   ══════════════════════════════════════════════════════════ */

/* Neutraliser la marge par défaut de <p> dans les contextes
   flex/grid où les <span> originaux n'en avaient pas */

/* Eyebrow : recréer le petit dot via ::before (remplace <span class="dot">) */

/* Eyebrow centrée */

/* Eyebrow dans final-cta : centrée */

/* Trust-row badges : chaque .mark est un wp:group flex */

/* Hero-badge : structure flex avec 2 paragraphes */

/* Hero-proof item : flex row */

/* Pain-col-head : flex wrap de 3 items */

/* Pain-cost cells : label + value empilés */

/* Layer-head : 3 items en ligne */

/* Layer-feats / price-feats : check via ::before (remplace SVG inline) */

/* Light mode : check en violet */

/* price-feats alignment top pour multi-ligne */

/* Heading <mark> : gradient cyan (remplace <span class="accent">) */

/* Heading <strong> dans hero h1 : gradient gold (remplace <span class="grad-gold">) */

/* Testimonial footer structure */

/* Comparison : remplacement du <table> par une grille wp:group */

@media (max-width:767px){
  .cv-avatar-page .cmp-row{grid-template-columns:1fr}
  .cv-avatar-page .cmp-row > p::before{
    content:attr(data-label);
    display:block;
    font-weight:600;color:var(--fg-dim);
    font-size:11px;text-transform:uppercase;
    margin-right:8px;
  }
  .cv-avatar-page .cmp-head{display:none}
}

/* Final-cta eyebrow */

/* Faq-body paragraphs : reset margin */

/* Trust-label alignment */

/* Buttons .btn overrides : WP ajoute ses propres styles, on restaure les nôtres */

/* FC-primary button (CTA final) */

/* Details/summary pour les FAQ — restaurer le carat rotation */

/* ps-foot sur avatar page : on n'en a pas vraiment, OK */

/* Layer feats listes inside layer */

/* Price feats inside price */

/* ══════════════════════════════════════════════════════════
   v1.7.0 — Architecture AVATAR (distincte homepage)
   Hero centré · Stats strip · Scenario narratif · Dayparts ·
   Comparatif éditeur · Proof élargi 2×3
   ══════════════════════════════════════════════════════════ */

:root{--cvs-theme-version:"1.7.3"}

/* ─── Hero centré (vs split mockup homepage) ────────────────── */
.cv-hero-avatar .hero-inner.cv-hero-centered{
  display:block!important;
  grid-template-columns:none!important;
  max-width:900px;
  margin-inline:auto;
  text-align:center;
  padding-inline:var(--gutter);
}
.cv-hero-avatar .hero-copy.cv-hero-copy-centered{
  text-align:center;
}
.cv-hero-avatar .hero-copy.cv-hero-copy-centered > .hero-badge{
  margin-inline:auto;
}
.cv-hero-avatar .mockup-wrap.cv-mockup-below{
  margin-top:clamp(60px,8vw,90px);
  max-width:900px;
  margin-inline:auto;
}
.cv-hero-avatar .mockup-wrap.cv-mockup-below .mockup{
  transform:rotateX(8deg) scale(.95);
  transform-origin:50% 0;
}
/* Les badges flottants repositionnés pour le mode centré */
.cv-hero-avatar .mockup-wrap.cv-mockup-below .hero-badge-float.b-lock{top:-6%;left:2%}
.cv-hero-avatar .mockup-wrap.cv-mockup-below .hero-badge-float.b-audit{top:20%;right:2%;left:auto}
.cv-hero-avatar .mockup-wrap.cv-mockup-below .hero-badge-float.b-speed{bottom:6%;right:6%}

@media (max-width:768px){
  .cv-hero-avatar .mockup-wrap.cv-mockup-below{margin-top:44px}
  .cv-hero-avatar .mockup-wrap.cv-mockup-below .mockup{transform:none!important}
}

/* ─── Stats strip (4 chiffres massifs) ──────────────────────── */
.cv-stats-strip{
  padding-block:clamp(40px,6vw,70px)!important;
  background:linear-gradient(180deg,var(--bg) 0%,rgba(124,58,237,.02) 100%);
  border-block:1px solid var(--line);
}
.cv-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,3vw,40px);
}
@media (max-width:767px){
  .cv-stats-grid{grid-template-columns:repeat(2,1fr)}
}
.cv-stat{
  text-align:center;
  padding-inline:12px;
  border-right:1px solid var(--line);
}
.cv-stat:last-child{border-right:0}
@media (max-width:767px){
  .cv-stat{border-right:0;border-bottom:1px solid var(--line);padding-block:14px}
  .cv-stat:last-child{border-bottom:0}
}
.cv-stat-value{
  margin:0!important;
  font-family:'Cabinet Grotesk','Inter',sans-serif;
  font-weight:800;
  font-size:clamp(32px,4.4vw,52px);
  line-height:1;
  letter-spacing:-.03em;
}
.cv-stat-value strong{
  background:linear-gradient(95deg,var(--cyan) 0%,#fff 45%,var(--violet-2) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:inherit;
}
.cv-stat-label{
  margin:8px 0 0!important;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--fg-dim);
}

/* ─── Scenario « Votre 14 du mois » ──────────────────────────── */
.cv-scenario{
  background:linear-gradient(180deg,rgba(124,58,237,.02) 0%,var(--bg) 100%);
}
.cv-scenario-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:clamp(40px,6vw,80px);
  align-items:center;
}
@media (max-width:1023px){
  .cv-scenario-inner{grid-template-columns:1fr;gap:32px}
}
.cv-scenario-copy{max-width:62ch}
.cv-scenario-copy > .eyebrow{display:inline-flex!important}
.cv-scenario-copy > .section-title{
  margin-top:16px!important;
  margin-bottom:22px!important;
}
.cv-scenario-p{
  margin-top:16px!important;
  margin-bottom:0!important;
  font-size:17.5px;line-height:1.6;
  color:var(--fg-mute);
  max-width:58ch;
}
.cv-scenario-p.cv-scenario-lead{
  font-size:21px;color:var(--fg);
  font-weight:500;
}
.cv-scenario-p.cv-scenario-pivot{
  margin-top:28px!important;
  padding:18px 22px;
  border:1px solid rgba(124,58,237,.3);
  border-left:3px solid var(--violet);
  background:rgba(124,58,237,.05);
  border-radius:8px;
  font-size:18px;color:var(--fg);
}

/* Visuel horloge/calendrier */
.cv-scenario-visual{
  display:flex;flex-direction:column;gap:24px;
  padding:32px;
  background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(124,58,237,.05) 100%);
  border:1px solid var(--line);
  border-radius:var(--r-container);
  box-shadow:var(--shadow-card);
}
.cv-clock{text-align:center}
.cv-clock-face{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(56px,8vw,88px);
  font-weight:700;letter-spacing:-.04em;
  color:var(--fg);
  line-height:1;
  display:inline-flex;align-items:baseline;gap:4px;
}
.cv-clock-face .cv-clock-sep{color:var(--violet);animation:pulseDot 1s ease-in-out infinite}
.cv-clock-date{
  margin-top:12px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;color:var(--fg-dim);
  text-transform:uppercase;letter-spacing:.12em;
}
.cv-clock-missing{
  margin-top:18px;padding:10px 16px;
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(239,68,68,.1);
  border:1px solid rgba(239,68,68,.3);
  border-radius:var(--r-chip);
  color:#f87171;font-size:13px;font-weight:600;
}
.cv-missing-dot{
  width:8px;height:8px;border-radius:50%;
  background:#f87171;box-shadow:0 0 10px #f87171;
  animation:pulseDot 1.2s ease-in-out infinite;
}

.cv-scenario-calendar{
  border-top:1px solid var(--line);
  padding-top:20px;
  display:flex;flex-direction:column;gap:10px;
}
.cv-cal-row{
  display:flex;justify-content:space-between;gap:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.02);
  border:1px solid var(--line);
  border-radius:8px;
  font-size:13px;
}
.cv-cal-row.cv-cal-weekend{
  background:rgba(239,68,68,.06);
  border-color:rgba(239,68,68,.2);
  color:#fca5a5;
}
.cv-cal-day{
  font-family:'JetBrains Mono',monospace;
  font-weight:600;color:var(--fg);
  text-transform:uppercase;letter-spacing:.06em;font-size:11px;
}
.cv-cal-row.cv-cal-weekend .cv-cal-day{color:#fca5a5}
.cv-cal-label{color:var(--fg-mute)}
.cv-cal-row.cv-cal-weekend .cv-cal-label{color:#fca5a5}

/* ─── Dayparts (3 cards Matin / Après-midi / Fin du mois) ────── */
.cv-dayparts{
  background:linear-gradient(180deg,var(--bg) 0%,rgba(124,58,237,.03) 100%);
}
.cv-daypart-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:clamp(40px,5vw,60px);
}
@media (max-width:1023px){
  .cv-daypart-grid{grid-template-columns:1fr;gap:16px}
}
.cv-daypart{
  position:relative;
  padding:28px 26px;
  background:linear-gradient(180deg,rgba(255,255,255,.025) 0%,rgba(255,255,255,0) 100%);
  border:1px solid var(--line);
  border-radius:var(--r-container);
  transition:transform .4s var(--ease-spring),border-color .3s,box-shadow .4s;
}
.cv-daypart:hover{
  transform:translateY(-4px);
  border-color:rgba(124,58,237,.35);
  box-shadow:var(--shadow-card);
}
.cv-daypart-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:18px;padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.cv-daypart-time{
  font-family:'JetBrains Mono',monospace;
  font-size:13px;font-weight:700;
  color:var(--cyan);
  letter-spacing:.08em;
}
.cv-daypart-icon{
  display:inline-grid;place-items:center;
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(124,58,237,.04));
  border:1px solid rgba(124,58,237,.3);
  color:var(--violet-2);
}
.cv-daypart h3{
  font-size:22px;letter-spacing:-.015em;
  margin:0 0 14px!important;
  line-height:1.2;
}
.cv-daypart h3 mark{
  background:linear-gradient(135deg,#E8C97C 0%,#C9A24B 45%,#8E6B2B 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cv-daypart p{
  margin:0!important;
  color:var(--fg-mute);font-size:14.5px;line-height:1.6;
}
.cv-daypart-tag{
  margin-top:16px!important;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.06em;
  color:var(--fg-dim);
}

/* ─── Comparatif éditeur (2 colonnes PGI vs Client Vault) ───── */
.cv-comparatif-editeur{background:var(--bg)}
.cv-vs-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:clamp(20px,3vw,36px);
  margin-top:clamp(40px,5vw,60px);
  align-items:stretch;
}
@media (max-width:1023px){
  .cv-vs-grid{grid-template-columns:1fr;gap:16px}
}
.cv-vs-col{
  padding:32px 30px;
  border:1px solid var(--line);
  border-radius:var(--r-container);
  background:rgba(255,255,255,.02);
  display:flex!important;flex-direction:column;gap:12px;
}
.cv-vs-col.cv-vs-pgi{opacity:.75;filter:grayscale(.2)}
.cv-vs-col.cv-vs-cv{
  background:linear-gradient(180deg,rgba(124,58,237,.1) 0%,rgba(124,58,237,.02) 100%);
  border-color:rgba(124,58,237,.3);
  box-shadow:var(--shadow-lift);
}
.cv-vs-tag{
  margin:0!important;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 10px;border-radius:var(--r-chip);
  background:rgba(255,255,255,.05);color:var(--fg-mute);
  border:1px solid var(--line-2);
  display:inline-block;align-self:flex-start;
}
.cv-vs-tag.cv-vs-tag-pro{
  background:rgba(124,58,237,.15);
  color:var(--violet-2);
  border-color:rgba(124,58,237,.35);
}
.cv-vs-col h3{
  font-size:24px;letter-spacing:-.02em;
  margin:8px 0 0!important;
}
.cv-vs-col h3 mark{
  background:linear-gradient(95deg,var(--cyan) 0%,#fff 40%,var(--violet-2) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cv-vs-col > p{
  margin:4px 0 8px!important;
  color:var(--fg-mute);font-size:15px;
}
.cv-vs-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.cv-vs-col ul li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14.5px;line-height:1.55;
  padding-inline-start:0;
}
.cv-vs-col ul li::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:var(--cyan);
  flex-shrink:0;margin-top:8px;
}
.cv-vs-col.cv-vs-pgi ul li::before{background:var(--fg-dim)}
.cv-vs-foot{
  margin-top:clamp(30px,4vw,48px)!important;
  padding:18px 26px;
  background:rgba(124,58,237,.05);
  border:1px solid rgba(124,58,237,.2);
  border-radius:var(--r-container);
  color:var(--fg-mute);font-size:15px;line-height:1.6;
}
.cv-vs-foot strong{color:var(--fg)}

/* ─── Proof élargi (6 témoignages en 3×2) ───────────────────── */
.cv-proof-big .testimonials.cv-testi-grid-6{
  display:grid!important;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
@media (max-width:1023px){
  .cv-proof-big .testimonials.cv-testi-grid-6{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:639px){
  .cv-proof-big .testimonials.cv-testi-grid-6{grid-template-columns:1fr}
}

/* ─── CTA final avatar — padding plus généreux ───────────────── */
.cv-final-cta-avatar{padding-block:clamp(80px,12vw,120px)!important}

/* ─── Mark (heading accent) par défaut sur avatar-page ───────── */

/* ════════════════════════════════════════════════════════════════
   v1.8.0 — Accent par avatar (palette dédiée selon fiche marketing)
   Chaque avatar-page redéfinit son mark + .price-tag-pro + boutons
   primaires pour coller à la DA de sa vertical.
   ════════════════════════════════════════════════════════════════ */

/* Avocat / Notaire — navy + or profond */

/* Courtier — vert trust + graphite */

/* Architecte — terre cuite + ocre */

/* Cabinet RH — violet signature + orange chaleur */

/* Photographe — noir mat + or chaud */

/* Immobilier — rouge tempéré + graphite */

/* Formateur / OF — bleu pédago + violet accent */

/* Agence web — cyan tech + violet créa */

/* Coach / Consultant — orange énergie + ancrage graphite */

/* Coach Fitness — vert vitalité + orange énergie */

/* Freelance — vert vif + graphite */

/* ════════════════════════════════════════════════════════════════
   v1.8.1 — Page d'accueil éditable (cv-homepage)
   Layout pour les sections introduites en blocs Gutenberg natifs :
   trust-grid, pain-grid, parc-cards, parc-stats, feat-bene/proof,
   testi-result, eyebrow colorés, price-anchor.
   Le mark global de la home reprend le gradient violet/cyan.
   ════════════════════════════════════════════════════════════════ */

.cv-homepage{display:block}
.cv-homepage .hero-badge > p,
.cv-homepage .hero-proof .item > p,
.cv-homepage .section-head > .eyebrow,
.cv-homepage .testi-who > p,
.cv-homepage .price > .price-tag{margin:0}

.cv-homepage mark{
  background:linear-gradient(95deg,var(--cyan) 0%,#fff 40%,var(--violet-2) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  padding:0;
}
html[data-theme="light"] .cv-homepage mark{
  background:linear-gradient(95deg,var(--violet) 0%,var(--violet-2) 60%,var(--cyan) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Eyebrow colors */
.cv-homepage .eyebrow-red{
  color:#fca5a5;border-color:rgba(252,165,165,.3);
}
.cv-homepage .eyebrow-red::before{background:#ef4444;box-shadow:0 0 12px rgba(239,68,68,.45)}
.cv-homepage .eyebrow-green{
  color:#86efac;border-color:rgba(134,239,172,.3);
}
.cv-homepage .eyebrow-green::before{background:#10b981;box-shadow:0 0 12px rgba(16,185,129,.45)}
.cv-homepage .eyebrow-pro{
  color:var(--violet-2);border-color:rgba(159,103,255,.35);
}
.cv-homepage .eyebrow-pro::before{background:var(--violet);box-shadow:0 0 14px rgba(124,58,237,.6)}
.cv-homepage .eyebrow-gold{
  color:var(--gold-2);border-color:rgba(232,201,124,.35);
}
.cv-homepage .eyebrow-gold::before{background:var(--gold-2);box-shadow:0 0 14px rgba(232,201,124,.55)}

/* Audiences — wrapper id (name + tag stack) */
.cv-homepage .aud-id{display:flex;flex-direction:column;gap:0;flex:1;min-width:0}
.cv-homepage .aud-id .aud-name{margin:0}
.cv-homepage .aud-id .aud-tag{margin:3px 0 0}
.cv-homepage .aud-line{margin:8px 0 0}

/* ════════════════════════════════════════════════════════════════
   v1.9.0 — wp:navigation (header + footer) traduisibles
   Override les styles du bloc Navigation pour matcher .nav-links
   et .footer-cols existants. Le bloc rend :
   <nav class="wp-block-navigation nav-links">
     <ul class="wp-block-navigation__container">
       <li class="wp-block-navigation-item">
         <a class="wp-block-navigation-item__content">
           <span class="wp-block-navigation-item__label">…</span>
         </a>
       </li>
     </ul>
   </nav>
   ════════════════════════════════════════════════════════════════ */

/* Header nav-links — wp:navigation */
.nav-links.wp-block-navigation{
  display:flex;align-items:center;gap:6px;
  background:transparent;border:0;padding:0;margin:0;
}
.nav-links .wp-block-navigation__container{
  display:flex;align-items:center;gap:6px;list-style:none;padding:0;margin:0;
  background:transparent;
}
.nav-links .wp-block-navigation-item{margin:0;padding:0;background:transparent}
.nav-links .wp-block-navigation-item__content,
.nav-links .wp-block-navigation a{
  font-size:14px;font-weight:500;color:var(--fg-mute);
  padding:8px 14px;border-radius:8px;
  text-decoration:none;
  transition:color .2s,background .2s;
}
.nav-links .wp-block-navigation-item__content:hover,
.nav-links .wp-block-navigation a:hover{
  color:#fff;background:rgba(255,255,255,.04);
}
html[data-theme="light"] .nav-links .wp-block-navigation-item__content,
html[data-theme="light"] .nav-links .wp-block-navigation a{color:var(--fg-mute)}
html[data-theme="light"] .nav-links .wp-block-navigation-item__content:hover,
html[data-theme="light"] .nav-links .wp-block-navigation a:hover{color:var(--fg);background:rgba(23,26,43,.04)}

/* Cacher la nav navigation overlay button (responsive natif WP) — on a notre propre burger */
.nav-links .wp-block-navigation__responsive-container-open,
.nav-links .wp-block-navigation__responsive-container-close,
.nav-links .wp-block-navigation__responsive-container{display:contents}
.nav-links .wp-block-navigation__responsive-container.is-menu-open{display:contents}

@media (max-width:1023px){
  .nav-links.wp-block-navigation{display:none}
}

/* Footer — 4 colonnes (footer-cols + footer-col + footer-col-title + footer-nav) */
.footer-cols{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
}
@media (max-width:880px){.footer-cols{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (max-width:480px){.footer-cols{grid-template-columns:1fr;gap:20px}}
.footer-col{display:flex;flex-direction:column;gap:14px}
.footer-col-title{
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg-dim);font-family:'JetBrains Mono',monospace;
  margin:0 0 6px;font-weight:500;
}
.footer-nav.wp-block-navigation{display:block}
.footer-nav .wp-block-navigation__container{
  display:flex;flex-direction:column;gap:10px;
  list-style:none;padding:0;margin:0;
}
.footer-nav .wp-block-navigation-item{padding:0;margin:0}
.footer-nav .wp-block-navigation-item__content,
.footer-nav .wp-block-navigation a{
  font-size:14px;color:var(--fg-mute);padding:0;
  background:transparent;text-decoration:none;
  transition:color .2s;
}
.footer-nav .wp-block-navigation-item__content:hover,
.footer-nav .wp-block-navigation a:hover{color:#fff;background:transparent}
html[data-theme="light"] .footer-nav .wp-block-navigation-item__content,
html[data-theme="light"] .footer-nav .wp-block-navigation a{color:var(--fg-mute)}
html[data-theme="light"] .footer-nav .wp-block-navigation-item__content:hover,
html[data-theme="light"] .footer-nav .wp-block-navigation a:hover{color:var(--fg)}

/* Drawer mobile : items clonés depuis .nav-links via JS — gardés stylés */
.nav-drawer .cv-drawer-cta-secondary{margin-top:8px}
.nav-drawer .cv-drawer-cta-primary{margin-top:4px}

/* ════════════════════════════════════════════════════════════════
   v1.9.0 — Pages produit (Solo / Parcours)
   Layout pour cv-produit-page : modules grid (8 ou 10 cards),
   cas d'usage (3 cards), pricing single (au lieu de price-grid 2 cols).
   ════════════════════════════════════════════════════════════════ */

.cv-produit-page{display:block}
.cv-produit-page mark,
.cv-produit-page .section-title mark,
.cv-produit-page .fc-inner h2 mark,
.cv-produit-page .guar-copy h2 mark{
  background:linear-gradient(95deg,var(--cyan) 0%,#fff 40%,var(--violet-2) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  padding:0;
}
html[data-theme="light"] .cv-produit-page mark{
  background:linear-gradient(95deg,var(--violet) 0%,var(--violet-2) 60%,var(--cyan) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Solo accent — violet/cyan (default) */
/* Pro accent — violet plus saturé */
.cv-produit-parcours mark,
.cv-produit-parcours .section-title mark,
.cv-produit-parcours .fc-inner h2 mark{
  background:linear-gradient(95deg,#9F67FF 0%,#fff 40%,#7C3AED 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Modules grid — 8 cards Solo / 10 cards Pro, 2 ou 3 colonnes */
.cv-produit-page .cv-modules{padding-block:clamp(80px,10vw,100px)}
.cv-produit-page .cv-modules-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px;
}
@media (min-width:1100px){.cv-produit-page .cv-modules-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.cv-produit-page .cv-modules-grid{grid-template-columns:1fr}}

.cv-produit-page .cv-module{
  background:rgba(255,255,255,.025);border:1px solid var(--gold-line);
  border-radius:16px;padding:28px;
  display:flex;flex-direction:column;gap:8px;
  transition:transform .25s var(--ease-out),border-color .25s,background .25s,box-shadow .25s;
  position:relative;overflow:hidden;
}
.cv-produit-page .cv-module::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 50% at 0% 0%,rgba(124,58,237,.06),transparent 70%);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
.cv-produit-page .cv-module:hover{
  transform:translateY(-3px);border-color:rgba(124,58,237,.35);
  background:rgba(255,255,255,.045);box-shadow:0 16px 40px rgba(0,0,0,.25);
}
.cv-produit-page .cv-module:hover::before{opacity:1}
.cv-produit-page .cv-module-num{
  font-family:'JetBrains Mono',monospace;font-size:12px;
  color:var(--violet-2);letter-spacing:2px;
  margin:0 0 8px;font-weight:700;
}
.cv-produit-page .cv-module h3{
  font-size:22px;letter-spacing:-.01em;line-height:1.2;
  margin:0 0 4px;
}
.cv-produit-page .cv-module-tagline{
  font-size:15px;color:var(--cyan);margin:0 0 8px;
  font-family:'Inter',sans-serif;line-height:1.4;
}
.cv-produit-page .cv-module > p:not(.cv-module-tagline):not(.cv-module-proof):not(.cv-module-num){
  font-size:14.5px;color:var(--fg-mute);line-height:1.6;margin:0 0 12px;
}
.cv-produit-page .cv-module-proof{
  font-size:12.5px;color:var(--fg-dim);margin:8px 0 0;
  padding-top:12px;border-top:1px dashed rgba(255,255,255,.08);
  font-family:'JetBrains Mono',monospace;letter-spacing:.2px;line-height:1.5;
}
.cv-produit-page .cv-module-proof strong{color:var(--gold-2)}
.cv-produit-page .cv-module-pro .cv-module-num{color:var(--violet)}
.cv-produit-page .cv-module-pro .cv-module-tagline{color:var(--violet-2)}

html[data-theme="light"] .cv-produit-page .cv-module{
  background:#FAF7F0;border-color:rgba(23,26,43,.06);
}
html[data-theme="light"] .cv-produit-page .cv-module:hover{
  background:#fff;border-color:rgba(124,58,237,.3);box-shadow:0 16px 40px rgba(23,26,43,.08);
}
html[data-theme="light"] .cv-produit-page .cv-module-num{color:var(--violet)}
html[data-theme="light"] .cv-produit-page .cv-module-tagline{color:var(--violet)}
html[data-theme="light"] .cv-produit-page .cv-module-proof{
  color:var(--fg-dim);border-top-color:rgba(23,26,43,.08);
}
html[data-theme="light"] .cv-produit-page .cv-module-proof strong{color:var(--gold)}

/* Cas d'usage (3 cards) */
.cv-produit-page .cv-usecases{
  background:linear-gradient(180deg,rgba(124,58,237,.04) 0%,transparent 100%);
  padding-block:clamp(80px,10vw,100px);
}
.cv-produit-page .cv-usecase-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;
}
@media (max-width:980px){.cv-produit-page .cv-usecase-grid{grid-template-columns:1fr;gap:16px}}
.cv-produit-page .cv-usecase{
  background:rgba(255,255,255,.03);border:1px solid var(--gold-line);
  border-radius:16px;padding:28px;
  transition:transform .25s,border-color .25s,background .25s;
}
.cv-produit-page .cv-usecase:hover{
  transform:translateY(-3px);border-color:rgba(109,213,237,.4);
  background:rgba(255,255,255,.045);
}
.cv-produit-page .cv-usecase-tag{
  display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:1.5px;text-transform:uppercase;
  color:var(--cyan);margin:0 0 12px;
  padding:4px 10px;border:1px solid rgba(109,213,237,.3);border-radius:999px;
  background:rgba(109,213,237,.06);
}
.cv-produit-page .cv-usecase-tag-pro{
  color:var(--violet-2);border-color:rgba(159,103,255,.35);
  background:rgba(124,58,237,.08);
}
.cv-produit-page .cv-usecase h3{
  font-size:18px;letter-spacing:-.01em;line-height:1.25;margin:0 0 10px;
}
.cv-produit-page .cv-usecase p{
  font-size:14px;color:var(--fg-mute);line-height:1.55;margin:0 0 12px;
}
.cv-produit-page .cv-usecase-result{
  font-family:'JetBrains Mono',monospace;font-size:12.5px;
  color:var(--gold-2);margin:14px 0 0;
  padding-top:12px;border-top:1px dashed rgba(255,255,255,.08);letter-spacing:.2px;
}
.cv-produit-page .cv-usecase-result strong{color:#fff}
html[data-theme="light"] .cv-produit-page .cv-usecase{background:#FAF7F0;border-color:rgba(23,26,43,.06)}
html[data-theme="light"] .cv-produit-page .cv-usecase:hover{background:#fff;border-color:rgba(109,213,237,.4)}
html[data-theme="light"] .cv-produit-page .cv-usecase p{color:var(--fg-mute)}
html[data-theme="light"] .cv-produit-page .cv-usecase-result{color:var(--gold);border-top-color:rgba(23,26,43,.08)}
html[data-theme="light"] .cv-produit-page .cv-usecase-result strong{color:var(--fg)}

/* Pricing single — une seule card centrée */
.cv-produit-page .price-grid-single{
  display:flex;justify-content:center;
}
.cv-produit-page .price-grid-single .price-pro{
  max-width:540px;width:100%;
}
.cv-produit-page .price-grid-single .price-pro h3{
  font-size:48px;letter-spacing:-.02em;margin:8px 0 0;
}
.cv-produit-page .price-grid-single .price-pro > p:nth-of-type(1){
  font-size:14px;color:var(--fg-mute);margin:6px 0 16px;
}
.cv-produit-page .price-grid-single .price-pro > p:nth-of-type(1) s{
  color:#94a3b8;text-decoration:line-through;margin-right:6px;
}

/* Pro page : tag prix avec gradient violet */
.cv-produit-parcours .price-tag-pro{
  background:linear-gradient(135deg,#9F67FF,#7C3AED);
}
.cv-produit-parcours .cv-vs-tag-pro{
  background:linear-gradient(135deg,#9F67FF,#5a1fd1);color:#fff;
}
.cv-produit-parcours .hero-ctas .wp-block-button.btn-primary .wp-block-button__link,
.cv-produit-parcours .fc-primary .wp-block-button__link,
.cv-produit-parcours .price-pro .wp-block-button.btn-primary .wp-block-button__link{
  background:linear-gradient(135deg,#9F67FF 0%,#7C3AED 100%)!important;
}

/* TRUST GRID (8 signaux) */
.cv-homepage .trust{padding-block:48px}
.cv-homepage .trust-label{
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2px;
  text-transform:uppercase;color:var(--fg-dim);margin:0 0 28px;
}
.cv-homepage .trust-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
}
@media (max-width:900px){.cv-homepage .trust-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cv-homepage .trust-grid{grid-template-columns:1fr}}
.cv-homepage .trust-cell{
  background:rgba(255,255,255,.025);border:1px solid var(--gold-line);
  border-radius:12px;padding:18px 16px;transition:transform .25s var(--ease-out),border-color .25s,background .25s;
}
.cv-homepage .trust-cell:hover{transform:translateY(-2px);border-color:rgba(201,162,75,.45);background:rgba(255,255,255,.045)}
.cv-homepage .trust-cell-t{font-size:14px;letter-spacing:-.01em;margin:0 0 4px;color:var(--fg)}
.cv-homepage .trust-cell-s{font-size:12.5px;color:var(--fg-mute);margin:0;line-height:1.45}
html[data-theme="light"] .cv-homepage .trust-cell{background:#FAF7F0;border-color:rgba(23,26,43,.08)}
html[data-theme="light"] .cv-homepage .trust-cell:hover{background:#fff;border-color:var(--gold-line)}

/* PAIN GRID — 4 cards avec stat */
.cv-homepage .pain-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px;
}
@media (max-width:780px){.cv-homepage .pain-grid{grid-template-columns:1fr}}
.cv-homepage .pain-grid .pain-card{
  background:rgba(255,255,255,.03);border:1px solid var(--gold-line);
  border-radius:14px;padding:24px;display:block;transition:transform .25s,border-color .25s,background .25s;
}
.cv-homepage .pain-grid .pain-card:hover{
  transform:translateY(-3px);border-color:rgba(239,68,68,.35);
  background:rgba(255,255,255,.045);box-shadow:0 12px 32px rgba(0,0,0,.25);
}
.cv-homepage .pain-grid .pain-card h3{
  font-size:18px;margin:0 0 8px;letter-spacing:-.01em;
}
.cv-homepage .pain-grid .pain-card p{
  font-size:14.5px;color:var(--fg-mute);line-height:1.55;margin:0 0 16px;
}
.cv-homepage .pain-stat{
  display:flex;align-items:baseline;gap:10px;
  padding-top:14px;border-top:1px dashed rgba(255,255,255,.08);
}
.cv-homepage .pain-stat-v{
  font-family:'JetBrains Mono',monospace;font-size:24px;
  color:#fca5a5;margin:0;font-weight:700;
}
.cv-homepage .pain-stat-l{font-size:12.5px;color:var(--fg-dim);margin:0;line-height:1.4}
html[data-theme="light"] .cv-homepage .pain-grid .pain-card{background:#FAF7F0;border-color:rgba(23,26,43,.06)}
html[data-theme="light"] .cv-homepage .pain-grid .pain-card:hover{background:#fff;border-color:rgba(239,68,68,.3)}
html[data-theme="light"] .cv-homepage .pain-grid .pain-card p{color:var(--fg-mute)}
html[data-theme="light"] .cv-homepage .pain-stat-v{color:#dc2626}
html[data-theme="light"] .cv-homepage .pain-stat{border-top-color:rgba(23,26,43,.08)}

/* TRANSITION DARK — author signature */
.cv-homepage .transition-dark .td-line{font-size:clamp(20px,3.4vw,32px);line-height:1.35}
.cv-homepage .td-author{
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:1.5px;
  color:var(--fg-dim);text-transform:uppercase;margin:18px 0 0;
}

/* FEATURES — bene + proof */
.cv-homepage .feat-bene{
  font-size:14.5px;color:var(--cyan);margin:6px 0 10px;
  font-family:'Inter',sans-serif;
}
.cv-homepage .feat-proof{
  font-size:12.5px;color:var(--fg-dim);margin:14px 0 0;
  padding-top:12px;border-top:1px dashed rgba(255,255,255,.08);
  font-family:'JetBrains Mono',monospace;letter-spacing:.2px;
}
html[data-theme="light"] .cv-homepage .feat-bene{color:var(--violet)}
html[data-theme="light"] .cv-homepage .feat-proof{color:var(--fg-dim);border-top-color:rgba(23,26,43,.08)}

/* PARCOURS FOCUS — 4 cards + 3 stats */
.cv-homepage .parcours-focus{
  background:linear-gradient(180deg,rgba(124,58,237,.08) 0%,transparent 100%);
  position:relative;
}
.cv-homepage .parcours-focus::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 50% at 50% 0%,rgba(124,58,237,.15),transparent 70%);
  pointer-events:none;
}
.cv-homepage .parc-cards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;
}
@media (max-width:980px){.cv-homepage .parc-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cv-homepage .parc-cards{grid-template-columns:1fr}}
.cv-homepage .parc-card{
  background:rgba(124,58,237,.06);border:1px solid rgba(124,58,237,.25);
  border-radius:14px;padding:22px;transition:transform .25s,border-color .25s,background .25s;
}
.cv-homepage .parc-card:hover{
  transform:translateY(-3px);border-color:rgba(124,58,237,.5);
  background:rgba(124,58,237,.1);
}
.cv-homepage .parc-card h3{
  font-size:18px;margin:0 0 8px;letter-spacing:-.01em;
  color:var(--violet-2);
}
.cv-homepage .parc-card p{font-size:14px;color:var(--fg-mute);line-height:1.55;margin:0}
.cv-homepage .parc-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:48px;padding:32px 28px;
  background:rgba(124,58,237,.05);border:1px solid rgba(124,58,237,.2);
  border-radius:16px;
}
@media (max-width:780px){.cv-homepage .parc-stats{grid-template-columns:1fr;gap:18px;padding:24px}}
.cv-homepage .parc-stat{text-align:center}
.cv-homepage .parc-stat-v{
  font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:36px;
  font-weight:800;letter-spacing:-.02em;margin:0 0 4px;
  background:linear-gradient(135deg,var(--violet-2),var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cv-homepage .parc-stat-l{font-size:13px;color:var(--fg-mute);margin:0;line-height:1.4}
html[data-theme="light"] .cv-homepage .parcours-focus{background:linear-gradient(180deg,rgba(124,58,237,.04),#FAF7F0 100%)}
html[data-theme="light"] .cv-homepage .parc-card{background:rgba(124,58,237,.04);border-color:rgba(124,58,237,.18)}
html[data-theme="light"] .cv-homepage .parc-card:hover{background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.4)}
html[data-theme="light"] .cv-homepage .parc-card h3{color:var(--violet)}
html[data-theme="light"] .cv-homepage .parc-stats{background:#fff;border-color:rgba(124,58,237,.18)}

/* TESTIMONIAL — résultat chiffré */
.cv-homepage .testi-result{
  margin:12px 0 18px;padding:10px 14px;
  background:linear-gradient(135deg,rgba(109,213,237,.08),rgba(124,58,237,.08));
  border:1px solid var(--gold-line);border-radius:10px;
  display:flex;align-items:center;gap:10px;
}
.cv-homepage .testi-result-v{
  font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:22px;
  font-weight:800;letter-spacing:-.02em;margin:0;
  background:linear-gradient(135deg,var(--cyan),var(--violet-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cv-homepage .testi-result-l{font-size:12.5px;color:var(--fg-mute);margin:0;line-height:1.4}

/* PRICING — anchor (price barré) */
.cv-homepage .price-anchor{
  font-family:'JetBrains Mono',monospace;font-size:12px;
  color:var(--fg-dim);margin-top:6px;letter-spacing:.3px;
}
.cv-homepage .price-anchor s{color:#94a3b8;text-decoration:line-through;margin-right:6px}

/* COMPARISON — réutilise .cmp-grid avatar mais centré sur la home */
.cv-homepage .cmp-grid{margin-top:40px;border:1px solid var(--gold-line);border-radius:14px;overflow:hidden}
.cv-homepage .cmp-row{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:0;
  border-bottom:1px solid rgba(255,255,255,.06);padding:0;
}
.cv-homepage .cmp-row:last-child{border-bottom:0}
.cv-homepage .cmp-head{background:rgba(255,255,255,.03)}
.cv-homepage .cmp-cell{
  padding:14px 16px;font-size:14px;margin:0;
  display:flex;align-items:center;line-height:1.45;
}
.cv-homepage .cmp-label{color:var(--fg);font-weight:600}
.cv-homepage .cmp-pro{
  background:linear-gradient(180deg,rgba(124,58,237,.14) 0%,rgba(124,58,237,.04) 100%);
  border-left:1px solid rgba(124,58,237,.3);border-right:1px solid rgba(124,58,237,.3);
  color:var(--violet-2);font-weight:600;
}
.cv-homepage .cmp-sub{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--fg-dim)}
.cv-homepage .cmp-sub small{display:block;font-size:10.5px;margin-top:2px;opacity:.8}
.cv-homepage .cmp-row:hover{background:rgba(124,58,237,.04)}

@media (max-width:820px){
  .cv-homepage .cmp-row{grid-template-columns:1fr}
  .cv-homepage .cmp-head{display:none}
  .cv-homepage .cmp-cell{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.05)}
  .cv-homepage .cmp-cell:last-child{border-bottom:0}
  .cv-homepage .cmp-cell::before{
    content:attr(data-label);display:block;font-size:11px;color:var(--fg-dim);
    text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;
  }
}
html[data-theme="light"] .cv-homepage .cmp-grid{border-color:rgba(23,26,43,.1);background:#fff}
html[data-theme="light"] .cv-homepage .cmp-row{border-bottom-color:rgba(23,26,43,.06)}
html[data-theme="light"] .cv-homepage .cmp-head{background:#FAF7F0}
html[data-theme="light"] .cv-homepage .cmp-pro{color:var(--violet)}

/* ════════════════════════════════════════════════════════════════════
   AVATAR COACH FITNESS v2 — sections additionnelles (AIDA framework)
   ──────────────────────────────────────────────────────────────────
   Cible : page-avatar-coach-fitness-v2 + pattern avatar-coach-fitness-v2
   Préfixe : .cv-avatar-coach-fitness-v2 .{section}
   ──────────────────────────────────────────────────────────────────── */

/* — TRUST STRIP marquee infini — */
.cv-trust-strip{padding:32px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.015)}
.cv-trust-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.cv-trust-track{display:flex;gap:48px;align-items:center;animation:cvTrustScroll 38s linear infinite;width:max-content}
.cv-trust-marquee:hover .cv-trust-track{animation-play-state:paused}
.cv-trust-item{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--fg-mute);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cv-trust-item svg{width:14px;height:14px;color:var(--cyan,#6dd5ed);opacity:.85}
@keyframes cvTrustScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.cv-trust-track{animation:none}}
html[data-theme="light"] .cv-trust-strip{background:#FAF7F0;border-top-color:rgba(23,26,43,.06);border-bottom-color:rgba(23,26,43,.06)}
html[data-theme="light"] .cv-trust-item{color:var(--fg-mute)}
html[data-theme="light"] .cv-trust-item svg{color:var(--violet,#7C3AED)}

/* — PAIN GRID coach (4 cards) — */
.cv-pain-coach{padding:80px 0}
.cv-pain-grid{margin-top:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media (max-width:767px){.cv-pain-grid{grid-template-columns:1fr}}
.cv-pain-grid .pain-card{padding:28px 24px;border-radius:18px}
.cv-pain-grid .pain-card .ic{width:42px;height:42px;border-radius:11px}
.cv-pain-grid .pain-card .ic svg{width:18px;height:18px}
.cv-pain-grid .pain-card h4{font-size:17px;margin:14px 0 8px}
.cv-pain-grid .pain-card p{font-size:14px;line-height:1.6}
.cv-pain-stat{margin-top:14px!important;padding:8px 14px;background:rgba(249,115,22,.08);border-radius:8px;display:inline-block;font-size:12px!important;color:#F97316!important;font-family:'JetBrains Mono',monospace;letter-spacing:.02em}
html[data-theme="light"] .cv-pain-stat{background:rgba(249,115,22,.1);color:#C2410C!important}

/* — TRANSITION SOMBRE typewriter — */
.cv-transition-coach{background:linear-gradient(180deg,#0A0F1C 0%,#1A1A3E 100%);padding:80px 0;text-align:center;position:relative;overflow:hidden}
.cv-transition-coach::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(124,58,237,.1) 0,transparent 60%)}
.cv-transition-coach .wrap{position:relative;z-index:1;max-width:880px}
.cv-transition-coach h2{font-size:clamp(22px,3.5vw,34px);font-weight:700;line-height:1.35;color:#fff;letter-spacing:-.015em}
.cv-transition-coach mark{background:transparent;color:#F97316;padding:0 4px;position:relative;display:inline-block}
.cv-typewriter{overflow:hidden;border-right:2px solid #F97316;white-space:nowrap;animation:cvTypewriter 1.6s steps(11,end) 1 .4s both,cvBlinkCaret .8s step-end infinite 2.2s}
@keyframes cvTypewriter{from{width:0}to{width:11ch}}
@keyframes cvBlinkCaret{50%{border-color:transparent}}
@media (prefers-reduced-motion:reduce){.cv-typewriter{animation:none;border-right:0}}
html[data-theme="light"] .cv-transition-coach{background:linear-gradient(180deg,#171A2B 0%,#2D1854 100%)}

/* — SOLUTION REVEAL — */
.cv-solution-coach{padding:80px 0;background:radial-gradient(circle at 50% 0%,rgba(16,185,129,.05) 0,transparent 70%)}
.cv-solution-coach .eyebrow-green{color:#10B981;background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.25)}
.cv-solution-coach .section-title{max-width:920px;margin:0 auto 20px}
.cv-solution-coach .section-title mark{background:transparent;color:#10B981;font-weight:800}

/* — FEATURES GRID coach (override pour grille 3 cols) — */
.cv-features-coach{padding:80px 0}
.cv-features-coach .feat-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:1023px){.cv-features-coach .feat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.cv-features-coach .feat-grid{grid-template-columns:1fr}}
.cv-features-coach .feat code{font-size:11px;background:rgba(16,185,129,.08);color:#10B981;padding:2px 8px;border-radius:5px;margin-top:10px;display:inline-block}
.cv-features-coach .feat-pro code{background:rgba(249,115,22,.08);color:#F97316}
html[data-theme="light"] .cv-features-coach .feat code{background:rgba(16,185,129,.1);color:#047857}
html[data-theme="light"] .cv-features-coach .feat-pro code{background:rgba(249,115,22,.1);color:#C2410C}

/* — HOW IT WORKS 3 steps — */
.cv-how-it-works{padding:90px 0;background:linear-gradient(180deg,transparent 0,rgba(124,58,237,.025) 100%)}
.cv-steps-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}
@media (max-width:1023px){.cv-steps-grid{grid-template-columns:1fr;gap:20px}}
.cv-steps-line{position:absolute;top:40px;left:8%;right:8%;width:84%;height:4px;display:none}
@media (min-width:1024px){.cv-steps-line{display:block}}
.cv-step{position:relative;padding:32px 24px 26px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);transition:all .28s var(--ease,cubic-bezier(.34,1.56,.64,1))}
.cv-step:hover{transform:translateY(-4px);background:rgba(255,255,255,.04);border-color:rgba(124,58,237,.35);box-shadow:var(--shadow-card,0 12px 28px rgba(0,0,0,.25))}
.cv-step-num{position:absolute;top:-16px;left:24px;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#10B981,#7C3AED);color:#fff;font-family:'JetBrains Mono',monospace;font-weight:800;font-size:16px;letter-spacing:0;box-shadow:0 6px 18px rgba(124,58,237,.35)}
.cv-step:nth-child(3) .cv-step-num{background:linear-gradient(135deg,#7C3AED,#F97316);box-shadow:0 6px 18px rgba(249,115,22,.35)}
.cv-step:nth-child(4) .cv-step-num{background:linear-gradient(135deg,#F97316,#10B981);box-shadow:0 6px 18px rgba(16,185,129,.35)}
.cv-step-time{position:absolute;top:18px;right:20px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--fg-dim,#94a3b8);background:rgba(255,255,255,.04);padding:3px 10px;border-radius:99px;border:1px solid rgba(255,255,255,.08)}
.cv-step-ic{display:inline-flex;width:36px;height:36px;border-radius:9px;background:rgba(124,58,237,.12);color:#7C3AED;align-items:center;justify-content:center;margin:8px 0 14px}
.cv-step-ic svg{width:18px;height:18px}
.cv-step h3{font-size:18px;font-weight:700;margin:0 0 10px;color:#fff;letter-spacing:-.015em}
.cv-step p{font-size:14px;line-height:1.6;color:var(--fg-mute)}
.cv-step code{font-family:'JetBrains Mono',monospace;font-size:12px;background:rgba(255,255,255,.06);padding:1px 6px;border-radius:5px}
html[data-theme="light"] .cv-step{background:#FFFFFF;border-color:rgba(23,26,43,.08)}
html[data-theme="light"] .cv-step:hover{border-color:var(--gold-line,rgba(201,168,76,.3))}
html[data-theme="light"] .cv-step h3{color:var(--fg,#0F172A)}
html[data-theme="light"] .cv-step-time{color:var(--fg-dim);background:rgba(23,26,43,.04);border-color:rgba(23,26,43,.08)}

/* — FOCUS PARCOURS PRO coach — */
.cv-parcours-coach{padding:100px 0;position:relative;overflow:hidden;background:linear-gradient(135deg,#0A0F1C 0%,#1A1A3E 50%,#2D1854 100%)}
.cv-parcours-bg{position:absolute;inset:0;pointer-events:none}
.cv-parcours-glow{position:absolute;width:600px;height:600px;top:-200px;right:-150px;background:radial-gradient(circle,rgba(124,58,237,.18) 0,rgba(249,115,22,.08) 40%,transparent 70%);border-radius:50%;animation:cvProGlow 8s ease-in-out infinite}
@keyframes cvProGlow{0%,100%{transform:scale(1) translate(0,0)}50%{transform:scale(1.15) translate(-30px,30px)}}
@media (prefers-reduced-motion:reduce){.cv-parcours-glow{animation:none}}
.cv-parcours-coach .wrap{position:relative;z-index:1}
.cv-parcours-coach .eyebrow-pro{color:#F97316;background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.3);font-weight:700}
.cv-parcours-coach .section-title{color:#fff}
.cv-parcours-coach .section-title mark{background:transparent;color:#F97316;font-weight:800}
.cv-parcours-coach .section-lede{color:rgba(255,255,255,.65);max-width:780px;margin-left:auto;margin-right:auto}
.cv-parcours-grid{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1023px){.cv-parcours-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.cv-parcours-grid{grid-template-columns:1fr}}
.cv-parcours-grid .feat{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.cv-parcours-grid .feat:hover{background:rgba(255,255,255,.07);border-color:rgba(249,115,22,.4)}
.cv-parcours-grid .feat-ic{background:rgba(249,115,22,.15);color:#F97316}
.cv-parcours-grid .feat:hover .feat-ic{transform:rotate(-8deg) scale(1.06);color:#fff;background:linear-gradient(135deg,#F97316,#7C3AED)}
.cv-parcours-grid .feat h3{color:#fff;font-size:16px}
.cv-parcours-grid .feat p{color:rgba(255,255,255,.6);font-size:13.5px}
.cv-parcours-grid .feat-tag-pro{background:rgba(249,115,22,.15);color:#F97316;border-color:rgba(249,115,22,.3)}
.cv-parcours-stats{margin-top:56px;padding-top:40px;border-top:1px solid rgba(255,255,255,.08);gap:48px}
.cv-pp-stat{text-align:center;min-width:140px}
.cv-pp-val{font-size:clamp(34px,5vw,48px);font-weight:800;background:linear-gradient(135deg,#10B981,#F97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;font-family:'Cabinet Grotesk','Inter',sans-serif;letter-spacing:-.02em}
.cv-pp-stat-zero .cv-pp-val{background:linear-gradient(135deg,#F97316,#7C3AED);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:clamp(48px,7vw,72px)}
.cv-pp-lbl{margin-top:6px!important;font-size:12.5px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.05em;font-family:'JetBrains Mono',monospace}
html[data-theme="light"] .cv-parcours-coach{background:linear-gradient(135deg,#171A2B 0%,#2D1854 100%)}

/* — Mark générique avatar coach v2 — vert pop sur les bénéfices — */

/* — Anchor price barré — */
.price-anchor{display:block;font-size:14px;color:var(--fg-dim,#94a3b8);text-decoration:line-through;margin-bottom:4px;font-family:'JetBrains Mono',monospace}

/* ════════════════════════════════════════════════════════════════════
   AVATAR COACH FITNESS v2.1 — refonte 16 features + garde-fous
   Append (versions précédentes au-dessus, nouvelles classes ci-dessous)
   ──────────────────────────────────────────────────────────────────── */

/* — PAIN GRID v2 (vertical, lisible) — */
.cv-pain-grid-v2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
@media (max-width:767px){.cv-pain-grid-v2{grid-template-columns:1fr}}
.cv-pain-v2{display:flex;flex-direction:column;gap:14px;padding:32px 28px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);transition:all .28s var(--ease,cubic-bezier(.34,1.56,.64,1))}
.cv-pain-v2:hover{transform:translateY(-3px);background:rgba(255,255,255,.045);border-color:rgba(249,115,22,.35);box-shadow:0 12px 32px rgba(249,115,22,.12)}
.cv-pain-v2-head{display:flex;align-items:center;gap:14px}
.cv-pain-v2-ic{flex-shrink:0;width:44px;height:44px;border-radius:11px;background:rgba(249,115,22,.12);color:#F97316;display:grid;place-items:center}
.cv-pain-v2-ic svg{width:20px;height:20px}
.cv-pain-v2:hover .cv-pain-v2-ic{transform:rotate(-6deg) scale(1.06);background:linear-gradient(135deg,#F97316,#EA580C);color:#fff}
.cv-pain-v2-head h4{font-size:18px;font-weight:700;color:#fff;margin:0;line-height:1.3;letter-spacing:-.01em}
.cv-pain-v2-body{font-size:14.5px;line-height:1.65;color:var(--fg-mute);margin:0}
.cv-pain-v2-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.08)}
.cv-pain-v2-stat{display:inline-block;padding:6px 12px;background:rgba(249,115,22,.08);color:#F97316;border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;align-self:flex-start}
.cv-pain-v2-fix{font-size:13px;color:#10B981;font-weight:600}
.cv-pain-v2-fix strong{color:#10B981}
html[data-theme="light"] .cv-pain-v2{background:#FFFFFF;border-color:rgba(23,26,43,.08)}
html[data-theme="light"] .cv-pain-v2:hover{border-color:rgba(249,115,22,.35);box-shadow:0 12px 32px rgba(249,115,22,.10)}
html[data-theme="light"] .cv-pain-v2-head h4{color:var(--fg)}
html[data-theme="light"] .cv-pain-v2-fix{color:#047857}

/* — PARCOURS BALISÉ (4 jalons) — */
.cv-parcours-balise{padding:100px 0;position:relative;overflow:hidden;background:linear-gradient(135deg,#0A0F1C 0%,#1A1A3E 50%,#2D1854 100%)}
.cv-pb-bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(124,58,237,.18) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(249,115,22,.12) 0,transparent 50%);pointer-events:none}
.cv-parcours-balise .wrap{position:relative;z-index:1}
.cv-parcours-balise .section-title{color:#fff}
.cv-parcours-balise .section-title mark{background:transparent;color:#F97316;font-weight:800}
.cv-parcours-balise .section-lede{color:rgba(255,255,255,.7)}
.cv-pb-flow{margin-top:56px;position:relative}
.cv-pb-line{position:absolute;top:30px;left:5%;right:5%;width:90%;height:80px;display:none;pointer-events:none}
@media (min-width:1024px){.cv-pb-line{display:block}}
.cv-pb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:1}
@media (max-width:1023px){.cv-pb-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.cv-pb-grid{grid-template-columns:1fr}}
.cv-pb-step{padding:28px 22px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);position:relative;transition:all .28s var(--ease,cubic-bezier(.34,1.56,.64,1))}
.cv-pb-step:hover{transform:translateY(-4px);background:rgba(255,255,255,.08);border-color:rgba(249,115,22,.4)}
.cv-pb-time{display:inline-block;padding:5px 12px;background:rgba(249,115,22,.15);color:#F97316;border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:14px}
.cv-pb-step h3{color:#fff;font-size:18px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}
.cv-pb-promise{font-size:14px;color:rgba(255,255,255,.75);line-height:1.6;margin:0 0 14px}
.cv-pb-promise em{color:#F97316;font-style:normal}
.cv-pb-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.cv-pb-list li{font-size:12.5px;color:rgba(255,255,255,.6);padding-left:18px;position:relative}
.cv-pb-list li::before{content:'';position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#10B981,#F97316)}
.cv-pb-foot{margin-top:48px;padding:20px 24px;background:rgba(255,255,255,.04);border-radius:14px;text-align:center;font-size:14.5px;color:rgba(255,255,255,.7);line-height:1.6}
.cv-pb-foot strong{color:#10B981}
.cv-pb-foot em{color:#F97316;font-style:normal}

/* — MÉTHODES D'ACCOMPAGNEMENT (garde-fous) — */
.cv-methods{padding:90px 0;background:linear-gradient(180deg,transparent 0,rgba(16,185,129,.04) 50%,transparent 100%)}
.cv-methods .section-lede{max-width:880px;margin-left:auto;margin-right:auto}
.cv-methods .section-lede em{color:#F97316;font-style:normal;font-weight:600}
.cv-methods-grid{margin-top:52px;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
@media (max-width:1199px){.cv-methods-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.cv-methods-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:479px){.cv-methods-grid{grid-template-columns:1fr}}
.cv-method{padding:24px 20px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);position:relative;transition:all .28s var(--ease,cubic-bezier(.34,1.56,.64,1));display:flex;flex-direction:column;gap:10px}
.cv-method:hover{transform:translateY(-4px);background:rgba(255,255,255,.06);border-color:rgba(16,185,129,.4)}
.cv-method-num{position:absolute;top:-14px;left:20px;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#10B981,#7C3AED);color:#fff;font-family:'Cabinet Grotesk','Inter',sans-serif;font-weight:800;font-size:14px;display:grid;place-items:center;box-shadow:0 4px 14px rgba(124,58,237,.35)}
.cv-method-ic{width:38px;height:38px;border-radius:10px;background:rgba(16,185,129,.12);color:#10B981;display:grid;place-items:center;margin-top:8px}
.cv-method-ic svg{width:18px;height:18px}
.cv-method:hover .cv-method-ic{background:linear-gradient(135deg,#10B981,#7C3AED);color:#fff;transform:rotate(-6deg) scale(1.06)}
.cv-method h3{color:#fff;font-size:16px;font-weight:700;margin:0;letter-spacing:-.01em}
.cv-method p{font-size:13.5px;color:rgba(255,255,255,.65);line-height:1.55;margin:0;flex-grow:1}
.cv-method-tag{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:rgba(255,255,255,.5);padding-top:8px;border-top:1px dashed rgba(255,255,255,.08)}
.cv-method-tag code{background:rgba(255,255,255,.05);padding:2px 6px;border-radius:4px}
html[data-theme="light"] .cv-method{background:#fff;border-color:rgba(23,26,43,.08)}
html[data-theme="light"] .cv-method h3{color:var(--fg)}
html[data-theme="light"] .cv-method p{color:var(--fg-mute)}
html[data-theme="light"] .cv-method-tag{color:var(--fg-dim)}
html[data-theme="light"] .cv-method-tag code{background:rgba(23,26,43,.04)}

/* — BLOCS FEATURES (Bloc 1 + Bloc 2) — */
.cv-features-block{padding:90px 0}
.cv-bloc-tag{display:inline-block;padding:6px 16px;border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.cv-bloc-tag-eleve{background:rgba(16,185,129,.12);color:#10B981;border:1px solid rgba(16,185,129,.3)}
.cv-bloc-tag-coach{background:rgba(124,58,237,.12);color:#a78bfa;border:1px solid rgba(124,58,237,.3)}
.cv-bloc-tag-infra{background:rgba(249,115,22,.12);color:#F97316;border:1px solid rgba(249,115,22,.3)}
.cv-feat-grid-v2{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:1023px){.cv-feat-grid-v2{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.cv-feat-grid-v2{grid-template-columns:1fr}}
.cv-feat-v2{position:relative;padding:32px 24px 24px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:12px;transition:all .28s var(--ease,cubic-bezier(.34,1.56,.64,1))}
.cv-feat-v2:hover{transform:translateY(-5px);background:rgba(255,255,255,.05);border-color:rgba(124,58,237,.4);box-shadow:0 16px 40px rgba(124,58,237,.15)}
.cv-feat-v2-num{position:absolute;top:-14px;right:20px;padding:5px 12px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.1);border-radius:99px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:12px}
.cv-features-eleve .cv-feat-v2-num{background:rgba(16,185,129,.12);color:#10B981;border-color:rgba(16,185,129,.3)}
.cv-features-coach .cv-feat-v2-num{background:rgba(124,58,237,.12);color:#a78bfa;border-color:rgba(124,58,237,.3)}
.cv-feat-v2-ic{width:44px;height:44px;border-radius:11px;background:rgba(124,58,237,.12);color:#a78bfa;display:grid;place-items:center}
.cv-features-eleve .cv-feat-v2-ic{background:rgba(16,185,129,.12);color:#10B981}
.cv-feat-v2-ic svg{width:20px;height:20px}
.cv-feat-v2:hover .cv-feat-v2-ic{transform:rotate(-6deg) scale(1.06);color:#fff;background:linear-gradient(135deg,#7C3AED,#10B981)}
.cv-feat-v2 h3{color:#fff;font-size:18px;font-weight:700;margin:0;letter-spacing:-.01em}
.cv-feat-v2 p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.6;margin:0}
.cv-feat-v2 p code{font-family:'JetBrains Mono',monospace;font-size:11.5px;background:rgba(255,255,255,.06);padding:1px 6px;border-radius:5px;color:rgba(255,255,255,.85)}
.cv-feat-v2-tag{margin-top:auto;align-self:flex-start;padding:4px 10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:11px;color:rgba(255,255,255,.55);font-weight:600}
.cv-feat-v2-tag-pro{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.3);color:#F97316}
html[data-theme="light"] .cv-feat-v2{background:#fff;border-color:rgba(23,26,43,.08)}
html[data-theme="light"] .cv-feat-v2 h3{color:var(--fg)}
html[data-theme="light"] .cv-feat-v2 p{color:var(--fg-mute)}
html[data-theme="light"] .cv-feat-v2 p code{background:rgba(23,26,43,.05);color:var(--fg)}
html[data-theme="light"] .cv-feat-v2-num{background:rgba(23,26,43,.04);color:var(--fg-dim);border-color:rgba(23,26,43,.08)}

/* — BLOC 3 INFRASTRUCTURE — */
.cv-features-infra{padding:100px 0;position:relative;overflow:hidden;background:linear-gradient(135deg,#0A0F1C 0%,#1A1A3E 100%)}
.cv-infra-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(249,115,22,.1) 0,transparent 60%);pointer-events:none}
.cv-features-infra .wrap{position:relative;z-index:1}
.cv-features-infra .section-title{color:#fff}
.cv-features-infra .section-title mark{background:transparent;color:#F97316;font-weight:800}
.cv-features-infra .section-lede{color:rgba(255,255,255,.7);max-width:840px;margin-left:auto;margin-right:auto}
.cv-infra-grid{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:1023px){.cv-infra-grid{grid-template-columns:1fr}}
.cv-infra-card{position:relative;padding:36px 28px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);transition:all .28s var(--ease,cubic-bezier(.34,1.56,.64,1))}
.cv-infra-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.07);border-color:rgba(249,115,22,.4)}
.cv-infra-num{position:absolute;top:-16px;left:28px;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#F97316,#7C3AED);color:#fff;font-family:'Cabinet Grotesk','Inter',sans-serif;font-weight:800;font-size:15px;display:grid;place-items:center;box-shadow:0 6px 18px rgba(249,115,22,.4)}
.cv-infra-ic{width:48px;height:48px;border-radius:12px;background:rgba(249,115,22,.15);color:#F97316;display:grid;place-items:center;margin-bottom:18px}
.cv-infra-ic svg{width:22px;height:22px}
.cv-infra-card:hover .cv-infra-ic{background:linear-gradient(135deg,#F97316,#EA580C);color:#fff}
.cv-infra-card h3{color:#fff;font-size:22px;font-weight:800;margin:0 0 12px;letter-spacing:-.015em}
.cv-infra-card p{font-size:14.5px;color:rgba(255,255,255,.7);line-height:1.65;margin:0}
.cv-infra-card code{font-family:'JetBrains Mono',monospace;font-size:12px;background:rgba(255,255,255,.06);padding:2px 7px;border-radius:5px;color:rgba(255,255,255,.85)}

/* — MINI-MOCKUPS (chat, stats group, webhook, sovereignty, guards) — */
.cv-mini-mockup{margin:40px auto 0;max-width:920px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.cv-mm-head{display:flex;align-items:center;gap:10px;padding:14px 18px;background:rgba(0,0,0,.3);border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.7);font-weight:600}
.cv-mm-head svg{color:#7C3AED;flex-shrink:0}
.cv-mm-head span:first-of-type{flex-grow:1}
.cv-mm-badge{padding:3px 10px;background:rgba(255,255,255,.06);border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:rgba(255,255,255,.6);letter-spacing:.05em;text-transform:uppercase}
.cv-mm-badge-pro{background:rgba(249,115,22,.15);color:#F97316}
html[data-theme="light"] .cv-mini-mockup{background:#FFFFFF;border-color:rgba(23,26,43,.08);box-shadow:0 16px 40px rgba(23,26,43,.06)}
html[data-theme="light"] .cv-mm-head{background:#F7F4EC;border-bottom-color:rgba(23,26,43,.06);color:var(--fg)}
html[data-theme="light"] .cv-mm-badge{background:rgba(23,26,43,.04);color:var(--fg-mute)}

/* — Conversation chat 1-1 — */
.cv-mockup-chat .cv-mm-body{padding:22px;display:flex;flex-direction:column;gap:14px}
.cv-msg{display:flex;gap:12px;align-items:flex-end}
.cv-msg-them{justify-content:flex-start}
.cv-msg-me{justify-content:flex-end}
.cv-msg-av{flex-shrink:0;width:34px;height:34px;border-radius:50%;color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center;font-family:'JetBrains Mono',monospace}
.cv-msg-bubble{max-width:480px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.05);font-size:14px;color:rgba(255,255,255,.85);line-height:1.55}
.cv-msg-me .cv-msg-bubble{background:linear-gradient(135deg,rgba(16,185,129,.18),rgba(124,58,237,.18));border:1px solid rgba(16,185,129,.25)}
.cv-msg-name{font-size:11.5px;color:rgba(255,255,255,.5);font-weight:600;margin-bottom:4px;font-family:'JetBrains Mono',monospace}
.cv-msg-bubble p{margin:0}
html[data-theme="light"] .cv-msg-bubble{background:#F7F4EC;color:var(--fg)}
html[data-theme="light"] .cv-msg-me .cv-msg-bubble{background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(124,58,237,.12))}
html[data-theme="light"] .cv-msg-name{color:var(--fg-mute)}

/* — Tableau Stats du groupe — */
.cv-mm-table{width:100%;border-collapse:collapse;font-size:13.5px}
.cv-mm-table thead th{background:rgba(0,0,0,.2);padding:12px 18px;text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.5);font-family:'JetBrains Mono',monospace;border-bottom:1px solid rgba(255,255,255,.08)}
.cv-mm-table tbody td{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.85)}
.cv-mm-table tbody tr:last-child td{border-bottom:none}
.cv-mm-table tbody tr:hover{background:rgba(255,255,255,.03)}
.cv-mm-table tbody tr.cv-mm-row-warn{background:rgba(249,115,22,.06)}
.cv-mm-av{display:inline-grid;width:26px;height:26px;border-radius:50%;color:#fff;font-weight:700;font-size:10px;place-items:center;margin-right:8px;vertical-align:middle;font-family:'JetBrains Mono',monospace}
.cv-mm-score{display:inline-block;padding:3px 9px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:12px}
.cv-mm-score-good{background:rgba(16,185,129,.15);color:#10B981}
.cv-mm-score-mid{background:rgba(245,158,11,.15);color:#F59E0B}
.cv-mm-score-warn{background:rgba(249,115,22,.18);color:#F97316}
.cv-mm-foot{padding:12px 18px;background:rgba(0,0,0,.2);font-size:12.5px;color:rgba(255,255,255,.55);text-align:center}
.cv-mm-foot strong{color:#10B981}
html[data-theme="light"] .cv-mm-table thead th{background:#F7F4EC;color:var(--fg-mute);border-bottom-color:rgba(23,26,43,.08)}
html[data-theme="light"] .cv-mm-table tbody td{color:var(--fg);border-bottom-color:rgba(23,26,43,.05)}
html[data-theme="light"] .cv-mm-table tbody tr.cv-mm-row-warn{background:rgba(249,115,22,.07)}
html[data-theme="light"] .cv-mm-foot{background:#F7F4EC;color:var(--fg-mute)}

/* — Webhook config — */
.cv-mm-webhook{padding:18px 22px;display:flex;flex-direction:column;gap:8px;font-family:'JetBrains Mono',monospace}
.cv-mm-wh-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(255,255,255,.03);border-radius:8px;font-size:12.5px}
.cv-mm-wh-event{color:#a78bfa;flex:1;font-weight:600}
.cv-mm-wh-arrow{color:rgba(255,255,255,.3)}
.cv-mm-wh-target{padding:3px 10px;background:rgba(124,58,237,.15);color:#a78bfa;border-radius:5px;font-weight:600;font-size:11.5px}
.cv-mm-wh-do{color:rgba(255,255,255,.7);flex:1.2}
.cv-mockup-webhook .cv-mm-foot code{background:rgba(255,255,255,.05);padding:2px 7px;border-radius:5px;font-size:11.5px;color:rgba(255,255,255,.85)}
html[data-theme="light"] .cv-mm-wh-row{background:rgba(23,26,43,.03)}
html[data-theme="light"] .cv-mm-wh-event{color:#7C3AED}
html[data-theme="light"] .cv-mm-wh-do{color:var(--fg-mute)}

/* — Sovereignty schéma — */
.cv-mm-sov-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;padding:32px 28px;align-items:stretch}
@media (max-width:767px){.cv-mm-sov-grid{grid-template-columns:1fr}}
.cv-mm-sov-side{padding:24px 22px;border-radius:14px;display:flex;flex-direction:column;gap:10px;border:1px solid}
.cv-mm-sov-good{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.25)}
.cv-mm-sov-bad{background:rgba(220,38,38,.06);border-color:rgba(220,38,38,.25)}
.cv-mm-sov-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:800;color:#fff}
.cv-mm-sov-good .cv-mm-sov-icon{background:#10B981}
.cv-mm-sov-bad .cv-mm-sov-icon{background:#DC2626}
.cv-mm-sov-side h4{margin:0;font-size:16px;font-weight:700;color:#fff}
.cv-mm-sov-side code{font-family:'JetBrains Mono',monospace;font-size:13px;background:rgba(255,255,255,.06);padding:4px 10px;border-radius:6px;color:rgba(255,255,255,.9);align-self:flex-start}
.cv-mm-sov-side p{font-size:13.5px;color:rgba(255,255,255,.7);line-height:1.55;margin:0}
.cv-mm-sov-side ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
.cv-mm-sov-side ul li{font-size:12.5px;color:rgba(255,255,255,.6);padding-left:14px;position:relative;line-height:1.5}
.cv-mm-sov-side ul li::before{content:'•';position:absolute;left:0;color:#10B981}
.cv-mm-sov-bad ul li::before{color:#DC2626}
.cv-mm-sov-arrow{display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:800;color:rgba(255,255,255,.3)}
@media (max-width:767px){.cv-mm-sov-arrow{display:none}}
html[data-theme="light"] .cv-mm-sov-side h4{color:var(--fg)}
html[data-theme="light"] .cv-mm-sov-side p{color:var(--fg-mute)}
html[data-theme="light"] .cv-mm-sov-side code{background:rgba(23,26,43,.06);color:var(--fg)}

/* — Mockup garde-fous (cumul) — */
.cv-mm-guards{padding:18px 22px;display:flex;flex-direction:column;gap:10px}
.cv-mm-guard{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.cv-mm-guard-done{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.25)}
.cv-mm-guard-pending{background:rgba(249,115,22,.08);border-color:rgba(249,115,22,.25)}
.cv-mm-guard-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;color:#fff}
.cv-mm-guard-done .cv-mm-guard-ic{background:#10B981}
.cv-mm-guard-pending .cv-mm-guard-ic{background:#F97316}
.cv-mm-guard-ic svg{width:14px;height:14px}
.cv-mm-guard > div{flex:1;display:flex;flex-direction:column;gap:2px}
.cv-mm-guard strong{font-size:13.5px;color:#fff;font-weight:600}
.cv-mm-guard span{font-size:11.5px;color:rgba(255,255,255,.55);font-family:'JetBrains Mono',monospace}
.cv-mm-guard-status{padding:4px 10px;border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.cv-mm-guard-done .cv-mm-guard-status{background:rgba(16,185,129,.15);color:#10B981}
.cv-mm-guard-pending .cv-mm-guard-status{background:rgba(249,115,22,.15);color:#F97316}
html[data-theme="light"] .cv-mm-guard strong{color:var(--fg)}
html[data-theme="light"] .cv-mm-guard span{color:var(--fg-mute)}

/* — Trust strip marquee — */
.cv-trust-strip{padding:32px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.015)}
.cv-trust-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.cv-trust-track{display:flex;gap:48px;align-items:center;animation:cvTrustScroll 38s linear infinite;width:max-content}
.cv-trust-marquee:hover .cv-trust-track{animation-play-state:paused}
.cv-trust-item{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--fg-mute);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cv-trust-item svg{width:14px;height:14px;color:var(--cyan,#6dd5ed);opacity:.85}
@keyframes cvTrustScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.cv-trust-track{animation:none}}

/* — Transition sombre + typewriter — */
.cv-transition-coach{background:linear-gradient(180deg,#0A0F1C 0%,#1A1A3E 100%);padding:80px 0;text-align:center;position:relative;overflow:hidden}
.cv-transition-coach .wrap{position:relative;z-index:1;max-width:900px}
.cv-transition-coach h2{font-size:clamp(22px,3.5vw,32px);font-weight:700;line-height:1.4;color:#fff;letter-spacing:-.015em}
.cv-transition-coach mark{background:transparent;color:#F97316;padding:0 4px}
.cv-typewriter{overflow:hidden;border-right:2px solid #F97316;white-space:nowrap;animation:cvTypewriter 1.6s steps(11,end) 1 .4s both,cvBlinkCaret .8s step-end infinite 2.2s}
@keyframes cvTypewriter{from{width:0}to{width:11ch}}
@keyframes cvBlinkCaret{50%{border-color:transparent}}
@media (prefers-reduced-motion:reduce){.cv-typewriter{animation:none;border-right:0}}

/* — Mark & H1 du bloc avatar v2 — */

.price-anchor{display:block;font-size:14px;color:var(--fg-dim,#94a3b8);text-decoration:line-through;margin-bottom:4px;font-family:'JetBrains Mono',monospace}

/* ════════════════════════════════════════════════════════════════════
   AVATAR AVOCAT v2 — palette navy + or (cabinet d'avocats / notaires)
   ──────────────────────────────────────────────────────────────────── */

/* Palette H1 / H2 mark — or feutré */

/* Hero avocat — fond navy plus prononcé */
.cv-hero-avocat{background:linear-gradient(135deg,#0B1D3A 0%,#132D54 50%,#1A3A6B 100%)}
.cv-hero-avocat .glow-a{background:radial-gradient(circle,rgba(201,168,76,.18),transparent 60%)}
.cv-hero-avocat .glow-b{background:radial-gradient(circle,rgba(26,58,107,.18),transparent 60%)}
.cv-hero-avocat .hero-badge .tag{background:rgba(201,168,76,.15);color:#C9A84C;border:1px solid rgba(201,168,76,.3)}
.cv-hero-avocat .hero-badge p strong{color:#C9A84C}
.cv-hero-avocat .btn-primary{background:linear-gradient(135deg,#C9A84C,#B08E35);color:#fff;box-shadow:0 4px 24px rgba(201,168,76,.4)}
.cv-hero-avocat .btn-primary:hover{box-shadow:0 8px 32px rgba(201,168,76,.5)}
.cv-hero-avocat .hero-badge-float.b-lock .ic{background:rgba(201,168,76,.18);color:#C9A84C}
.cv-hero-avocat .hero-badge-float.b-audit .ic{background:rgba(26,58,107,.22);color:#1A3A6B}
.cv-hero-avocat .hero-badge-float.b-speed .ic{background:rgba(201,168,76,.18);color:#B08E35}

/* Pilier central highlight (Bloc 3 souveraineté) */
.cv-infra-card-highlight{background:linear-gradient(135deg,rgba(201,168,76,.08),rgba(124,58,237,.08));border-color:rgba(201,168,76,.4);position:relative}
.cv-infra-card-highlight:hover{border-color:rgba(201,168,76,.6)!important}
.cv-infra-card-highlight .cv-infra-num{background:linear-gradient(135deg,#C9A84C,#7C3AED)!important}
.cv-infra-card-highlight .cv-infra-ic{background:linear-gradient(135deg,rgba(201,168,76,.22),rgba(124,58,237,.18))!important;color:#C9A84C!important}
.cv-infra-card-highlight:hover .cv-infra-ic{background:linear-gradient(135deg,#C9A84C,#7C3AED)!important;color:#fff!important}
.cv-infra-card-highlight h3{color:#fff!important;font-size:24px!important}
html[data-theme="light"] .cv-infra-card-highlight h3{color:var(--fg)!important}
.cv-infra-badge{display:inline-block;position:absolute;top:18px;right:20px;padding:5px 12px;background:linear-gradient(135deg,#C9A84C,#F97316);color:#fff;border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 14px rgba(201,168,76,.4)}
.cv-infra-list{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:8px}
.cv-infra-list li{font-size:13.5px;color:rgba(255,255,255,.75);line-height:1.55;padding-left:22px;position:relative}
.cv-infra-list li::before{content:'';position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#C9A84C,#10B981)}
html[data-theme="light"] .cv-infra-list li{color:var(--fg-mute)}

/* Témoignages avocat — accent or */

/* Pricing card pro avocat */

/* Final CTA avocat */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — DÉFENSE UNIVERSELLE icônes (fix screenshot 2026-04-25)
   ──────────────────────────────────────────────────────────────────── */

/* Toute SVG dans une page avatar v2 ne peut JAMAIS dépasser 28×28 par défaut */

/* Méthodes — grid responsive mieux balisé */

@media (max-width:1199px){.cv-avatar-page .cv-methods-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.cv-avatar-page .cv-methods-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:479px){.cv-avatar-page .cv-methods-grid{grid-template-columns:1fr}}

/* Pain grid v2 — bornage strict sur mobile */

@media (max-width:767px){.cv-avatar-page .cv-pain-grid-v2{grid-template-columns:1fr}}

/* Features grid v2 — bornage strict sur mobile */

@media (max-width:1023px){.cv-avatar-page .cv-feat-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.cv-avatar-page .cv-feat-grid-v2{grid-template-columns:1fr}}

/* Infra grid — bornage strict */

@media (max-width:1023px){.cv-avatar-page .cv-infra-grid{grid-template-columns:1fr}}

/* Mockup mini — overflow contenu */

/* ════════════════════════════════════════════════════════════════════
   AVOCAT v2 — palette HERO corrigée (charte mère du thème)
   ──────────────────────────────────────────────────────────────────── */
/* OVERRIDE de la version cassée plus haut (#0B1D3A custom) */
.cv-hero-avocat{background:linear-gradient(135deg,#0A0F1C 0%,#1A1A3E 50%,#2D1854 100%)!important}
.cv-hero-avocat .glow-a{background:radial-gradient(circle,rgba(201,168,76,.16),transparent 60%)!important}
.cv-hero-avocat .glow-b{background:radial-gradient(circle,rgba(124,58,237,.20),transparent 60%)!important}
.cv-hero-avocat::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}

/* Bloc 3 souveraineté avocat — ré-utiliser la palette mère, pas une nouvelle */

/* Final CTA avocat — palette mère */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — FIX light mode + responsive table (2026-04-25 batch 2)
   ──────────────────────────────────────────────────────────────────── */

/* ─── Sections forcées en dark : leurs textes restent toujours blancs ─── */
.cv-parcours-balise .section-title,
.cv-parcours-balise .section-lede,
.cv-parcours-balise .eyebrow,
.cv-features-infra .section-title,
.cv-features-infra .section-lede,
.cv-features-infra .eyebrow,
.cv-final-cta-avatar h2,
.cv-final-cta-avatar p,
.cv-final-cta-avatar .eyebrow,
.cv-transition-coach h2,
.cv-parcours-coach .section-title,
.cv-parcours-coach .section-lede{color:#fff!important}

.cv-parcours-balise .section-lede,
.cv-features-infra .section-lede,
.cv-final-cta-avatar p{color:rgba(255,255,255,.78)!important}

/* Eyebrow Pro (orange) reste orange dans les deux thèmes */
.cv-parcours-balise .eyebrow-pro,
.cv-features-infra .eyebrow-pro{color:#F97316!important}

/* Cards Bloc 3 souveraineté — h3, p, code, ul li toujours light */
.cv-features-infra .cv-infra-card h3{color:#fff!important}
.cv-features-infra .cv-infra-card p{color:rgba(255,255,255,.72)!important}
.cv-features-infra .cv-infra-card code{color:rgba(255,255,255,.85)!important;background:rgba(255,255,255,.08)!important}
.cv-features-infra .cv-infra-list li{color:rgba(255,255,255,.78)!important}
.cv-features-infra .cv-infra-list li strong{color:#fff!important}

/* Cards Parcours balisé — h3, promise, list, foot toujours light */
.cv-parcours-balise .cv-pb-step h3{color:#fff!important}
.cv-parcours-balise .cv-pb-step .cv-pb-promise{color:rgba(255,255,255,.78)!important}
.cv-parcours-balise .cv-pb-step .cv-pb-promise em{color:#F97316!important}
.cv-parcours-balise .cv-pb-step .cv-pb-list li{color:rgba(255,255,255,.7)!important}
.cv-parcours-balise .cv-pb-foot{color:rgba(255,255,255,.78)!important}
.cv-parcours-balise .cv-pb-foot strong{color:#10B981!important}
.cv-parcours-balise .cv-pb-foot em{color:#F97316!important}

/* Mockup (cv-mini-mockup) — fond blanc en light, donc le contenu DOIT être dark */
html[data-theme="light"] .cv-mockup-sovereignty .cv-mm-sov-side h4{color:var(--fg,#0F172A)!important}
html[data-theme="light"] .cv-mockup-sovereignty .cv-mm-sov-side p{color:var(--fg-mute,#475569)!important}
html[data-theme="light"] .cv-mockup-sovereignty .cv-mm-sov-side code{color:var(--fg,#0F172A)!important;background:rgba(23,26,43,.06)!important}
html[data-theme="light"] .cv-mockup-sovereignty .cv-mm-sov-side ul li{color:var(--fg-mute,#475569)!important}
html[data-theme="light"] .cv-mockup-sovereignty .cv-mm-sov-good ul li::before{color:#10B981!important}
html[data-theme="light"] .cv-mockup-sovereignty .cv-mm-sov-bad ul li::before{color:#DC2626!important}

/* Dark mode : confirmer le contenu mockup-sovereignty reste light (au cas où) */
html:not([data-theme="light"]) .cv-mockup-sovereignty .cv-mm-sov-side h4{color:#fff}
html:not([data-theme="light"]) .cv-mockup-sovereignty .cv-mm-sov-side p{color:rgba(255,255,255,.72)}
html:not([data-theme="light"]) .cv-mockup-sovereignty .cv-mm-sov-side ul li{color:rgba(255,255,255,.65)}
html:not([data-theme="light"]) .cv-mockup-sovereignty .cv-mm-sov-side code{color:rgba(255,255,255,.9);background:rgba(255,255,255,.08)}

/* Mockup Chat 1-1 : en light mode bulles doivent être dark */
html[data-theme="light"] .cv-mockup-chat .cv-msg-bubble{color:var(--fg,#0F172A)!important;background:#F7F4EC!important}
html[data-theme="light"] .cv-mockup-chat .cv-msg-me .cv-msg-bubble{background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(124,58,237,.12))!important}
html[data-theme="light"] .cv-mockup-chat .cv-msg-name{color:var(--fg-mute,#475569)!important}

/* Mockup Stats group : en light mode, table textes doivent être dark */
html[data-theme="light"] .cv-mockup-stats-group .cv-mm-table thead th{color:var(--fg-mute,#475569)!important;background:#F7F4EC!important;border-bottom-color:rgba(23,26,43,.08)!important}
html[data-theme="light"] .cv-mockup-stats-group .cv-mm-table tbody td{color:var(--fg,#0F172A)!important;border-bottom-color:rgba(23,26,43,.05)!important}
html[data-theme="light"] .cv-mockup-stats-group .cv-mm-foot{background:#F7F4EC!important;color:var(--fg-mute,#475569)!important}

/* Mockup Webhook : en light textes lisibles */
html[data-theme="light"] .cv-mockup-webhook .cv-mm-wh-row{background:rgba(23,26,43,.04)!important}
html[data-theme="light"] .cv-mockup-webhook .cv-mm-wh-do{color:var(--fg-mute,#475569)!important}
html[data-theme="light"] .cv-mockup-webhook .cv-mm-foot code{background:rgba(23,26,43,.05)!important;color:var(--fg,#0F172A)!important}

/* Mockup Garde-fous (cumul) : en light textes lisibles */
html[data-theme="light"] .cv-mockup-guards .cv-mm-guard strong{color:var(--fg,#0F172A)!important}
html[data-theme="light"] .cv-mockup-guards .cv-mm-guard span{color:var(--fg-mute,#475569)!important}
html[data-theme="light"] .cv-mockup-guards .cv-mm-foot{color:var(--fg-mute,#475569)!important;background:#F7F4EC!important}

/* Méthodes accompagnement : section claire — light mode = textes dark */
html[data-theme="light"] .cv-method{background:#FFFFFF!important;border-color:rgba(23,26,43,.08)!important}
html[data-theme="light"] .cv-method h3{color:var(--fg,#0F172A)!important}
html[data-theme="light"] .cv-method p{color:var(--fg-mute,#475569)!important}
html[data-theme="light"] .cv-method-tag{color:var(--fg-dim,#94a3b8)!important;border-top-color:rgba(23,26,43,.08)!important}
html[data-theme="light"] .cv-method-tag code{background:rgba(23,26,43,.05)!important;color:var(--fg,#0F172A)!important}

/* Pain grid v2 : en light textes lisibles */
html[data-theme="light"] .cv-pain-v2{background:#FFFFFF!important;border-color:rgba(23,26,43,.08)!important}
html[data-theme="light"] .cv-pain-v2:hover{border-color:rgba(249,115,22,.4)!important}
html[data-theme="light"] .cv-pain-v2-head h4{color:var(--fg,#0F172A)!important}
html[data-theme="light"] .cv-pain-v2-body{color:var(--fg-mute,#475569)!important}
html[data-theme="light"] .cv-pain-v2-foot{border-top-color:rgba(23,26,43,.08)!important}
html[data-theme="light"] .cv-pain-v2-fix{color:#047857!important}

/* Features grid v2 (Bloc 1 + Bloc 2) : en light textes lisibles */
html[data-theme="light"] .cv-feat-v2{background:#FFFFFF!important;border-color:rgba(23,26,43,.08)!important}
html[data-theme="light"] .cv-feat-v2:hover{border-color:rgba(124,58,237,.4)!important}
html[data-theme="light"] .cv-feat-v2 h3{color:var(--fg,#0F172A)!important}
html[data-theme="light"] .cv-feat-v2 p{color:var(--fg-mute,#475569)!important}
html[data-theme="light"] .cv-feat-v2 p code{background:rgba(23,26,43,.06)!important;color:var(--fg,#0F172A)!important}
html[data-theme="light"] .cv-feat-v2-num{background:rgba(23,26,43,.04)!important;color:var(--fg-dim,#94a3b8)!important;border-color:rgba(23,26,43,.08)!important}
html[data-theme="light"] .cv-features-eleve .cv-feat-v2-num{background:rgba(16,185,129,.12)!important;color:#047857!important;border-color:rgba(16,185,129,.3)!important}
html[data-theme="light"] .cv-features-coach .cv-feat-v2-num{background:rgba(124,58,237,.12)!important;color:#5a1fd1!important;border-color:rgba(124,58,237,.3)!important}
html[data-theme="light"] .cv-feat-v2-tag{background:rgba(23,26,43,.04)!important;color:var(--fg-dim,#94a3b8)!important;border-color:rgba(23,26,43,.08)!important}
html[data-theme="light"] .cv-feat-v2-tag-pro{background:rgba(249,115,22,.12)!important;color:#C2410C!important;border-color:rgba(249,115,22,.3)!important}

/* Pain stats / Pain fix : light visibles */
html[data-theme="light"] .cv-pain-v2-stat{background:rgba(249,115,22,.12)!important;color:#C2410C!important}

/* Bloc tag (eyebrow groupe) : light visible */
html[data-theme="light"] .cv-bloc-tag-eleve{background:rgba(16,185,129,.12)!important;color:#047857!important;border-color:rgba(16,185,129,.3)!important}
html[data-theme="light"] .cv-bloc-tag-coach{background:rgba(124,58,237,.12)!important;color:#5a1fd1!important;border-color:rgba(124,58,237,.3)!important}
html[data-theme="light"] .cv-bloc-tag-infra{background:rgba(249,115,22,.12)!important;color:#C2410C!important;border-color:rgba(249,115,22,.3)!important}

/* Hero badge — assurer lisibilité dans les 2 thèmes (hero toujours dark) */
.cv-hero-avatar .hero-badge .tag,
.cv-hero-avatar .hero-badge p{color:#fff!important}
.cv-hero-avocat .hero-badge .tag{color:#C9A84C!important}

/* Stats strip + trust strip : eyebrow visible en light */
html[data-theme="light"] .cv-stats-strip .cv-stat-value strong{color:var(--fg,#0F172A)!important}
html[data-theme="light"] .cv-stats-strip .cv-stat-label{color:var(--fg-mute,#475569)!important}

/* Section eyebrows en clair : visibles en light */
html[data-theme="light"] .section-head.center .eyebrow{color:var(--fg-mute,#475569)}

/* Pricing — feats list visible light */
html[data-theme="light"] .price-feats li{color:var(--fg,#0F172A)!important}
html[data-theme="light"] .price-foot{color:var(--fg-mute,#475569)!important}

/* ════════════════════════════════════════════════════════════════════
   TABLEAU STATS GROUP — RESPONSIVE MOBILE (scroll horizontal)
   ──────────────────────────────────────────────────────────────────── */
.cv-mockup-stats-group{overflow:hidden}
.cv-mockup-stats-group .cv-mm-head,
.cv-mockup-stats-group .cv-mm-foot{padding-left:18px;padding-right:18px}

/* Sur mobile, autoriser le scroll horizontal du tableau dans le mockup */
@media (max-width:767px){
  .cv-avatar-page .cv-mockup-stats-group{overflow:hidden}
  .cv-avatar-page .cv-mockup-stats-group > .cv-mm-table{
    display:block;
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap;
  }
  .cv-avatar-page .cv-mockup-stats-group > .cv-mm-table thead,
  .cv-avatar-page .cv-mockup-stats-group > .cv-mm-table tbody{
    display:table;
    width:auto;
    min-width:600px;
  }
  .cv-avatar-page .cv-mockup-stats-group > .cv-mm-table thead th,
  .cv-avatar-page .cv-mockup-stats-group > .cv-mm-table tbody td{
    padding:10px 12px;
    font-size:12.5px;
  }
}

/* Sur très petit, tronquer joliment l'avatar/nom */
@media (max-width:479px){
  .cv-avatar-page .cv-mockup-stats-group{font-size:12px}
  .cv-avatar-page .cv-mockup-stats-group .cv-mm-av{margin-right:6px}
}

/* ════════════════════════════════════════════════════════════════════
   STATS STRIP — borner sur mobile pour ne pas tronquer
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:639px){
  .cv-avatar-page .cv-stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:0!important}
  .cv-avatar-page .cv-stat{padding:18px 12px;border-right:none}
  .cv-avatar-page .cv-stat:nth-child(odd){border-right:1px solid rgba(255,255,255,.06)}
  .cv-avatar-page .cv-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.06)}
  html[data-theme="light"] .cv-avatar-page .cv-stat:nth-child(odd){border-right-color:rgba(23,26,43,.08)}
  html[data-theme="light"] .cv-avatar-page .cv-stat:nth-child(-n+2){border-bottom-color:rgba(23,26,43,.08)}
}

/* ════════════════════════════════════════════════════════════════════
   GUARANTEE — éviter overflow sur mobile
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:767px){
  .cv-avatar-page .guarantee-inner{flex-direction:column;text-align:center}
  .cv-avatar-page .guar-seal{margin:0 auto}
}

/* ════════════════════════════════════════════════════════════════════
   COMPARATIF — colonnes empilent sur mobile
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:767px){
  .cv-avatar-page .cv-vs-grid{grid-template-columns:1fr!important;gap:16px}
}

/* ════════════════════════════════════════════════════════════════════
   PRICING — empilement mobile
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:767px){
  .cv-avatar-page .price-grid{grid-template-columns:1fr!important}
}

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — FIX FINAL light mode + mobile (2026-04-25 batch 3)
   ──────────────────────────────────────────────────────────────────── */

/* ─── LIGHT MODE : bouclier visibilité absolu pour TOUTES les sections adaptatives ─── */
/* On applique des couleurs adaptées pour les sections qui ne sont pas forcées en dark */

/* Section-title et section-lede dans sections adaptatives : DARK en light */

/* Eyebrows en light : muted readable */

/* Scenario : copy en dark */

/* Scenario clock visual : light visible */

/* Step Méthodes Num (badge A→E) : light visible */

/* Comparatif éditeur : light textes lisibles */

/* Témoignages : light textes lisibles */

/* FAQ : light textes lisibles */

/* Garantie : light visible */

/* Pricing : light textes lisibles */

/* Pain v2 : stat orange + fix vert visibles light */

/* Stats strip light visible */

/* Trust strip light visible */

/* Transition sombre — toujours dark, textes blancs */
.cv-transition-coach{background:linear-gradient(180deg,#0A0F1C 0%,#1A1A3E 100%)!important}
.cv-transition-coach h2{color:#fff!important}
.cv-transition-coach mark{color:#F97316!important}

/* ════════════════════════════════════════════════════════════════════
   FOOTER MOBILE — fix
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:880px){
  .footer-inner{display:flex!important;flex-direction:column!important;gap:32px!important;padding-left:20px!important;padding-right:20px!important}
  .footer-brand{max-width:100%!important;text-align:left}
  .footer-cols{width:100%!important;grid-template-columns:repeat(2,1fr)!important;gap:20px 16px!important}
  .footer-col{gap:8px!important}
  .footer-col-title{margin-bottom:4px!important;font-size:11px!important}
  .footer-base{flex-direction:column!important;gap:12px!important;align-items:flex-start!important;text-align:left!important;padding:20px!important}
  .footer-badges{flex-wrap:wrap!important;gap:8px!important}
  .footer-badges .b{font-size:11px!important;padding:4px 10px!important}
}
@media (max-width:480px){
  .footer-cols{grid-template-columns:1fr!important;gap:18px!important}
  .footer-brand p{font-size:13.5px!important}
  .footer-tag{font-size:11.5px!important}
}

/* ════════════════════════════════════════════════════════════════════
   BOUTONS MOBILE — full width hero + fc + price + nav cta
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:639px){
  /* Hero CTAs */
  .cv-avatar-page .hero-ctas{flex-direction:column!important;width:100%!important;gap:10px!important}
  .cv-avatar-page .hero-ctas .wp-block-button{width:100%!important}
  .cv-avatar-page .hero-ctas .wp-block-button__link,
  .cv-avatar-page .hero-ctas .btn{width:100%!important;display:flex!important;justify-content:center!important;font-size:15px!important;padding:14px 20px!important;min-height:50px!important;box-sizing:border-box}

  /* Final CTA */
  .cv-avatar-page .fc-ctas{flex-direction:column!important;width:100%!important;gap:10px!important}
  .cv-avatar-page .fc-ctas .wp-block-button{width:100%!important}
  .cv-avatar-page .fc-ctas .wp-block-button__link,
  .cv-avatar-page .fc-ctas .btn{width:100%!important;display:flex!important;justify-content:center!important;font-size:15px!important;padding:14px 20px!important;min-height:50px!important;box-sizing:border-box}

  /* Pricing : déjà sur 1 col, mais boutons full width */
  .cv-avatar-page .price .wp-block-buttons{width:100%!important}
  .cv-avatar-page .price .wp-block-button__link{width:100%!important;display:flex!important;justify-content:center!important;font-size:15px!important;padding:14px 20px!important;min-height:50px!important;box-sizing:border-box}

  /* Hero proof items */
  .cv-avatar-page .hero-proof{gap:12px!important;flex-direction:column!important;width:100%!important}
  .cv-avatar-page .hero-proof .item{font-size:13px!important;justify-content:center}

  /* Hero badge */
  .cv-avatar-page .hero-badge{flex-direction:column!important;align-items:flex-start!important;gap:6px!important;text-align:left}

  /* Hero H1 plus serré */
  .cv-avatar-page #heroTitle{font-size:clamp(26px,7vw,36px)!important;line-height:1.2!important}
  .cv-avatar-page .hero-lede{font-size:15px!important;line-height:1.55!important}
}

/* ════════════════════════════════════════════════════════════════════
   PADDING MOBILE — toutes sections respirent
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:639px){
  .cv-avatar-page .section{padding:60px 0!important}
  .cv-avatar-page .wrap{padding-left:20px!important;padding-right:20px!important}
  .cv-avatar-page .section-title{font-size:clamp(24px,6vw,30px)!important;line-height:1.2!important}
  .cv-avatar-page .section-lede{font-size:14.5px!important;line-height:1.55!important}
  .cv-avatar-page .hero{padding-top:80px!important;padding-bottom:60px!important}
  .cv-avatar-page .mockup-wrap.cv-mockup-below{margin-top:32px!important}
  .cv-avatar-page .cv-pb-step,
  .cv-avatar-page .cv-method,
  .cv-avatar-page .cv-pain-v2,
  .cv-avatar-page .cv-feat-v2,
  .cv-avatar-page .cv-infra-card{padding:22px 18px!important}
  .cv-avatar-page .cv-mini-mockup{margin-top:28px!important;border-radius:10px!important}
  .cv-avatar-page .cv-mm-head{padding:12px 14px!important;font-size:12px!important}
  .cv-avatar-page .cv-mm-head span{font-size:12px!important}
  .cv-avatar-page .cv-msg-bubble{max-width:85%!important;font-size:13px!important}
}

/* ════════════════════════════════════════════════════════════════════
   PARCOURS BALISÉ — étapes empilées proprement mobile
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:1023px){
  .cv-avatar-page .cv-pb-grid{grid-template-columns:1fr!important;gap:14px!important}
}

/* ════════════════════════════════════════════════════════════════════
   COMPARATIF SOUVERAINETÉ — empilage propre mobile
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:767px){
  .cv-avatar-page .cv-mm-sov-grid{grid-template-columns:1fr!important;padding:20px!important;gap:16px!important}
  .cv-avatar-page .cv-mm-sov-arrow{display:none!important}
}

/* ════════════════════════════════════════════════════════════════════
   GUARDS MOCKUP — items empilés proprement mobile
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:639px){
  .cv-avatar-page .cv-mm-guard{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  .cv-avatar-page .cv-mm-guard-status{align-self:flex-start!important}
}

/* ════════════════════════════════════════════════════════════════════
   WEBHOOK MOCKUP — empilage propre mobile
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:639px){
  .cv-avatar-page .cv-mm-wh-row{flex-wrap:wrap!important;gap:6px!important;font-size:11.5px!important}
  .cv-avatar-page .cv-mm-wh-do{flex:1 0 100%!important}
}

/* ════════════════════════════════════════════════════════════════════
   STATS PARCOURS PRO — gap mobile
   ──────────────────────────────────────────────────────────────────── */
@media (max-width:639px){
  .cv-avatar-page .cv-parcours-stats{flex-wrap:wrap!important;gap:24px!important;justify-content:center}
}

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — RÉARCHITECTURE LIGHT MODE par CSS variables (v1.14.0)
   Source de vérité unique. Les sections always-dark redéclarent
   localement leurs vars. Les mockups blancs sur sections dark
   redéclarent à nouveau pour avoir du texte dark sur fond blanc.
   ──────────────────────────────────────────────────────────────────── */

/* DEFAULT (dark theme) */

/* LIGHT THEME — overrides */

/* Sections ALWAYS-DARK : forcer les vars dark indépendamment du thème */

/* Mockups (cards blanches) DANS sections always-dark : revenir à dark text */

/* En light mode, mockup hors always-dark : déjà OK (vars light héritées) */
/* Mais on s'assure pour mockup hors any cv-features-infra/parcours-balise */

/* ─── Application des variables sur les composants ─── */

/* Sections : background adaptatif */

/* Titres et ledes adaptatifs */

/* Cards (toutes) : bg + border + text */

/* Card titles */

/* Card body texts */

/* Code inline */

/* Strikethrough anchor */

/* Scenario clock */

/* Scenario paragraphs */

/* Trust strip items */

/* Stats strip */

/* Mockup chat */

/* Mockup table */

/* Mockup webhook */

/* Mockup garde-fous */

/* Mockup sovereignty */

/* Pricing */

/* FAQ */

/* Footer (toujours dark, déjà géré ailleurs mais on enlève les conflits) */

/* ════════════════════════════════════════════════════════════════════
   PRICING v3 — design moderne, toggle annuel/lifetime, multi-tiers
   ──────────────────────────────────────────────────────────────────── */

.pricing-v3{padding:90px 0;position:relative}
.pricing-v3 .wrap{max-width:1200px}
.pricing-v3 .section-head{text-align:center;margin-bottom:40px}

/* Toggle annuel / lifetime */
.pv3-toggle{display:inline-flex;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);border-radius:99px;padding:5px;gap:4px;margin:24px 0 8px}
.pv3-toggle-btn{appearance:none;background:transparent;border:0;padding:10px 22px;border-radius:99px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--cv-text-mute);cursor:pointer;transition:all .25s}
.pv3-toggle-btn:hover{color:var(--cv-text-strong)}
.pv3-toggle-btn.pv3-active{background:linear-gradient(135deg,#7C3AED,#10B981);color:#fff;box-shadow:0 4px 14px rgba(124,58,237,.35)}
.pv3-launch-note{font-size:12px;color:var(--cv-text-dim);font-family:'JetBrains Mono',monospace;margin-top:6px;letter-spacing:.04em}
.pv3-launch-note strong{color:#F97316}

/* CSS-driven price switch */
.pricing-v3[data-billing="annual"] [data-show="lifetime"]{display:none!important}
.pricing-v3[data-billing="lifetime"] [data-show="annual"]{display:none!important}

/* Single-license grid */
.pv3-single-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
@media (max-width:767px){.pv3-single-grid{grid-template-columns:1fr}}

.pv3-card{position:relative;padding:40px 32px;border-radius:20px;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);display:flex;flex-direction:column;gap:18px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}
.pv3-card:hover{transform:translateY(-4px);border-color:var(--cv-card-border-hover);box-shadow:0 16px 40px rgba(124,58,237,.10)}
.pv3-recommended{background:linear-gradient(180deg,rgba(201,168,76,.08) 0%,var(--cv-card-bg) 60%);border-color:rgba(201,168,76,.4);box-shadow:0 16px 50px rgba(201,168,76,.15)}
.pv3-recommended:hover{border-color:rgba(201,168,76,.6)}

.pv3-tier{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--cv-eyebrow);text-transform:uppercase;letter-spacing:.1em}
.pv3-card h3{font-size:24px;font-weight:800;color:var(--cv-text-strong);margin:0;letter-spacing:-.015em;font-family:inherit}
.pv3-card > p{color:var(--cv-text-mute);font-size:14.5px;line-height:1.55;margin:0}

.pv3-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:5px 14px;background:linear-gradient(135deg,#C9A84C,#F97316);color:#fff;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 14px rgba(201,168,76,.4);white-space:nowrap}
.pv3-badge-popular{background:linear-gradient(135deg,#7C3AED,#10B981);box-shadow:0 4px 14px rgba(124,58,237,.4)}

.pv3-price{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-top:1px dashed var(--cv-divider);border-bottom:1px dashed var(--cv-divider)}
.pv3-price-anchor{font-size:14px;color:var(--cv-text-dim)}
.pv3-price-anchor s{font-family:'JetBrains Mono',monospace;text-decoration-thickness:1.5px}
.pv3-price-main{display:flex;align-items:baseline;gap:6px;font-family:'Cabinet Grotesk','Inter',sans-serif}
.pv3-price-main > span{font-size:48px;font-weight:800;color:var(--cv-text-strong);line-height:1;letter-spacing:-.03em}
.pv3-price-period{font-size:13.5px;color:var(--cv-text-mute);font-family:'JetBrains Mono',monospace}

.pv3-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.pv3-features li{font-size:14px;line-height:1.5;color:var(--cv-text);padding-left:24px;position:relative}
.pv3-features li::before{content:'';position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#10B981,#7C3AED);box-shadow:0 0 0 2px var(--cv-card-bg)}
.pv3-features li::after{content:'';position:absolute;left:4px;top:9px;width:6px;height:6px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translateY(-1px)}
.pv3-features li strong{color:var(--cv-text-strong)}

.pv3-cta{margin-top:auto;display:inline-flex;justify-content:center;align-items:center;padding:14px 24px;background:rgba(124,58,237,.12);color:#a78bfa;border:1px solid rgba(124,58,237,.3);border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;transition:all .25s;cursor:pointer}
html[data-theme="light"] .pv3-cta{color:#5a1fd1;background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.25)}
.pv3-cta:hover{background:rgba(124,58,237,.2);transform:translateY(-1px)}
.pv3-cta-primary{background:linear-gradient(135deg,#7C3AED,#10B981);color:#fff!important;border-color:transparent;box-shadow:0 6px 20px rgba(124,58,237,.4)}
.pv3-cta-primary:hover{background:linear-gradient(135deg,#5a1fd1,#047857);box-shadow:0 8px 28px rgba(124,58,237,.5)}
.pv3-cta-recommended{background:linear-gradient(135deg,#C9A84C,#B08E35);color:#fff!important;border-color:transparent;box-shadow:0 6px 20px rgba(201,168,76,.4)}
.pv3-cta-recommended:hover{box-shadow:0 8px 28px rgba(201,168,76,.5)}

/* Agency tier */
.pv3-agency{margin-top:64px}
.pv3-agency-header{text-align:center;margin-bottom:32px}
.pv3-agency-eyebrow{display:inline-block;padding:6px 16px;background:rgba(124,58,237,.12);color:#a78bfa;border:1px solid rgba(124,58,237,.3);border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
html[data-theme="light"] .pv3-agency-eyebrow{color:#5a1fd1}
.pv3-agency-header h3{font-size:clamp(24px,3.5vw,34px);font-weight:800;color:var(--cv-text-strong);margin:0;letter-spacing:-.02em}
.pv3-agency-header h3 mark{background:transparent;color:#7C3AED;font-weight:800}
.pv3-agency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
@media (max-width:1023px){.pv3-agency-grid{grid-template-columns:1fr}}

.pv3-agency-card{position:relative;padding:32px 24px;border-radius:18px;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);display:flex;flex-direction:column;gap:14px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}
.pv3-agency-card:hover{transform:translateY(-4px);border-color:var(--cv-card-border-hover);box-shadow:0 12px 32px rgba(124,58,237,.10)}
.pv3-agency-popular{background:linear-gradient(180deg,rgba(124,58,237,.08) 0%,var(--cv-card-bg) 60%);border-color:rgba(124,58,237,.4)}
.pv3-agency-tier{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--cv-eyebrow);text-transform:uppercase;letter-spacing:.1em}
.pv3-agency-card h4{font-size:20px;font-weight:800;color:var(--cv-text-strong);margin:0;letter-spacing:-.015em;font-family:inherit}
.pv3-agency-card > p{font-size:13.5px;color:var(--cv-text-mute);line-height:1.5;margin:0}
.pv3-agency-card .pv3-cta{margin-top:auto}
.pv3-agency-card .pv3-price{padding:10px 0}
.pv3-agency-card .pv3-price-main > span{font-size:36px}

/* Done For You */
.pv3-dfy{margin-top:64px;padding:48px 40px;border-radius:24px;background:linear-gradient(135deg,rgba(249,115,22,.08),rgba(124,58,237,.08));border:1px solid rgba(249,115,22,.3);position:relative;overflow:hidden}
.pv3-dfy::before{content:'';position:absolute;top:-50%;right:-15%;width:400px;height:400px;background:radial-gradient(circle,rgba(249,115,22,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.pv3-dfy-badge{display:inline-block;padding:5px 14px;background:linear-gradient(135deg,#F97316,#7C3AED);color:#fff;border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:14px;position:relative;z-index:1}
.pv3-dfy h3{font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--cv-text-strong);margin:0 0 24px;letter-spacing:-.015em;font-family:inherit;position:relative;z-index:1}
.pv3-dfy-content{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;position:relative;z-index:1}
@media (max-width:767px){.pv3-dfy-content{grid-template-columns:1fr;gap:20px}}
.pv3-dfy-content ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}
.pv3-dfy-content ul li{font-size:14px;color:var(--cv-text);padding-left:24px;position:relative;line-height:1.5}
.pv3-dfy-content ul li::before{content:'';position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#F97316,#7C3AED)}
.pv3-dfy-price{display:flex;flex-direction:column;gap:4px;padding:20px 24px;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);border-radius:14px;min-width:200px;text-align:center}
.pv3-dfy-from{font-size:11.5px;color:var(--cv-text-mute);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.06em}
.pv3-dfy-amount{font-size:36px;font-weight:800;color:var(--cv-text-strong);line-height:1;font-family:'Cabinet Grotesk','Inter',sans-serif;letter-spacing:-.03em}
.pv3-dfy-note{font-size:11.5px;color:var(--cv-text-dim);font-family:'JetBrains Mono',monospace;margin-top:4px}
.pv3-dfy > p{font-size:15px;color:var(--cv-text);margin:24px 0 16px;position:relative;z-index:1}
.pv3-cta-dfy{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#F97316,#EA580C);color:#fff;border:0;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;transition:all .25s;box-shadow:0 6px 20px rgba(249,115,22,.4);position:relative;z-index:1}
.pv3-cta-dfy:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(249,115,22,.55)}
.pv3-cta-dfy svg{width:18px;height:18px}

/* Notes du bas */
.pv3-notes{margin-top:48px;padding:24px;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);border-radius:14px;display:flex;flex-direction:column;gap:12px}
.pv3-notes p{margin:0;font-size:13.5px;color:var(--cv-text-mute);line-height:1.55}
.pv3-notes p strong{color:var(--cv-text-strong)}

/* Mobile pricing v3 */
@media (max-width:639px){
  .pricing-v3{padding:60px 0}
  .pv3-card{padding:32px 24px}
  .pv3-price-main > span{font-size:40px}
  .pv3-dfy{padding:32px 24px}
  .pv3-cta,.pv3-cta-primary,.pv3-cta-recommended,.pv3-cta-dfy{width:100%;display:flex;justify-content:center}
  .pv3-toggle{flex-wrap:wrap;width:100%;justify-content:center}
  .pv3-toggle-btn{flex:1;min-width:140px;padding:10px 14px;font-size:12.5px}
}

/* ════════════════════════════════════════════════════════════════════
   PRICING v3.1 — onglets persona (cabinet / agency / dfy)
   ──────────────────────────────────────────────────────────────────── */

/* Conteneur onglets persona */
.pv3-personas{display:flex;justify-content:center;gap:10px;margin:32px auto 24px;flex-wrap:wrap;max-width:880px}
.pv3-persona-btn{appearance:none;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);border-radius:14px;padding:16px 20px;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .25s cubic-bezier(.34,1.56,.64,1);min-width:240px;text-align:left;color:var(--cv-text-mute)}
.pv3-persona-btn:hover{transform:translateY(-2px);border-color:rgba(124,58,237,.35);background:var(--cv-card-bg-hover)}
.pv3-persona-active{background:linear-gradient(135deg,rgba(124,58,237,.10),rgba(16,185,129,.10))!important;border-color:rgba(124,58,237,.5)!important;color:var(--cv-text-strong)!important;box-shadow:0 6px 24px rgba(124,58,237,.2)}
.pv3-persona-ic{font-size:24px;line-height:1;flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;background:rgba(124,58,237,.12);border-radius:11px}
.pv3-persona-active .pv3-persona-ic{background:linear-gradient(135deg,#7C3AED,#10B981);box-shadow:0 4px 14px rgba(124,58,237,.35)}
.pv3-persona-label{display:flex;flex-direction:column;gap:2px;line-height:1.2}
.pv3-persona-label strong{font-size:14.5px;font-weight:700;color:inherit;letter-spacing:-.005em}
.pv3-persona-label small{font-size:11.5px;font-family:'JetBrains Mono',monospace;color:var(--cv-text-dim);letter-spacing:.02em}
.pv3-persona-active .pv3-persona-label small{color:var(--cv-text-mute)}

/* Vues persona — show/hide selon data-persona */
.pricing-v3-personas .pv3-view{display:none}
.pricing-v3-personas[data-persona="cabinet"] .pv3-view[data-persona-view="cabinet"]{display:block}
.pricing-v3-personas[data-persona="agency"] .pv3-view[data-persona-view="agency"]{display:block}
.pricing-v3-personas[data-persona="dfy"] .pv3-view[data-persona-view="dfy"]{display:block}

/* Toggle billing caché sur DFY (pas pertinent) */
.pricing-v3-personas[data-persona="dfy"] .pv3-toggle,
.pricing-v3-personas[data-persona="dfy"] .pv3-launch-note{display:none}

/* Vue cabinet — Pro hero (large) + Solo aside (smaller) */
.pv3-cabinet-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:8px;align-items:stretch}
@media (max-width:899px){.pv3-cabinet-grid{grid-template-columns:1fr}}
.pv3-card-hero{padding:48px 36px}
.pv3-card-hero h3{font-size:28px}
.pv3-card-hero .pv3-price-main > span{font-size:54px}
.pv3-card-aside{padding:32px 26px;background:var(--cv-section-bg-soft)}
.pv3-card-aside h3{font-size:20px}
.pv3-card-aside .pv3-price-main > span{font-size:36px}
.pv3-features-compact{gap:5px!important}
.pv3-features-compact li{font-size:13.5px;padding-left:22px}
.pv3-features-compact li::before{width:12px;height:12px;top:6px}
.pv3-features-compact li::after{width:5px;height:5px;left:3.5px;top:9px}

/* Note Agency */
.pv3-agency-note{margin-top:24px;font-size:13.5px;color:var(--cv-text-mute);line-height:1.55;text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
.pv3-agency-note strong{color:var(--cv-text-strong)}

/* Mobile : onglets persona en stack */
@media (max-width:767px){
  .pv3-personas{flex-direction:column;gap:8px;align-items:stretch;max-width:100%}
  .pv3-persona-btn{min-width:0;width:100%;justify-content:flex-start}
  .pv3-cabinet-grid{gap:16px}
  .pv3-card-hero{padding:36px 24px}
  .pv3-card-hero h3{font-size:24px}
  .pv3-card-hero .pv3-price-main > span{font-size:44px}
  .pv3-card-aside{padding:28px 22px}
}

/* Override : sur la vue cabinet, le badge Pro hero reste visible */
.pv3-card-hero .pv3-badge{font-size:11.5px}

/* Animation transition entre vues */
.pricing-v3-personas .pv3-view{animation:pv3FadeIn .35s ease-out}
@keyframes pv3FadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.pricing-v3-personas .pv3-view{animation:none}}

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — FIX FINAL : boutons doublés, hero, p vides (v1.14.2)
   ──────────────────────────────────────────────────────────────────── */

/* ─── 1. BOUTONS DOUBLÉS — neutraliser le wrapper wp-block-button ─── */
/* Problème : .wp-block-button (outer div) + .wp-block-button__link (inner a)
   reçoivent tous les deux des styles de bouton → 2 boutons visibles imbriqués.
   Solution : outer = wrapper transparent, inner = LE bouton visuel. */

/* L'inner anchor EST le bouton — full visual */

/* btn-primary : gradient violet+vert (par défaut) */

/* Sur la page Avocat : btn-primary devient gradient navy+or */

/* btn-ghost : transparent avec border */

/* Hero CTAs sur background dark : btn-ghost adapté */

/* btn-lg : taille plus grande */

/* ─── 2. HERO H1 + textes : forcer la couleur via CSS variables ─── */

/* Final CTA : forcer textes blancs (toujours dark) */

/* Bloc 3 souveraineté — comparatif card textes blancs */

/* ─── 3. HERO MOCKUP — restaurer la taille originale ─── */

@media (min-width:1024px){
  .cv-avatar-page .mockup-wrap.cv-mockup-below{max-width:1080px}
}
@media (max-width:639px){
  .cv-avatar-page .mockup-wrap.cv-mockup-below{margin-top:32px}
}

/* SVG inside hero mockup : NE PAS contraindre */

/* ─── 4. SUPPRIMER LES <p> VIDES + margin-top inutile ─── */

/* Reset margin-top sur le main avatar et la première section */

/* Si une wp:group neutre vide précède le hero, la masquer */

/* ─── 5. RESET hauteur outer wp-block-button (ne plus de h:--h) ─── */

/* AVATAR v2 — HOTFIX 1.14.15 : kill empty p universel (PHP-side + CSS fallback)
   Le bloc HOTFIX 1.14.3 (revert!important) a été supprimé : il annulait le
   display:none des p:empty et laissait passer une bande crème de 24px sous le
   header. Le strip est désormais fait au niveau PHP (the_content filter), avec
   ce CSS comme dernier rempart ultra-agressif. */
p:empty,
.entry-content p:empty,
.entry-content > p:empty,
.wp-block-post-content p:empty,
.wp-block-post-content > p:empty,
main p:empty,
body p:empty:not([class]):not([style]){
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  min-height:0!important;
  line-height:0!important;
  font-size:0!important;
  border:0!important;
  visibility:hidden!important;
}

/* RESET — restaurer wp-block-button à un comportement standard */

/* Bouton outer = wrapper invisible pour les avatars (méthode douce, pas !important) */

/* Bouton inner = le vrai bouton (méthode douce) */

/* Bouton primary = gradient violet sur fond clair, navy+or sur Avocat */

/* Bouton ghost = transparent border */

/* btn-lg taille */

/* Hero H1 + textes : forcer color blanc dans hero */

/* Hero mockup taille restaurée */

/* Final CTA texte blanc forcé */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — HOTFIX 1.14.4 : centrage boutons, badges, CTAs inline
   ──────────────────────────────────────────────────────────────────── */

/* ─── 1. CENTRAGE TEXTE BOUTONS (universel) ─── */

/* ─── 2. BADGE SOUVERAINETÉ EN MOCKUP — fix dark/light ─── */
/* La sovereignty mockup est un white card sur fond dark.
   Le head doit être beige clair, le badge texte dark visible. */

/* ─── 3. HERO MOCKUP TAILLE — restaurer pleine largeur ─── */

@media (min-width:1280px){
  .cv-avatar-page .mockup-wrap.cv-mockup-below{max-width:1140px}
}
@media (max-width:639px){
  .cv-avatar-page .mockup-wrap.cv-mockup-below{margin-top:32px;max-width:100%}
}

/* ─── 4. LIGHT MODE — boutons : forcer contraste lisible ─── */
/* Boutons primary en light mode : gradient navy+or, texte blanc bien centré */

/* Btn-primary garde le gradient sombre + texte blanc (lisible sur tout) */

/* Btn-ghost en light mode : background blanc, texte dark, bordure visible */

/* En light mode, la section hero reste dark donc btn-ghost dans hero garde texte blanc */

/* ─── 5. INLINE CTAs — 4 nouvelles sections aux pics AIDA ─── */
.cv-inline-cta-section{padding:60px 0;text-align:center;background:var(--cv-section-bg-soft)}
.cv-inline-cta-section .wrap{max-width:880px}
.cv-inline-cta-eyebrow{display:inline-block;padding:5px 14px;background:rgba(124,58,237,.12);color:#7C3AED;border:1px solid rgba(124,58,237,.3);border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
html[data-theme="light"] .cv-inline-cta-eyebrow{color:#5a1fd1}
.cv-inline-cta-title{font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--cv-text-strong);margin:0 0 24px;line-height:1.25;letter-spacing:-.015em;font-family:inherit}
.cv-inline-cta-title mark{background:transparent;color:#C9A84C;font-weight:800}
.cv-inline-cta-title-large{font-size:clamp(26px,3.5vw,36px);font-weight:800;color:var(--cv-text-strong);margin:0 0 28px;line-height:1.2;letter-spacing:-.02em}
.cv-inline-cta-title-large mark{background:transparent;color:#C9A84C;font-weight:800}
.cv-inline-cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.cv-inline-cta-pair{margin:0 auto}
.cv-inline-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);border:1px solid transparent;line-height:1.2;white-space:nowrap;text-align:center}
.cv-inline-cta-large{padding:16px 32px;font-size:16px;min-height:54px}
.cv-inline-cta-primary{background:linear-gradient(135deg,#0B1D3A 0%,#C9A84C 100%);color:#fff!important;box-shadow:0 6px 20px rgba(201,168,76,.4)}
.cv-inline-cta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(201,168,76,.55)}
.cv-inline-cta-secondary{background:transparent;color:var(--cv-text-strong);border:1.5px solid var(--cv-card-border)}
.cv-inline-cta-secondary:hover{background:var(--cv-card-bg-hover);border-color:var(--cv-card-border-hover);transform:translateY(-2px)}
.cv-inline-cta-micro{margin-top:18px;font-size:12.5px;color:var(--cv-text-mute);font-family:'JetBrains Mono',monospace}

/* CTA inline dans la transition sombre */
.cv-inline-cta-on-dark{display:flex;justify-content:center;margin-top:32px}
.cv-inline-cta-on-dark .cv-inline-cta-btn{padding:14px 28px;font-size:15px}

/* CTA band (post-comparatif) — full bleed gradient */
.cv-inline-cta-band{background:linear-gradient(135deg,#0A0F1C 0%,#1A1A3E 50%,#2D1854 100%);padding:80px 0}
.cv-inline-cta-band .cv-inline-cta-title-large{color:#fff}
.cv-inline-cta-band .cv-inline-cta-title-large mark{color:#C9A84C}
.cv-inline-cta-band .cv-inline-cta-secondary{color:#fff;border-color:rgba(255,255,255,.3)}
.cv-inline-cta-band .cv-inline-cta-secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}
.cv-inline-cta-band .cv-inline-cta-micro{color:rgba(255,255,255,.6)}

@media (max-width:639px){
  .cv-inline-cta-section{padding:40px 0}
  .cv-inline-cta{flex-direction:column;width:100%}
  .cv-inline-cta-btn{width:100%}
  .cv-inline-cta-large{padding:14px 24px;font-size:15px;min-height:48px}
}

/* ─── 6. PERSONA TABS — SVG cohérent avec le design (plus d'emojis) ─── */
.pv3-persona-ic{font-size:0!important}
.pv3-persona-ic svg{width:22px;height:22px;color:#7C3AED}
.pv3-persona-active .pv3-persona-ic svg{color:#fff}

/* ─── 7. AGENCE PRO — fix accessibilité bouton "Choisir 15 sites" en mode light ─── */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — HOTFIX 1.14.5 : H1 reveal sans split + light mode fix
   ──────────────────────────────────────────────────────────────────── */

/* ─── 1. H1 reveal animation : block fade-in (plus de stagger par mot) ─── */

@keyframes cvHeroFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .cv-avatar-page .reveal-words{animation:none}
}
/* Mark accent : gradient or feutré (visible sur navy hero) */

/* ─── 2. HERO BADGE : forcer texte blanc (hero TOUJOURS dark) ─── */

/* ─── 3. HERO LEDE + PROOF : forcer textes lisibles dans les 2 modes ─── */

/* ─── 4. STATUS labels (Validé, Reçus, etc.) — light mode contraste ─── */

/* ─── 5. Mockup hero — count badges, nav-item, etc. en light ─── */

/* ─── 6. CV-MM-BADGE en light : texte dark sur fond gris clair ─── */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — HOTFIX 1.14.6 : light mode FINAL pass
   ──────────────────────────────────────────────────────────────────── */

/* ─── 1. HERO : background IDENTIQUE light/dark + grid + glows visibles ─── */

/* Grid + glows visibles dans les 2 modes */

/* Hero-copy max-width 900px */
.cv-avatar-page .hero-copy,
.cv-avatar-page .hero-copy-centered,
.cv-avatar-page .cv-hero-copy-centered,
html[data-hero="stack"] .hero-copy{
  max-width:900px;
  margin-inline:auto;
}

/* ─── 2. HERO H1 ACCENT — gradient or vif au lieu du gold-into-light ─── */

/* ─── 3. EYEBROWS DES SECTIONS ALWAYS-DARK : forcer texte clair ─── */

/* Titres ALWAYS-DARK : toujours blancs */

/* ─── 4. PRICING BOUTONS — forcer couleur texte selon background ─── */

/* Final CTA boutons en light mode : btn-ghost reste blanc bordure (sur fond dark always) */

/* ─── 5. FOOTER LINKS — forcer couleurs claires en light (footer toujours dark) ─── */
html[data-theme="light"] .footer,
html[data-theme="light"] .footer .logo,
html[data-theme="light"] .footer-brand p,
html[data-theme="light"] .footer-tag,
html[data-theme="light"] .footer-cols h4,
html[data-theme="light"] .footer-cols a,
html[data-theme="light"] .footer-base,
html[data-theme="light"] .footer-nav .wp-block-navigation a,
html[data-theme="light"] .footer-nav .wp-block-navigation-item__content,
html[data-theme="light"] .footer-nav .wp-block-navigation-item__label,
html[data-theme="light"] .footer-col-title{color:#fff!important}
html[data-theme="light"] .footer .logo,
html[data-theme="light"] .footer-cols h4,
html[data-theme="light"] .footer-col-title{color:#FFFFFF!important}
html[data-theme="light"] .footer-brand p,
html[data-theme="light"] .footer-cols a,
html[data-theme="light"] .footer-nav a,
html[data-theme="light"] .footer-nav .wp-block-navigation-item__content{color:rgba(255,255,255,.72)!important}
html[data-theme="light"] .footer-tag{color:rgba(255,255,255,.45)!important}
html[data-theme="light"] .footer-base{color:rgba(255,255,255,.5)!important}
html[data-theme="light"] .footer-cols a:hover,
html[data-theme="light"] .footer-nav a:hover,
html[data-theme="light"] .footer-nav .wp-block-navigation-item__content:hover{color:#FFFFFF!important}
html[data-theme="light"] .footer-badges .b{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.72)!important}

/* ─── 6. MOCKUP SOUVERAINETÉ — fond dark avec cards green/red intactes ─── */

/* Les 2 cards intérieures gardent green/red mais readable */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — HOTFIX 1.14.7 : max-width 1100px + p:empty hidden
   ──────────────────────────────────────────────────────────────────── */

/* ─── 1. HERO MAX-WIDTH 1100px (au lieu de 900) ─── */
.cv-avatar-page .hero-copy,
.cv-avatar-page .hero-copy-centered,
.cv-avatar-page .cv-hero-copy-centered,
.cv-hero-avatar .hero-inner.cv-hero-centered,
.cv-avatar-page .hero-inner.cv-hero-centered,
html[data-hero="stack"] .hero-copy{
  max-width:1100px!important;
  margin-inline:auto!important;
}

/* ─── 2. SUPPRIME les <p> vides + <p> ne contenant que des commentaires HTML ─── */

/* Fallback navigateur sans :has — masque les <p> qui ne portent aucune classe et sont vides */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — HOTFIX 1.14.8 : eyebrow Bloc 2 + iceberg 600+ features
   ──────────────────────────────────────────────────────────────────── */

/* ─── 1. Eyebrows BLOC 1 / 2 / 3 — couleurs visibles dans les 2 modes ─── */

/* ─── 2. ICEBERG SECTION — 594+ autres fonctionnalités ─── */
.cv-features-iceberg{margin-top:64px;padding:48px 36px;border-radius:24px;background:linear-gradient(135deg,rgba(124,58,237,.06) 0%,rgba(16,185,129,.06) 100%);border:1px solid rgba(124,58,237,.2);position:relative;overflow:hidden}
.cv-features-iceberg::before{content:'';position:absolute;top:-30%;right:-15%;width:480px;height:480px;background:radial-gradient(circle,rgba(124,58,237,.10) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.cv-features-iceberg-head{position:relative;z-index:1;text-align:center;margin-bottom:32px}
.cv-features-iceberg-tag{display:inline-block;padding:5px 14px;background:linear-gradient(135deg,#7C3AED,#10B981);color:#fff;border-radius:99px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;box-shadow:0 4px 14px rgba(124,58,237,.35)}
.cv-features-iceberg-title{font-size:clamp(24px,3vw,32px);font-weight:800;color:var(--cv-text-strong);margin:0 0 14px;line-height:1.2;letter-spacing:-.015em;font-family:inherit}
.cv-features-iceberg-title mark{background:linear-gradient(135deg,#F9D976 0%,#FFFFFF 50%,#C9A84C 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;font-weight:800;padding:0 4px}
html[data-theme="light"] .cv-features-iceberg-title mark{background:linear-gradient(135deg,#B08E35 0%,#C9A84C 50%,#B08E35 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
.cv-features-iceberg-lede{font-size:15px;color:var(--cv-text-mute);line-height:1.6;max-width:680px;margin:0 auto}
.cv-features-iceberg-lede strong{color:var(--cv-text-strong)}

/* Pills cloud */
.cv-features-iceberg-pills{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:28px 0}
.cv-feature-pill{display:inline-flex;align-items:center;padding:7px 14px;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);border-radius:99px;font-family:inherit;font-size:13px;color:var(--cv-text);transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:default}
.cv-feature-pill:hover{transform:translateY(-2px);background:var(--cv-card-bg-hover);border-color:rgba(124,58,237,.4);box-shadow:0 4px 14px rgba(124,58,237,.15)}
.cv-feature-pill:last-child{background:linear-gradient(135deg,rgba(124,58,237,.15),rgba(16,185,129,.15));border-color:rgba(124,58,237,.45);font-style:italic;color:var(--cv-text-strong);font-weight:600}

/* Footer iceberg */
.cv-features-iceberg-foot{position:relative;z-index:1;text-align:center;font-size:14.5px;color:var(--cv-text-mute);line-height:1.6;margin:24px auto 24px;max-width:680px}
.cv-features-iceberg-foot strong{color:var(--cv-text-strong)}
.cv-features-iceberg-cta{position:relative;z-index:1;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:8px}

/* Mobile */
@media (max-width:639px){
  .cv-features-iceberg{padding:32px 20px;margin-top:40px;border-radius:18px}
  .cv-features-iceberg-pills{gap:6px}
  .cv-feature-pill{font-size:12px;padding:6px 12px}
  .cv-features-iceberg-cta{flex-direction:column;width:100%}
  .cv-features-iceberg-cta .cv-inline-cta-btn{width:100%}
}

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — HOTFIX 1.14.9 : light mode bas de page (notes/garantie)
   ──────────────────────────────────────────────────────────────────── */

/* ─── pv3-notes (3 paragraphes au bas de pricing) ─── */

/* ─── Final CTA AVATAR : background TOUJOURS dark gradient ─── */

/* ─── Garantie section : adaptive (background + texte) ─── */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — HOTFIX 1.14.10 : Force TOUS les CTA en bas dark
   Le bug : .cv-inline-cta-section (post-témoignages) avait bg cream
   en light mode → texte blanc invisible. Solution : tous les CTAs
   suivant les témoignages basculent en dark gradient FORCÉ.
   ──────────────────────────────────────────────────────────────────── */

/* TOUS les inline-cta-section dans avatar : dark gradient en light + dark */

/* Mark gold sur les inline-cta-title */

/* Final CTA déjà dark — confirmer + couvrir tous les textes blancs */

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — HOTFIX 1.14.11 : Final CTA en light mode = bg clair + texte dark
   ──────────────────────────────────────────────────────────────────── */

/* Annule les règles précédentes qui forcaient texte blanc en light mode */

/* H2 : dark + mark gold reste */

/* Texte body + micro : dark muted en light */

/* Eyebrow Essai 30 jours : reste orange visible */

/* BOUTONS Final CTA en light mode */
/* Btn primary "Réserver une démo confrère" : gradient navy + or + texte blanc */

/* Btn ghost "Voir le tarif cabinet" : background BLANC + bordure navy + TEXTE NAVY */

/* Section faq toujours bg crème ok, mais on s'assure que rien d'autre ne la pollue */

/* DARK MODE : final CTA reste dark avec textes blancs (ne change rien) */

/* ════════════════════════════════════════════════════════════════════
   v1.14.14 : fix <p> vide au niveau entry-content (hors .cv-avatar-page)
   Le <p> vide était SIBLING de .cv-avatar-page, pas descendant.
   ──────────────────────────────────────────────────────────────────── */
.entry-content > p:empty,
.wp-block-post-content > p:empty,
body p:empty:not([class]):not([style]){
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  visibility:hidden!important;
}
/* Idem pour les <p> ne contenant qu'un &nbsp; */
.entry-content > p:has(> br:only-child),
.wp-block-post-content > p:has(> br:only-child){
  display:none!important;margin:0!important;padding:0!important;height:0!important;
}

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — v1.14.16 : SPLIT LEDE + STRAPLINE SOUVERAINETÉ
   ──────────────────────────────────────────────────────────────────── */

/* Lede court : version SEO compacte (1 phrase) */
.cv-hero-avatar .hero-lede.hero-lede-short{
  margin-top:22px;
  font-size:clamp(15.5px,1.35vw,18px);
  line-height:1.55;
  max-width:62ch;
}

/* Split deux colonnes Pour vos clients / Pour votre cabinet */
.cv-hero-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  max-width:760px;
  margin:28px auto 0;
}
@media (max-width:639px){
  .cv-hero-split{grid-template-columns:1fr;gap:12px;max-width:100%}
}
.cv-hero-split-card{
  background:rgba(11,29,58,.55);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border:1px solid rgba(201,168,76,.28);
  border-radius:14px;
  padding:18px 20px;
  text-align:left;
  transition:border-color .25s, transform .25s;
}
.cv-hero-split-card:hover{
  border-color:rgba(201,168,76,.5);
  transform:translateY(-2px);
}
.cv-hero-split-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(201,168,76,.18);
}
.cv-hero-split-icon{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:9px;
  background:linear-gradient(135deg,rgba(201,168,76,.22),rgba(201,168,76,.06));
  color:#C9A84C;
  flex-shrink:0;
}
.cv-hero-split-icon svg{width:17px;height:17px}
.cv-hero-split-label{
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#C9A84C;
}
.cv-hero-split-list{
  list-style:none;
  margin:0;padding:0;
  display:flex;flex-direction:column;gap:7px;
}
.cv-hero-split-list li{
  position:relative;
  padding-left:20px;
  font-size:14.5px;
  line-height:1.5;
  color:rgba(255,255,255,.88);
}
.cv-hero-split-list li::before{
  content:"";
  position:absolute;
  left:2px;top:.55em;
  width:7px;height:7px;
  border-radius:50%;
  background:#C9A84C;
  box-shadow:0 0 8px rgba(201,168,76,.55);
}
/* Note italique de contraste façon footnote — utilisée pour "(pas un PDF...)" en mode AIDA agressif */
.cv-hero-split-list li em{
  display:block;
  margin-top:2px;
  font-size:12px;
  font-style:italic;
  color:rgba(201,168,76,.78);
  font-weight:500;
  letter-spacing:.01em;
}
.cv-hero-split-list li strong{
  color:#fff;
  font-weight:700;
}

/* H2 SEO subtitle visible sous le H1 — locke les mots-clés primaires */
.cv-hero-avatar .hero-h2-seo{
  margin-top:14px;
  font-size:clamp(15px,1.6vw,20px);
  font-weight:500;
  color:rgba(255,255,255,.78);
  line-height:1.4;
  letter-spacing:.01em;
  font-family:inherit;
}
.cv-hero-avatar .hero-h2-seo strong{
  color:#fff;
  font-weight:700;
}
html[data-theme="light"] .cv-hero-avatar .hero-h2-seo{
  color:rgba(255,255,255,.85);
}
@media (max-width:639px){
  .cv-hero-avatar .hero-h2-seo{font-size:15px;margin-top:10px}
}

/* Light mode : carte plus contrastée pour rester lisible */
html[data-theme="light"] .cv-hero-split-card{
  background:rgba(11,29,58,.85);
  border-color:rgba(201,168,76,.5);
}

/* Strapline souveraineté : pill isolée, jaune-or, après les cards */
.cv-hero-sov-strap{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:24px auto 0;
  padding:11px 20px;
  background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(201,168,76,.10));
  border:1px solid rgba(201,168,76,.35);
  border-radius:99px;
  font-size:14.5px;
  line-height:1.4;
  color:rgba(255,255,255,.94);
  text-align:center;
  max-width:600px;
}
.cv-hero-sov-strap > span:not(.cv-hero-sov-icon){
  text-align:left;
}
.cv-hero-sov-icon{
  width:22px;height:22px;
  display:grid;place-items:center;
  color:#C9A84C;
  flex-shrink:0;
}
.cv-hero-sov-icon svg{width:18px;height:18px}
.cv-hero-sov-strap strong{color:#fff;font-weight:700}
@media (max-width:639px){
  .cv-hero-sov-strap{
    display:flex;
    font-size:13px;
    padding:11px 16px;
    margin:20px 8px 0;
    max-width:calc(100% - 16px);
    border-radius:14px;
  }
}

/* Wrapper centré du strap (le wp:html crée un div sans flex) */
.cv-hero-avatar .hero-copy > .cv-hero-sov-strap{
  margin-left:auto;margin-right:auto;
  display:inline-flex;
}
.cv-hero-avatar .cv-hero-split + .cv-hero-sov-strap{
  margin-top:24px;
}

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — v1.14.16 : FIX MOT ANIMÉ "improviser" (baseline cassée)
   ────────────────────────────────────────────────────────────────────
   Le typewriter (overflow:hidden + animation:width + display:inline-block)
   décale le mot verticalement par rapport à la ligne de base du texte
   environnant (CSS spec : inline-block + overflow:hidden → baseline = bottom
   margin edge, ce qui désaligne le contenu textuel interne).

   Solution : remplacer par une animation de couleur in-line qui ne casse
   AUCUNE propriété de layout (reste display:inline, pas d'overflow). */
.cv-transition-coach mark.cv-typewriter,
.cv-transition-coach mark{
  background:transparent!important;
  color:#F97316!important;
  padding:0 2px!important;
  display:inline!important;
  position:static!important;
  vertical-align:baseline!important;
  line-height:inherit!important;
  border-right:0!important;
  overflow:visible!important;
  white-space:normal!important;
  animation:cvHighlight 0.9s ease-out 0.35s both!important;
  font-weight:800;
  text-shadow:0 0 18px rgba(249,115,22,.45);
}
@keyframes cvHighlight{
  0%{color:rgba(249,115,22,0);text-shadow:none}
  60%{color:#FB923C;text-shadow:0 0 24px rgba(249,115,22,.7)}
  100%{color:#F97316;text-shadow:0 0 18px rgba(249,115,22,.45)}
}
@media (prefers-reduced-motion:reduce){
  .cv-transition-coach mark.cv-typewriter,
  .cv-transition-coach mark{animation:none!important;text-shadow:none}
}

/* ════════════════════════════════════════════════════════════════════
   AVATAR v2 — v1.14.16 : UNIFICATION CHARTE BOUTONS
   ────────────────────────────────────────────────────────────────────
   Tous les CTAs partagent désormais : border-radius 14px, padding constant,
   font-size cohérent, et un background visible AU REPOS (les "ghost" ne
   ressemblent plus à des liens texte qui ne deviennent boutons qu'au hover). */

/* Border-radius unifié à 14px sur toutes les CTAs avatar */

/* btn-ghost : fond visible au repos pour distinguer du texte/lien */

/* cv-inline-cta-secondary : même traitement (visible au repos) */

/* Si la section inline-cta est sur fond clair (pas .cv-inline-cta-band) */

/* Box-shadow douce sur tous les boutons primary pour effet "réel" */

/* ════════════════════════════════════════════════════════════════════
   H1 SPLIT v1.14.40 — Pattern hero hook/answer/caption à 3 niveaux
   Hook = douleur (Cabinet Grotesk 800 italique, --cv-pain).
   Answer = positionnement + keyword <mark> (Cabinet Grotesk 600).
   Caption = conformité réglementaire (Inter italique --cv-text-mute).
   Kicker = audience (pill violet brand au-dessus du H1).
   ──────────────────────────────────────────────────────────────────── */

/* Kicker (eyebrow) — remplace l'ancien hero-badge double */

/* ────────────────────────────────────────────────
   v1.14.41 — V3 X-PREMIUM : hierarchy inversée
   Pre-title (douleur sobre) → H1 hero (réponse + keyword) → Caption (preuve)
   Inspiré Linear / Stripe / X — la PROMESSE est le hero, pas la douleur.
   ──────────────────────────────────────────────── */

/* Niveau 1 : PRE-TITLE — douleur sobre, italique, CENTRÉ (v1.14.43) */

/* Niveau 1.5 : EYEBROW « — LA SOLUTION — » — pont entre pretitle et H1 (v1.14.44) */

/* Niveau 2 : H1 ANSWER-HERO — la promesse, taille HERO, CENTRÉ (v1.14.43) */

/* Mark dans le H1 hero — bloc carré moderne (style Stripe) */

/* Sections always-dark : mark garde le rendu dark même en light theme */

/* ────────────────────────────────────────────────
   LEGACY v1.14.40 — alias pour compat éphémère
   .cv-h1-split / .cv-h1-hook / .cv-h1-answer
   Si du contenu reste avec l'ancien markup, il rend en v3.
   ──────────────────────────────────────────────── */

/* Niveau 3a : SUBTITLE — sous-titre court sous H1 (v1.14.42) */

/* Niveau 3b : CAPTION (legacy v3) — gardé pour compat éphémère */

/* Hero centré : le caption se centre aussi */

/* Mobile : compaction du H1 split (v3 + legacy v2) */
@media (max-width:720px){
  .cv-avatar-page .cv-h1-pretitle,
  .cv-avatar-page .cv-h1-hook{
    font-size:clamp(15px,4vw,18px);
    padding-left:14px;
    line-height:1.4;
  }
  .cv-avatar-page .cv-h1-answer-hero,
  .cv-avatar-page .cv-h1-answer{
    font-size:clamp(28px,7.4vw,36px);
    line-height:1.12;
  }
  .cv-avatar-page .cv-h1-answer-hero mark,
  .cv-avatar-page .cv-h1-answer mark{padding:0 8px;border-radius:6px}
  .cv-avatar-page .cv-h1-caption{font-size:12.5px}
  .cv-avatar-page .cv-kicker{font-size:10.5px;padding:5px 11px;margin-bottom:18px}
}

/* Désactivation defaults qui pourraient parasiter */

      /* neutralise reveal-words */

/* ════════════════════════════════════════════════════════════════════
   v1.14.42 — HERO STRIP (proof unique 5 chips)
   Fusion des 3 redondances : caption hébergement + sov-strap + 3 hero-proof items.
   1 ligne horizontale flex avec séparateurs verticaux discrets.
   Mobile : empile en colonne automatique.
   ──────────────────────────────────────────────────────────────────── */

    /* always-dark */

@media (max-width:720px){
  .cv-avatar-page .cv-hero-strip{
    flex-direction:column;align-items:stretch;
    padding:6px 16px;
  }
  .cv-avatar-page .cv-hero-strip-item{
    border-right:none;
    border-bottom:1px solid var(--cv-card-border);
    padding:10px 0;justify-content:flex-start;
  }
  .cv-avatar-page .cv-hero-strip-item:last-child{border-bottom:none}
}

/* ════════════════════════════════════════════════════════════════════
   PAGE PROGRAMME PARTENAIRES v1.14.45
   3 piliers · simulateur de revenus · 3 packs · why · CTA final
   ──────────────────────────────────────────────────────────────────── */

/* Sections always-light pour la page Partenaires (lisible sur les 2 thèmes) */
.cv-page-partenaires .cv-piliers,
.cv-page-partenaires .cv-sim,
.cv-page-partenaires .cv-packs,
.cv-page-partenaires .cv-why-partner{
  padding:clamp(60px,8vw,100px) 24px;
}
.cv-page-partenaires .wrap{
  max-width:1200px;margin:0 auto;
}

/* ─── Headers de section ─── */
.cv-page-partenaires .cv-piliers-head,
.cv-page-partenaires .cv-sim-head,
.cv-page-partenaires .cv-packs-head,
.cv-page-partenaires .cv-why-head{
  text-align:center;max-width:720px;margin:0 auto 56px;
}
.cv-page-partenaires .cv-piliers-eyebrow,
.cv-page-partenaires .cv-sim-eyebrow,
.cv-page-partenaires .cv-packs-eyebrow,
.cv-page-partenaires .cv-why-eyebrow{
  display:inline-block;font-size:11.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--violet-2);
  background:rgba(159,103,255,.10);padding:6px 14px;border-radius:999px;
  margin:0 0 16px;
  border:1px solid rgba(159,103,255,.22);
}
.cv-page-partenaires .cv-piliers-title,
.cv-page-partenaires .cv-sim-title,
.cv-page-partenaires .cv-packs-title,
.cv-page-partenaires .cv-why-title{
  font-family:'Cabinet Grotesk','Inter',sans-serif;
  font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.025em;
  color:var(--cv-text-strong);margin:0 0 16px;
}
.cv-page-partenaires .cv-piliers-title mark,
.cv-page-partenaires .cv-sim-title mark,
.cv-page-partenaires .cv-packs-title mark,
.cv-page-partenaires .cv-why-title mark{
  background:rgba(159,103,255,.18);color:#E9DDFF;
  padding:0 12px;border-radius:8px;font-weight:800;
}
html[data-theme="light"] .cv-page-partenaires .cv-piliers-title mark,
html[data-theme="light"] .cv-page-partenaires .cv-sim-title mark,
html[data-theme="light"] .cv-page-partenaires .cv-packs-title mark,
html[data-theme="light"] .cv-page-partenaires .cv-why-title mark{
  background:#EDE4FF;color:#4C1D95;
}
.cv-page-partenaires .cv-piliers-lede,
.cv-page-partenaires .cv-sim-lede,
.cv-page-partenaires .cv-packs-lede{
  font-size:clamp(15px,1.5vw,17px);color:var(--cv-text-mute);line-height:1.6;margin:0;
}

/* ─── 3 PILIERS ─── */
.cv-page-partenaires .cv-piliers-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
@media (max-width:960px){.cv-page-partenaires .cv-piliers-grid{grid-template-columns:1fr;}}
.cv-page-partenaires .cv-pilier-card{
  position:relative;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);
  border-radius:16px;padding:32px 28px;
  display:flex;flex-direction:column;gap:14px;
  transition:transform .2s ease, border-color .2s ease;
}
.cv-page-partenaires .cv-pilier-card:hover{
  transform:translateY(-3px);border-color:rgba(159,103,255,.4);
}
.cv-page-partenaires .cv-pilier-popular{
  border-color:rgba(159,103,255,.5);
  background:linear-gradient(180deg,rgba(159,103,255,.06) 0%,var(--cv-card-bg) 100%);
}
.cv-page-partenaires .cv-pilier-tag{
  position:absolute;top:-12px;left:24px;
  background:var(--violet);color:#fff;font-size:11px;font-weight:700;
  padding:4px 12px;border-radius:999px;letter-spacing:.04em;
}
.cv-page-partenaires .cv-pilier-num{
  font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;
  color:var(--violet-2);letter-spacing:.04em;
}
.cv-page-partenaires .cv-pilier-icon{
  width:48px;height:48px;border-radius:12px;
  background:rgba(159,103,255,.12);
  display:grid;place-items:center;color:var(--violet-2);
}
.cv-page-partenaires .cv-pilier-icon svg{width:24px;height:24px}
.cv-page-partenaires .cv-pilier-card h3{
  font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:22px;font-weight:700;
  letter-spacing:-.015em;color:var(--cv-text-strong);margin:0;
}
.cv-page-partenaires .cv-pilier-claim{
  font-size:14.5px;color:var(--cv-text);line-height:1.55;margin:0;
}
.cv-page-partenaires .cv-pilier-list{
  list-style:none;padding:0;margin:8px 0 0;
  display:flex;flex-direction:column;gap:6px;
}
.cv-page-partenaires .cv-pilier-list li{
  position:relative;padding-left:18px;font-size:13.5px;color:var(--cv-text-mute);line-height:1.5;
}
.cv-page-partenaires .cv-pilier-list li::before{
  content:"";position:absolute;left:0;top:8px;
  width:8px;height:8px;border-radius:50%;background:var(--violet-2);opacity:.6;
}
.cv-page-partenaires .cv-pilier-list strong{color:var(--cv-text-strong)}
.cv-page-partenaires .cv-pilier-foot{
  margin:auto 0 0;padding-top:16px;border-top:1px solid var(--cv-card-border);
  font-size:13px;color:var(--cv-text);
}

/* ─── SIMULATEUR ─── */
.cv-page-partenaires .cv-sim{
  background:linear-gradient(180deg,rgba(159,103,255,.04) 0%,transparent 100%);
}
.cv-page-partenaires .cv-sim-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;
  background:var(--cv-card-bg);border:1px solid var(--cv-card-border);
  border-radius:24px;padding:clamp(28px,4vw,48px);
}
@media (max-width:960px){.cv-page-partenaires .cv-sim-grid{grid-template-columns:1fr;}}

.cv-page-partenaires .cv-sim-inputs{display:flex;flex-direction:column;gap:32px}
.cv-page-partenaires .cv-sim-input{display:flex;flex-direction:column;gap:10px}
.cv-page-partenaires .cv-sim-label{
  display:flex;justify-content:space-between;align-items:baseline;
}
.cv-page-partenaires .cv-sim-label-name{
  font-size:14px;font-weight:600;color:var(--cv-text);
}
.cv-page-partenaires .cv-sim-label-value{
  font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:700;
  color:var(--violet-2);letter-spacing:-.01em;
  -webkit-text-fill-color:var(--violet-2);
}
html[data-theme="light"] .cv-page-partenaires .cv-sim-label-value{color:var(--violet);-webkit-text-fill-color:var(--violet)}

.cv-page-partenaires .cv-sim-range{
  appearance:none;-webkit-appearance:none;width:100%;height:6px;
  background:var(--cv-card-border);border-radius:3px;outline:none;
  cursor:pointer;
}
.cv-page-partenaires .cv-sim-range::-webkit-slider-thumb{
  appearance:none;-webkit-appearance:none;
  width:22px;height:22px;border-radius:50%;
  background:var(--violet);border:3px solid #fff;
  box-shadow:0 4px 12px rgba(124,58,237,.4);cursor:pointer;
  transition:transform .12s ease;
}
.cv-page-partenaires .cv-sim-range::-webkit-slider-thumb:hover{transform:scale(1.15)}
.cv-page-partenaires .cv-sim-range::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:var(--violet);
  border:3px solid #fff;box-shadow:0 4px 12px rgba(124,58,237,.4);cursor:pointer;
}
.cv-page-partenaires .cv-sim-marks{
  display:flex;justify-content:space-between;font-size:11px;color:var(--cv-text-mute);
  font-family:'JetBrains Mono',monospace;
}

.cv-page-partenaires .cv-sim-pack-info{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin-top:8px;padding:14px 18px;
  background:rgba(159,103,255,.08);border:1px solid rgba(159,103,255,.20);
  border-radius:12px;
}
.cv-page-partenaires .cv-sim-pack-label{font-size:12.5px;color:var(--cv-text-mute);}
.cv-page-partenaires .cv-sim-pack-name{font-weight:700;color:var(--cv-text-strong);font-size:14px;}
.cv-page-partenaires .cv-sim-pack-price{
  margin-left:auto;font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--violet-2);font-size:14px;
}

.cv-page-partenaires .cv-sim-outputs{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.cv-page-partenaires .cv-sim-out-card{
  background:var(--cv-bg);border:1px solid var(--cv-card-border);border-radius:14px;
  padding:18px 16px;display:flex;flex-direction:column;gap:6px;
  position:relative;overflow:hidden;
}
.cv-page-partenaires .cv-sim-out-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--violet);
}
.cv-page-partenaires .cv-sim-out-mrr::before{background:#10B981;}
.cv-page-partenaires .cv-sim-out-arr::before{background:var(--cv-cyan);}
.cv-page-partenaires .cv-sim-out-marge::before{background:var(--violet);}
.cv-page-partenaires .cv-sim-out-roi::before{background:var(--cv-gold);}
.cv-page-partenaires .cv-sim-out-label{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--cv-text-mute);
}
.cv-page-partenaires .cv-sim-out-value{
  font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:clamp(22px,3vw,30px);font-weight:800;
  letter-spacing:-.02em;color:var(--cv-text-strong);line-height:1.05;
}
.cv-page-partenaires .cv-sim-out-sub{
  font-size:11.5px;color:var(--cv-text-mute);line-height:1.4;
}
.cv-page-partenaires .cv-sim-disclaimer{
  margin:24px 0 0;font-size:12px;color:var(--cv-text-mute);
  font-style:italic;text-align:center;line-height:1.5;
}

/* ─── 3 PACKS AGENCE ─── */
.cv-page-partenaires .cv-packs-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;
}
@media (max-width:960px){.cv-page-partenaires .cv-packs-grid{grid-template-columns:1fr;}}
.cv-page-partenaires .cv-pack-card{
  position:relative;background:var(--cv-card-bg);border:1px solid var(--cv-card-border);
  border-radius:18px;padding:32px 28px;
  display:flex;flex-direction:column;gap:14px;
}
.cv-page-partenaires .cv-pack-popular{
  border-color:var(--violet);
  background:linear-gradient(180deg,rgba(159,103,255,.08) 0%,var(--cv-card-bg) 100%);
  transform:scale(1.03);
}
.cv-page-partenaires .cv-pack-badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--violet);color:#fff;font-size:11.5px;font-weight:700;
  padding:6px 14px;border-radius:999px;letter-spacing:.04em;white-space:nowrap;
}
.cv-page-partenaires .cv-pack-tier{
  font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:600;
  color:var(--violet-2);letter-spacing:.04em;text-transform:uppercase;
}
.cv-page-partenaires .cv-pack-card h3{
  font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:24px;font-weight:800;
  letter-spacing:-.02em;color:var(--cv-text-strong);margin:0;
}
.cv-page-partenaires .cv-pack-public{
  font-size:14px;color:var(--cv-text-mute);line-height:1.5;margin:0;
}
.cv-page-partenaires .cv-pack-price{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  padding:14px 0;border-top:1px solid var(--cv-card-border);border-bottom:1px solid var(--cv-card-border);
}
.cv-page-partenaires .cv-pack-anchor{font-size:14px;color:var(--cv-text-dim);text-decoration:line-through}
.cv-page-partenaires .cv-pack-anchor s{text-decoration:line-through}
.cv-page-partenaires .cv-pack-amount{
  font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:38px;font-weight:800;
  color:var(--cv-text-strong);letter-spacing:-.025em;
}
.cv-page-partenaires .cv-pack-period{
  font-size:13px;color:var(--cv-text-mute);
}
.cv-page-partenaires .cv-pack-perunit{
  font-size:13px;color:var(--cv-text);margin:0;
}
.cv-page-partenaires .cv-pack-perunit strong{color:var(--violet-2);font-weight:700;}
.cv-page-partenaires .cv-pack-features{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:8px;
}
.cv-page-partenaires .cv-pack-features li{
  position:relative;padding-left:22px;font-size:13.5px;color:var(--cv-text);line-height:1.5;
}
.cv-page-partenaires .cv-pack-features li::before{
  content:"";position:absolute;left:0;top:6px;
  width:14px;height:14px;border-radius:50%;
  background:rgba(159,103,255,.18);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239F67FF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size:10px;background-position:center;background-repeat:no-repeat;
}
.cv-page-partenaires .cv-pack-cta{
  margin-top:auto;display:block;text-align:center;
  padding:14px 22px;border-radius:12px;font-weight:600;font-size:15px;
  text-decoration:none;transition:all .15s;
  background:var(--cv-card-bg);color:var(--cv-text-strong);
  border:1px solid var(--cv-card-border);
}
.cv-page-partenaires .cv-pack-cta:hover{
  border-color:var(--violet-2);color:var(--violet-2);transform:translateY(-1px);
}
.cv-page-partenaires .cv-pack-cta-primary{
  background:var(--violet);color:#fff;border-color:var(--violet);
}
.cv-page-partenaires .cv-pack-cta-primary:hover{
  background:var(--violet-2);color:#fff;
  box-shadow:0 10px 24px rgba(124,58,237,.4);
}
.cv-page-partenaires .cv-packs-foot{
  text-align:center;margin:32px 0 0;font-size:14px;color:var(--cv-text-mute);
}
.cv-page-partenaires .cv-packs-foot a{color:var(--violet-2);font-weight:600;text-decoration:underline;}

/* ─── WHY PARTNER ─── */
.cv-page-partenaires .cv-why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
@media (max-width:960px){.cv-page-partenaires .cv-why-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.cv-page-partenaires .cv-why-grid{grid-template-columns:1fr;}}
.cv-page-partenaires .cv-why-card{
  background:var(--cv-card-bg);border:1px solid var(--cv-card-border);border-radius:14px;
  padding:24px;display:flex;flex-direction:column;gap:12px;
}
.cv-page-partenaires .cv-why-icon{
  width:40px;height:40px;border-radius:10px;
  background:rgba(159,103,255,.12);color:var(--violet-2);
  display:grid;place-items:center;
}
.cv-page-partenaires .cv-why-icon svg{width:20px;height:20px}
.cv-page-partenaires .cv-why-card h4{
  font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:17px;font-weight:700;
  color:var(--cv-text-strong);margin:0;
}
.cv-page-partenaires .cv-why-card p{
  font-size:14px;color:var(--cv-text-mute);line-height:1.55;margin:0;
}

/* ─── CTA FINAL PARTENAIRES ─── */
.cv-page-partenaires .cv-final-partner{
  padding:clamp(60px,8vw,100px) 24px;
  background:linear-gradient(135deg,rgba(124,58,237,.08) 0%,rgba(109,213,237,.04) 100%);
}
.cv-page-partenaires .cv-final-partner-inner{
  max-width:760px;margin:0 auto;text-align:center;
}
.cv-page-partenaires .cv-final-partner-eyebrow{
  display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--violet-2);margin:0 0 16px;
}
.cv-page-partenaires .cv-final-partner-title{
  font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:clamp(32px,5vw,52px);
  font-weight:800;line-height:1.05;letter-spacing:-.03em;
  color:var(--cv-text-strong);margin:0 0 16px;
}
.cv-page-partenaires .cv-final-partner-title mark{
  background:rgba(159,103,255,.18);color:#E9DDFF;padding:0 12px;border-radius:8px;
}
html[data-theme="light"] .cv-page-partenaires .cv-final-partner-title mark{background:#EDE4FF;color:#4C1D95;}
.cv-page-partenaires .cv-final-partner-lede{
  font-size:clamp(15px,1.6vw,18px);color:var(--cv-text);line-height:1.6;
  margin:0 0 32px;
}
.cv-page-partenaires .cv-final-partner-cta-row{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:32px;
}
.cv-page-partenaires .cv-final-partner-trust{
  display:flex;flex-wrap:wrap;justify-content:center;gap:24px;
  list-style:none;padding:0;margin:0;
  font-size:13.5px;color:var(--cv-text-mute);
}
.cv-page-partenaires .cv-final-partner-trust li{
  display:inline-flex;align-items:center;gap:6px;
}
.cv-page-partenaires .cv-final-partner-trust svg{color:#10B981;flex:0 0 auto;}

/* ──────────────────────────────────────────────────────────
   GUTENBERG EDITOR OVERRIDES (v1.14.62)
   Le JS reveal-on-scroll (IntersectionObserver) ne tourne pas
   dans l'éditeur Gutenberg : tous les blocs .reveal restent à
   opacity:0 et sont invisibles. On force l'état "révélé" +
   neutralise toute animation, scopé à .editor-styles-wrapper
   et aux body classes admin (cv-avatar-page, cv-produit-page,
   cv-page-partenaires) pour battre toute spec plus haute.
   ────────────────────────────────────────────────────────── */
.editor-styles-wrapper .reveal,
.editor-styles-wrapper .reveal.reveal,
.editor-styles-wrapper .reveal > *,
.editor-styles-wrapper .reveal-words .word,
.editor-styles-wrapper .feat,
.editor-styles-wrapper .testi,
.editor-styles-wrapper .layer,
.editor-styles-wrapper .price,
.editor-styles-wrapper .pain-card,
.editor-styles-wrapper .pain-col,
.editor-styles-wrapper .pain-cost,
.editor-styles-wrapper .mockup,
.editor-styles-wrapper .td-line span,
.editor-styles-wrapper .parcours-svg .mile,
.editor-styles-wrapper .mile,
.editor-styles-wrapper .aud,
.editor-styles-wrapper .cmp-wrap,
.editor-styles-wrapper .faq-list,
.editor-styles-wrapper .cv-module,
.editor-styles-wrapper .cv-module.reveal,
.editor-styles-wrapper .cv-modules-grid,
.editor-styles-wrapper .cv-usecase,
.editor-styles-wrapper .cv-pack-card,
.editor-styles-wrapper .cv-comparison-row,
.editor-styles-wrapper .cv-faq-item,
.editor-styles-wrapper .cv-pricing-card,
.editor-styles-wrapper .cv-pillar-card,
.editor-styles-wrapper .cv-feat-v2,
.editor-styles-wrapper .cv-feat-grid-v2,
.editor-styles-wrapper .cv-infra-card,
.editor-styles-wrapper .cv-method,
.editor-styles-wrapper .cv-pain-v2,
.editor-styles-wrapper .cv-pb-step,
.editor-styles-wrapper .cv-feature-card,
.editor-styles-wrapper .cv-feature-pill,
.editor-styles-wrapper .cv-features-iceberg,
.editor-styles-wrapper .cv-mini-mockup,
.editor-styles-wrapper .price-pro,
.editor-styles-wrapper .cv-stat,
.editor-styles-wrapper .cv-final-partner,
.editor-styles-wrapper .cv-simulator,
.editor-styles-wrapper .cv-why-card,
.editor-styles-wrapper .cv-testi-card,
.editor-styles-wrapper .pv3-card,
.editor-styles-wrapper .pv3-agency-card,
.editor-styles-wrapper .pv3-dfy,
.editor-styles-wrapper .pv3-features,
.editor-styles-wrapper .pv3-view,
.cv-produit-page .editor-styles-wrapper .cv-module,
.cv-produit-page .editor-styles-wrapper .cv-module.reveal,
.cv-produit-page .editor-styles-wrapper .reveal,
.cv-avatar-page .editor-styles-wrapper .cv-module,
.cv-avatar-page .editor-styles-wrapper .reveal,
.cv-page-partenaires .editor-styles-wrapper .reveal,
.cv-page-partenaires .editor-styles-wrapper .cv-pack-card{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
  transition:none!important;
}
/* Hero : neutralise canvas particles en édition (JS pas chargé) */
.editor-styles-wrapper .hero canvas,
.editor-styles-wrapper .hero-bg{
  pointer-events:none;
}
/* <details> FAQ : forcer contenu interne visible */
.editor-styles-wrapper details > *:not(summary){
  opacity:1!important;
}

/* ── v1.14.69 — REVERT CSS v1.14.65/67/68 (margin-block-start) ──────── */
/* En v1.14.65→68, on a tenté de neutraliser la règle WP core
     :root :where(.is-layout-flow) > * { margin-block-start: 24px }
   pour résoudre des écarts perçus parasites entre sections.
   ERREUR DE RAISONNEMENT : cette règle est le `block-gap` natif Gutenberg
   qui sépare les blocs frères. Elle était LÉGITIME pour les vrais blocs
   (sections, groups, paragraphes). Les écarts parasites venaient
   uniquement des `<p>` vides injectés par wpautop sur les commentaires
   HTML décoratifs du pattern v1.14.64 — résolus en v1.14.66 par la
   suppression des commentaires (cause racine).
   Donc on supprime nos overrides margin-block-start qui écrasaient
   tous les espacements voulus de la page (« contenu ultra compressé
   collé »). On garde uniquement la couche p:empty (sécurité visuelle
   pour les `<p>` résiduels qui pourraient subsister). */

/* Couche CSS p:empty (scope élargi sur body.home, body.page-template,
   et les wrappers cv-* déjà existants). Hide-only, pas de !important
   sur margin pour ne pas affecter le layout. */
body.home p:empty,
body.home p:has(> br:only-child),
body.page-template-page-homepage p:empty,
body.page-template-page-homepage p:has(> br:only-child),
.cv-homepage p:empty,
.cv-avatar-page p:empty,
.cv-page-partenaires p:empty,
.cv-homepage p:has(> br:only-child),
.cv-avatar-page p:has(> br:only-child),
.cv-page-partenaires p:has(> br:only-child) {
  display: none !important;
}

/* ── v1.14.68 — Fix wrappers Gutenberg natifs sur le pattern homepage ── */

/* BUG 1 : sur-boutons doubles.
   Cause : Gutenberg sort `<div class="wp-block-button btn btn-primary">
   <a class="wp-block-button__link wp-element-button">…</a></div>`. Notre
   CSS .btn applique le style (fond/padding/radius) sur LE WRAPPER, et
   wp-element-button du core applique aussi un style de bouton sur le
   `<a>` interne. Résultat : un bouton dans un bouton (double rendu).
   Fix : neutraliser le wrapper `.wp-block-button` quand il a aussi `.btn`
   (couleurs/fond transparents, pas de padding, pas de radius sur le
   wrapper) ET porter le style .btn sur le `<a>` interne via les classes
   héritées par le `.wp-block-button__link`. */
.wp-block-button.btn {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-block;
  width: auto !important;
}
/* Le <a> interne reprend le style .btn complet. On hérite via les
   modifiers déjà présents sur le wrapper. */
.wp-block-button.btn > .wp-block-button__link {
  /* Reset des styles wp-element-button du core */
  background: var(--btn-bg, transparent);
  color: var(--btn-fg, inherit);
  /* Récupère les styles .btn / .btn-primary / .btn-ghost / .btn-lg via
     les classes que l'utilisateur a ajoutées sur le wrapper. On force
     l'héritage propre des padding/radius/fonts du thème. */
}
.wp-block-button.btn-primary > .wp-block-button__link,
.wp-block-button.btn.btn-primary > .wp-block-button__link {
  /* Si .btn-primary défini dans le thème, on applique sa logique au <a>
     interne. Le mieux est de cibler par contexte. */
}
/* Approche pragmatique : appliquer .btn / .btn-primary / .btn-ghost /
   .btn-lg directement sur le wp-block-button__link via un sélecteur
   qui matche ses classes parent. */
.wp-block-button.btn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* BUG 2 : hero-badge prend toute la largeur.
   Cause : `<div class="wp-block-group hero-badge">` est rendu par
   Gutenberg en `display: block` par défaut (largeur 100%). Le pattern
   original `.hero-badge` était `display: inline-flex` (badge compact).
   Fix : forcer inline-flex avec largeur auto et centrage horizontal. */
.hero-badge.wp-block-group,
.wp-block-group.hero-badge {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center;
}
/* Si le hero-copy parent est en flex-column, on assure que le badge
   est bien centré sans s'étirer. */
.hero-copy > .hero-badge.wp-block-group,
.hero-copy > .wp-block-group.hero-badge {
  align-self: center;
}

/* BUG 3 (préventif) : autres conteneurs flex/inline du pattern qui
   subiraient la même règle is-layout-flow et s'étireraient à 100%.
   On neutralise les `aud-head`, `pain-card`, `feat`, etc. qui sont
   des conteneurs flex dans le pattern d'origine. */
.aud-head.wp-block-group,
.pain-card.wp-block-group,
.cost-cell.wp-block-group,
.hero-proof .item.wp-block-group {
  display: flex !important;
}

/* ===========================================================
   v1.14.71 — Inline-meant classes neutralization
   Defensive layer: certains contextes (groupes flex/flow d'origine
   du pattern) appliquent encore margin-block-start: 24px aux spans
   ou imposent display:block via CSS d'origine. On force le réglage
   inline correct sur les classes qui sont des badges/pills/eyebrows
   dans le HTML d'origine.
   =========================================================== */
.eyebrow,
.pain-n,
.cost-k,
.cost-v,
.aud-tag,
.aud-name,
.feat-tag,
.layer-tag,
.chip,
.price-tag,
.quote-mark,
.td-ribbon-text,
.pain-tag {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

/* ===========================================================
   v1.14.73 — Compactage rythme home + restauration design
   d'origine cassé par les layouts Gutenberg (is-layout-flow,
   is-layout-flex, margin-block-start: 24px parasite).
   =========================================================== */

/* Section-head : restaure rythme compact eyebrow → titre → lede */
.section-head > * { margin-block-start: 0 !important; margin-top: 0 !important; }
.section-head > h2,
.section-head > .section-title,
.section-head > .wp-block-heading { margin-block-start: 12px !important; margin-top: 12px !important; }
.section-head > p,
.section-head > .section-lede { margin-block-start: 16px !important; margin-top: 16px !important; }

/* Bandeau stats (.cost-row) : restaure grid 4 colonnes du CSS d'origine
   (Gutenberg ajoute is-layout-flex sur le wp:group qui écrase display:grid) */
.cost-row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}
@media (max-width: 767px) {
  .cost-row { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Pain-list : restaure flex column gap 14px du design d'origine
   (sinon les <li> reçoivent margin-block-start: 24px parasite) */
.pain-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.pain-list > * { margin-block-start: 0 !important; margin-top: 0 !important; }

/* Pain-col-head : badge "Chaos N°X" + titre h3 + chip "RÉSOLU PAR..."
   sur même ligne (CSS origine: flex row gap 12px wrap) */
.pain-col-head {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.pain-col-head > * { margin-block-start: 0 !important; margin-top: 0 !important; }

/* Pain-card : neutralise margin-block-start parasite sur <p>
   description, garde un gap de 4px sous le h4 titre */
.pain-card div > p,
.pain-card .is-layout-flow > p,
.pain-card p {
  margin-block-start: 4px !important;
  margin-top: 4px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ===========================================================
   v1.14.77 — Hero V6 : chip jaune + animation entrée + responsive mobile
   - Chip "tag" passe en yellow/gold (eyebrow accent contraste fort)
   - Micro-animation : entrée scale + pulse subtil
   - Compaction mobile : H1, lede, CTAs, trust bar, mockup
   =========================================================== */

.hero-badge .tag,
.hero-badge p.tag,
.hero-badge .wp-block-paragraph.tag {
  background: linear-gradient(135deg, #FCD34D 0%, #F59E0B 100%) !important;
  color: #1E293B !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
  border-radius: var(--r-pill);
  padding: 4px 11px !important;
  margin: 0 !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-family: 'JetBrains Mono', monospace;
  white-space: nowrap;
}
.hero-badge .tag strong,
.hero-badge p.tag strong {
  color: #1E293B !important;
  font-weight: 700;
}

@keyframes cvChipIn {
  0%   { opacity: 0; transform: scale(.7) translateY(-4px); }
  60%  { opacity: 1; transform: scale(1.08) translateY(0); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes cvChipPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(252, 211, 77, .55); }
  50%      { box-shadow: 0 0 0 8px rgba(252, 211, 77, 0); }
}
.hero-badge .tag,
.hero-badge p.tag {
  animation:
    cvChipIn .55s .4s cubic-bezier(.34, 1.56, .64, 1) backwards,
    cvChipPulse 2.8s 1.4s ease-out infinite;
  transform-origin: center;
}

@media (prefers-reduced-motion: reduce) {
  .hero-badge .tag,
  .hero-badge p.tag {
    animation: none;
  }
}

.hero-copy > .hero-lede,
.hero-copy > p.hero-lede {
  margin-top: 26px !important;
  margin-block-start: 26px !important;
}

.hero-proof .item p {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.wp-block-buttons.hero-ctas {
  display: flex !important;
  align-items: center;
  gap: 14px;
  margin-top: 36px !important;
  flex-wrap: wrap;
}
.wp-block-buttons.hero-ctas > .wp-block-html {
  display: contents;
}

@media (max-width: 767px) {
  .hero { padding-block: 28px clamp(48px, 8vw, 80px); }
  .hero-inner { gap: 36px; }
  .hero-badge.wp-block-group,
  .wp-block-group.hero-badge {
    flex-wrap: wrap !important;
    justify-content: center !important;
    text-align: center;
    gap: 8px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    line-height: 1.3;
  }
  .hero-badge p { margin: 0 !important; }
  .hero h1 {
    font-size: clamp(30px, 8.5vw, 42px);
    margin-top: 18px;
    letter-spacing: -.025em;
    line-height: 1.06;
  }
  .hero-copy > .hero-lede,
  .hero-copy > p.hero-lede {
    margin-top: 18px !important;
    font-size: 15px;
    line-height: 1.5;
  }
  .wp-block-buttons.hero-ctas {
    margin-top: 24px !important;
    gap: 10px;
    flex-direction: column;
    align-items: stretch;
  }
  .wp-block-buttons.hero-ctas .btn-lg {
    width: 100%;
    justify-content: center;
  }
  .hero-proof {
    margin-top: 24px;
    gap: 12px 18px;
    font-size: 12.5px;
    justify-content: center;
  }
  .hero-proof .item.wp-block-group { flex: 0 0 auto; }
  .mockup-wrap { margin-top: 12px; }
}

@media (max-width: 480px) {
  .hero h1 { font-size: clamp(26px, 9vw, 34px); }
  .hero-copy > .hero-lede,
  .hero-copy > p.hero-lede { font-size: 14.5px; }
  .hero-badge.wp-block-group,
  .wp-block-group.hero-badge { font-size: 11.5px !important; }
}

@media (max-width: 1023px) {
  .hero-copy { text-align: center; align-items: center; }
  .hero-copy > * { margin-left: auto; margin-right: auto; }
  .hero h1 { text-align: center; }
  .hero-lede { margin-left: auto !important; margin-right: auto !important; }
}

/* ===========================================================
   v1.14.78 — Trust marks éditables Gutenberg natif
   - .mark passe de span à wp:group (div)
   - Le <p> dans wp:paragraph hérite des margins block — neutralisation
   - .trust-row passe en wp:group flex (déjà ok, on confirme)
   =========================================================== */

.trust-row.wp-block-group {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 44px 60px !important;
  opacity: .85;
}
.trust-row .mark.wp-block-group,
.wp-block-group.trust-row .mark {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
  color: var(--fg-mute);
  font-weight: 600;
  letter-spacing: -.01em;
  font-size: 16px;
  filter: grayscale(.3);
  transition: color .25s, filter .25s, transform .3s var(--ease-spring);
  margin: 0 !important;
  padding: 0 !important;
}
.trust-row .mark.wp-block-group:hover,
.wp-block-group.trust-row .mark:hover {
  color: #fff;
  filter: none;
  transform: translateY(-2px);
}
.trust-row .mark p {
  margin: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  display: inline;
  font: inherit;
  color: inherit;
}
.trust-row .mark svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* ===========================================================
   v1.14.74 — Pricing-v3 sur page d'accueil
   Réplique les règles .cv-avatar-page .pv3-* pour body.home
   + halo violet animé sur la card recommandée Pro
   =========================================================== */

/* 1. Anchor barré (prix avant promo) */
body.home .pv3-price-anchor s { color: var(--cv-text-dim, var(--fg-dim)); }

/* 2. Centrage texte boutons CTA pricing */
body.home .pv3-cta,
body.home .pv3-cta-primary,
body.home .pv3-cta-recommended,
body.home .pv3-cta-dfy { text-align: center; justify-content: center; }

/* 3. Couleur texte boutons selon background */
body.home .pv3-cta-recommended,
body.home .pv3-cta-primary,
body.home .pv3-cta-dfy,
html[data-theme="light"] body.home .pv3-cta-recommended,
html[data-theme="light"] body.home .pv3-cta-primary,
html[data-theme="light"] body.home .pv3-cta-dfy { color: #fff !important; }
body.home .pv3-cta,
html[data-theme="light"] body.home .pv3-cta { color: #5a1fd1; }
html[data-theme="light"] body.home .pv3-cta:not(.pv3-cta-primary):not(.pv3-cta-recommended):not(.pv3-cta-dfy) {
  background: rgba(124,58,237,.10) !important;
  color: #5a1fd1 !important;
  border-color: rgba(124,58,237,.3) !important;
}

/* 4. Notes en bas du pricing */
body.home .pv3-notes,
body.home .pv3-notes p { color: var(--cv-text-mute, var(--fg-mute)) !important; }

/* 5. Border-radius unifié sur CTAs */
body.home .pv3-cta,
body.home .pv3-cta-dfy,
body.home .pv3-cta-primary,
body.home .pv3-cta-recommended { border-radius: 14px !important; }

/* 6. Halo violet animé sur la card Pro recommandée
   (mix doré pv3-recommended + halo violet qui tourne) */
.pv3-card-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.pv3-card-hero > .halo {
  position: absolute;
  inset: -40%;
  z-index: 0;
  pointer-events: none;
  background: conic-gradient(
    from 0deg,
    transparent 0%,
    rgba(124, 58, 237, .28) 15%,
    transparent 35%,
    rgba(159, 103, 255, .22) 55%,
    transparent 75%,
    rgba(124, 58, 237, .28) 95%,
    transparent 100%
  );
  filter: blur(32px);
  animation: haloSpin 8s linear infinite;
}
.pv3-card-hero > *:not(.halo) {
  position: relative;
  z-index: 1;
}

/* ===========================================================
   v1.14.80 — Pricing-v3 sur body.home : couche défensive complète
   Réplique TOUS les tokens et règles .cv-avatar-page nécessaires
   au rendu correct du pricing-v3 (eyebrow dot, mark gradient,
   couleurs adaptive, halo violet animé sur card hero)
   =========================================================== */

/* 1. Tokens cv-* — dark theme par défaut */
body.home {
  --cv-bg: #0A0F1C;
  --cv-section-bg: transparent;
  --cv-section-bg-soft: rgba(255,255,255,.02);
  --cv-card-bg: rgba(255,255,255,.04);
  --cv-card-bg-hover: rgba(255,255,255,.06);
  --cv-card-border: rgba(255,255,255,.08);
  --cv-card-border-hover: rgba(124,58,237,.4);
  --cv-text-strong: #fff;
  --cv-text: rgba(255,255,255,.85);
  --cv-text-mute: rgba(255,255,255,.65);
  --cv-text-dim: rgba(255,255,255,.4);
  --cv-eyebrow: rgba(255,255,255,.5);
  --cv-divider: rgba(255,255,255,.08);
}

/* 1bis. Tokens cv-* — light theme overrides */
html[data-theme="light"] body.home {
  --cv-bg: #FAF7F0;
  --cv-section-bg: #FAF7F0;
  --cv-section-bg-soft: #F7F4EC;
  --cv-card-bg: #FFFFFF;
  --cv-card-bg-hover: #FFFFFF;
  --cv-card-border: rgba(23,26,43,.08);
  --cv-card-border-hover: rgba(124,58,237,.35);
  --cv-text-strong: #0F172A;
  --cv-text: #1E293B;
  --cv-text-mute: #475569;
  --cv-text-dim: #94a3b8;
  --cv-eyebrow: #64748B;
  --cv-divider: rgba(23,26,43,.08);
}

/* 2. Eyebrow — recréer le dot cyan via ::before
   (le pattern utilise <p class="eyebrow">…</p> sans <span class="dot"> interne) */
body.home p.eyebrow,
body.home .pricing-v3 .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
}
body.home p.eyebrow::before,
body.home .pricing-v3 .eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 12px var(--cyan);
  flex-shrink: 0;
}
body.home .section-head.center p.eyebrow,
body.home p.has-text-align-center.eyebrow {
  justify-content: center;
  align-self: center;
  margin-inline: auto;
}

/* 3. <mark> gradient (cyan → blanc → violet) sur les titres */
body.home .section-title mark,
body.home .pricing-v3 h2 mark,
body.home mark {
  background: linear-gradient(95deg, var(--cyan) 0%, #fff 40%, var(--violet-2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding: 0;
}

/* 4. Couleurs adaptive titre / lede / eyebrow */
body.home .section-title,
body.home .pricing-v3 h2,
body.home .pricing-v3 h3,
body.home .pricing-v3 h4 {
  color: var(--cv-text-strong);
}
body.home .section-lede,
body.home .pricing-v3 .section-lede,
body.home .pricing-v3 p {
  color: var(--cv-text-mute);
}
body.home .eyebrow,
body.home .pricing-v3 .eyebrow {
  color: var(--cv-eyebrow);
}

/* 5. Halo violet animé sur la card Pro recommandée
   (mix avec le fond doré pv3-recommended) */
.pv3-card-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.pv3-card-hero > .halo {
  position: absolute;
  inset: -40%;
  z-index: 0;
  pointer-events: none;
  background: conic-gradient(
    from 0deg,
    transparent 0%,
    rgba(124, 58, 237, .32) 15%,
    transparent 35%,
    rgba(159, 103, 255, .26) 55%,
    transparent 75%,
    rgba(124, 58, 237, .32) 95%,
    transparent 100%
  );
  filter: blur(32px);
  animation: haloSpin 8s linear infinite;
}
.pv3-card-hero > *:not(.halo) {
  position: relative;
  z-index: 1;
}

/* ===========================================================
   v1.14.81 — Fix spécificité mark gradient + eyebrow dot + section-lede width
   =========================================================== */

/* 1. <mark> gradient — force spécificité supérieure pour vaincre WP default mark{background:yellow} */
body.home .pricing-v3 h2 mark,
body.home .pricing-v3 h3 mark,
body.home .pricing-v3 .section-title mark,
body.home section.pricing-v3 mark,
body.home .section-head mark {
  background: linear-gradient(95deg, var(--cyan) 0%, #fff 40%, var(--violet-2) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  padding: 0 !important;
  -webkit-text-fill-color: transparent;
}

/* 2. Eyebrow ::before dot — force display + content */
body.home .pricing-v3 .eyebrow,
body.home .pricing-v3 p.eyebrow,
body.home section.pricing-v3 p.eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
}
body.home .pricing-v3 .eyebrow::before,
body.home .pricing-v3 p.eyebrow::before,
body.home section.pricing-v3 p.eyebrow::before {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--cyan) !important;
  box-shadow: 0 0 12px var(--cyan) !important;
  flex-shrink: 0 !important;
}

/* 3. Section-lede — restaurer max-width 62ch (texte sur ~2 lignes) */
body.home .pricing-v3 .section-lede,
body.home section.pricing-v3 p.section-lede {
  max-width: 62ch !important;
  margin-inline: auto !important;
}

/* ===========================================================
   v1.14.82 — Neutralisation strong{font-weight:bolder} sur body.home
   La règle UA du navigateur applique font-weight:bolder partout
   sur <strong>. Sur les pages avatar, des règles ciblées le
   redéfinissent en 600. Sur la home, on force un poids cohérent.
   =========================================================== */

/* Strong global sur la home — poids 600 (sémantique gras sans excès) */
body.home strong {
  font-weight: 600;
}

/* Strong dans le pricing-v3 — poids 700 sur les features list (cohérent avec .cv-avatar-page) */
body.home .pricing-v3 strong,
body.home .pv3-features li strong,
body.home .pv3-features strong,
body.home .pv3-notes strong,
body.home .pv3-card strong,
body.home .pv3-card-hero strong {
  font-weight: 700;
  color: var(--cv-text-strong);
}

/* Strong dans hero, badges, ledes, eyebrows — poids 600 + couleur strong */
body.home .hero-badge strong,
body.home .hero-lede strong,
body.home .topbar-inner strong,
body.home .section-lede strong,
body.home .section-head strong,
body.home p strong {
  font-weight: 600;
}

/* Strong dans le titre hero (h1) — gradient gold (réplique .cv-avatar-page .hero h1 strong) */
body.home .hero h1 strong {
  background: linear-gradient(135deg, #E8C97C 0%, #C9A24B 45%, #8E6B2B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: inherit;
}

/* ===========================================================
   v1.14.79 — Page Intégrations
   Architecture : hero → stats → 5 catégories → comment ça marche
   → ne trouvez pas votre outil → final CTA
   =========================================================== */

/* ── HERO Intégrations ────────────────────────────────────── */
.integ-hero {
  padding-block: clamp(60px, 8vw, 100px) clamp(40px, 6vw, 70px);
  position: relative; isolation: isolate;
  background: radial-gradient(ellipse at 50% 0%, rgba(124,58,237,.12), transparent 60%);
}
.integ-hero .section-title {
  font-size: clamp(40px, 6vw, 76px);
  letter-spacing: -.025em;
  line-height: 1.05;
}
.integ-hero .section-lede {
  max-width: 64ch;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Stats row */
.integ-stats {
  margin-top: clamp(40px, 5vw, 60px) !important;
  gap: 32px 56px !important;
}
.integ-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center;
  gap: 4px !important;
}
.integ-stat-num {
  font-family: 'Cabinet Grotesk', 'Inter', sans-serif;
  font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 800;
  background: linear-gradient(135deg, #E8C97C 0%, #C9A24B 50%, #8E6B2B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin: 0 !important;
}
.integ-stat-lbl {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fg-mute, #94a3b8);
  margin: 0 !important;
}

/* ── Catégories ───────────────────────────────────────────── */
.integ-cat {
  padding-block: clamp(50px, 7vw, 90px);
}
.integ-cat--alt {
  background: linear-gradient(180deg, rgba(124,58,237,.04) 0%, rgba(109,213,237,.04) 100%);
}
html[data-theme="light"] .integ-cat--alt {
  background: linear-gradient(180deg, rgba(124,58,237,.04) 0%, rgba(201,162,75,.06) 100%);
}

.integ-cat-head {
  max-width: 720px;
  margin-bottom: clamp(32px, 4vw, 56px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
}
.integ-cat-icon {
  width: 56px; height: 56px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(124,58,237,.18), rgba(109,213,237,.12));
  border: 1px solid rgba(124,58,237,.22);
  color: var(--violet-2, #9F67FF);
  flex-shrink: 0;
}
.integ-cat-icon svg { width: 26px; height: 26px; }
.integ-cat-head h2 {
  font-size: clamp(28px, 3.5vw, 44px);
  letter-spacing: -.022em;
  margin: 0 !important;
}
.integ-cat-lede {
  margin: 0 !important;
  margin-block-start: 0 !important;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.55;
  color: var(--fg-mute, #94a3b8);
  max-width: 64ch;
}
.integ-cat-lede strong { color: var(--fg, #fff); font-weight: 600; }

/* Grille de cards */
.integ-grid {
  gap: 16px !important;
}
.integ-card {
  flex: 0 1 200px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center;
  gap: 10px !important;
  padding: 22px 18px !important;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line, rgba(255,255,255,.06));
  border-radius: 14px;
  transition: transform .25s var(--ease-out, ease-out), border-color .25s, background .25s, box-shadow .25s;
}
html[data-theme="light"] .integ-card {
  background: #fff;
  border-color: rgba(23,26,43,.08);
  box-shadow: 0 1px 2px rgba(23,26,43,.04);
}
.integ-card:hover {
  transform: translateY(-3px);
  border-color: rgba(201,162,75,.4);
  background: rgba(201,162,75,.04);
  box-shadow: 0 6px 24px rgba(201,162,75,.12);
}
.integ-logo {
  width: 56px; height: 56px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line-2, rgba(255,255,255,.08));
  color: var(--fg, #fff);
  transition: color .25s, background .25s;
}
html[data-theme="light"] .integ-logo {
  background: #f7f4ec;
  border-color: rgba(23,26,43,.08);
  color: var(--ink-2, #1A1A3E);
}
.integ-logo svg { width: 28px; height: 28px; }
.integ-card:hover .integ-logo {
  color: #C9A24B;
  background: rgba(201,162,75,.1);
}
.integ-name {
  font-weight: 600;
  font-size: 14px;
  margin: 0 !important;
  margin-block-start: 0 !important;
  color: var(--fg, #fff);
}
.integ-desc {
  margin: 0 !important;
  margin-block-start: 0 !important;
  font-size: 11.5px;
  color: var(--fg-dim, rgba(255,255,255,.5));
  line-height: 1.4;
}

/* Card alt = neutre / utilitaire (iframe, +N autres) */
.integ-card--alt .integ-logo {
  background: rgba(109,213,237,.08);
  border-color: rgba(109,213,237,.2);
  color: var(--cyan, #6DD5ED);
}
html[data-theme="light"] .integ-card--alt .integ-logo {
  background: rgba(109,213,237,.12);
  border-color: rgba(109,213,237,.3);
  color: #0e7490;
}
.integ-card--more {
  border-style: dashed;
  background: transparent;
}
html[data-theme="light"] .integ-card--more { background: rgba(255,255,255,.4); }
.integ-card--more .integ-logo {
  background: transparent;
  border-style: dashed;
}

/* ── Comment ça marche ─────────────────────────────────────── */
.integ-how { padding-block: clamp(60px, 8vw, 100px); }
.integ-steps {
  margin-top: clamp(36px, 4vw, 56px) !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.integ-step {
  flex: 1 1 280px;
  max-width: 360px;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding: 28px 24px !important;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line, rgba(255,255,255,.06));
  border-radius: 18px;
  position: relative;
  isolation: isolate;
}
html[data-theme="light"] .integ-step {
  background: #fff;
  border-color: rgba(23,26,43,.08);
}
.integ-step-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 32px;
  font-weight: 800;
  background: linear-gradient(135deg, #E8C97C, #C9A24B);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin: 0 !important;
  margin-block-start: 0 !important;
}
.integ-step h3 {
  font-size: 19px;
  margin: 0 !important;
  margin-block-start: 0 !important;
}
.integ-step p {
  margin: 0 !important;
  margin-block-start: 0 !important;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--fg-mute, #94a3b8);
}
.integ-step strong, .integ-step em { color: var(--fg, #fff); }

/* ── Vous ne voyez pas votre outil ─────────────────────────── */
.integ-missing {
  padding-block: clamp(50px, 7vw, 90px);
  background: linear-gradient(180deg, rgba(10,15,28,0) 0%, rgba(124,58,237,.06) 100%);
}
html[data-theme="light"] .integ-missing {
  background: linear-gradient(180deg, transparent 0%, rgba(124,58,237,.04) 100%);
}
.integ-missing-inner {
  gap: 48px !important;
  align-items: stretch !important;
}
.integ-missing-copy {
  flex: 1 1 460px;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.integ-missing-copy h2 {
  font-size: clamp(28px, 3.5vw, 44px);
  margin: 0 !important;
  margin-block-start: 0 !important;
}
.integ-missing-list {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  display: flex; flex-direction: column;
  gap: 10px;
}
.integ-missing-list li {
  position: relative;
  padding: 12px 14px 12px 38px !important;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line, rgba(255,255,255,.06));
  border-radius: 10px;
  font-size: 14.5px;
  line-height: 1.5;
}
html[data-theme="light"] .integ-missing-list li {
  background: #fff;
  border-color: rgba(23,26,43,.08);
}
.integ-missing-list li::before {
  content: "";
  position: absolute;
  left: 14px; top: 50%;
  width: 14px; height: 14px;
  margin-top: -7px;
  border-radius: 50%;
  background: linear-gradient(135deg, #E8C97C, #C9A24B);
  box-shadow: 0 0 0 4px rgba(201,162,75,.15);
}
.integ-missing-list li strong { color: var(--gold-2, #E8C97C); font-weight: 600; }

.integ-missing-card {
  flex: 0 1 440px;
  display: flex !important;
  flex-direction: column !important;
  background: linear-gradient(135deg, #0a0f1c, #10162a);
  border: 1px solid rgba(124,58,237,.25);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(124,58,237,.15);
  align-self: center !important;
}
.integ-missing-card-head {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px;
  background: rgba(124,58,237,.12);
  border-bottom: 1px solid rgba(124,58,237,.2);
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--violet-2, #9F67FF);
}
.integ-missing-code {
  margin: 0 !important;
  padding: 18px 20px !important;
  background: transparent !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12.5px !important;
  line-height: 1.6;
  color: #E8C97C;
  white-space: pre;
  overflow-x: auto;
}
.integ-missing-code code { color: inherit; background: transparent; padding: 0; }

/* ── Final CTA ─────────────────────────────────────────────── */
.integ-final {
  padding-block: clamp(60px, 8vw, 110px) clamp(80px, 10vw, 140px);
  position: relative;
}
.integ-final::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 100%, rgba(201,162,75,.12), transparent 70%);
  pointer-events: none;
  z-index: -1;
}
.integ-final .section-title {
  font-size: clamp(32px, 4.5vw, 56px);
  letter-spacing: -.022em;
}

/* ── Mobile responsive ─────────────────────────────────────── */
@media (max-width: 767px) {
  .integ-stats { gap: 18px 28px !important; }
  .integ-stat-num { font-size: 32px !important; }
  .integ-cat-head { gap: 10px !important; }
  .integ-cat-icon { width: 44px; height: 44px; }
  .integ-cat-icon svg { width: 22px; height: 22px; }
  .integ-grid { gap: 10px !important; }
  .integ-card { flex: 0 1 calc(50% - 6px); padding: 16px 12px !important; }
  .integ-logo { width: 44px; height: 44px; }
  .integ-logo svg { width: 22px; height: 22px; }
  .integ-name { font-size: 13px; }
  .integ-desc { font-size: 11px; }
  .integ-step { padding: 22px 18px !important; }
  .integ-missing-inner { gap: 32px !important; }
  .integ-missing-card { flex: 1 1 100%; }
}
@media (max-width: 480px) {
  .integ-stats { gap: 16px 20px !important; }
  .integ-card { flex: 0 1 calc(50% - 5px); }
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.86 — Page intégrations · refonte 100% blocs natifs Gutenberg
 * ════════════════════════════════════════════════════════════════════════════
 *  • TOUS les blocs sont des wp:group / wp:paragraph / wp:heading / wp:buttons
 *    natifs (zéro wp:html). Modifiables visuellement dans l'éditeur.
 *  • Stats hero : vraie carte avec fond + border (au lieu du texte doré nu)
 *  • Titres de section nettement agrandis (.integ-cat-title)
 *  • 5 ambiances de fond par section : violet / cyan / amber / gold / magenta
 *  • Grille logos en 3 colonnes (au lieu de 2) avec cards compactées
 *  • Mockups reconstruits 100% en CSS pur sur des wp:group natifs
 *    (dots toolbar, barre de progression, flèche flow → tout en CSS)
 *  • Boutons via wp:buttons + classes is-style-cv-primary / is-style-cv-ghost
 *    (override wp-element-button, plus aucun conflit theme.json a:underline)
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── HERO : stats en vraies cards ──────────────────────────── */
.cv-integrations .integ-hero {
  padding-block: clamp(70px, 9vw, 120px) clamp(50px, 7vw, 90px) !important;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(124,58,237,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 100%, rgba(109,213,237,.06) 0%, transparent 50%) !important;
}
.cv-integrations .integ-hero-title {
  font-size: clamp(46px, 7vw, 88px) !important;
  letter-spacing: -.028em !important;
  line-height: 1.02 !important;
}
.cv-integrations .integ-stats {
  margin-top: clamp(48px, 6vw, 80px) !important;
  gap: 16px !important;
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.cv-integrations .integ-stats > .integ-stat {
  flex: 1 1 180px !important;
  max-width: 220px;
  padding: 22px 16px !important;
  background:
    linear-gradient(180deg, rgba(232,201,124,.10) 0%, rgba(201,162,75,.04) 100%);
  border: 1px solid rgba(201,162,75,.35);
  border-radius: 16px;
  box-shadow:
    0 8px 22px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.05);
  position: relative;
  overflow: hidden;
}
.cv-integrations .integ-stats > .integ-stat::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% -20%, rgba(232,201,124,.18), transparent 70%);
  pointer-events: none;
}
.cv-integrations .integ-stat-num {
  font-family: 'Cabinet Grotesk', 'Inter', sans-serif !important;
  font-size: clamp(40px, 5vw, 60px) !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #F4DC9B 0%, #E8C97C 40%, #C9A24B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: relative;
}
.cv-integrations .integ-stat-label {
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.65) !important;
  font-weight: 600 !important;
  margin: 8px 0 0 !important;
  position: relative;
}

/* ── Sections : titres agrandis & mis en avant ─────────────── */
.cv-integrations .integ-cat-title {
  font-size: clamp(40px, 5.5vw, 68px) !important;
  letter-spacing: -.025em !important;
  line-height: 1.05 !important;
  margin: 0 0 6px !important;
  font-weight: 800 !important;
}
.cv-integrations .integ-cat-lede {
  font-size: clamp(15px, 1.3vw, 18px) !important;
  line-height: 1.6 !important;
  color: var(--fg-mute) !important;
  margin: 22px 0 32px !important;
  max-width: 56ch;
}
.cv-integrations .integ-cat-lede strong { color: #fff !important; font-weight: 600 !important; }
.cv-integrations .integ-cat .eyebrow {
  margin-bottom: 18px !important;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
}

/* ── 5 ambiances de fond (une par section) ─────────────────── */
.cv-integrations .integ-cat {
  padding-block: clamp(70px, 9vw, 130px) !important;
  position: relative;
  isolation: isolate;
}
.cv-integrations .integ-cat::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.cv-integrations .integ-cat--violet::before {
  background:
    radial-gradient(ellipse at 15% 30%, rgba(124,58,237,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 90% 80%, rgba(159,103,255,.10) 0%, transparent 50%);
}
.cv-integrations .integ-cat--cyan::before {
  background:
    radial-gradient(ellipse at 85% 25%, rgba(109,213,237,.16) 0%, transparent 55%),
    radial-gradient(ellipse at 10% 90%, rgba(168,230,245,.08) 0%, transparent 50%),
    linear-gradient(180deg, rgba(13,19,42,.4) 0%, transparent 100%);
}
.cv-integrations .integ-cat--amber::before {
  background:
    radial-gradient(ellipse at 20% 40%, rgba(232,201,124,.14) 0%, transparent 55%),
    radial-gradient(ellipse at 95% 75%, rgba(124,58,237,.08) 0%, transparent 50%);
}
.cv-integrations .integ-cat--gold::before {
  background:
    radial-gradient(ellipse at 80% 30%, rgba(201,162,75,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 15% 85%, rgba(232,201,124,.10) 0%, transparent 50%),
    linear-gradient(180deg, rgba(20,15,5,.3) 0%, transparent 100%);
}
.cv-integrations .integ-cat--magenta::before {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(216,76,189,.14) 0%, transparent 60%),
    radial-gradient(ellipse at 0% 70%, rgba(124,58,237,.10) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 70%, rgba(109,213,237,.08) 0%, transparent 50%);
}

/* ── Split layout (logos + mockup) ─────────────────────────── */
.cv-integrations .integ-split {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(36px, 5vw, 80px) !important;
}
.cv-integrations .integ-split > .integ-side {
  flex: 1 1 460px;
  min-width: 0;
}
.cv-integrations .integ-split > .integ-mockup {
  flex: 1 1 440px;
  min-width: 0;
}
.cv-integrations .integ-cat--reverse .integ-split {
  flex-direction: row-reverse;
}
@media (max-width: 980px) {
  .cv-integrations .integ-cat--reverse .integ-split,
  .cv-integrations .integ-split { flex-direction: column !important; }
  .cv-integrations .integ-split > * { flex: 1 1 100% !important; width: 100%; }
}

/* ── Grille logos · 3 colonnes (cards compactes) ───────────── */
.cv-integrations .integ-grid--3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
@media (max-width: 540px) {
  .cv-integrations .integ-grid--3 { grid-template-columns: repeat(2, 1fr) !important; }
}
.cv-integrations .integ-grid--3 > .integ-card {
  flex: unset !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  gap: 8px !important;
  padding: 14px 10px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 12px !important;
  transition: transform .22s ease, background .22s ease, border-color .22s ease;
  min-height: 96px;
}
.cv-integrations .integ-grid--3 > .integ-card:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.06) !important;
  border-color: var(--violet-2) !important;
}
.cv-integrations .integ-logo-emoji {
  font-size: 26px !important;
  line-height: 1 !important;
  margin: 0 !important;
  width: 40px;
  height: 40px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line);
  border-radius: 10px;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.3));
}
.cv-integrations .integ-name {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.85) !important;
  margin: 0 !important;
  letter-spacing: -.005em;
  line-height: 1.25;
}

/* ══════════════════════════════════════════════════════════════
 *  MOCKUPS · 100% blocs natifs reconstruits en CSS pur
 * ══════════════════════════════════════════════════════════════ */
.cv-integrations .integ-mockup {
  position: relative;
  border-radius: 18px;
  background: linear-gradient(160deg, #11173b 0%, #0d122e 100%);
  border: 1px solid var(--line-2);
  box-shadow:
    0 28px 70px rgba(0,0,0,.5),
    0 8px 18px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.06);
  padding: 22px;
  overflow: hidden;
  isolation: isolate;
}
.cv-integrations .integ-mockup::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(124,58,237,.16), transparent 55%),
    radial-gradient(circle at 100% 100%, rgba(109,213,237,.08), transparent 60%);
  pointer-events: none;
}
.cv-integrations .integ-mockup > * { position: relative; z-index: 1; }

/* ── Mockup BUILDER · sidebar Gutenberg + bloc CV sélectionné ── */
.cv-integrations .integ-mockup--builder { padding: 0 !important; }
.cv-integrations .im-toolbar {
  display: flex !important;
  align-items: center;
  gap: 8px !important;
  padding: 12px 14px !important;
  background: rgba(8,10,25,.7);
  border-bottom: 1px solid var(--line);
  margin: 0 !important;
}
.cv-integrations .im-tb-dot {
  width: 11px !important;
  height: 11px !important;
  border-radius: 50%;
  flex-shrink: 0;
}
.cv-integrations .im-tb-dot--r { background: #ff5f57 !important; }
.cv-integrations .im-tb-dot--y { background: #febc2e !important; }
.cv-integrations .im-tb-dot--g { background: #28c840 !important; }
.cv-integrations .im-tb-title {
  margin: 0 0 0 8px !important;
  font-size: 12.5px !important;
  color: rgba(255,255,255,.65) !important;
  font-weight: 500 !important;
}
.cv-integrations .im-tb-action {
  margin: 0 0 0 auto !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: linear-gradient(180deg, #8a46f5, #6d2ce4);
  padding: 5px 12px;
  border-radius: 999px;
  box-shadow: 0 4px 10px rgba(124,58,237,.4);
}
.cv-integrations .im-canvas {
  display: grid !important;
  grid-template-columns: 180px 1fr !important;
  gap: 0 !important;
  min-height: 320px;
  align-items: stretch !important;
}
.cv-integrations .im-canvas > .im-sidebar,
.cv-integrations .im-canvas > .im-page { width: 100% !important; }
.cv-integrations .im-sidebar {
  background: rgba(255,255,255,.025) !important;
  border-right: 1px solid var(--line);
  padding: 14px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.cv-integrations .im-sb-search {
  font-size: 11px !important;
  color: rgba(255,255,255,.45) !important;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 7px 10px !important;
  margin: 0 0 6px !important;
}
.cv-integrations .im-sb-cat {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gold-2) !important;
  margin: 4px 0 2px !important;
}
.cv-integrations .im-sb-block {
  display: flex !important;
  align-items: center;
  gap: 9px !important;
  padding: 9px 10px !important;
  border-radius: 8px;
  margin: 0 !important;
  transition: background .2s;
}
.cv-integrations .im-sb-ic {
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 14px !important;
  color: rgba(255,255,255,.55) !important;
  margin: 0 !important;
  flex-shrink: 0;
}
.cv-integrations .im-sb-name {
  font-size: 12.5px !important;
  color: rgba(255,255,255,.7) !important;
  font-weight: 500 !important;
  margin: 0 !important;
}
.cv-integrations .im-sb-block--active {
  background: rgba(124,58,237,.2) !important;
  box-shadow: inset 0 0 0 1px rgba(124,58,237,.5);
}
.cv-integrations .im-sb-block--active .im-sb-ic { color: var(--violet-2) !important; }
.cv-integrations .im-sb-block--active .im-sb-name { color: #fff !important; font-weight: 600 !important; }
.cv-integrations .im-page {
  padding: 22px !important;
  background: rgba(0,0,0,.18) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.cv-integrations .im-block-selected {
  width: 100%;
  background: rgba(255,255,255,.04);
  border: 2px solid var(--violet) !important;
  border-radius: 12px;
  padding: 16px !important;
  position: relative;
  box-shadow: 0 8px 22px rgba(124,58,237,.25);
}
.cv-integrations .im-block-handle {
  position: absolute;
  top: -11px;
  left: 12px;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #fff !important;
  background: var(--violet);
  padding: 3px 9px !important;
  border-radius: 4px;
  margin: 0 !important;
}
.cv-integrations .im-block-preview { gap: 10px !important; }
.cv-integrations .im-bp-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center;
  gap: 10px !important;
  margin: 0 !important;
}
.cv-integrations .im-bp-row p { margin: 0 !important; }
.cv-integrations .im-bp-label {
  font-size: 12.5px !important;
  color: rgba(255,255,255,.85) !important;
  font-weight: 500 !important;
}
.cv-integrations .im-bp-tag {
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: var(--gold-2) !important;
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  padding: 2px 8px !important;
  border-radius: 999px;
}
.cv-integrations .im-bp-bar {
  height: 6px !important;
  background: rgba(255,255,255,.06) !important;
  border-radius: 999px;
  overflow: hidden;
  margin: 0 !important;
}
.cv-integrations .im-bp-bar-fill {
  width: 75% !important;
  height: 100% !important;
  background: linear-gradient(90deg, var(--violet), var(--violet-2)) !important;
  border-radius: 999px;
}
.cv-integrations .im-bp-row--small {
  font-size: 11px !important;
  color: rgba(255,255,255,.55) !important;
}
.cv-integrations .im-bp-row--small p { font-size: 11px !important; color: rgba(255,255,255,.55) !important; }

/* ── Mockup étape (LMS / Form / Cal) — base partagée ───────── */
.cv-integrations .im-step-card {
  background: rgba(255,255,255,.025) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 14px;
  overflow: hidden;
}
.cv-integrations .im-step-head {
  display: flex !important;
  align-items: center;
  gap: 12px !important;
  padding: 14px 18px !important;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--line);
  margin: 0 !important;
}
.cv-integrations .im-step-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: var(--violet);
  width: 28px;
  height: 28px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  flex-shrink: 0;
  margin: 0 !important;
  box-shadow: 0 4px 12px rgba(124,58,237,.4);
}
.cv-integrations .im-step-title {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #fff !important;
  flex: 1;
  letter-spacing: -.01em;
  margin: 0 !important;
}
.cv-integrations .im-step-pill {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 4px 10px !important;
  border-radius: 999px;
  flex-shrink: 0;
  margin: 0 !important;
}
.cv-integrations .im-step-pill--lock {
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.55) !important;
  border: 1px solid var(--line-2);
}
.cv-integrations .im-step-pill--pending {
  background: var(--gold-soft) !important;
  color: var(--gold-2) !important;
  border: 1px solid var(--gold-line);
}
.cv-integrations .im-step-body {
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

/* ── Mockup LMS ────────────────────────────────────────────── */
.cv-integrations .im-step-row {
  display: flex !important;
  align-items: center;
  gap: 12px !important;
  padding: 12px !important;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--line);
  border-radius: 10px;
  margin: 0 !important;
}
.cv-integrations .im-step-row-ic {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(109,213,237,.12);
  color: var(--cyan) !important;
  border-radius: 8px;
  flex-shrink: 0;
  font-size: 18px !important;
  margin: 0 !important;
}
.cv-integrations .im-step-row-body { flex: 1; min-width: 0; }
.cv-integrations .im-step-row-body p { margin: 0 !important; }
.cv-integrations .im-step-row-title {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin-bottom: 3px !important;
}
.cv-integrations .im-step-row-meta {
  font-size: 11px !important;
  color: rgba(255,255,255,.55) !important;
}
.cv-integrations .im-step-row-status {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 9px !important;
  border-radius: 999px;
  flex-shrink: 0;
  margin: 0 !important;
}
.cv-integrations .im-step-row-status--ok {
  background: rgba(76,217,123,.14) !important;
  color: #4cd97b !important;
  border: 1px solid rgba(76,217,123,.32);
}
.cv-integrations .im-step-flow {
  display: flex !important;
  align-items: center;
  justify-content: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  margin: 0 !important;
}
.cv-integrations .im-step-flow p { margin: 0 !important; font-weight: 600 !important; font-size: 11.5px !important; }
.cv-integrations .im-step-flow-from { color: var(--cyan) !important; }
.cv-integrations .im-step-flow-arrow { color: rgba(255,255,255,.4) !important; font-size: 16px !important; }
.cv-integrations .im-step-flow-to { color: var(--violet-2) !important; }

.cv-integrations .im-step-foot {
  display: flex !important;
  align-items: center;
  gap: 10px !important;
  padding: 10px 12px !important;
  background: rgba(76,217,123,.08);
  border: 1px solid rgba(76,217,123,.24);
  border-radius: 8px;
  margin: 0 !important;
}
.cv-integrations .im-step-foot p {
  font-size: 11.5px !important;
  color: rgba(255,255,255,.78) !important;
  margin: 0 !important;
}
.cv-integrations .im-step-foot-dot {
  width: 9px !important;
  height: 9px !important;
  border-radius: 50%;
  background: #4cd97b !important;
  box-shadow: 0 0 10px rgba(76,217,123,.6);
  flex-shrink: 0;
}

/* ── Mockup FORM ───────────────────────────────────────────── */
.cv-integrations .im-form-row {
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.cv-integrations .im-form-label {
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.55) !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 !important;
}
.cv-integrations .im-form-input {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px;
  padding: 10px 12px !important;
  font-size: 12.5px !important;
  color: #fff !important;
  margin: 0 !important;
}
.cv-integrations .im-form-row--file .im-form-file {
  display: flex !important;
  align-items: center;
  gap: 10px !important;
  background: rgba(124,58,237,.08) !important;
  border: 1px dashed rgba(124,58,237,.4);
  border-radius: 8px;
  padding: 10px 12px !important;
  margin: 0 !important;
}
.cv-integrations .im-form-file p { margin: 0 !important; }
.cv-integrations .im-form-file-ic { font-size: 14px !important; }
.cv-integrations .im-form-file-name { font-size: 12.5px !important; color: #fff !important; flex: 1; }
.cv-integrations .im-form-file-tag {
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: var(--violet-2) !important;
  background: rgba(124,58,237,.15);
  padding: 2px 7px !important;
  border-radius: 999px;
}
.cv-integrations .im-form-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: linear-gradient(180deg, #8a46f5, #6d2ce4) !important;
  padding: 11px 18px !important;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(124,58,237,.45);
  align-self: flex-start;
  margin: 4px 0 0 !important;
}

/* ── Mockup CAL ────────────────────────────────────────────── */
.cv-integrations .im-cal-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  margin: 0 !important;
}
.cv-integrations .im-cal-day {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px;
  padding: 12px 10px !important;
}
.cv-integrations .im-cal-day p { margin: 0 !important; }
.cv-integrations .im-cal-day-head {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: var(--cyan-2) !important;
  text-align: center;
  padding-bottom: 8px !important;
  margin-bottom: 8px !important;
  border-bottom: 1px solid var(--line);
  letter-spacing: .02em;
}
.cv-integrations .im-cal-slot {
  display: block;
  padding: 8px !important;
  margin-top: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.7) !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid var(--line);
  border-radius: 6px;
  text-align: center;
}
.cv-integrations .im-cal-slot--booked {
  background: rgba(124,58,237,.18) !important;
  color: #fff !important;
  border-color: var(--violet) !important;
  box-shadow: 0 0 0 1px rgba(124,58,237,.3) inset, 0 4px 10px rgba(124,58,237,.3);
}

/* ── Mockup AUTO (flow vertical) ───────────────────────────── */
.cv-integrations .integ-mockup--auto { padding: 28px 22px !important; }
.cv-integrations .im-flow {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.cv-integrations .im-flow-node {
  display: flex !important;
  align-items: center;
  gap: 14px !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--line-2);
  border-radius: 12px;
  margin: 0 !important;
}
.cv-integrations .im-flow-node-ic {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  flex-shrink: 0;
  font-size: 19px !important;
  margin: 0 !important;
}
.cv-integrations .im-flow-node--cv .im-flow-node-ic {
  background: linear-gradient(135deg, var(--violet) 0%, var(--violet-2) 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(124,58,237,.4);
}
.cv-integrations .im-flow-node--n8n .im-flow-node-ic {
  background: rgba(109,213,237,.14) !important;
  color: var(--cyan) !important;
  border: 1px solid rgba(109,213,237,.3);
}
.cv-integrations .im-flow-node--crm .im-flow-node-ic {
  background: var(--gold-soft) !important;
  color: var(--gold-2) !important;
  border: 1px solid var(--gold-line);
}
.cv-integrations .im-flow-node-body { flex: 1; min-width: 0; }
.cv-integrations .im-flow-node-body p { margin: 0 !important; }
.cv-integrations .im-flow-node-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 3px !important;
}
.cv-integrations .im-flow-node-meta {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: rgba(255,255,255,.55) !important;
}
.cv-integrations .im-flow-arrow {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 4px 0 !important;
  margin: 0 !important;
}
.cv-integrations .im-flow-arrow p { margin: 0 !important; }
.cv-integrations .im-flow-arrow-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: var(--gold-2) !important;
  letter-spacing: .03em;
  background: var(--gold-soft);
  padding: 3px 10px !important;
  border-radius: 999px;
  border: 1px solid var(--gold-line);
}
.cv-integrations .im-flow-arrow-line {
  font-size: 22px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.45) !important;
  line-height: 1;
}

/* ══════════════════════════════════════════════════════════════
 *  BOUTONS · wp:buttons natifs avec styles CV
 *  Override theme.json wp-element-button qui met cyan + underline
 * ══════════════════════════════════════════════════════════════ */
.cv-integrations .integ-cta-row { gap: 12px !important; margin-top: 28px !important; }
.cv-integrations .integ-cta-row.is-content-justification-center { justify-content: center !important; }

.cv-integrations .wp-block-button.is-style-cv-primary > .wp-block-button__link,
.cv-integrations a.wp-block-button__link.wp-element-button {
  text-decoration: none !important;
}
.cv-integrations .wp-block-button.is-style-cv-primary > .wp-block-button__link {
  background: linear-gradient(180deg, #8a46f5, #6d2ce4) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  box-shadow:
    0 8px 22px rgba(124,58,237,.45),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  transition: filter .2s, box-shadow .2s, transform .2s;
}
.cv-integrations .wp-block-button.is-style-cv-primary > .wp-block-button__link:hover {
  filter: brightness(1.08);
  box-shadow:
    0 12px 28px rgba(124,58,237,.55),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform: translateY(-1px);
  color: #fff !important;
}
.cv-integrations .wp-block-button.is-style-cv-ghost > .wp-block-button__link {
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  transition: background .2s, border-color .2s;
}
.cv-integrations .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════════════════════════
 *  COMMENT ÇA MARCHE / MISSING / FINAL — assouplissements
 * ══════════════════════════════════════════════════════════════ */
.cv-integrations .integ-how::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 0%, rgba(124,58,237,.08), transparent 60%);
}
.cv-integrations .integ-how { position: relative; isolation: isolate; }
.cv-integrations .integ-steps {
  margin-top: 56px !important;
  gap: 18px !important;
  display: flex !important;
}
.cv-integrations .integ-step {
  flex: 1 1 280px !important;
  padding: 28px 24px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 16px !important;
  position: relative;
  overflow: hidden;
}
.cv-integrations .integ-step::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--violet), var(--cyan));
  opacity: .6;
}
.cv-integrations .integ-step-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--gold-2) !important;
  margin: 0 0 12px !important;
  letter-spacing: .04em;
}
.cv-integrations .integ-step-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -.015em;
  color: #fff !important;
  margin: 0 0 12px !important;
}
.cv-integrations .integ-step-text {
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--fg-mute) !important;
  margin: 0 !important;
}

.cv-integrations .integ-missing {
  position: relative; isolation: isolate;
  padding-block: clamp(70px, 9vw, 130px) !important;
}
.cv-integrations .integ-missing::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(232,201,124,.12), transparent 55%),
    radial-gradient(ellipse at 100% 100%, rgba(124,58,237,.1), transparent 55%);
}
.cv-integrations .integ-missing-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 18px !important;
  margin-top: 48px !important;
  margin-bottom: 36px !important;
}
.cv-integrations .integ-missing-card {
  flex: 1 1 280px !important;
  padding: 28px 24px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid var(--gold-line) !important;
  border-radius: 16px !important;
  text-align: center;
}
.cv-integrations .integ-missing-ic {
  font-size: 32px !important;
  margin: 0 0 14px !important;
  display: inline-flex !important;
  width: 56px;
  height: 56px;
  align-items: center;
  justify-content: center;
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  border-radius: 14px;
}
.cv-integrations .integ-missing-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 10px !important;
}
.cv-integrations .integ-missing-text {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--fg-mute) !important;
  margin: 0 !important;
}

.cv-integrations .integ-final {
  position: relative; isolation: isolate;
  padding-block: clamp(80px, 10vw, 150px) !important;
}
.cv-integrations .integ-final::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 100%, rgba(201,162,75,.16), transparent 70%);
}

/* ── Aucun <p> vide ne doit s'afficher ─────────────────────── */
.cv-integrations p:empty { display: none !important; }

/* ── Mobile responsive ─────────────────────────────────────── */
@media (max-width: 767px) {
  .cv-integrations .integ-stats > .integ-stat { padding: 18px 12px !important; }
  .cv-integrations .integ-mockup { padding: 16px !important; }
  .cv-integrations .integ-mockup--builder { padding: 0 !important; }
  .cv-integrations .im-canvas { grid-template-columns: 140px 1fr !important; min-height: 280px; }
  .cv-integrations .im-sidebar { padding: 10px 8px !important; gap: 6px !important; }
  .cv-integrations .im-sb-block { padding: 7px 8px !important; }
  .cv-integrations .im-sb-name { font-size: 11.5px !important; }
  .cv-integrations .im-page { padding: 16px !important; }
  .cv-integrations .im-step-head { padding: 12px 14px !important; gap: 10px !important; }
  .cv-integrations .im-step-title { font-size: 12.5px !important; }
  .cv-integrations .im-step-body { padding: 14px !important; }
  .cv-integrations .im-cal-grid { grid-template-columns: 1fr !important; }
  .cv-integrations .integ-mockup--auto { padding: 22px 18px !important; }
  .cv-integrations .integ-cat-title { font-size: clamp(34px, 8vw, 48px) !important; }
}
@media (max-width: 480px) {
  .cv-integrations .im-canvas { grid-template-columns: 1fr !important; }
  .cv-integrations .im-sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    flex-direction: row !important;
    overflow-x: auto;
    padding: 10px !important;
  }
  .cv-integrations .im-sb-search,
  .cv-integrations .im-sb-cat { display: none !important; }
  .cv-integrations .im-sb-block { flex-shrink: 0; }
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.87 — Page intégrations · alignfull + assouplissements
 * ════════════════════════════════════════════════════════════════════════════
 *  • Garantit que les sections en align:full couvrent vraiment 100vw
 *  • Assouplit le main constrained pour permettre l'alignfull
 *  • Le wrap interne garde la largeur de contenu (1200px)
 * ════════════════════════════════════════════════════════════════════════════ */

/* Le main avec layout:constrained restreint les enfants — on autorise l'alignfull à dépasser */
.cv-page.cv-integrations,
main.cv-integrations {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Sections alignfull = pleine largeur de la viewport */
.cv-integrations > .alignfull,
.cv-integrations .alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Wrap interne : limite le contenu à la largeur de prose, gardant les fonds pleine largeur */
.cv-integrations .alignfull > .wrap,
.cv-integrations .alignfull .wrap {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(20px, 4vw, 40px) !important;
  padding-right: clamp(20px, 4vw, 40px) !important;
  width: 100%;
}

/* Le ::before dégradé doit donc couvrir 100vw (déjà le cas avec inset:0 sur l'élément alignfull) */

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.87 — Header mega menu type FluentCart / FluentCommunity
 * ════════════════════════════════════════════════════════════════════════════
 *  • Header sticky, fond solide au scroll
 *  • Items menu avec chevron + underline cyan animé
 *  • Mega menu panel avec card image gauche + grid 3 cols droite
 *  • Backdrop overlay pour fermeture extérieure
 *  • Drawer mobile dédié sous 980px
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Conteneur header global ──────────────────────────────── */
.cv-nav {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: rgba(10,15,28,.85);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--line);
  transition: background .25s ease, border-color .25s ease;
}
.cv-nav.is-scrolled {
  background: rgba(10,15,28,.95);
  border-bottom-color: var(--line-2);
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}
.cv-nav-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px clamp(20px, 4vw, 40px);
  display: flex;
  align-items: center;
  gap: 28px;
}

/* ── Logo ─────────────────────────────────────────────────── */
.cv-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  color: #fff !important;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -.01em;
  flex-shrink: 0;
}
.cv-logo-mark {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--violet), var(--violet-2));
  color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(124,58,237,.4);
}
.cv-logo-mark svg { width: 17px; height: 17px; }

/* ── Mega navigation ──────────────────────────────────────── */
.cv-mega-nav { flex: 1; min-width: 0; }
.cv-mega-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.cv-mega-item { position: relative; }

/* ── Trigger (bouton menu) ────────────────────────────────── */
.cv-mega-trigger,
.cv-mega-link-direct {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(255,255,255,.85) !important;
  font-size: 14.5px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none !important;
  position: relative;
  transition: color .18s;
  letter-spacing: -.005em;
}
.cv-mega-trigger:hover,
.cv-mega-link-direct:hover,
.cv-mega-item:hover .cv-mega-trigger,
.cv-mega-item.is-open .cv-mega-trigger {
  color: #fff !important;
}
.cv-mega-trigger::after,
.cv-mega-link-direct::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 6px;
  height: 2px;
  background: var(--cyan);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s var(--ease-out, ease-out);
}
.cv-mega-trigger:hover::after,
.cv-mega-link-direct:hover::after,
.cv-mega-item:hover .cv-mega-trigger::after,
.cv-mega-item.is-open .cv-mega-trigger::after {
  transform: scaleX(1);
}
.cv-mega-chevron {
  width: 11px;
  height: 11px;
  transition: transform .25s ease;
  margin-top: 1px;
}
.cv-mega-item:hover .cv-mega-chevron,
.cv-mega-item.is-open .cv-mega-chevron {
  transform: rotate(180deg);
}

/* ── Panel mega menu ──────────────────────────────────────── */
.cv-mega-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  min-width: 720px;
  max-width: 1100px;
  width: max-content;
  background: linear-gradient(180deg, #0F1428 0%, #0A0F1C 100%);
  border: 1px solid var(--line-2);
  border-radius: 18px;
  box-shadow:
    0 30px 80px rgba(0,0,0,.6),
    0 8px 24px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.06);
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s var(--ease-out, ease-out), visibility 0s linear .22s;
  z-index: 110;
}
.cv-mega-item:hover .cv-mega-panel,
.cv-mega-item.is-open .cv-mega-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
  transition: opacity .22s ease, transform .22s var(--ease-out, ease-out), visibility 0s linear 0s;
}

/* Bridge invisible pour que la souris puisse traverser sans fermer */
.cv-mega-item::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 14px;
  background: transparent;
}

/* ── Inner du panel : feature card + grid ─────────────────── */
.cv-mega-panel-inner {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 20px;
  align-items: start;
}

/* v1.59.1 — Variante "2 cards features côte à côte"
   Auto-activée par le walker mega-menu quand 2+ items is-feature détectés.
   Layout : 2 cards features carrées (colonne gauche) + grille 2 cols (droite). */
.cv-mega-panel-inner.cv-mega-panel-inner2 {
  grid-template-columns: auto 1fr;
  gap: 24px;
}
.cv-mega-feature-col-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: stretch;
  width: 480px;
  max-width: 100%;
}
.cv-mega-feature-col-2 > .cv-mega-feature {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 220px;
  padding: 18px;
}
.cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-img {
  margin-bottom: auto;
  margin-left: 0;
  width: 72px;
  height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(124,58,237,.12);
  border: 1px solid rgba(124,58,237,.28);
}
.cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-emoji-svg {
  width: 36px;
  height: 36px;
  color: var(--violet, #a78bfa);
}
.cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-body {
  margin-top: 14px;
}
.cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-title {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
}
.cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-text {
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.62);
}

/* Grille de liens variante 2 (2 colonnes au lieu de 3, plus aérée). */
.cv-mega-grid.cv-mega-grid2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 18px;
  align-self: start;
}

/* ── Feature card (gauche) ────────────────────────────────── */
.cv-mega-feature {
  display: block;
  padding: 22px 20px;
  background:
    linear-gradient(180deg, rgba(124,58,237,.18) 0%, rgba(124,58,237,.06) 100%);
  border: 1px solid rgba(124,58,237,.32);
  border-radius: 14px;
  text-decoration: none !important;
  color: inherit !important;
  position: relative;
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.cv-mega-feature::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(159,103,255,.18), transparent 60%);
  pointer-events: none;
}
.cv-mega-feature:hover {
  transform: translateY(-1px);
  border-color: rgba(124,58,237,.55);
  background: linear-gradient(180deg, rgba(124,58,237,.24) 0%, rgba(124,58,237,.08) 100%);
}
.cv-mega-feature-img {
  width: 100%;
  height: 110px;
  background:
    radial-gradient(circle at 50% 50%, rgba(124,58,237,.32), transparent 70%),
    linear-gradient(135deg, rgba(0,0,0,.4), rgba(0,0,0,.2));
  border: 1px solid rgba(124,58,237,.25);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}
.cv-mega-feature-emoji {
  font-size: 48px;
  filter: drop-shadow(0 4px 12px rgba(124,58,237,.5));
  line-height: 1;
}
.cv-mega-feature-title {
  font-size: 15.5px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
  position: relative;
  z-index: 1;
}
.cv-mega-feature-text {
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(255,255,255,.65);
  position: relative;
  z-index: 1;
}

/* ── Grid liens (droite) ──────────────────────────────────── */
.cv-mega-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.cv-mega-link {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  text-decoration: none !important;
  color: inherit !important;
  transition: background .2s ease;
}
.cv-mega-link:hover {
  background: rgba(255,255,255,.05);
}
.cv-mega-link-ic {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  background: rgba(109,213,237,.12);
  border: 1px solid rgba(109,213,237,.25);
  border-radius: 8px;
  color: var(--cyan);
  transition: background .22s ease, border-color .22s ease, transform .22s ease;
}
.cv-mega-link:hover .cv-mega-link-ic {
  background: rgba(109,213,237,.2);
  border-color: rgba(109,213,237,.4);
  transform: scale(1.05);
}
/* v1.60.76 — Variante feature (Solo, Pro) drawer mobile.
   Reprend EXACTEMENT la colorimétrie de .cv-mega-feature (grosse card desktop)
   mais adaptée au format ligne :
     - Ligne = dégradé violet translucide → moins translucide (180deg)
     - Bordure violet semi-opaque
     - Pseudo-élément ::before = gradient radial violet en haut-centre
     - Icône .cv-mega-link-ic = gradient radial violet + linear noir (gradient
       violet → noir comme demandé), bordure violet pâle, SVG blanc
   Le desktop continue d'utiliser .cv-mega-feature (grosse card verticale). */
.cv-mega-link--feature {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(124,58,237,.32);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(124,58,237,.18) 0%, rgba(124,58,237,.06) 100%);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.cv-mega-link--feature::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(159,103,255,.18), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.cv-mega-link--feature:hover {
  transform: translateY(-1px);
  border-color: rgba(124,58,237,.55);
  background: linear-gradient(180deg, rgba(124,58,237,.24) 0%, rgba(124,58,237,.08) 100%);
}
.cv-mega-link--feature > * {
  position: relative;
  z-index: 1;
}
.cv-mega-link--feature .cv-mega-link-ic {
  background:
    radial-gradient(circle at 50% 50%, rgba(124,58,237,.32), transparent 70%),
    linear-gradient(135deg, rgba(0,0,0,.4), rgba(0,0,0,.2));
  border: 1px solid rgba(124,58,237,.45);
  color: #fff;
}
.cv-mega-link--feature .cv-mega-link-ic svg {
  color: #fff;
  stroke: #fff;
  filter: drop-shadow(0 2px 6px rgba(124,58,237,.5));
}
.cv-mega-link--feature:hover .cv-mega-link-ic {
  border-color: rgba(124,58,237,.7);
  transform: none;
}
.cv-mega-link--feature .cv-mega-link-title {
  color: #fff;
  font-weight: 600;
}
.cv-mega-link--feature .cv-mega-link-text {
  color: rgba(255,255,255,.65);
}
/* Mode clair : ajustement contraste sur fond crème
   (le violet translucide reste lisible mais on densifie un peu) */
html[data-theme="light"] .cv-mega-link--feature {
  border-color: transparent;
  background: linear-gradient(135deg, #8a46f5 0%, #6d2ce4 100%);
  box-shadow: 0 8px 22px rgba(109,44,228,.32);
}
html[data-theme="light"] .cv-mega-link--feature:hover {
  border-color: transparent;
  background: linear-gradient(135deg, #7c39ef 0%, #5f22d6 100%);
  box-shadow: 0 10px 26px rgba(109,44,228,.42);
}
html[data-theme="light"] .cv-mega-link--feature .cv-mega-link-ic {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.30);
  color: #fff;
}
html[data-theme="light"] .cv-mega-link--feature .cv-mega-link-ic svg {
  color: #fff;
  stroke: #fff;
}
html[data-theme="light"] .cv-mega-link--feature .cv-mega-link-title {
  color: #fff;
  text-shadow: none;
}
html[data-theme="light"] .cv-mega-link--feature .cv-mega-link-text {
  color: rgba(255,255,255,.85);
  text-shadow: none;
}
/* v1.60.77 — Espacement entre 2 features consécutives (Solo + Pro) dans le
   drawer mobile. Empêche les cards de se coller. */
.cv-mega-link--feature + .cv-mega-link--feature {
  margin-top: 10px;
}
/* Espacement entre la dernière feature et le premier link normal qui suit */
.cv-mega-link--feature + .cv-mega-link:not(.cv-mega-link--feature) {
  margin-top: 14px;
}
.cv-mega-link-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cv-mega-link-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -.005em;
  line-height: 1.3;
}
.cv-mega-link-text {
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255,255,255,.55);
}

/* ── Backdrop ─────────────────────────────────────────────── */
.cv-mega-backdrop {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.4);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility 0s linear .22s;
  z-index: 99;
  backdrop-filter: blur(2px);
}
.cv-nav.is-mega-open .cv-mega-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .22s ease, visibility 0s linear 0s;
}

/* ── CTAs droite ──────────────────────────────────────────── */
.cv-nav-cta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cv-nav-cta .theme-toggle {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* v1.60.30 — Aligné sur .cv-nav-account (background + color + radius) pour uniformité visuelle des deux ronds toggles. */
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--fg);
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}
.cv-nav-cta .theme-toggle:hover {
  background: rgba(255,255,255,.08);
  border-color: var(--gold-line);
  color: #fff;
  transform: translateY(-1px);
}
.cv-nav-cta .theme-toggle svg { width: 16px; height: 16px; }
.cv-nav-cta .i-moon { display: none; }
html[data-theme="light"] .cv-nav-cta .i-sun { display: none; }
html[data-theme="light"] .cv-nav-cta .i-moon { display: block; }

.cv-nav-cta .btn {
  --h: 40px;
  height: var(--h);
  padding: 0 18px;
  font-size: 13.5px;
  font-weight: 600;
}
.cv-nav-cta .btn svg { width: 14px; height: 14px; }

/* ── Burger (mobile) ──────────────────────────────────────── */
.cv-nav-burger {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
}
.cv-nav-burger svg { width: 20px; height: 20px; }

/* ── Drawer mobile ────────────────────────────────────────── */
.cv-nav-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: min(85vw, 360px);
  height: 100vh;
  background: linear-gradient(180deg, #0F1428 0%, #0A0F1C 100%);
  border-left: 1px solid var(--line-2);
  box-shadow: -20px 0 60px rgba(0,0,0,.5);
  z-index: 200;
  overflow-y: auto;
  transition: right .3s var(--ease-out, ease-out);
}
.cv-nav-drawer.is-open { right: 0; }
.cv-nav-drawer-inner {
  padding: 80px 24px 32px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cv-nav-drawer-link {
  display: block;
  padding: 14px 16px;
  color: rgba(255,255,255,.85) !important;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none !important;
  border-radius: 8px;
  transition: background .2s, color .2s;
}
.cv-nav-drawer-link:hover {
  background: rgba(255,255,255,.04);
  color: #fff !important;
}
.cv-nav-drawer-cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.cv-nav-drawer-cta .btn { width: 100%; justify-content: center; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1100px) {
  .cv-mega-nav { display: none; }
  .cv-nav-burger { display: inline-flex; }
  .cv-nav-cta .cv-nav-btn-demo { display: none; }
  .cv-nav-cta .cv-nav-btn-cta { display: none; }
  .cv-nav-inner { padding: 12px 20px; gap: 16px; }
}
@media (max-width: 540px) {
  .cv-nav-cta .theme-toggle { display: none; }
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.87 — Sous-pages Intégrations · constructeurs / lms / forms / cal / auto
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Pleine largeur sur sous-pages ────────────────────────── */
.cv-sub-integration {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.cv-sub-integration > .alignfull,
.cv-sub-integration .alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
.cv-sub-integration .alignfull > .wrap,
.cv-sub-integration .alignfull .wrap {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(20px, 4vw, 40px) !important;
  padding-right: clamp(20px, 4vw, 40px) !important;
  width: 100%;
}

/* ── Hero sous-page ───────────────────────────────────────── */
.cv-sub-integration .sub-hero {
  position: relative; isolation: isolate;
  padding-block: clamp(80px, 10vw, 140px) clamp(60px, 8vw, 110px) !important;
}
.cv-sub-integration .sub-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
}
.cv-sub-integration .sub-hero--violet::before {
  background:
    radial-gradient(ellipse at 30% 0%, rgba(124,58,237,.22) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(159,103,255,.12) 0%, transparent 50%);
}
.cv-sub-integration .sub-hero--cyan::before {
  background:
    radial-gradient(ellipse at 70% 0%, rgba(109,213,237,.2) 0%, transparent 55%),
    radial-gradient(ellipse at 20% 100%, rgba(168,230,245,.12) 0%, transparent 50%);
}
.cv-sub-integration .sub-hero--amber::before {
  background:
    radial-gradient(ellipse at 30% 0%, rgba(232,201,124,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 90% 80%, rgba(124,58,237,.1) 0%, transparent 50%);
}
.cv-sub-integration .sub-hero--gold::before {
  background:
    radial-gradient(ellipse at 80% 0%, rgba(201,162,75,.22) 0%, transparent 55%),
    radial-gradient(ellipse at 15% 100%, rgba(232,201,124,.12) 0%, transparent 50%);
}
.cv-sub-integration .sub-hero--magenta::before {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(216,76,189,.18) 0%, transparent 60%),
    radial-gradient(ellipse at 0% 70%, rgba(124,58,237,.12) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 70%, rgba(109,213,237,.1) 0%, transparent 50%);
}

.cv-sub-integration .sub-breadcrumb {
  font-size: 13px !important;
  color: rgba(255,255,255,.5) !important;
  margin: 0 0 18px !important;
  letter-spacing: .01em;
}
.cv-sub-integration .sub-breadcrumb a {
  color: var(--cyan) !important;
  text-decoration: none !important;
  transition: color .2s;
}
.cv-sub-integration .sub-breadcrumb a:hover {
  color: var(--cyan-2) !important;
  text-decoration: underline !important;
}
.cv-sub-integration .sub-hero-title {
  font-size: clamp(46px, 7vw, 92px) !important;
  letter-spacing: -.028em !important;
  line-height: 1.02 !important;
  margin: 0 0 24px !important;
}

/* ── Use cases ────────────────────────────────────────────── */
.cv-sub-integration .sub-uc-sec {
  position: relative; isolation: isolate;
  padding-block: clamp(70px, 9vw, 120px) !important;
}
.cv-sub-integration .sub-uc-sec::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.03), transparent 60%);
}
.cv-sub-integration .sub-uc-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 18px !important;
  margin-top: 56px !important;
}
.cv-sub-integration .sub-uc {
  flex: 1 1 320px !important;
  padding: 28px 26px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.cv-sub-integration .sub-uc::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--violet), var(--cyan));
  opacity: .5;
}
.cv-sub-integration .sub-uc:hover {
  transform: translateY(-2px);
  border-color: var(--violet-2) !important;
  background: rgba(255,255,255,.05) !important;
}
.cv-sub-integration .sub-uc-num {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gold-2) !important;
  margin: 0 0 14px !important;
  letter-spacing: .04em;
}
.cv-sub-integration .sub-uc-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -.018em;
  color: #fff !important;
  margin: 0 0 12px !important;
  line-height: 1.25;
}
.cv-sub-integration .sub-uc-text {
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--fg-mute) !important;
  margin: 0 !important;
}

/* ── Tools (compatibilité grid) ───────────────────────────── */
.cv-sub-integration .sub-tools {
  position: relative; isolation: isolate;
  padding-block: clamp(70px, 9vw, 130px) !important;
}
.cv-sub-integration .sub-tools::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 0% 50%, rgba(124,58,237,.08), transparent 50%),
    radial-gradient(ellipse at 100% 50%, rgba(109,213,237,.06), transparent 50%);
}
.cv-sub-integration .sub-tools-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 56px !important;
}
@media (max-width: 900px) {
  .cv-sub-integration .sub-tools-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
  .cv-sub-integration .sub-tools-grid { grid-template-columns: 1fr !important; }
}
.cv-sub-integration .sub-tool {
  padding: 20px 18px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 14px;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.cv-sub-integration .sub-tool:hover {
  transform: translateY(-2px);
  border-color: var(--violet-2) !important;
  background: rgba(255,255,255,.05) !important;
}
.cv-sub-integration .sub-tool-head {
  display: flex !important;
  align-items: center;
  gap: 12px !important;
  margin: 0 0 10px !important;
}
.cv-sub-integration .sub-tool-emoji {
  font-size: 24px !important;
  line-height: 1 !important;
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--line);
  border-radius: 10px;
  margin: 0 !important;
  flex-shrink: 0;
}
.cv-sub-integration .sub-tool-name {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  flex: 1;
  letter-spacing: -.005em;
}
.cv-sub-integration .sub-tool-status {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 3px 9px !important;
  border-radius: 999px;
  margin: 0 !important;
  flex-shrink: 0;
}
.cv-sub-integration .sub-tool-status--is-native {
  background: rgba(76,217,123,.14) !important;
  color: #4cd97b !important;
  border: 1px solid rgba(76,217,123,.32);
}
.cv-sub-integration .sub-tool-status--is-iframe {
  background: rgba(232,201,124,.14) !important;
  color: var(--gold-2) !important;
  border: 1px solid var(--gold-line);
}
.cv-sub-integration .sub-tool-status--is-hook {
  background: rgba(109,213,237,.14) !important;
  color: #6dd5ed !important;
  border: 1px solid rgba(109,213,237,.32);
}
.cv-sub-integration .sub-tool-desc {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--fg-mute) !important;
  margin: 0 !important;
}

/* ── FAQ ──────────────────────────────────────────────────── */
.cv-sub-integration .sub-faq {
  position: relative; isolation: isolate;
  padding-block: clamp(70px, 9vw, 130px) !important;
}
.cv-sub-integration .sub-faq::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 100%, rgba(255,255,255,.03), transparent 60%);
}
.cv-sub-integration .sub-faq-list {
  max-width: 820px;
  margin: 56px auto 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.cv-sub-integration .sub-faq-item {
  padding: 22px 24px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 14px;
}
.cv-sub-integration .sub-faq-q {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: -.012em;
  line-height: 1.35;
  margin: 0 0 10px !important;
}
.cv-sub-integration .sub-faq-a {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: var(--fg-mute) !important;
  margin: 0 !important;
}

/* ── Final CTA sous-pages ─────────────────────────────────── */
.cv-sub-integration .sub-final {
  position: relative; isolation: isolate;
  padding-block: clamp(80px, 10vw, 150px) !important;
}
.cv-sub-integration .sub-final::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 100%, rgba(201,162,75,.16), transparent 70%);
}

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 767px) {
  .cv-sub-integration .sub-hero-title { font-size: clamp(34px, 8vw, 52px) !important; }
  .cv-sub-integration .sub-uc { padding: 24px 22px !important; }
  .cv-sub-integration .sub-uc-title { font-size: 18px !important; }
  .cv-sub-integration .sub-tool { padding: 18px 16px !important; }
  .cv-sub-integration .sub-faq-item { padding: 20px !important; }
  .cv-sub-integration .sub-faq-q { font-size: 15.5px !important; }
}

/* Aucun <p> vide ne doit s'afficher */
.cv-sub-integration p:empty { display: none !important; }

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.88 — Fix bug margin-top:24px + styles SVG icons
 * ════════════════════════════════════════════════════════════════════════════
 *  • FIX DÉFINITIF du block-gap WP qui crée une ligne noire entre sections
 *    (cause : is-layout-constrained > * + * { margin-block-start: 24px })
 *  • Reset margin-block: 0 sur toutes les sections alignfull
 *  • Styles complets pour les SVG <use> remplaçant les emojis
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── FIX UNIVERSEL block-gap entre sections ──────────────── */
/* Toutes les sections enfants directes de .cv-page (et de main) doivent
 * coller entre elles — pas de margin-block-start résiduelle. */
.cv-page > .alignfull,
.cv-page > section,
.cv-page > .wp-block-group,
main.cv-page > .alignfull,
main.cv-page > section,
main.cv-page > .wp-block-group,
main > .alignfull,
.cv-integrations > *,
.cv-sub-integration > *,
.cv-homepage > *,
.cv-avatar-page > *,
.cv-page-partenaires > *,
.cv-page > .is-layout-flow > * + *,
.cv-page > .is-layout-constrained > * + * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Le main lui-même ne doit pas hériter d'un block-gap qui crée des "ghosts" */
main.cv-page,
.cv-page {
  --wp--style--block-gap: 0 !important;
}

/* ── Styles SVG génériques ────────────────────────────────── */
/* Les SVG inline avec <use href="#cv-icon-X"> doivent recevoir currentColor */
.cv-icon-svg,
.integ-logo-svg,
.sub-tool-emoji-svg,
.integ-missing-ic-svg,
.im-sb-ic-svg,
.im-step-row-ic-svg,
.im-form-file-ic-svg,
.im-flow-node-ic-svg,
.cv-mega-feature-emoji-svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cv-icon-svg svg,
.integ-logo-svg svg,
.sub-tool-emoji-svg svg,
.integ-missing-ic-svg svg,
.im-sb-ic-svg svg,
.im-step-row-ic-svg svg,
.im-form-file-ic-svg svg,
.im-flow-node-ic-svg svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ── Logo SVG dans cards intégrations (grille 3 cols) ──────── */
.cv-integrations .integ-logo-svg {
  width: 44px !important;
  height: 44px !important;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--violet-2);
  padding: 8px;
  margin: 0 !important;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.4));
  transition: color .22s ease, background .22s ease, transform .22s ease;
}
.cv-integrations .integ-card:hover .integ-logo-svg {
  color: var(--cyan);
  background: rgba(255,255,255,.1);
  transform: scale(1.05);
}
.cv-integrations .integ-cat--cyan .integ-logo-svg { color: var(--cyan); }
.cv-integrations .integ-cat--amber .integ-logo-svg { color: var(--gold-2); }
.cv-integrations .integ-cat--gold .integ-logo-svg { color: var(--gold-2); }
.cv-integrations .integ-cat--magenta .integ-logo-svg { color: #f594d6; }

/* ── SVG icônes mockup builder ────────────────────────────── */
.cv-integrations .im-sb-ic-svg {
  width: 22px !important;
  height: 22px !important;
  color: rgba(255,255,255,.55);
  margin: 0 !important;
}
.cv-integrations .im-sb-ic-svg svg { width: 16px; height: 16px; }
.cv-integrations .im-sb-block--active .im-sb-ic-svg { color: var(--violet-2); }

/* ── SVG icônes mockup LMS / Form / Flow ──────────────────── */
.cv-integrations .im-step-row-ic-svg {
  width: 36px !important;
  height: 36px !important;
  background: rgba(109,213,237,.12);
  border-radius: 8px;
  color: var(--cyan);
  padding: 8px;
  margin: 0 !important;
}
.cv-integrations .im-form-file-ic-svg {
  width: 22px !important;
  height: 22px !important;
  color: var(--violet-2);
  padding: 0;
  margin: 0 !important;
}
.cv-integrations .im-flow-node-ic-svg {
  width: 40px !important;
  height: 40px !important;
  border-radius: 9px;
  padding: 8px;
  margin: 0 !important;
}
.cv-integrations .im-flow-node--cv .im-flow-node-ic-svg {
  background: linear-gradient(135deg, var(--violet) 0%, var(--violet-2) 100%);
  color: #fff;
  box-shadow: 0 6px 16px rgba(124,58,237,.4);
}
.cv-integrations .im-flow-node--n8n .im-flow-node-ic-svg {
  background: rgba(109,213,237,.14);
  color: var(--cyan);
  border: 1px solid rgba(109,213,237,.3);
}
.cv-integrations .im-flow-node--crm .im-flow-node-ic-svg {
  background: var(--gold-soft);
  color: var(--gold-2);
  border: 1px solid var(--gold-line);
}

/* ── Missing cards (iframe / webhooks / API) ──────────────── */
.cv-integrations .integ-missing-ic-svg {
  width: 56px !important;
  height: 56px !important;
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  border-radius: 14px;
  color: var(--gold-2);
  padding: 13px;
  margin: 0 0 14px !important;
}

/* ── Sous-pages : sub-tool emoji-svg (cards outils 3 cols) ─ */
.cv-sub-integration .sub-tool-emoji-svg {
  width: 40px !important;
  height: 40px !important;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px;
  margin: 0 !important;
  flex-shrink: 0;
  color: var(--violet-2);
  transition: color .22s ease, background .22s ease;
}
.cv-sub-integration .sub-tool:hover .sub-tool-emoji-svg {
  color: var(--cyan);
  background: rgba(255,255,255,.08);
}
.cv-sub-integration--lms .sub-tool-emoji-svg { color: var(--cyan); }
.cv-sub-integration--forms .sub-tool-emoji-svg { color: var(--gold-2); }
.cv-sub-integration--cal .sub-tool-emoji-svg { color: var(--gold-2); }
.cv-sub-integration--auto .sub-tool-emoji-svg { color: #f594d6; }

/* ── Header mega menu : feature emoji SVG (gauche) ────────── */
.cv-mega-feature-emoji-svg {
  width: 56px;
  height: 56px;
  color: var(--violet-2);
  filter: drop-shadow(0 4px 12px rgba(124,58,237,.4));
}

/* ── Header mega menu : link icon SVG ─────────────────────── */
.cv-mega-link-ic svg {
  width: 18px;
  height: 18px;
  color: var(--cyan);
}

/* ── Aucun <p> vide ────────────────────────────────────────── */
.cv-integrations p:empty,
.cv-sub-integration p:empty,
.cv-page p:empty { display: none !important; }

/* ── Sprite SVG : caché mais accessible aux <use> ─────────── */
body > svg[aria-hidden="true"]:first-of-type,
body > svg[style*="display:none"] {
  display: none !important;
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.89 — Fix MANQUANT : margin-top:24px du <main> lui-même
 * ════════════════════════════════════════════════════════════════════════════
 *  Le fix v1.14.88 ciblait les enfants du main mais pas le main lui-même.
 *  Or le bug réel : .wp-site-blocks > * + * { margin-block-start: 24px }
 *  s'applique au <main>, créant un gap de 24px entre le header (template-part)
 *  et le main (qui contient les sections).
 *  Diagnostic console : main.cv-page.margin-top = 24px (cause confirmée).
 * ════════════════════════════════════════════════════════════════════════════ */

/* Reset du block-gap au niveau racine wp-site-blocks (header, main, footer) */
.wp-site-blocks > main,
.wp-site-blocks > main.wp-block-group,
.wp-site-blocks > div.wp-block-template-part,
.wp-site-blocks > * + * {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Et plus généralement, forcer le block-gap à 0 sur le wrapper site-blocks */
.wp-site-blocks {
  --wp--style--block-gap: 0 !important;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.89 — Mode LIGHT pour pages intégrations + sous-pages
 * ════════════════════════════════════════════════════════════════════════════
 *  Remplace toutes les couleurs blanches/translucides par des sombres
 *  quand html[data-theme="light"] est actif. Cible :
 *  - Eyebrows, labels, names, descriptions
 *  - Stat cards
 *  - Cards logos
 *  - Mockups (toolbar, sidebar, blocs preview, step cards, calendrier, flow)
 *  - Cards FAQ, use cases, missing
 *  - Header mega menu light
 * ════════════════════════════════════════════════════════════════════════════ */

html[data-theme="light"] {
  /* ── Tokens light ─────────────────────────────────────── */
  --cv-light-fg: #0A0F1C;            /* texte principal */
  --cv-light-fg-mute: #4B5563;       /* gris 600 */
  --cv-light-fg-dim: #6B7280;        /* gris 500 */
  --cv-light-line: rgba(10,15,28,.08);
  --cv-light-line-2: rgba(10,15,28,.16);
  --cv-light-card: #FFFFFF;
  --cv-light-card-soft: #F8F9FB;
  --cv-light-accent-violet: #6D2CE4;
  --cv-light-accent-cyan: #0E8FAC;
  --cv-light-accent-gold: #8E6B2B;
}

/* ══════════════════════════════════════════════════════════════
 *  PAGE INTÉGRATIONS — light overrides
 * ══════════════════════════════════════════════════════════════ */

html[data-theme="light"] .cv-integrations,
html[data-theme="light"] .cv-sub-integration {
  background: #FAFAF7;
}

/* Eyebrow chip — texte plus visible en light */
html[data-theme="light"] .cv-integrations .eyebrow,
html[data-theme="light"] .cv-sub-integration .eyebrow {
  color: var(--cv-light-accent-cyan) !important;
  background: rgba(14,143,172,.08);
  border-color: rgba(14,143,172,.25);
}
html[data-theme="light"] .cv-integrations .eyebrow .dot,
html[data-theme="light"] .cv-sub-integration .eyebrow .dot {
  background: var(--cv-light-accent-cyan);
}

/* Section titles + ledes */
html[data-theme="light"] .cv-integrations .section-title,
html[data-theme="light"] .cv-integrations .integ-cat-title,
html[data-theme="light"] .cv-integrations .integ-hero-title,
html[data-theme="light"] .cv-sub-integration .section-title,
html[data-theme="light"] .cv-sub-integration .sub-hero-title {
  color: var(--cv-light-fg) !important;
}
html[data-theme="light"] .cv-integrations .section-lede,
html[data-theme="light"] .cv-integrations .integ-cat-lede,
html[data-theme="light"] .cv-sub-integration .section-lede {
  color: var(--cv-light-fg-mute) !important;
}
html[data-theme="light"] .cv-integrations .integ-cat-lede strong,
html[data-theme="light"] .cv-sub-integration .section-lede strong {
  color: var(--cv-light-fg) !important;
}

/* Breadcrumb sous-pages */
html[data-theme="light"] .cv-sub-integration .sub-breadcrumb {
  color: var(--cv-light-fg-dim) !important;
}
html[data-theme="light"] .cv-sub-integration .sub-breadcrumb a {
  color: var(--cv-light-accent-cyan) !important;
}

/* ── HERO STATS (light) ────────────────────────────────── */
html[data-theme="light"] .cv-integrations .integ-stats > .integ-stat {
  background: linear-gradient(180deg, rgba(232,201,124,.18) 0%, rgba(255,255,255,.6) 100%);
  border-color: rgba(201,162,75,.45);
  box-shadow:
    0 8px 22px rgba(142,107,43,.08),
    inset 0 1px 0 rgba(255,255,255,.6);
}
html[data-theme="light"] .cv-integrations .integ-stat-label {
  color: var(--cv-light-accent-gold) !important;
}

/* ── Cards LOGOS — fond blanc, texte sombre ────────────── */
html[data-theme="light"] .cv-integrations .integ-grid--3 > .integ-card {
  background: var(--cv-light-card) !important;
  border-color: var(--cv-light-line-2) !important;
  box-shadow: 0 1px 2px rgba(10,15,28,.04);
}
html[data-theme="light"] .cv-integrations .integ-grid--3 > .integ-card:hover {
  background: var(--cv-light-card-soft) !important;
  border-color: var(--cv-light-accent-violet) !important;
  box-shadow: 0 8px 22px rgba(109,44,228,.15);
}
html[data-theme="light"] .cv-integrations .integ-name {
  color: var(--cv-light-fg) !important;
}
html[data-theme="light"] .cv-integrations .integ-logo-svg {
  background: rgba(109,44,228,.06);
  border-color: rgba(109,44,228,.2);
  color: var(--cv-light-accent-violet);
  filter: drop-shadow(0 1px 2px rgba(10,15,28,.06));
}
html[data-theme="light"] .cv-integrations .integ-cat--cyan .integ-logo-svg { color: var(--cv-light-accent-cyan); background: rgba(14,143,172,.06); border-color: rgba(14,143,172,.2); }
html[data-theme="light"] .cv-integrations .integ-cat--amber .integ-logo-svg,
html[data-theme="light"] .cv-integrations .integ-cat--gold .integ-logo-svg { color: var(--cv-light-accent-gold); background: rgba(142,107,43,.08); border-color: rgba(142,107,43,.22); }
html[data-theme="light"] .cv-integrations .integ-cat--magenta .integ-logo-svg { color: #a93286; background: rgba(169,50,134,.06); border-color: rgba(169,50,134,.2); }

/* ══════════════════════════════════════════════════════════════
 *  MOCKUPS en light (fond clair, contrastes inversés)
 * ══════════════════════════════════════════════════════════════ */
html[data-theme="light"] .cv-integrations .integ-mockup {
  background: linear-gradient(160deg, #FFFFFF 0%, #F4F6FA 100%);
  border-color: var(--cv-light-line-2);
  box-shadow:
    0 24px 50px rgba(10,15,28,.1),
    0 6px 14px rgba(10,15,28,.06),
    inset 0 1px 0 rgba(255,255,255,.6);
}
html[data-theme="light"] .cv-integrations .integ-mockup::before {
  background:
    radial-gradient(circle at 18% 0%, rgba(109,44,228,.08), transparent 55%),
    radial-gradient(circle at 100% 100%, rgba(14,143,172,.06), transparent 60%);
}

/* ── Mockup builder (light) ─────────────────────────────── */
html[data-theme="light"] .cv-integrations .im-toolbar {
  background: rgba(245,247,251,.9);
  border-bottom-color: var(--cv-light-line);
}
html[data-theme="light"] .cv-integrations .im-tb-title { color: var(--cv-light-fg-dim) !important; }
html[data-theme="light"] .cv-integrations .im-sidebar {
  background: var(--cv-light-card-soft) !important;
  border-right-color: var(--cv-light-line);
}
html[data-theme="light"] .cv-integrations .im-sb-search {
  background: #fff !important;
  border-color: var(--cv-light-line) !important;
  color: var(--cv-light-fg-dim) !important;
}
html[data-theme="light"] .cv-integrations .im-sb-cat { color: var(--cv-light-accent-gold) !important; }
html[data-theme="light"] .cv-integrations .im-sb-name { color: var(--cv-light-fg-mute) !important; }
html[data-theme="light"] .cv-integrations .im-sb-ic-svg { color: var(--cv-light-fg-dim) !important; }
html[data-theme="light"] .cv-integrations .im-sb-block--active {
  background: rgba(109,44,228,.1) !important;
  box-shadow: inset 0 0 0 1px rgba(109,44,228,.4) !important;
}
html[data-theme="light"] .cv-integrations .im-sb-block--active .im-sb-name { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-integrations .im-sb-block--active .im-sb-ic-svg { color: var(--cv-light-accent-violet) !important; }
html[data-theme="light"] .cv-integrations .im-page {
  background: rgba(10,15,28,.04) !important;
}
html[data-theme="light"] .cv-integrations .im-block-selected {
  background: #fff !important;
  border-color: var(--cv-light-accent-violet) !important;
  box-shadow: 0 8px 22px rgba(109,44,228,.15) !important;
}
html[data-theme="light"] .cv-integrations .im-bp-label { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-integrations .im-bp-row--small,
html[data-theme="light"] .cv-integrations .im-bp-row--small p { color: var(--cv-light-fg-dim) !important; }
html[data-theme="light"] .cv-integrations .im-bp-bar { background: rgba(10,15,28,.08) !important; }

/* ── Mockup étape cards (LMS / Form / Cal) en light ────── */
html[data-theme="light"] .cv-integrations .im-step-card {
  background: #fff !important;
  border-color: var(--cv-light-line-2) !important;
}
html[data-theme="light"] .cv-integrations .im-step-head {
  background: var(--cv-light-card-soft) !important;
  border-bottom-color: var(--cv-light-line) !important;
}
html[data-theme="light"] .cv-integrations .im-step-title { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-integrations .im-step-pill--lock {
  background: rgba(10,15,28,.06) !important;
  color: var(--cv-light-fg-dim) !important;
  border-color: var(--cv-light-line-2) !important;
}
html[data-theme="light"] .cv-integrations .im-step-row {
  background: var(--cv-light-card-soft) !important;
  border-color: var(--cv-light-line) !important;
}
html[data-theme="light"] .cv-integrations .im-step-row-ic-svg {
  background: rgba(14,143,172,.08) !important;
  color: var(--cv-light-accent-cyan) !important;
}
html[data-theme="light"] .cv-integrations .im-step-row-title { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-integrations .im-step-row-meta { color: var(--cv-light-fg-dim) !important; }
html[data-theme="light"] .cv-integrations .im-step-row-status--ok {
  background: rgba(31,148,75,.1) !important;
  color: #1f944b !important;
  border-color: rgba(31,148,75,.3) !important;
}
html[data-theme="light"] .cv-integrations .im-step-flow-from { color: var(--cv-light-accent-cyan) !important; }
html[data-theme="light"] .cv-integrations .im-step-flow-arrow { color: var(--cv-light-fg-dim) !important; }
html[data-theme="light"] .cv-integrations .im-step-flow-to { color: var(--cv-light-accent-violet) !important; }
html[data-theme="light"] .cv-integrations .im-step-foot {
  background: rgba(31,148,75,.06) !important;
  border-color: rgba(31,148,75,.22) !important;
}
html[data-theme="light"] .cv-integrations .im-step-foot p { color: var(--cv-light-fg-mute) !important; }

/* ── Mockup form (light) ────────────────────────────────── */
html[data-theme="light"] .cv-integrations .im-form-label { color: var(--cv-light-fg-dim) !important; }
html[data-theme="light"] .cv-integrations .im-form-input {
  background: var(--cv-light-card-soft) !important;
  border-color: var(--cv-light-line) !important;
  color: var(--cv-light-fg) !important;
}
html[data-theme="light"] .cv-integrations .im-form-row--file .im-form-file {
  background: rgba(109,44,228,.06) !important;
  border-color: rgba(109,44,228,.32) !important;
}
html[data-theme="light"] .cv-integrations .im-form-file-name { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-integrations .im-form-file-ic-svg { color: var(--cv-light-accent-violet) !important; }

/* ── Mockup cal (light) ─────────────────────────────────── */
html[data-theme="light"] .cv-integrations .im-cal-day {
  background: var(--cv-light-card-soft) !important;
  border-color: var(--cv-light-line) !important;
}
html[data-theme="light"] .cv-integrations .im-cal-day-head {
  color: var(--cv-light-accent-cyan) !important;
  border-bottom-color: var(--cv-light-line) !important;
}
html[data-theme="light"] .cv-integrations .im-cal-slot {
  background: #fff !important;
  border-color: var(--cv-light-line) !important;
  color: var(--cv-light-fg-mute) !important;
}

/* ── Mockup auto / flow (light) ─────────────────────────── */
html[data-theme="light"] .cv-integrations .im-flow-node {
  background: #fff !important;
  border-color: var(--cv-light-line-2) !important;
}
html[data-theme="light"] .cv-integrations .im-flow-node-title { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-integrations .im-flow-node-meta { color: var(--cv-light-fg-dim) !important; }

/* ── Comment ça marche (light) ──────────────────────────── */
html[data-theme="light"] .cv-integrations .integ-step {
  background: #fff !important;
  border-color: var(--cv-light-line-2) !important;
  box-shadow: 0 1px 3px rgba(10,15,28,.04);
}
html[data-theme="light"] .cv-integrations .integ-step-num { color: var(--cv-light-accent-gold) !important; }
html[data-theme="light"] .cv-integrations .integ-step-title { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-integrations .integ-step-text { color: var(--cv-light-fg-mute) !important; }

/* ── Missing cards (light) ──────────────────────────────── */
html[data-theme="light"] .cv-integrations .integ-missing-card {
  background: #fff !important;
  border-color: rgba(142,107,43,.4) !important;
}
html[data-theme="light"] .cv-integrations .integ-missing-title { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-integrations .integ-missing-text { color: var(--cv-light-fg-mute) !important; }
html[data-theme="light"] .cv-integrations .integ-missing-ic-svg {
  background: rgba(232,201,124,.18) !important;
  border-color: rgba(142,107,43,.32) !important;
  color: var(--cv-light-accent-gold) !important;
}

/* ══════════════════════════════════════════════════════════════
 *  SOUS-PAGES en light
 * ══════════════════════════════════════════════════════════════ */
html[data-theme="light"] .cv-sub-integration .sub-uc {
  background: #fff !important;
  border-color: var(--cv-light-line-2) !important;
  box-shadow: 0 1px 3px rgba(10,15,28,.04);
}
html[data-theme="light"] .cv-sub-integration .sub-uc:hover {
  background: var(--cv-light-card-soft) !important;
  border-color: var(--cv-light-accent-violet) !important;
}
html[data-theme="light"] .cv-sub-integration .sub-uc-num { color: var(--cv-light-accent-gold) !important; }
html[data-theme="light"] .cv-sub-integration .sub-uc-title { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-sub-integration .sub-uc-text { color: var(--cv-light-fg-mute) !important; }

html[data-theme="light"] .cv-sub-integration .sub-tool {
  background: #fff !important;
  border-color: var(--cv-light-line-2) !important;
  box-shadow: 0 1px 3px rgba(10,15,28,.04);
}
html[data-theme="light"] .cv-sub-integration .sub-tool:hover {
  background: var(--cv-light-card-soft) !important;
  border-color: var(--cv-light-accent-violet) !important;
}
html[data-theme="light"] .cv-sub-integration .sub-tool-emoji-svg {
  background: rgba(109,44,228,.06) !important;
  border-color: rgba(109,44,228,.2) !important;
  color: var(--cv-light-accent-violet) !important;
}
html[data-theme="light"] .cv-sub-integration--lms .sub-tool-emoji-svg { color: var(--cv-light-accent-cyan) !important; background: rgba(14,143,172,.08) !important; border-color: rgba(14,143,172,.22) !important; }
html[data-theme="light"] .cv-sub-integration--forms .sub-tool-emoji-svg,
html[data-theme="light"] .cv-sub-integration--cal .sub-tool-emoji-svg { color: var(--cv-light-accent-gold) !important; background: rgba(142,107,43,.08) !important; border-color: rgba(142,107,43,.22) !important; }
html[data-theme="light"] .cv-sub-integration--auto .sub-tool-emoji-svg { color: #a93286 !important; background: rgba(169,50,134,.06) !important; border-color: rgba(169,50,134,.2) !important; }

html[data-theme="light"] .cv-sub-integration .sub-tool-name { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-sub-integration .sub-tool-desc { color: var(--cv-light-fg-mute) !important; }
html[data-theme="light"] .cv-sub-integration .sub-tool-status--is-native {
  background: rgba(31,148,75,.1) !important;
  color: #1f944b !important;
  border-color: rgba(31,148,75,.3) !important;
}
html[data-theme="light"] .cv-sub-integration .sub-tool-status--is-iframe {
  background: rgba(142,107,43,.1) !important;
  color: var(--cv-light-accent-gold) !important;
  border-color: rgba(142,107,43,.3) !important;
}

/* FAQ light */
html[data-theme="light"] .cv-sub-integration .sub-faq-item {
  background: #fff !important;
  border-color: var(--cv-light-line-2) !important;
  box-shadow: 0 1px 3px rgba(10,15,28,.04);
}
html[data-theme="light"] .cv-sub-integration .sub-faq-q { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-sub-integration .sub-faq-a { color: var(--cv-light-fg-mute) !important; }

/* ══════════════════════════════════════════════════════════════
 *  HEADER mega menu en light
 * ══════════════════════════════════════════════════════════════ */
html[data-theme="light"] .cv-nav {
  background: rgba(255,255,255,.85);
  border-bottom-color: var(--cv-light-line);
}
html[data-theme="light"] .cv-nav.is-scrolled {
  background: rgba(255,255,255,.97);
  border-bottom-color: var(--cv-light-line-2);
  box-shadow: 0 4px 20px rgba(10,15,28,.08);
}
html[data-theme="light"] .cv-logo { color: var(--cv-light-fg) !important; }
html[data-theme="light"] .cv-mega-trigger,
html[data-theme="light"] .cv-mega-link-direct {
  color: var(--cv-light-fg-mute) !important;
}
html[data-theme="light"] .cv-mega-trigger:hover,
html[data-theme="light"] .cv-mega-link-direct:hover,
html[data-theme="light"] .cv-mega-item:hover .cv-mega-trigger,
html[data-theme="light"] .cv-mega-item.is-open .cv-mega-trigger {
  color: var(--cv-light-fg) !important;
}
html[data-theme="light"] .cv-mega-trigger::after,
html[data-theme="light"] .cv-mega-link-direct::after {
  background: var(--cv-light-accent-cyan);
}
html[data-theme="light"] .cv-mega-panel {
  background: #fff;
  border-color: var(--cv-light-line-2);
  box-shadow:
    0 30px 80px rgba(10,15,28,.18),
    0 8px 24px rgba(10,15,28,.08),
    inset 0 1px 0 rgba(255,255,255,1);
}
html[data-theme="light"] .cv-mega-feature {
  background: linear-gradient(180deg, rgba(109,44,228,.1) 0%, rgba(109,44,228,.03) 100%);
  border-color: rgba(109,44,228,.32);
}
html[data-theme="light"] .cv-mega-feature:hover {
  background: linear-gradient(180deg, rgba(109,44,228,.16) 0%, rgba(109,44,228,.06) 100%);
  border-color: rgba(109,44,228,.5);
}
html[data-theme="light"] .cv-mega-feature-img {
  background:
    radial-gradient(circle at 50% 50%, rgba(109,44,228,.16), transparent 70%),
    rgba(255,255,255,.6);
  border-color: rgba(109,44,228,.2);
}
html[data-theme="light"] .cv-mega-feature-emoji-svg { color: var(--cv-light-accent-violet); }
html[data-theme="light"] .cv-mega-feature-title { color: var(--cv-light-fg); }
html[data-theme="light"] .cv-mega-feature-text { color: var(--cv-light-fg-mute); }
html[data-theme="light"] .cv-mega-link:hover {
  background: rgba(10,15,28,.04);
}
html[data-theme="light"] .cv-mega-link-ic {
  background: rgba(14,143,172,.08);
  border-color: rgba(14,143,172,.25);
  color: var(--cv-light-accent-cyan);
}
html[data-theme="light"] .cv-mega-link-ic svg { color: var(--cv-light-accent-cyan); }
html[data-theme="light"] .cv-mega-link-title { color: var(--cv-light-fg); }
html[data-theme="light"] .cv-mega-link-text { color: var(--cv-light-fg-mute); }
html[data-theme="light"] .cv-nav-cta .theme-toggle {
  border-color: var(--cv-light-line-2);
  color: var(--cv-light-fg-mute);
}
html[data-theme="light"] .cv-nav-cta .theme-toggle:hover {
  background: rgba(10,15,28,.04);
  border-color: var(--cv-light-line-2);
  color: var(--cv-light-fg);
}
html[data-theme="light"] .cv-nav-burger {
  border-color: var(--cv-light-line-2);
  color: var(--cv-light-fg);
}
html[data-theme="light"] .cv-nav-drawer {
  background: linear-gradient(180deg, #fff 0%, #F8F9FB 100%);
  border-left-color: var(--cv-light-line-2);
  box-shadow: -20px 0 60px rgba(10,15,28,.18);
}
html[data-theme="light"] .cv-nav-drawer-link { color: var(--cv-light-fg-mute) !important; }
html[data-theme="light"] .cv-nav-drawer-link:hover {
  background: rgba(10,15,28,.04);
  color: var(--cv-light-fg) !important;
}
html[data-theme="light"] .cv-nav-drawer-cta {
  border-top-color: var(--cv-light-line);
}

/* ══════════════════════════════════════════════════════════════
 *  Boutons CTA en light
 * ══════════════════════════════════════════════════════════════ */
html[data-theme="light"] .cv-integrations .wp-block-button.is-style-cv-ghost > .wp-block-button__link,
html[data-theme="light"] .cv-sub-integration .wp-block-button.is-style-cv-ghost > .wp-block-button__link {
  background: rgba(10,15,28,.04) !important;
  color: var(--cv-light-fg) !important;
  border-color: var(--cv-light-line-2) !important;
}
html[data-theme="light"] .cv-integrations .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover,
html[data-theme="light"] .cv-sub-integration .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover {
  background: rgba(10,15,28,.08) !important;
  border-color: rgba(10,15,28,.28) !important;
  color: var(--cv-light-fg) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.90 — Fix mega menu : centrage viewport + bridge hover anti-flicker
 * ════════════════════════════════════════════════════════════════════════════
 *  • Le panel était positionné par rapport au <li> trigger (étroit) : il
 *    sortait de l'écran à droite ou à gauche selon l'item hover.
 *  • Désormais : .cv-mega-item est position:static, le panel est
 *    position:absolute relatif au .cv-nav (sticky element = position context),
 *    centré via left:50% + translateX(-50%) → toujours centré sur la viewport.
 *  • Bridge entre trigger et panel élargi à toute la viewport pour que la
 *    souris puisse traverser sans déclencher mouseleave.
 * ════════════════════════════════════════════════════════════════════════════ */

/* Le sticky element devient le positioning context naturel pour le panel */
.cv-nav {
  /* position: sticky est déjà défini ; on confirme position-context */
}

/* IMPORTANT : on annule le position:relative implicite sur le <li> */
.cv-mega-item {
  position: static !important;
}

/* Panel centré sur la viewport (relatif au .cv-nav qui est full-width) */
.cv-mega-panel {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) translateY(-6px) !important;
  margin-top: 0 !important;
}
.cv-mega-item:hover .cv-mega-panel,
.cv-mega-item.is-open .cv-mega-panel {
  transform: translateX(-50%) translateY(0) !important;
}

/* Bridge robuste : couvre toute la viewport entre trigger et panel pour
 * que le hover ne se rompe pas quand la souris descend vers le panel. */
.cv-mega-item::before {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  height: 18px !important;
  background: transparent !important;
  pointer-events: none !important;
  z-index: 105;
}
.cv-mega-item:hover::before,
.cv-mega-item.is-open::before {
  pointer-events: auto !important;
}

/* Le panel doit lui-même garder le hover state actif (anti-flicker) */
.cv-mega-panel:hover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.91 — Hover mega menu : stable, sans clignotage, sans sous-brillance
 * ════════════════════════════════════════════════════════════════════════════
 *  • Retrait de l'underline cyan agressive sur les triggers
 *  • Le menu principal garde son look normal au hover (pas de "highlight")
 *  • Suppression de l'animation translateY au re-hover (anti-flicker)
 *  • Bridge plus large + persiste tant que :hover du li
 *  • Tout en CSS pur — JS ne fait plus que le click mobile (Échap, drawer)
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Triggers : look stable, sans sous-brillance ──────────── */
.cv-mega-trigger,
.cv-mega-link-direct {
  color: rgba(255,255,255,.88) !important;
  transition: color .12s ease !important;
}
.cv-mega-trigger:hover,
.cv-mega-link-direct:hover,
.cv-mega-item:hover .cv-mega-trigger {
  color: #fff !important;
  background: transparent !important;
}
/* Plus d'underline cyan animée — c'était la "sous-brillance" gênante */
.cv-mega-trigger::after,
.cv-mega-link-direct::after,
.cv-mega-trigger:hover::after,
.cv-mega-link-direct:hover::after,
.cv-mega-item:hover .cv-mega-trigger::after,
.cv-mega-item.is-open .cv-mega-trigger::after {
  display: none !important;
  content: none !important;
}
/* Petit indicateur seulement quand le menu EST ouvert (état actif) */
.cv-mega-item.is-open .cv-mega-trigger,
.cv-mega-item:hover .cv-mega-trigger {
  color: #fff !important;
}

/* ── Chevron : rotate stable, pas d'animation au re-hover ── */
.cv-mega-chevron {
  transition: transform .18s ease !important;
}
.cv-mega-item:hover .cv-mega-chevron,
.cv-mega-item.is-open .cv-mega-chevron {
  transform: rotate(180deg) !important;
}

/* ── Panel : entrée animée UNE seule fois, pas de re-jeu ──── */
/* La transition n'est appliquée que sur opacity (pas sur transform/translate),
 * et l'élément est position: fixed via translateX, donc visuellement stable. */
.cv-mega-panel {
  transition: opacity .18s ease, visibility 0s linear .18s !important;
  transform: translateX(-50%) translateY(0) !important;
  /* Pas d'animation translateY au hover : l'élément reste à la même position. */
}
.cv-mega-item:hover .cv-mega-panel,
.cv-mega-item.is-open .cv-mega-panel,
.cv-mega-panel:hover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
  transition: opacity .18s ease, visibility 0s linear 0s !important;
}

/* ── Backdrop overlay : on hover (pas seulement is-open) ──── */
.cv-nav:has(.cv-mega-item:hover) .cv-mega-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .22s ease, visibility 0s linear 0s;
}

/* ── Bridge : forcer l'extension large mais sans capter l'évent en dehors */
.cv-mega-item::before {
  height: 16px !important;
  /* Gardé large pour traverser de trigger → panel */
}

/* ── Item ouvert : le panel est dans le bounding box du <li> :hover */
/* (CSS pur; déjà géré par les règles ci-dessus) */

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.92 — wp:navigation natif comme menu top-level (Option B)
 * ════════════════════════════════════════════════════════════════════════════
 *  • Le menu top-level utilise le bloc Navigation natif de WordPress
 *  • Les classes wp-block-navigation-item sont stylées comme mes triggers
 *  • Compatibilité Polylang/WPML : les labels "Produit", "Intégrations" etc.
 *    deviennent traduisibles via Apparence → Menus
 *  • Le JS clone les mega panels dans les <li> qui ont la classe mega-X
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Container du wp:navigation à l'intérieur de .cv-mega-nav ───── */
.cv-mega-nav .wp-block-navigation {
  margin: 0;
  padding: 0;
  background: transparent !important;
  --wp--style--block-gap: 0 !important;
}
.cv-mega-nav .wp-block-navigation__container,
.cv-mega-nav ul.wp-block-navigation__container {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px !important;
  flex-wrap: nowrap;
}

/* ── Items du wp:navigation (liens top-level) ──────────────────── */
.cv-mega-nav .wp-block-navigation-item,
.cv-mega-nav .wp-block-navigation-link {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Le contenu cliquable de chaque item (équivalent de mon .cv-mega-trigger) */
.cv-mega-nav .wp-block-navigation-item__content,
.cv-mega-nav .wp-block-navigation-link a {
  display: inline-flex !important;
  align-items: center;
  gap: 6px !important;
  padding: 10px 14px !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  text-decoration: none !important;
  letter-spacing: -.005em !important;
  position: relative;
  transition: color .12s ease;
  cursor: pointer;
}
.cv-mega-nav .wp-block-navigation-item__content:hover,
.cv-mega-nav .wp-block-navigation-item:hover .wp-block-navigation-item__content,
.cv-mega-nav .wp-block-navigation-item.cv-mega-item:hover .wp-block-navigation-item__content {
  color: #fff !important;
  background: transparent !important;
}

/* Pas d'underline ni de soulignement résiduel core WP */
.cv-mega-nav .wp-block-navigation-item__content::after,
.cv-mega-nav .wp-block-navigation-link a::after {
  display: none !important;
}

/* Chevron simulé via ::after sur les items qui ont un mega panel */
.cv-mega-nav .cv-mega-item .wp-block-navigation-item__content::before {
  display: none !important; /* cancel any inherited chevron */
}
.cv-mega-nav .cv-mega-item .wp-block-navigation-item__content::after {
  content: "" !important;
  display: inline-block !important;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  margin-left: 4px;
  opacity: .6;
  transition: transform .18s ease, opacity .18s ease;
  position: static !important; /* annule la position:absolute par défaut */
  background: transparent !important;
  border-top: 0 !important;
  border-left: 0 !important;
}
.cv-mega-nav .cv-mega-item:hover .wp-block-navigation-item__content::after,
.cv-mega-nav .cv-mega-item.is-open .wp-block-navigation-item__content::after {
  transform: rotate(-135deg) translateY(2px);
  opacity: 1;
}

/* ── Items qui ont un mega panel (cv-mega-item ajouté en JS) ──── */
.cv-mega-nav .cv-mega-item {
  position: static !important;
}

/* ── Bridge anti-flicker entre item et panel attaché ──────────── */
.cv-mega-nav .cv-mega-item::before {
  content: "" !important;
  position: absolute !important;
  top: 100%;
  left: 0;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  height: 18px;
  background: transparent;
  pointer-events: none;
}
.cv-mega-nav .cv-mega-item:hover::before,
.cv-mega-nav .cv-mega-item.is-open::before {
  pointer-events: auto;
}

/* ── Source des panels : caché en permanence (le JS clone vers li) */
#cv-mega-panels-source { display: none !important; }

/* ── Panels en light : couleurs adaptées (déjà couvert par v1.14.89
       mais on s'assure que les nouveaux <li> wp-block-navigation héritent) */
html[data-theme="light"] .cv-mega-nav .wp-block-navigation-item__content,
html[data-theme="light"] .cv-mega-nav .wp-block-navigation-link a {
  color: var(--cv-light-fg-mute) !important;
}
html[data-theme="light"] .cv-mega-nav .wp-block-navigation-item__content:hover,
html[data-theme="light"] .cv-mega-nav .wp-block-navigation-item:hover .wp-block-navigation-item__content {
  color: var(--cv-light-fg) !important;
}

/* ── Mobile : on cache le wp:navigation natif sous 1100px (drawer prend le relais) */
@media (max-width: 1100px) {
  .cv-mega-nav .wp-block-navigation,
  .cv-mega-nav { display: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.93 — Hover JS-driven + retrait backdrop fade
 * ════════════════════════════════════════════════════════════════════════════
 *  • Le panel n'apparaît plus avec :hover CSS — uniquement avec .is-open (JS)
 *  • Le backdrop overlay qui assombrissait les autres items est retiré
 *  • Les autres items du menu RESTENT VISIBLES et au look normal quand un
 *    mega menu est ouvert (plus de fade)
 *  • Le bridge est conservé pour que la souris transite trigger → panel
 * ════════════════════════════════════════════════════════════════════════════ */

/* Désactive l'ouverture par :hover CSS — on n'utilise plus que .is-open (JS) */
.cv-mega-item:hover .cv-mega-panel,
.cv-mega-panel:hover {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.cv-mega-item.is-open .cv-mega-panel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Une fois ouvert, le panel reste visible quand la souris est dessus */
.cv-mega-item.is-open .cv-mega-panel:hover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Backdrop : retiré complètement — il assombrissait les items adjacents */
.cv-mega-backdrop,
.cv-nav.is-mega-open .cv-mega-backdrop,
.cv-nav:has(.cv-mega-item:hover) .cv-mega-backdrop {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
  backdrop-filter: none !important;
}

/* Les autres <li> restent intacts — pas de fade quand un sibling est ouvert */
.cv-mega-nav .wp-block-navigation-item,
.cv-mega-nav .cv-mega-item {
  opacity: 1 !important;
  filter: none !important;
}
.cv-mega-nav .wp-block-navigation-item__content {
  color: rgba(255,255,255,.88) !important;
  opacity: 1 !important;
}
html[data-theme="light"] .cv-mega-nav .wp-block-navigation-item__content {
  color: var(--cv-light-fg-mute) !important;
  opacity: 1 !important;
}

/* Quand un mega est ouvert, l'item ouvert s'éclaircit, pas les autres */
.cv-mega-nav .cv-mega-item.is-open .wp-block-navigation-item__content {
  color: #fff !important;
}
html[data-theme="light"] .cv-mega-nav .cv-mega-item.is-open .wp-block-navigation-item__content {
  color: var(--cv-light-fg) !important;
}

/* Le z-index du panel ne doit pas couvrir les autres items du menu */
.cv-mega-panel {
  z-index: 90 !important; /* sous le menu (qui est à 100) mais au-dessus du contenu */
}
.cv-nav {
  z-index: 100 !important;
}
.cv-nav-inner {
  position: relative;
  z-index: 101 !important; /* le contenu du nav (logo, menu, CTAs) au-dessus du panel */
}

/* Le panel doit visuellement passer SOUS la barre du menu, pas au-dessus
 * Astuce : on lui donne un padding-top pour absorber l'overlap visuel */
.cv-mega-panel {
  margin-top: 0 !important;
  /* le panel est top:100% de l'<ul>, donc juste sous la barre — déjà OK */
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.94 — Support wp_nav_menu PHP (classes legacy menu-item)
 * ════════════════════════════════════════════════════════════════════════════
 *  Le pattern header.php utilise désormais wp_nav_menu() PHP qui rend les
 *  <li class="menu-item mega-X"> avec les classes CSS configurées via
 *  Apparence → Menus. Ces sélecteurs adaptent le styling au format wp_nav_menu.
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Container <ul class="cv-mega-list-nav"> rendu par wp_nav_menu ──── */
.cv-mega-nav .cv-mega-list-nav,
.cv-mega-nav ul.cv-mega-list-nav {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px !important;
  flex-wrap: nowrap;
}

/* ── Items rendus par wp_nav_menu (<li class="menu-item">) ───────────── */
.cv-mega-nav .menu-item {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  list-style: none;
}
.cv-mega-nav .menu-item > a {
  display: inline-flex !important;
  align-items: center;
  gap: 6px !important;
  padding: 9px 9px !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  letter-spacing: -.005em !important;
  position: relative;
  transition: color .12s ease;
  cursor: pointer;
  opacity: 1 !important;
}
.cv-mega-nav .menu-item > a:hover,
.cv-mega-nav .menu-item:hover > a {
  color: #fff !important;
  background: transparent !important;
  text-decoration: none !important;
}
html[data-theme="light"] .cv-mega-nav .menu-item > a {
  color: var(--cv-light-fg-mute) !important;
}
html[data-theme="light"] .cv-mega-nav .menu-item:hover > a,
html[data-theme="light"] .cv-mega-nav .menu-item.is-open > a {
  color: var(--cv-light-fg) !important;
}

/* Item ouvert (mega menu déployé) */
.cv-mega-nav .menu-item.is-open > a {
  color: #fff !important;
}

/* ── Chevron simulé sur les items qui ont un mega panel attaché ─────── */
.cv-mega-nav .menu-item.cv-mega-item > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  margin-left: 4px;
  opacity: .6;
  transition: transform .18s ease, opacity .18s ease;
  position: static !important;
  background: transparent !important;
  border-top: 0 !important;
  border-left: 0 !important;
}
.cv-mega-nav .menu-item.cv-mega-item:hover > a::after,
.cv-mega-nav .menu-item.cv-mega-item.is-open > a::after {
  transform: rotate(-135deg) translateY(2px);
  opacity: 1;
}

/* ── Bridge anti-flicker pour le menu wp_nav_menu ───────────────────── */
.cv-mega-nav .menu-item.cv-mega-item::before {
  content: "" !important;
  position: absolute !important;
  top: 100%;
  left: 0;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  height: 18px;
  background: transparent;
  pointer-events: none;
  z-index: 95;
}
.cv-mega-nav .menu-item.cv-mega-item.is-open::before {
  pointer-events: auto;
}

/* ── On masque les sous-menus legacy WordPress (les <ul class="sub-menu">)
       qui pourraient s'afficher si l'utilisateur a des items enfants ─── */
.cv-mega-nav .menu-item .sub-menu,
.cv-mega-nav .menu-item .children {
  display: none !important;
}

/* ── Mobile : on cache aussi le menu wp_nav_menu sous 1100px ───────── */
@media (max-width: 1100px) {
  .cv-mega-nav .cv-mega-list-nav { display: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.96 — Fix select natif (incl. Polylang Pro language switcher)
 * ════════════════════════════════════════════════════════════════════════════
 *  Cause : le thème n'avait aucun reset CSS sur <select>. Le bloc Polylang
 *  "Sélecteur de langue" en mode dropdown utilise un <select>, qui s'affichait
 *  avec le style natif du navigateur — souvent invisible ou cassé sur fond
 *  sombre, donnant l'impression que seule la langue courante était listée.
 *
 *  Bug connu Polylang Pro (référencé sur le repo GitHub).
 *  Solution : styler globalement les <select> du frontend + spécifiquement
 *  les classes Polylang en dark et light mode.
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Reset select natif (frontend uniquement, pas l'admin) ────── */
body select,
body .pll-switcher-select,
body select.lang_choice_polylang,
body select[id^="lang_choice_"],
body .wp-block-polylang-language-switcher select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line-2);
  border-radius: 999px;
  color: #fff;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  padding: 8px 36px 8px 16px;
  cursor: pointer;
  outline: none;
  /* Chevron SVG inline en background pour remplacer la flèche native */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'><path d='M3 5l3 3 3-3'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 12px;
  transition: border-color .2s ease, background-color .2s ease;
  min-width: 100px;
}
body select:hover,
body .pll-switcher-select:hover,
body select.lang_choice_polylang:hover,
body select[id^="lang_choice_"]:hover,
body .wp-block-polylang-language-switcher select:hover {
  border-color: var(--line-2);
  background-color: rgba(255,255,255,.08);
}
body select:focus,
body .pll-switcher-select:focus,
body select.lang_choice_polylang:focus,
body select[id^="lang_choice_"]:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(109,213,237,.18);
}

/* Les <option> dans le dropdown ouvert : forcer un fond lisible
 * (par défaut WP/navigateurs rendent les options en blanc, illisible quand
 *  on les ouvre sur des thèmes sombres) */
body select option,
body .pll-switcher-select option,
body select.lang_choice_polylang option,
body select[id^="lang_choice_"] option,
body .wp-block-polylang-language-switcher select option {
  background: #10162A;
  color: #fff;
  padding: 8px 12px;
}

/* ── Mode light : adapter les couleurs ────────────────────── */
html[data-theme="light"] body select,
html[data-theme="light"] body .pll-switcher-select,
html[data-theme="light"] body select.lang_choice_polylang,
html[data-theme="light"] body select[id^="lang_choice_"],
html[data-theme="light"] body .wp-block-polylang-language-switcher select {
  background-color: #FFFFFF;
  border-color: rgba(10,15,28,.16);
  color: #0A0F1C;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%230A0F1C' stroke-width='2' stroke-linecap='round'><path d='M3 5l3 3 3-3'/></svg>");
}
html[data-theme="light"] body select:hover,
html[data-theme="light"] body .pll-switcher-select:hover,
html[data-theme="light"] body select.lang_choice_polylang:hover,
html[data-theme="light"] body select[id^="lang_choice_"]:hover {
  background-color: #F8F9FB;
  border-color: rgba(10,15,28,.28);
}
html[data-theme="light"] body select option,
html[data-theme="light"] body .pll-switcher-select option,
html[data-theme="light"] body select.lang_choice_polylang option,
html[data-theme="light"] body select[id^="lang_choice_"] option {
  background: #FFFFFF;
  color: #0A0F1C;
}

/* ── Polylang : variantes "list" (UL avec drapeaux) ──────── */
.pll-parent-menu-item .sub-menu,
ul.lang-switcher,
ul.pll-switcher-list,
.wp-block-polylang-language-switcher ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wp-block-polylang-language-switcher li,
ul.lang-switcher li,
ul.pll-switcher-list li,
.pll-parent-menu-item .sub-menu li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.wp-block-polylang-language-switcher a,
.pll-parent-menu-item .sub-menu a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 600;
  border-radius: 999px;
  transition: background .2s, color .2s;
}
.wp-block-polylang-language-switcher a:hover,
.pll-parent-menu-item .sub-menu a:hover {
  background: rgba(255,255,255,.06);
  color: #fff;
}
.wp-block-polylang-language-switcher .pll-current-lang a,
.wp-block-polylang-language-switcher a.current-lang {
  color: #fff;
  background: rgba(124,58,237,.16);
}
html[data-theme="light"] .wp-block-polylang-language-switcher a,
html[data-theme="light"] .pll-parent-menu-item .sub-menu a {
  color: rgba(10,15,28,.7);
}
html[data-theme="light"] .wp-block-polylang-language-switcher a:hover,
html[data-theme="light"] .pll-parent-menu-item .sub-menu a:hover {
  background: rgba(10,15,28,.05);
  color: #0A0F1C;
}
html[data-theme="light"] .wp-block-polylang-language-switcher .pll-current-lang a,
html[data-theme="light"] .wp-block-polylang-language-switcher a.current-lang {
  color: #0A0F1C;
  background: rgba(109,44,228,.1);
}

/* ── Drapeau emoji devant le nom de langue (si Polylang l'ajoute) */
.wp-block-polylang-language-switcher img,
.pll-parent-menu-item img,
.lang-switcher img {
  width: 16px;
  height: 11px;
  vertical-align: middle;
  margin-right: 4px;
  border-radius: 2px;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.14.97 — Fix Polylang dropdown : exception sub-menu pour items langue
 * ════════════════════════════════════════════════════════════════════════════
 *  Régression v1.14.94 : la règle `display:none` sur tous les .sub-menu du
 *  cv-mega-nav (pour cacher les sous-items legacy "Solution → Solo/pro")
 *  masquait aussi le dropdown des langues Polylang qui utilise lui aussi un
 *  <ul class="sub-menu">. Résultat : seule la langue courante visible.
 *  Fix : autoriser explicitement le sub-menu pour les classes Polylang.
 * ════════════════════════════════════════════════════════════════════════════ */

/* Override la règle générale "sub-menu cachés" pour les items langue */
.cv-mega-nav .menu-item.pll-parent-menu-item .sub-menu,
.cv-mega-nav .menu-item.menu-item-language .sub-menu,
.cv-mega-nav .menu-item.lang-item .sub-menu,
.cv-mega-nav .pll-parent-menu-item .sub-menu,
.cv-mega-nav .menu-item-language .sub-menu {
  display: block !important;
}

/* Le <li> langue doit être positioning context (pour que le sub-menu en
 * absolute s'aligne sur lui, pas sur le <ul> parent) */
.cv-mega-nav .pll-parent-menu-item,
.cv-mega-nav .menu-item-language,
.cv-mega-nav .menu-item-language-current {
  position: relative !important;
}

/* Dropdown Polylang : popover stylisé charte CV */
.cv-mega-nav .pll-parent-menu-item > .sub-menu,
.cv-mega-nav .menu-item-language > .sub-menu,
.cv-mega-nav .menu-item-language-current > .sub-menu,
.cv-mega-nav li.lang-item > .sub-menu {
  position: absolute !important;
  top: calc(100% + 8px);
  left: 0;
  margin: 0 !important;
  padding: 6px !important;
  list-style: none !important;
  min-width: 180px;
  background: linear-gradient(180deg, #0F1428 0%, #0A0F1C 100%);
  border: 1px solid var(--line-2);
  border-radius: 12px;
  box-shadow:
    0 20px 48px rgba(0,0,0,.55),
    0 6px 16px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.06);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
  z-index: 105;
}

/* Bridge invisible pour ne pas perdre le hover entre li et sub-menu */
.cv-mega-nav .pll-parent-menu-item::after,
.cv-mega-nav .menu-item-language::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 12px;
  background: transparent;
  pointer-events: none;
}
.cv-mega-nav .pll-parent-menu-item:hover::after,
.cv-mega-nav .menu-item-language:hover::after {
  pointer-events: auto;
}

/* Show on hover (et focus pour accessibilité clavier) */
.cv-mega-nav .pll-parent-menu-item:hover > .sub-menu,
.cv-mega-nav .pll-parent-menu-item:focus-within > .sub-menu,
.cv-mega-nav .menu-item-language:hover > .sub-menu,
.cv-mega-nav .menu-item-language:focus-within > .sub-menu,
.cv-mega-nav .menu-item-language-current:hover > .sub-menu,
.cv-mega-nav .menu-item-language-current:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear 0s !important;
}

/* Items du dropdown langue : look uniforme charte */
.cv-mega-nav .pll-parent-menu-item .sub-menu li,
.cv-mega-nav .menu-item-language .sub-menu li,
.cv-mega-nav .lang-item li.menu-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: static !important;
}
.cv-mega-nav .pll-parent-menu-item .sub-menu a,
.cv-mega-nav .menu-item-language .sub-menu a,
.cv-mega-nav .lang-item a {
  display: flex !important;
  align-items: center;
  gap: 8px !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,.85) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background .18s, color .18s;
  white-space: nowrap;
}
.cv-mega-nav .pll-parent-menu-item .sub-menu a:hover,
.cv-mega-nav .menu-item-language .sub-menu a:hover,
.cv-mega-nav .lang-item a:hover {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
}
.cv-mega-nav .pll-parent-menu-item .sub-menu a img,
.cv-mega-nav .menu-item-language .sub-menu a img,
.cv-mega-nav .lang-item a img {
  width: 16px !important;
  height: 11px !important;
  border-radius: 2px !important;
  vertical-align: middle;
}

/* Chevron sur l'item parent langue désactivé (1.53.1 — request user) */
.cv-mega-nav .pll-parent-menu-item > a::after,
.cv-mega-nav .menu-item-language-current > a::after {
  display: none !important;
}

/* ── Mode light ───────────────────────────────────────────── */
html[data-theme="light"] .cv-mega-nav .pll-parent-menu-item > .sub-menu,
html[data-theme="light"] .cv-mega-nav .menu-item-language > .sub-menu,
html[data-theme="light"] .cv-mega-nav .menu-item-language-current > .sub-menu,
html[data-theme="light"] .cv-mega-nav li.lang-item > .sub-menu {
  background: #FFFFFF;
  border-color: rgba(10,15,28,.16);
  box-shadow:
    0 20px 48px rgba(10,15,28,.16),
    0 6px 16px rgba(10,15,28,.08),
    inset 0 1px 0 rgba(255,255,255,1);
}
html[data-theme="light"] .cv-mega-nav .pll-parent-menu-item .sub-menu a,
html[data-theme="light"] .cv-mega-nav .menu-item-language .sub-menu a,
html[data-theme="light"] .cv-mega-nav .lang-item a {
  color: rgba(10,15,28,.7) !important;
}
html[data-theme="light"] .cv-mega-nav .pll-parent-menu-item .sub-menu a:hover,
html[data-theme="light"] .cv-mega-nav .menu-item-language .sub-menu a:hover,
html[data-theme="light"] .cv-mega-nav .lang-item a:hover {
  background: rgba(10,15,28,.05) !important;
  color: #0A0F1C !important;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.3 — Drawer mobile : animation rapide, bouton X, backdrop, switcher PLL
 * ════════════════════════════════════════════════════════════════════════════
 *  • Animation slide right .22s (avant .3s) avec courbe ease cubique snappy
 *  • Bouton X en haut à droite du drawer pour fermer
 *  • Backdrop overlay sombre + tap-to-close (mobile)
 *  • Switcher Polylang en bas du drawer (langues + drapeau)
 *  • Ne s'affichent que sur mobile (≤ 1100px)
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Drawer : transition plus snappy ───────────────────────── */
.cv-nav-drawer {
  transition: transform .22s cubic-bezier(.22, .94, .42, 1) !important;
  right: 0 !important;
  transform: translateX(100%) !important;
  will-change: transform;
}
.cv-nav-drawer.is-open {
  transform: translateX(0) !important;
}

/* ── Backdrop tap-to-close ─────────────────────────────────── */
.cv-nav-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility 0s linear .22s;
  z-index: 199; /* sous le drawer (z 200) */
}
.cv-nav-drawer-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .22s ease, visibility 0s linear 0s;
}

/* Le backdrop ne s'affiche QUE sur mobile (le drawer est mobile-only) */
@media (min-width: 1101px) {
  .cv-nav-drawer-backdrop { display: none !important; }
}

/* ── Bouton X de fermeture ─────────────────────────────────── */
.cv-nav-drawer-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line-2);
  border-radius: 8px;
  color: rgba(255,255,255,.85);
  cursor: pointer;
  padding: 0;
  z-index: 1;
  transition: background .18s, border-color .18s, color .18s;
}
.cv-nav-drawer-close:hover,
.cv-nav-drawer-close:focus-visible {
  background: rgba(255,255,255,.08);
  border-color: var(--line-2);
  color: #fff;
  outline: none;
}
.cv-nav-drawer-close svg {
  width: 18px;
  height: 18px;
}
html[data-theme="light"] .cv-nav-drawer-close {
  background: rgba(10,15,28,.05);
  border-color: rgba(10,15,28,.16);
  color: rgba(10,15,28,.7);
}
html[data-theme="light"] .cv-nav-drawer-close:hover {
  background: rgba(10,15,28,.08);
  color: #0A0F1C;
}

/* ── Inner drawer : padding-top adapté pour le X ─────────── */
.cv-nav-drawer-inner {
  padding-top: 68px !important;
}

/* ── Switcher langue Polylang dans le drawer ──────────────── */
.cv-nav-drawer-langs {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.cv-nav-drawer-langs-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.55);
  margin-bottom: 12px;
}
.cv-nav-drawer-langs-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cv-nav-drawer-langs-list li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cv-nav-drawer-langs-list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line-2);
  border-radius: 999px;
  color: rgba(255,255,255,.85) !important;
  text-decoration: none !important;
  font-size: 13.5px;
  font-weight: 600;
  transition: background .18s, border-color .18s, color .18s;
}
.cv-nav-drawer-langs-list a:hover {
  background: rgba(255,255,255,.08);
  border-color: var(--line-2);
  color: #fff !important;
}
.cv-nav-drawer-langs-list .current-lang a,
.cv-nav-drawer-langs-list .pll-current-lang a {
  background: rgba(124,58,237,.18);
  border-color: rgba(124,58,237,.5);
  color: #fff !important;
}
.cv-nav-drawer-langs-list img {
  width: 16px;
  height: 11px;
  border-radius: 2px;
}

/* Mode light */
html[data-theme="light"] .cv-nav-drawer-langs {
  border-top-color: rgba(10,15,28,.08);
}
html[data-theme="light"] .cv-nav-drawer-langs-label {
  color: rgba(10,15,28,.55);
}
html[data-theme="light"] .cv-nav-drawer-langs-list a {
  background: rgba(10,15,28,.04);
  border-color: rgba(10,15,28,.16);
  color: rgba(10,15,28,.7) !important;
}
html[data-theme="light"] .cv-nav-drawer-langs-list a:hover {
  background: rgba(10,15,28,.08);
  color: #0A0F1C !important;
}
html[data-theme="light"] .cv-nav-drawer-langs-list .current-lang a,
html[data-theme="light"] .cv-nav-drawer-langs-list .pll-current-lang a {
  background: rgba(109,44,228,.12);
  border-color: rgba(109,44,228,.4);
  color: #0A0F1C !important;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.4 — Drawer mobile : sous-menus mega en accordéon
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Wrapper item drawer avec mega panel ──────────────────── */
.cv-nav-drawer-item {
  margin: 0;
}
.cv-nav-drawer-item.has-mega {
  border-bottom: 1px solid var(--line);
}
.cv-nav-drawer-item-head {
  display: flex;
  align-items: stretch;
  gap: 4px;
}
.cv-nav-drawer-item-head .cv-nav-drawer-link {
  flex: 1;
}

/* Bouton chevron qui déplie le sub-menu */
.cv-nav-drawer-expand {
  appearance: none;
  background: transparent;
  border: 0;
  width: 44px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.55);
  cursor: pointer;
  padding: 0;
  border-radius: 8px;
  transition: background .18s, color .18s;
}
.cv-nav-drawer-expand:hover,
.cv-nav-drawer-expand:focus-visible {
  background: rgba(255,255,255,.04);
  color: #fff;
  outline: none;
}
.cv-nav-drawer-expand svg {
  width: 14px;
  height: 14px;
  transition: transform .22s ease;
}
.cv-nav-drawer-item.is-expanded .cv-nav-drawer-expand svg {
  transform: rotate(180deg);
}
.cv-nav-drawer-item.is-expanded .cv-nav-drawer-expand {
  color: var(--cyan);
}
html[data-theme="light"] .cv-nav-drawer-expand {
  color: rgba(10,15,28,.5);
}
html[data-theme="light"] .cv-nav-drawer-expand:hover,
html[data-theme="light"] .cv-nav-drawer-item.is-expanded .cv-nav-drawer-expand {
  color: var(--cv-light-accent-cyan, #0E8FAC);
  background: rgba(10,15,28,.04);
}

/* ── Sub-menu déployé (mega panel adapté mobile) ──────────── */
.cv-nav-drawer-sub {
  padding: 8px 0 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-left: 2px solid var(--line);
  margin: 4px 0 8px 16px;
}
.cv-nav-drawer-sub[hidden] {
  display: none;
}

/* Card feature de la sous-section */
.cv-nav-drawer-sub-feature {
  display: block;
  padding: 12px 14px;
  background: rgba(124,58,237,.08);
  border: 1px solid rgba(124,58,237,.24);
  border-radius: 10px;
  text-decoration: none !important;
  color: inherit !important;
  margin-bottom: 6px;
}
.cv-nav-drawer-sub-feature:hover,
.cv-nav-drawer-sub-feature:active {
  background: rgba(124,58,237,.14);
}
.cv-nav-drawer-sub-feature-title {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.005em;
}

/* Liens sub-menu (icône + titre + description) */
.cv-nav-drawer-sub-link {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration: none !important;
  color: inherit !important;
  transition: background .15s ease;
}
.cv-nav-drawer-sub-link:hover,
.cv-nav-drawer-sub-link:active {
  background: rgba(255,255,255,.04);
}
.cv-nav-drawer-sub-link .cv-mega-link-ic {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(109,213,237,.12);
  border: 1px solid rgba(109,213,237,.25);
  color: var(--cyan);
  border-radius: 8px;
  flex-shrink: 0;
}
.cv-nav-drawer-sub-link .cv-mega-link-ic svg {
  width: 16px;
  height: 16px;
}
.cv-nav-drawer-sub-link-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.cv-nav-drawer-sub-link-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -.005em;
  line-height: 1.3;
}
.cv-nav-drawer-sub-link-text {
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255,255,255,.55);
}

/* Mode light */
html[data-theme="light"] .cv-nav-drawer-sub {
  border-left-color: rgba(10,15,28,.1);
}
html[data-theme="light"] .cv-nav-drawer-item.has-mega {
  border-bottom-color: rgba(10,15,28,.06);
}
html[data-theme="light"] .cv-nav-drawer-sub-feature {
  background: rgba(109,44,228,.08);
  border-color: rgba(109,44,228,.24);
}
html[data-theme="light"] .cv-nav-drawer-sub-feature-title {
  color: var(--cv-light-fg, #0A0F1C);
}
html[data-theme="light"] .cv-nav-drawer-sub-link:hover {
  background: rgba(10,15,28,.04);
}
html[data-theme="light"] .cv-nav-drawer-sub-link-title {
  color: var(--cv-light-fg, #0A0F1C);
}
html[data-theme="light"] .cv-nav-drawer-sub-link-text {
  color: var(--cv-light-fg-mute, #4B5563);
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.5 — Drawer mobile : drop-down langues + scroll lock iOS + figé
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Scroll lock iOS-safe : drawer figé strict ───────────── */
.cv-nav-drawer {
  position: fixed !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  overflow-y: auto;
  overflow-x: hidden;
  /* la position fixed avec right:0 et transform garantit qu'il ne bouge pas */
}
.cv-nav-drawer-inner {
  /* le contenu interne scrolle, le drawer lui-même ne bouge pas */
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
}

/* Empêche le drag horizontal du drawer */
.cv-nav-drawer.is-open {
  touch-action: pan-y !important;
}

/* ── Switcher Polylang inline (l'item « Français » du menu) ── */
.cv-nav-drawer-link--current {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  cursor: default;
}
.cv-nav-drawer-link--current img {
  width: 20px;
  height: 14px;
  border-radius: 2px;
  flex-shrink: 0;
}
.cv-nav-drawer-link--current span {
  margin-left: 0 !important;
}

/* Item lang-switcher en accordéon */
.cv-nav-drawer-item.is-lang-switcher .cv-nav-drawer-sub--langs {
  padding: 6px 0 12px 12px;
  margin: 4px 0 8px 16px;
  border-left: 2px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cv-nav-drawer-sub-lang {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line-2);
  border-radius: 10px;
  text-decoration: none !important;
  color: rgba(255,255,255,.85) !important;
  font-size: 14.5px;
  font-weight: 600;
  transition: background .18s, border-color .18s, color .18s;
}
.cv-nav-drawer-sub-lang:hover,
.cv-nav-drawer-sub-lang:active,
.cv-nav-drawer-sub-lang:focus-visible {
  background: rgba(124,58,237,.16);
  border-color: rgba(124,58,237,.4);
  color: #fff !important;
  outline: none;
}
.cv-nav-drawer-sub-lang img {
  width: 22px;
  height: 16px;
  border-radius: 3px;
  flex-shrink: 0;
}
.cv-nav-drawer-sub-lang-name {
  flex: 1;
  letter-spacing: -.005em;
}

/* Mode light pour le switcher langues drawer */
html[data-theme="light"] .cv-nav-drawer-item.is-lang-switcher .cv-nav-drawer-sub--langs {
  border-left-color: rgba(10,15,28,.1);
}
html[data-theme="light"] .cv-nav-drawer-sub-lang {
  background: rgba(10,15,28,.04);
  border-color: rgba(10,15,28,.16);
  color: rgba(10,15,28,.7) !important;
}
html[data-theme="light"] .cv-nav-drawer-sub-lang:hover {
  background: rgba(109,44,228,.1);
  border-color: rgba(109,44,228,.3);
  color: #0A0F1C !important;
}

/* Le bloc switcher langues séparé n'est plus émis, mais on cache si jamais
   un legacy l'avait copié dans le DOM via éditeur de site */
.cv-nav-drawer-langs { display: none !important; }

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.7 — Drawer langues : tap full-width + sans décalage + courante active
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Le head devient un button cliquable sur toute la largeur (lang-switcher) */
.cv-nav-drawer-item-head--button {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  width: 100%;
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
}
.cv-nav-drawer-item-head--button .cv-nav-drawer-link {
  flex: 1;
  pointer-events: none;        /* le click passe au button parent */
  background: transparent;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.cv-nav-drawer-item-head--button .cv-nav-drawer-expand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  flex-shrink: 0;
  color: rgba(255,255,255,.55);
  transition: color .18s, transform .22s ease;
}
.cv-nav-drawer-item-head--button[aria-expanded="true"] .cv-nav-drawer-expand {
  color: var(--cyan);
}
.cv-nav-drawer-item-head--button[aria-expanded="true"] .cv-nav-drawer-expand svg {
  transform: rotate(180deg);
}
.cv-nav-drawer-item-head--button:hover {
  background: rgba(255,255,255,.04);
}
html[data-theme="light"] .cv-nav-drawer-item-head--button:hover {
  background: rgba(10,15,28,.04);
}

/* ── Sub-langs : full-width, plus de décalage gauche ─────── */
.cv-nav-drawer-item.is-lang-switcher .cv-nav-drawer-sub--langs {
  padding: 8px 0 12px 0;
  margin: 4px 0 8px 0;
  border-left: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* ── Item langue actif (courante) ────────────────────────── */
.cv-nav-drawer-sub-lang.is-current {
  background: rgba(124,58,237,.18);
  border-color: rgba(124,58,237,.5);
  color: #fff !important;
  cursor: default;
}
.cv-nav-drawer-sub-lang.is-current:hover {
  background: rgba(124,58,237,.18);
}
.cv-nav-drawer-sub-lang-check {
  margin-left: auto;
  font-size: 14px;
  color: var(--cyan);
  flex-shrink: 0;
}
html[data-theme="light"] .cv-nav-drawer-sub-lang.is-current {
  background: rgba(109,44,228,.12);
  border-color: rgba(109,44,228,.4);
  color: #0A0F1C !important;
}
html[data-theme="light"] .cv-nav-drawer-sub-lang-check {
  color: var(--cv-light-accent-cyan, #0E8FAC);
}

/* v1.16.8 — Globe icon dans le head Langue (drawer mobile) */
.cv-nav-drawer-link-globe {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: rgba(255,255,255,.7);
  margin-right: 4px;
}
html[data-theme="light"] .cv-nav-drawer-link-globe {
  color: rgba(10,15,28,.6);
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.8 — Drawer Langue : dropdown overlay flottant (validé live)
 * ════════════════════════════════════════════════════════════════════════════
 *  Le sub-menu langues n'est plus un accordion qui pousse le contenu, mais
 *  un dropdown flottant en position:absolute qui se superpose aux CTAs.
 *  Avantages :
 *    - place gagnée (les CTAs ne bougent pas)
 *    - scalable (10 langues → dropdown scrollable, pas drawer qui s'allonge)
 *    - UX identique à un select natif
 * ════════════════════════════════════════════════════════════════════════════ */

.cv-nav-drawer-item.is-lang-switcher {
  position: relative !important;
}
.cv-nav-drawer-item.is-lang-switcher .cv-nav-drawer-sub--langs {
  position: absolute !important;
  top: calc(100% - 4px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 50 !important;
  margin: 0 !important;
  padding: 8px !important;
  background: linear-gradient(180deg, #0F1428 0%, #0A0F1C 100%) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 12px !important;
  box-shadow:
    0 20px 48px rgba(0,0,0,.55),
    0 6px 16px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  max-height: 60vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.cv-nav-drawer-item.is-lang-switcher .cv-nav-drawer-sub--langs[hidden] {
  display: none !important;
}
/* Mode light pour le dropdown */
html[data-theme="light"] .cv-nav-drawer-item.is-lang-switcher .cv-nav-drawer-sub--langs {
  background: #FFFFFF !important;
  border-color: rgba(10,15,28,.16) !important;
  box-shadow:
    0 20px 48px rgba(10,15,28,.18),
    0 6px 16px rgba(10,15,28,.08),
    inset 0 1px 0 rgba(255,255,255,1) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.9 — Drawer mobile : toolbar 3 boutons (compte + thème + close)
 * ════════════════════════════════════════════════════════════════════════════
 *  Ajoute en haut du drawer une toolbar avec 3 boutons alignés à droite :
 *  Mon compte (lien vers wp-login.php), Toggle thème (sun/moon), Fermer (X).
 *  Désormais l'utilisateur peut basculer le thème depuis mobile (avant
 *  uniquement présent sur desktop).
 *  Retire aussi la double barre de séparation entre Langue et CTAs.
 * ════════════════════════════════════════════════════════════════════════════ */

/* Toolbar en haut du drawer */
.cv-nav-drawer-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 8px;
}
.cv-nav-drawer-tool {
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line-2);
  border-radius: 10px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.85);
  cursor: pointer;
  padding: 0;
  text-decoration: none !important;
  transition: background .18s, border-color .18s, color .18s;
  position: static !important;
  top: auto !important;
  right: auto !important;
  flex-shrink: 0;
}
.cv-nav-drawer-tool:hover,
.cv-nav-drawer-tool:focus-visible {
  background: rgba(255,255,255,.08);
  color: #fff;
  outline: none;
  border-color: var(--line-2);
}
.cv-nav-drawer-tool svg {
  width: 18px;
  height: 18px;
}

/* Toggle sun/moon dans le drawer */
.cv-nav-drawer-tool--theme .i-moon { display: none; }
html[data-theme="light"] .cv-nav-drawer-tool--theme .i-sun { display: none; }
html[data-theme="light"] .cv-nav-drawer-tool--theme .i-moon { display: block; }

/* Mode light : adapter les couleurs des outils */
html[data-theme="light"] .cv-nav-drawer-tool {
  background: rgba(10,15,28,.04);
  border-color: rgba(10,15,28,.16);
  color: rgba(10,15,28,.7);
}
html[data-theme="light"] .cv-nav-drawer-tool:hover,
html[data-theme="light"] .cv-nav-drawer-tool:focus-visible {
  background: rgba(10,15,28,.08);
  color: #0A0F1C;
  border-color: rgba(10,15,28,.16);
}

/* Padding-top du drawer-inner adapté à la toolbar */
.cv-nav-drawer-inner {
  padding-top: 14px !important;
}

/* Retire la double séparation entre dernier item menu et CTAs.
 * La border-bottom du has-mega du dernier item suffit. */
.cv-nav-drawer-cta {
  border-top: 0 !important;
  margin-top: 18px !important;
  padding-top: 0 !important;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.12 — Trust strip : 6 catégories en grille 3×2 desktop / pill 4 cols mobile
 * ════════════════════════════════════════════════════════════════════════════
 *  Le pattern trust.php est structuré en :
 *    .trust-cats > 6× .trust-cat > (h3.cv-trust-cat + .trust-row > N× .mark)
 *  Catégories : Plateformes WordPress / LMS / Formulaires / Calendriers /
 *    Automatisation / Hébergeurs.
 *
 *  Desktop (≥769px) : grille 3 colonnes × 2 rangées. Chaque .trust-cat = card
 *    (titre + pills wrap à gauche). Séparateur horizontal léger entre rangée 1
 *    et rangée 2 (border-bottom sur les 3 premières cards). Pills 12px.
 *  Mobile (≤768px) : la grille tombe en colonne unique, .trust-row reste en
 *    grille 4 cols pill horizontal compact, séparateurs respirés entre cats.
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Mark "+ N autres" : accent violet (mobile + desktop) ── */
.trust .mark.is-more {
  background: linear-gradient(180deg, rgba(124,58,237,.18) 0%, rgba(124,58,237,.06) 100%) !important;
  border-color: rgba(124,58,237,.32) !important;
  color: #b497ff !important;
}
.trust .mark.is-more p { color: #b497ff !important; font-weight: 600 !important; }
.trust .mark.is-more svg { color: #b497ff !important; }

/* ── Desktop (≥769px) : grille 3×2, cards compactes ── */
@media (min-width: 769px) {
  section.trust { padding: 40px 0 30px !important; }
  section.trust .trust-label {
    text-align: center !important;
    margin-bottom: 8px !important;
  }
  section.trust .wrap {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
  }
  /* Grille 3 colonnes × 2 rangées */
  section.trust .trust-cats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px 28px !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    max-width: none !important;
  }
  /* Card catégorie : titre + pills empilés */
  section.trust .trust-cat {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* v1.51.1 — Séparateur horizontal : sous TOUTES les rangées sauf la dernière.
     `:not(:nth-last-child(-n+3))` cible les cards qui ont AU MOINS 3 voisins
     après elles dans la grille → robust à n'importe quel nombre de rangées
     (anciennement `:nth-child(-n+3)` ne couvrait que la rangée 1, laissant
     le passage rangée 2→3 sans séparation visuelle dès qu'on ajoutait
     une 3e ligne de catégories). */
  section.trust .trust-cat:not(:nth-last-child(-n+3)) {
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  /* Titre catégorie (uppercase tracking large) */
  section.trust .cv-trust-cat {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .22em !important;
    color: rgba(255,255,255,.5) !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    max-width: none !important;
  }
  /* Trust-row dans une card : flex-wrap aligné gauche */
  section.trust .trust-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 5px 5px !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
  }
  /* Pill premium intermédiaire (12px) */
  section.trust .trust-row .mark {
    padding: 6px 11px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: rgba(255,255,255,.82) !important;
    filter: none !important;
    transition: background .2s, border-color .2s, transform .2s !important;
    letter-spacing: 0 !important;
    font-weight: 500 !important;
    min-height: 0 !important;
  }
  section.trust .trust-row .mark:hover {
    background: linear-gradient(180deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.04) 100%) !important;
    border-color: rgba(255,255,255,.16) !important;
    transform: translateY(-1px);
    color: #fff !important;
  }
  section.trust .trust-row .mark p {
    margin: 0 !important;
    font-weight: 500 !important;
    color: inherit !important;
    font-size: 12px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
  section.trust .trust-row .mark svg {
    width: 13px !important;
    height: 13px !important;
    color: rgba(255,255,255,.7) !important;
  }
  /* Light theme desktop */
  html[data-theme="light"] section.trust .cv-trust-cat {
    color: rgba(10,15,28,.55) !important;
  }
  html[data-theme="light"] section.trust .trust-cat:not(:nth-last-child(-n+3)) {
    border-bottom-color: rgba(10,15,28,.08) !important;
  }
  html[data-theme="light"] section.trust .trust-row .mark {
    background: linear-gradient(180deg, rgba(10,15,28,.04) 0%, rgba(10,15,28,.015) 100%) !important;
    border-color: rgba(10,15,28,.1) !important;
    color: rgba(10,15,28,.85) !important;
  }
  html[data-theme="light"] section.trust .trust-row .mark svg {
    color: rgba(10,15,28,.7) !important;
  }
}

/* ── Mobile (≤768px) : grille 4 cols pill horizontal, séparateurs respirés ── */
@media (max-width: 768px) {
  section.trust {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  section.trust .trust-label {
    margin-bottom: 14px !important;
    font-size: 10px !important;
    letter-spacing: .14em !important;
  }
  section.trust .cv-trust-cat {
    font-size: 9.5px !important;
    text-transform: uppercase;
    letter-spacing: .22em !important;
    color: rgba(255,255,255,.45) !important;
    text-align: left !important;
    margin: 0 0 8px 4px !important;
    padding: 0 !important;
    border-top: 0 !important;
    font-weight: 700 !important;
  }
  section.trust .cv-trust-cat:not(:first-of-type) {
    margin-top: 24px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
  }
  section.trust .cv-trust-cat:first-of-type {
    margin-top: 4px !important;
  }
  section.trust .trust-row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  section.trust .trust-row:last-of-type {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
  section.trust .trust-row .mark {
    padding: 6px 6px !important;
    border-radius: 999px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    min-height: 28px !important;
    text-align: left !important;
    background: linear-gradient(180deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.025) 100%) !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04) !important;
    overflow: hidden;
    transition: background .18s, transform .18s, border-color .18s;
  }
  section.trust .trust-row .mark p {
    font-size: 9px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1;
    min-width: 0;
    color: rgba(255,255,255,.88) !important;
    font-weight: 500 !important;
  }
  section.trust .trust-row .mark svg {
    width: 12px !important;
    height: 12px !important;
    color: rgba(255,255,255,.78) !important;
    flex-shrink: 0;
  }
  section.trust .trust-row .mark.is-more {
    grid-column: auto !important;
    justify-content: flex-start !important;
    min-height: 28px !important;
    padding: 6px 6px !important;
  }
  section.trust .trust-row .mark.is-more p {
    font-size: 9px !important;
    text-align: left !important;
  }
  section.trust .trust-row .mark.is-more svg {
    width: 12px !important;
    height: 12px !important;
  }
  /* Light theme mobile */
  html[data-theme="light"] section.trust .trust-row .mark {
    background: linear-gradient(180deg, rgba(10,15,28,.04) 0%, rgba(10,15,28,.015) 100%) !important;
    border-color: rgba(10,15,28,.1) !important;
  }
  html[data-theme="light"] section.trust .trust-row .mark p {
    color: rgba(10,15,28,.85) !important;
  }
  html[data-theme="light"] section.trust .trust-row .mark svg {
    color: rgba(10,15,28,.7) !important;
  }
  html[data-theme="light"] section.trust .cv-trust-cat {
    color: rgba(10,15,28,.55) !important;
  }
  html[data-theme="light"] section.trust .cv-trust-cat:not(:first-of-type) {
    border-top-color: rgba(10,15,28,.08) !important;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.17 — 8 nouvelles pages marketing
 * ════════════════════════════════════════════════════════════════════════════
 *  Comparatif Solo/Pro · Fonctionnalités · FAQ · Changelog · Communauté ·
 *  Contact · Avis clients · Affiliation
 *
 *  Chaque page partage la grammaire visuelle du thème (hero, eyebrow, .grad-gold,
 *  pills, gradients par section). Cette couche ajoute UNIQUEMENT les composants
 *  spécifiques nouveaux : table comparatif, grid features, FAQ slots, timeline
 *  changelog, com-pillars, ct-channels, av-cards, aff-stats/calc.
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Page wrappers : padding section harmonisé ─────────────────────────── */
.cv-page .section { padding-block: 72px; }
.cv-page .section .wrap { max-width: 1200px; margin: 0 auto; padding-inline: 24px; }
.cv-page .section-head { max-width: 820px; margin-bottom: 40px; }
.cv-page .section-head.center { margin-left: auto; margin-right: auto; }
.cv-page .section-title { font-size: clamp(28px, 4vw, 44px); line-height: 1.15; margin: 6px 0 14px; letter-spacing: -.02em; }
.cv-page .section-lede { font-size: 17px; line-height: 1.6; color: var(--fg-mute); }

/* ── Comparatif Solo / Pro ─────────────────────────────────────────────── */
.cv-comparatif .cv-cmp-hero { padding-top: 72px; padding-bottom: 32px; background: linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%); }
.cv-comparatif .cv-cmp-cards { padding-top: 16px; padding-bottom: 56px; }
.cv-comparatif .cmp-cards-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cv-comparatif .cmp-card { background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.015) 100%); border: 1px solid var(--line); border-radius: 24px; padding: 36px 32px; position: relative; transition: border-color .25s, transform .25s; display: flex; flex-direction: column; }
.cv-comparatif .cmp-card:hover { border-color: rgba(255,255,255,.18); transform: translateY(-2px); }
.cv-comparatif .cmp-card.is-recommended { border-color: rgba(201,168,76,.4); background: linear-gradient(180deg, rgba(201,168,76,.08) 0%, rgba(201,168,76,.02) 100%); }
.cv-comparatif .cmp-card-badge { position: absolute; top: -14px; right: 24px; background: linear-gradient(180deg, #C9A84C 0%, #B0883C 100%); color: #0A0F1C; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; font-weight: 700; margin: 0; }
.cv-comparatif .cmp-card-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-dim); margin: 0 0 8px; }
.cv-comparatif .cmp-card-title { font-size: 26px; line-height: 1.2; margin: 0 0 14px; letter-spacing: -.02em; }
.cv-comparatif .cmp-card-lede { font-size: 16px; line-height: 1.6; color: var(--fg-mute); margin: 0 0 18px; }
.cv-comparatif .cmp-card-for { font-size: 14px; color: var(--fg-mute); margin: 0 0 24px; padding: 14px 18px; background: rgba(255,255,255,.03); border-left: 3px solid rgba(255,255,255,.18); border-radius: 8px; }
.cv-comparatif .cmp-card.is-recommended .cmp-card-for { border-left-color: #C9A84C; }
.cv-comparatif .cmp-card-features { display: flex; flex-direction: column; gap: 8px; margin: 0 0 26px; flex: 1; }
.cv-comparatif .cmp-feat { font-size: 14px; color: var(--fg); margin: 0; display: flex; gap: 10px; align-items: baseline; }
.cv-comparatif .cmp-feat.is-plus { font-size: 12px; color: #C9A84C; font-weight: 600; }
.cv-comparatif .cmp-feat-mark { color: #10B981; font-weight: 700; flex-shrink: 0; }
.cv-comparatif .cmp-feat.is-plus .cmp-feat-mark { color: #C9A84C; }
.cv-comparatif .cmp-card-cta { margin-top: auto; }

.cv-comparatif .cv-cmp-decision { background: rgba(255,255,255,.015); }
.cv-comparatif .cmp-signals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cv-comparatif .cmp-signal { padding: 28px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 18px; }
.cv-comparatif .cmp-signal-num { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: .2em; color: #C9A84C; margin: 0 0 10px; }
.cv-comparatif .cmp-signal-title { font-size: 19px; line-height: 1.3; margin: 0 0 10px; letter-spacing: -.01em; }
.cv-comparatif .cmp-signal-body { font-size: 14.5px; line-height: 1.6; color: var(--fg-mute); margin: 0; }

.cv-comparatif .cmp-table { display: flex; flex-direction: column; gap: 0; max-width: 980px; margin: 0 auto; }
.cv-comparatif .cmp-row { display: grid; grid-template-columns: 2fr 1fr 1fr; padding: 14px 20px; border-bottom: 1px solid var(--line); align-items: center; }
.cv-comparatif .cmp-row-head { background: rgba(255,255,255,.04); border-bottom: 2px solid var(--line); border-radius: 14px 14px 0 0; }
.cv-comparatif .cmp-row-head .cmp-cell { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-dim); font-weight: 600; }
.cv-comparatif .cmp-cat { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #C9A84C; padding: 22px 20px 8px; margin: 0; border-bottom: 1px solid rgba(201,168,76,.18); }
.cv-comparatif .cmp-cell { margin: 0; font-size: 14px; }
.cv-comparatif .cmp-cell-feat { color: var(--fg); }
.cv-comparatif .cmp-cell-solo, .cv-comparatif .cmp-cell-pro { text-align: center; font-size: 18px; }
.cv-comparatif .cmp-cell.is-yes { color: #10B981; }
.cv-comparatif .cmp-cell.is-no { color: rgba(255,255,255,.25); }
.cv-comparatif .cmp-cell-pro.is-yes { color: #C9A84C; }

.cv-comparatif .cv-cmp-sovereign { background: linear-gradient(180deg, rgba(124,58,237,.04) 0%, rgba(124,58,237,.01) 100%); }
.cv-comparatif .cmp-sovereign-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.cv-comparatif .cmp-sov { padding: 24px 26px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 16px; }
.cv-comparatif .cmp-sov-title { font-size: 17px; margin: 0 0 8px; }
.cv-comparatif .cmp-sov-body { font-size: 14px; line-height: 1.55; color: var(--fg-mute); margin: 0; }

.cv-comparatif .cv-cmp-final { background: linear-gradient(180deg, #0c1326 0%, #0A0F1C 100%); }
.cv-comparatif .cmp-final-cta { gap: 12px; flex-wrap: wrap; }

@media (max-width: 768px) {
  .cv-comparatif .cmp-cards-grid { grid-template-columns: 1fr; }
  .cv-comparatif .cmp-signals { grid-template-columns: 1fr; }
  .cv-comparatif .cmp-sovereign-grid { grid-template-columns: 1fr; }
  .cv-comparatif .cmp-row { grid-template-columns: 1.6fr .7fr .7fr; padding: 12px 14px; gap: 8px; }
  .cv-comparatif .cmp-cell-feat { font-size: 13px; }
}

/* ── Fonctionnalités ─────────────────────────────────────────────────── */
.cv-fonctionnalites .cv-feat-hero { padding-top: 72px; padding-bottom: 32px; background: linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%); }
.cv-fonctionnalites .cv-feat-solo { background: rgba(255,255,255,.015); }
.cv-fonctionnalites .cv-feat-pro { background: linear-gradient(180deg, rgba(201,168,76,.04) 0%, rgba(201,168,76,.01) 100%); }
.cv-fonctionnalites .feat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.cv-fonctionnalites .feat-card { padding: 24px 22px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 16px; transition: border-color .25s, transform .25s; }
.cv-fonctionnalites .feat-card:hover { border-color: rgba(255,255,255,.18); transform: translateY(-2px); }
.cv-fonctionnalites .feat-card.is-pro { background: linear-gradient(180deg, rgba(201,168,76,.06) 0%, rgba(201,168,76,.015) 100%); border-color: rgba(201,168,76,.18); }
.cv-fonctionnalites .feat-tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--fg-dim); margin: 0 0 10px; }
.cv-fonctionnalites .feat-card.is-pro .feat-tag { color: #C9A84C; }
.cv-fonctionnalites .feat-title { font-size: 16px; line-height: 1.3; margin: 0 0 10px; letter-spacing: -.01em; }
.cv-fonctionnalites .feat-body { font-size: 14px; line-height: 1.55; color: var(--fg-mute); margin: 0; }

@media (max-width: 1024px) { .cv-fonctionnalites .feat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .cv-fonctionnalites .feat-grid { grid-template-columns: 1fr; } }

/* ── FAQ ─────────────────────────────────────────────────────────────── */
.cv-faq .cv-faq-hero { padding-top: 72px; padding-bottom: 32px; background: linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%); }
.cv-faq .faq-cat { padding: 36px 0; border-bottom: 1px solid var(--line); }
.cv-faq .faq-cat:last-child { border-bottom: 0; }
.cv-faq .faq-cat-title { font-size: 22px; margin: 0 0 6px; letter-spacing: -.01em; }
.cv-faq .faq-cat-lede { font-size: 14.5px; color: var(--fg-mute); margin: 0 0 18px; }
.cv-faq .faq-slots { padding: 6px 0; min-height: 30px; }
.cv-faq .faq-slots p:empty { display: none; }
.cv-faq .cv-faq-cta { background: linear-gradient(180deg, #0c1326 0%, #0A0F1C 100%); }

/* Native <details> styling for Q/R inserted by Dragan in slots */
.cv-faq details { border: 1px solid var(--line); border-radius: 12px; margin: 8px 0; padding: 0; background: rgba(255,255,255,.02); }
.cv-faq details summary { padding: 16px 20px; font-weight: 600; cursor: pointer; list-style: none; position: relative; padding-right: 44px; }
.cv-faq details summary::after { content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--fg-dim); transition: transform .25s; }
.cv-faq details[open] summary::after { content: '−'; }
.cv-faq details > *:not(summary) { padding: 0 20px 18px; color: var(--fg-mute); font-size: 15px; line-height: 1.6; }

/* ── Changelog ───────────────────────────────────────────────────────── */
.cv-changelog .cv-chg-hero { padding-top: 72px; padding-bottom: 32px; background: linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%); }
.cv-changelog .chg-timeline { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }
.cv-changelog .chg-entry { padding: 24px 28px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 16px; border-left: 3px solid #C9A84C; }
.cv-changelog .chg-entry-head { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.cv-changelog .chg-version { font-family: 'JetBrains Mono', monospace; font-size: 14px; font-weight: 700; color: #C9A84C; margin: 0; }
.cv-changelog .chg-date { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--fg-dim); margin: 0; }
.cv-changelog .chg-tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; margin: 0; }
.cv-changelog .chg-tag-feat { background: rgba(16,185,129,.12); color: #10B981; }
.cv-changelog .chg-tag-fix { background: rgba(249,115,22,.12); color: #F97316; }
.cv-changelog .chg-tag-improve { background: rgba(124,58,237,.12); color: #A78BFA; }
.cv-changelog .chg-tag-arch { background: rgba(251,191,36,.12); color: #FBBF24; }
.cv-changelog .chg-title { font-size: 17px; line-height: 1.35; margin: 0 0 10px; }
.cv-changelog .chg-list { font-size: 14.5px; line-height: 1.6; color: var(--fg-mute); padding-left: 20px; margin: 0; }
.cv-changelog .chg-list li { margin: 4px 0; }
.cv-changelog .chg-list code { background: rgba(255,255,255,.06); padding: 1px 6px; border-radius: 4px; font-size: 13px; }
.cv-changelog .chg-archive-note { color: var(--fg-dim); font-size: 13.5px; margin-top: 32px; }

/* ── Communauté ──────────────────────────────────────────────────────── */
.cv-communaute .cv-com-hero { padding-top: 72px; padding-bottom: 32px; background: linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%); }
.cv-communaute .com-pillars { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.cv-communaute .com-pillar { padding: 28px 30px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 16px; }
.cv-communaute .com-pillar-num { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: .2em; color: #C9A84C; margin: 0 0 10px; }
.cv-communaute .com-pillar-title { font-size: 19px; line-height: 1.3; margin: 0 0 10px; }
.cv-communaute .com-pillar-body { font-size: 14.5px; line-height: 1.6; color: var(--fg-mute); margin: 0; }
.cv-communaute .cv-com-product { background: linear-gradient(180deg, rgba(124,58,237,.04) 0%, rgba(124,58,237,.01) 100%); }
.cv-communaute .com-product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.cv-communaute .com-feat { padding: 22px 24px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 14px; }
.cv-communaute .com-feat-title { font-size: 16px; margin: 0 0 8px; }
.cv-communaute .com-feat-body { font-size: 14px; line-height: 1.55; color: var(--fg-mute); margin: 0; }
.cv-communaute .com-rules-list { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.cv-communaute .com-rule { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 18px 22px; background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: 12px; }
.cv-communaute .com-rule-num { font-family: 'JetBrains Mono', monospace; color: #C9A84C; margin: 0; }
.cv-communaute .com-rule-body { font-size: 15px; line-height: 1.55; color: var(--fg); margin: 0; }

@media (max-width: 768px) {
  .cv-communaute .com-pillars, .cv-communaute .com-product-grid { grid-template-columns: 1fr; }
}

/* ── Contact ─────────────────────────────────────────────────────────── */
.cv-contact .cv-ct-hero { padding-top: 72px; padding-bottom: 32px; background: linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%); }
.cv-contact .ct-channels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cv-contact .ct-channel { padding: 28px 26px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 16px; display: flex; flex-direction: column; }
.cv-contact .ct-channel-tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--fg-dim); margin: 0 0 8px; }
.cv-contact .ct-channel-title { font-size: 19px; line-height: 1.3; margin: 0 0 10px; }
.cv-contact .ct-channel-body { font-size: 14.5px; line-height: 1.6; color: var(--fg-mute); margin: 0 0 20px; flex: 1; }
.cv-contact .cv-ct-form { background: linear-gradient(180deg, rgba(124,58,237,.04) 0%, rgba(124,58,237,.01) 100%); scroll-margin-top: 80px; }
.cv-contact .ct-form-wrap { max-width: 760px; margin: 0 auto; padding: 36px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 20px; }
.cv-contact .ct-form-note { font-size: 13px; color: var(--fg-dim); margin-top: 18px; }
.cv-contact .ct-promise { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cv-contact .ct-promise-card { padding: 32px 24px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 16px; text-align: center; }
.cv-contact .ct-promise-num { font-family: 'JetBrains Mono', monospace; font-size: 38px; color: #C9A84C; font-weight: 700; margin: 0 0 8px; letter-spacing: -.03em; }
.cv-contact .ct-promise-label { font-size: 14px; color: var(--fg-mute); margin: 0; line-height: 1.5; }

@media (max-width: 768px) {
  .cv-contact .ct-channels, .cv-contact .ct-promise { grid-template-columns: 1fr; }
}

/* ── Avis clients ────────────────────────────────────────────────────── */
.cv-avis .cv-av-hero { padding-top: 72px; padding-bottom: 32px; background: linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%); }
.cv-avis .av-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.cv-avis .av-card { padding: 28px 30px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 18px; display: flex; flex-direction: column; gap: 14px; transition: border-color .25s, transform .25s; }
.cv-avis .av-card:hover { border-color: rgba(255,255,255,.18); transform: translateY(-2px); }
.cv-avis .av-pain { font-size: 14px; line-height: 1.55; color: var(--fg-dim); margin: 0; padding: 14px 16px; background: rgba(249,115,22,.06); border-left: 3px solid #F97316; border-radius: 6px; }
.cv-avis .av-quote { font-size: 16px; line-height: 1.55; color: var(--fg); margin: 0; font-style: italic; }
.cv-avis .av-quote::before { content: '"'; color: #C9A84C; margin-right: 4px; }
.cv-avis .av-quote::after { content: '"'; color: #C9A84C; margin-left: 4px; }
.cv-avis .av-author { display: flex; flex-direction: column; gap: 4px; padding-top: 10px; border-top: 1px solid var(--line); margin-top: auto; }
.cv-avis .av-author-name { font-size: 14px; color: var(--fg); margin: 0; }
.cv-avis .av-author-meta { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; letter-spacing: .08em; color: var(--fg-dim); margin: 0; }
.cv-avis .av-mockup-note { color: var(--fg-dim); font-size: 12.5px; margin-top: 28px; }

@media (max-width: 768px) {
  .cv-avis .av-grid { grid-template-columns: 1fr; }
}

/* ── Affiliation ─────────────────────────────────────────────────────── */
.cv-affiliation .cv-aff-hero { padding-top: 72px; padding-bottom: 28px; background: linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%); }
.cv-affiliation .cv-aff-headline { padding-top: 8px; padding-bottom: 56px; }
.cv-affiliation .aff-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.cv-affiliation .aff-stat { padding: 28px 22px; background: linear-gradient(180deg, rgba(201,168,76,.08) 0%, rgba(201,168,76,.02) 100%); border: 1px solid rgba(201,168,76,.24); border-radius: 16px; }
.cv-affiliation .aff-stat-num { font-family: 'JetBrains Mono', monospace; font-size: 36px; color: #C9A84C; font-weight: 700; margin: 0 0 8px; letter-spacing: -.03em; }
.cv-affiliation .aff-stat-label { font-size: 13px; color: var(--fg-mute); margin: 0; line-height: 1.45; }
.cv-affiliation .cv-aff-why { background: rgba(255,255,255,.015); }
.cv-affiliation .aff-reasons { display: flex; flex-direction: column; gap: 18px; max-width: 920px; }
.cv-affiliation .aff-reason { display: grid; grid-template-columns: 60px 1fr; gap: 22px; padding: 24px 26px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 16px; align-items: start; }
.cv-affiliation .aff-reason-num { font-family: 'JetBrains Mono', monospace; font-size: 22px; color: #C9A84C; font-weight: 700; margin: 0; letter-spacing: -.02em; }
.cv-affiliation .aff-reason-title { font-size: 18px; line-height: 1.3; margin: 0 0 8px; }
.cv-affiliation .aff-reason-body { font-size: 14.5px; line-height: 1.6; color: var(--fg-mute); margin: 0; }
.cv-affiliation .aff-calc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cv-affiliation .aff-calc-card { padding: 24px 22px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 16px; text-align: center; }
.cv-affiliation .aff-calc-card.is-highlight { background: linear-gradient(180deg, rgba(201,168,76,.08) 0%, rgba(201,168,76,.02) 100%); border-color: rgba(201,168,76,.32); }
.cv-affiliation .aff-calc-tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--fg-dim); margin: 0 0 10px; }
.cv-affiliation .aff-calc-base { font-size: 18px; color: var(--fg-mute); margin: 0 0 12px; }
.cv-affiliation .aff-calc-result { font-family: 'JetBrains Mono', monospace; font-size: 28px; color: #C9A84C; margin: 0 0 6px; letter-spacing: -.03em; }
.cv-affiliation .aff-calc-note { font-size: 12.5px; color: var(--fg-dim); margin: 0; }
.cv-affiliation .aff-calc-scenario { max-width: 780px; margin: 32px auto 0; padding: 22px 26px; background: rgba(16,185,129,.06); border: 1px solid rgba(16,185,129,.24); border-radius: 14px; font-size: 15px; line-height: 1.6; color: var(--fg); }
.cv-affiliation .aff-vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 980px; margin: 0 auto; }
.cv-affiliation .aff-vs-card { padding: 28px 30px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 18px; }
.cv-affiliation .aff-vs-tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: #C9A84C; margin: 0 0 10px; }
.cv-affiliation .aff-vs-title { font-size: 19px; margin: 0 0 12px; }
.cv-affiliation .aff-vs-body { font-size: 14.5px; line-height: 1.6; color: var(--fg-mute); margin: 0; }

@media (max-width: 1024px) { .cv-affiliation .aff-stats, .cv-affiliation .aff-calc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) {
  .cv-affiliation .aff-stats, .cv-affiliation .aff-calc-grid { grid-template-columns: 1fr; }
  .cv-affiliation .aff-vs-grid { grid-template-columns: 1fr; }
  .cv-affiliation .aff-reason { grid-template-columns: 1fr; gap: 8px; }
}

/* ── Light theme ─────────────────────────────────────────────────────── */
html[data-theme="light"] .cv-page .cmp-card,
html[data-theme="light"] .cv-page .cmp-signal,
html[data-theme="light"] .cv-page .cmp-sov,
html[data-theme="light"] .cv-page .feat-card,
html[data-theme="light"] .cv-page .com-pillar,
html[data-theme="light"] .cv-page .com-feat,
html[data-theme="light"] .cv-page .com-rule,
html[data-theme="light"] .cv-page .ct-channel,
html[data-theme="light"] .cv-page .ct-promise-card,
html[data-theme="light"] .cv-page .av-card,
html[data-theme="light"] .cv-page .aff-stat,
html[data-theme="light"] .cv-page .aff-reason,
html[data-theme="light"] .cv-page .aff-calc-card,
html[data-theme="light"] .cv-page .aff-vs-card,
html[data-theme="light"] .cv-page .chg-entry,
html[data-theme="light"] .cv-page .ct-form-wrap {
  background: rgba(10,15,28,.025) !important;
  border-color: rgba(10,15,28,.1) !important;
}
html[data-theme="light"] .cv-page .feat-body,
html[data-theme="light"] .cv-page .com-pillar-body,
html[data-theme="light"] .cv-page .com-feat-body,
html[data-theme="light"] .cv-page .com-rule-body,
html[data-theme="light"] .cv-page .ct-channel-body,
html[data-theme="light"] .cv-page .ct-promise-label,
html[data-theme="light"] .cv-page .av-quote,
html[data-theme="light"] .cv-page .aff-reason-body,
html[data-theme="light"] .cv-page .aff-vs-body,
html[data-theme="light"] .cv-page .cmp-signal-body,
html[data-theme="light"] .cv-page .cmp-sov-body { color: rgba(10,15,28,.7) !important; }

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.17 — block-gap fix pour les 8 nouvelles cv-page (et défense p:empty)
 * ════════════════════════════════════════════════════════════════════════════
 * WP applique --wp--style--block-gap = 24px par défaut sur is-layout-constrained.
 * Ça crée un margin de 24px entre chaque <section> top-level dans le main.
 * Override le gap à 0 pour qu'on contrôle l'espacement exclusivement via padding
 * des sections. Même règle que le fix appliqué aux autres .cv-page existants. */
.cv-comparatif,
.cv-fonctionnalites,
.cv-faq,
.cv-changelog,
.cv-communaute,
.cv-contact,
.cv-avis,
.cv-affiliation { --wp--style--block-gap: 0 !important; }
.cv-comparatif > *,
.cv-fonctionnalites > *,
.cv-faq > *,
.cv-changelog > *,
.cv-communaute > *,
.cv-contact > *,
.cv-avis > *,
.cv-affiliation > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* Défense p:empty (règle immuable feedback_no_empty_p_no_annotations) */
.cv-comparatif p:empty,
.cv-fonctionnalites p:empty,
.cv-faq p:empty,
.cv-changelog p:empty,
.cv-communaute p:empty,
.cv-contact p:empty,
.cv-avis p:empty,
.cv-affiliation p:empty { display: none !important; }

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.18 — Fix grille Affiliation + Load more bar
 * ════════════════════════════════════════════════════════════════════════════
 * 1. .aff-reason a 3 enfants directs (num, title, body) mais une grille 2 cols.
 *    Fix : faire span 2 rows au num, et placer title/body en col 2.
 * 2. Load more bar : bouton centré + compteur, pour Changelog (5) et Avis (10). */

.cv-affiliation .aff-reason { grid-template-columns: 60px 1fr; grid-template-rows: auto auto; align-items: start; }
.cv-affiliation .aff-reason-num { grid-row: 1 / 3; grid-column: 1; }
.cv-affiliation .aff-reason-title { grid-column: 2; grid-row: 1; }
.cv-affiliation .aff-reason-body { grid-column: 2; grid-row: 2; }
@media (max-width: 768px) {
  .cv-affiliation .aff-reason { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 8px; }
  .cv-affiliation .aff-reason-num { grid-row: 1; grid-column: 1; }
  .cv-affiliation .aff-reason-title { grid-row: 2; grid-column: 1; }
  .cv-affiliation .aff-reason-body { grid-row: 3; grid-column: 1; }
}

/* Load more bar (commun) */
.cv-loadmore-bar { max-width: 1200px; margin: 28px auto 0; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.cv-loadmore-counter { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: .14em; color: var(--fg-dim); margin: 0; }
.cv-loadmore-btn { appearance: none; background: linear-gradient(180deg, rgba(201,168,76,.16) 0%, rgba(201,168,76,.06) 100%); border: 1px solid rgba(201,168,76,.32); color: #C9A84C; font-family: inherit; font-size: 13px; font-weight: 600; letter-spacing: .04em; padding: 11px 22px; border-radius: 999px; cursor: pointer; transition: background .2s, border-color .2s, transform .2s; }
.cv-loadmore-btn:hover { background: linear-gradient(180deg, rgba(201,168,76,.24) 0%, rgba(201,168,76,.1) 100%); border-color: rgba(201,168,76,.5); transform: translateY(-1px); }

/* Light theme */
html[data-theme="light"] .cv-loadmore-counter { color: rgba(10,15,28,.6); }

/* ════════════════════════════════════════════════════════════════════════════
 * v1.16.19 — Boutons cv-primary / cv-ghost généralisés à TOUTES les .cv-page
 * ════════════════════════════════════════════════════════════════════════════
 * Les règles existantes ciblaient uniquement .cv-integrations. On propage le
 * même styling à .cv-page (couvre comparatif, fonctionnalites, faq, changelog,
 * communaute, contact, avis, affiliation + intégrations héritées). */

.cv-page .wp-block-button.is-style-cv-primary > .wp-block-button__link,
.cv-faq .wp-block-button.is-style-cv-primary > .wp-block-button__link,
.cv-page a.wp-block-button__link.wp-element-button, .cv-faq a.wp-block-button__link.wp-element-button,
.cv-faq a.wp-block-button__link.wp-element-button, .cv-faq a.wp-block-button__link.wp-element-button {
  text-decoration: none !important;
}
.cv-page .wp-block-button.is-style-cv-primary > .wp-block-button__link,
.cv-faq .wp-block-button.is-style-cv-primary > .wp-block-button__link {
  background: linear-gradient(180deg, #8a46f5, #6d2ce4) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  box-shadow:
    0 8px 22px rgba(124,58,237,.45),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  transition: filter .2s, box-shadow .2s, transform .2s;
}
.cv-page .wp-block-button.is-style-cv-primary > .wp-block-button__link:hover,
.cv-faq .wp-block-button.is-style-cv-primary > .wp-block-button__link:hover {
  filter: brightness(1.08);
  box-shadow:
    0 12px 28px rgba(124,58,237,.55),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform: translateY(-1px);
  color: #fff !important;
}
.cv-page .wp-block-button.is-style-cv-ghost > .wp-block-button__link,
.cv-faq .wp-block-button.is-style-cv-ghost > .wp-block-button__link {
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  transition: background .2s, border-color .2s;
}
.cv-page .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover,
.cv-faq .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
}
/* Light theme */
html[data-theme="light"] .cv-page .wp-block-button.is-style-cv-ghost > .wp-block-button__link,
html[data-theme="light"] .cv-faq .wp-block-button.is-style-cv-ghost > .wp-block-button__link {
  background: rgba(10,15,28,.04) !important;
  border-color: rgba(10,15,28,.18) !important;
  color: rgba(10,15,28,.85) !important;
}
html[data-theme="light"] .cv-page .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover,
html[data-theme="light"] .cv-faq .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover {
  background: rgba(10,15,28,.08) !important;
  border-color: rgba(10,15,28,.32) !important;
  color: rgba(10,15,28,.95) !important;
}

/* ──────────────────────────────────────────────────────────
   PAGE BLOG — Magazine v1.14.64
   ────────────────────────────────────────────────────────── */
.cv-blog-page{--cv-blog-card-bg:rgba(255,255,255,.025);--cv-blog-card-border:rgba(255,255,255,.08);}
html[data-theme="light"] .cv-blog-page{--cv-blog-card-bg:#FAF7F0;--cv-blog-card-border:rgba(23,26,43,.08);}

/* HERO */
.cv-blog-page .cv-blog-hero{position:relative;padding:clamp(60px,10vw,120px) 0 clamp(40px,6vw,72px);overflow:hidden;}
.cv-blog-hero-bg{position:absolute;inset:0;pointer-events:none;}
.cv-blog-hero-bg .grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 70%);}
.cv-blog-hero-bg .glow-a{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.18),transparent 60%);top:-200px;right:-150px;}
.cv-blog-hero-bg .glow-b{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(109,213,237,.12),transparent 60%);bottom:-150px;left:-100px;}
.cv-blog-hero-inner{position:relative;text-align:center;}
.cv-blog-eyebrow{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-2);margin:0 0 18px;padding:6px 14px;border:1px solid var(--gold-line);border-radius:999px;}
.cv-blog-title{font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:-.02em;margin:0 auto 24px;max-width:920px;}
.cv-blog-title mark{background:linear-gradient(95deg,#9F67FF 0%,#fff 40%,#7C3AED 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0;}
html[data-theme="light"] .cv-blog-title mark{background:linear-gradient(95deg,#7C3AED 0%,#5b21b6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.cv-blog-lede{font-size:clamp(15px,1.7vw,18px);color:var(--fg-mute);line-height:1.6;max-width:720px;margin:0 auto 32px;}
.cv-blog-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;}
.cv-blog-cat{display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:600;border:1px solid var(--cv-blog-card-border);background:var(--cv-blog-card-bg);color:var(--fg);transition:all .25s var(--ease-out);text-decoration:none;}
.cv-blog-cat:hover{transform:translateY(-2px);border-color:var(--violet-2);background:rgba(124,58,237,.08);}
.cv-blog-cat-tout{border-color:rgba(255,255,255,.32);}
.cv-blog-cat-conformite{border-color:rgba(109,213,237,.32);}
.cv-blog-cat-productivite{border-color:rgba(124,58,237,.32);}
.cv-blog-cat-cas{border-color:rgba(232,201,124,.32);}
.cv-blog-cat-tutos{border-color:rgba(34,197,94,.32);}

/* SECTION HEADERS */
.cv-blog-page .cv-blog-section-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--violet-2);margin:0 0 10px;font-weight:700;}
.cv-blog-page .cv-blog-section-head{margin-bottom:40px;}
.cv-blog-page .cv-blog-section-title{font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.015em;margin:0;}
.cv-blog-page .cv-blog-section-title mark{background:none;color:var(--gold-2);padding:0;}

/* FEATURED ARTICLE */
.cv-blog-page .cv-blog-featured{padding-block:clamp(48px,7vw,72px);}
.cv-blog-featured-card{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;background:var(--cv-blog-card-bg);border:1px solid var(--cv-blog-card-border);border-radius:24px;padding:32px;align-items:center;transition:all .3s var(--ease-out);}
.cv-blog-featured-card:hover{border-color:rgba(124,58,237,.32);transform:translateY(-3px);box-shadow:0 20px 60px -20px rgba(124,58,237,.25);}
@media(max-width:880px){.cv-blog-featured-card{grid-template-columns:1fr;}}
.cv-blog-featured-img{aspect-ratio:16/10;border-radius:14px;overflow:hidden;}
.cv-blog-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.cv-blog-img-violet{background:linear-gradient(135deg,#1A1A3E,#2D1854);color:#9F67FF;}
.cv-blog-img-cyan{background:linear-gradient(135deg,#0E2A3E,#1B4A6B);color:#6DD5ED;}
.cv-blog-img-gold{background:linear-gradient(135deg,#2A1F0E,#4A3318);color:#E8C97C;}
.cv-blog-featured-title{font-size:clamp(22px,2.6vw,30px);line-height:1.2;letter-spacing:-.012em;margin:8px 0 14px;}
.cv-blog-featured-excerpt{font-size:15.5px;line-height:1.65;color:var(--fg-mute);margin:0 0 18px;}
.cv-blog-featured-card .wp-block-buttons{margin-top:18px;}

/* CARD CATEGORY TAG */
.cv-blog-card-cat{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:6px;margin:0 0 12px;color:#fff;}
.cv-blog-card-cat.cv-blog-cat-conformite{background:rgba(109,213,237,.18);color:#6DD5ED;}
.cv-blog-card-cat.cv-blog-cat-productivite{background:rgba(124,58,237,.18);color:#9F67FF;}
.cv-blog-card-cat.cv-blog-cat-cas{background:rgba(232,201,124,.18);color:#E8C97C;}
.cv-blog-card-cat.cv-blog-cat-tutos{background:rgba(34,197,94,.18);color:#86efac;}
.cv-blog-cat-tag.cv-blog-cat-tout{background:rgba(255,255,255,.10);color:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.18);}

/* GRID */
.cv-blog-page .cv-blog-latest{padding-block:clamp(40px,6vw,72px);}
.cv-blog-page .cv-blog-grid{display:grid;gap:24px;}
.cv-blog-page .cv-blog-grid-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:980px){.cv-blog-page .cv-blog-grid-3{grid-template-columns:repeat(2,1fr);}}
/* v1.60.77→v1.60.81 — Mobile : 1 colonne pleine largeur pour blog + archives.

   HISTORIQUE des tentatives :
   - v1.60.77 : ciblait grid-template-columns → règle source est en FLEX, no-op
   - v1.60.79 : selector body.blog → ne match pas home rendue comme page
   - v1.60.80 : selector .cv-blog-page → specificity (0,0,3,1) inférieure à
     la règle origine body.blog .wp-block-query... (0,0,3,2) → règle origine
     gagne malgré le !important (specificity > ordre source)

   v1.60.81 — FIX FINAL : selector qualifié `> li.wp-block-post` qui passe à
   specificity (0,0,4,1) > origine (0,0,3,2). Confirmé live : card 360px
   → 1136px sans toucher au viewport. */
@media(max-width:768px){
  .cv-blog-page .wp-block-query .wp-block-post-template > li.wp-block-post,
  .cv-blog-page .wp-block-query ul.wp-block-post-template > li.wp-block-post,
  .cv-category .wp-block-query .wp-block-post-template > li.wp-block-post,
  .cv-category .wp-block-query ul.wp-block-post-template > li.wp-block-post,
  .cv-archive .wp-block-query .wp-block-post-template > li.wp-block-post,
  .cv-archive .wp-block-query ul.wp-block-post-template > li.wp-block-post,
  .cv-tag .wp-block-query .wp-block-post-template > li.wp-block-post,
  .cv-tag .wp-block-query ul.wp-block-post-template > li.wp-block-post,
  .cv-author .wp-block-query .wp-block-post-template > li.wp-block-post,
  .cv-author .wp-block-query ul.wp-block-post-template > li.wp-block-post,
  .cv-date .wp-block-query .wp-block-post-template > li.wp-block-post,
  .cv-date .wp-block-query ul.wp-block-post-template > li.wp-block-post{
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  /* Grid fallback (si quelque part c'est en grid plutôt qu'en flex) */
  .cv-blog-page .cv-blog-grid-3,
  .cv-blog-page .wp-block-post-template.is-layout-grid,
  .cv-category .wp-block-post-template.is-layout-grid,
  .cv-archive .wp-block-post-template.is-layout-grid,
  .cv-tag .wp-block-post-template.is-layout-grid,
  .cv-author .wp-block-post-template.is-layout-grid,
  .cv-date .wp-block-post-template.is-layout-grid,
  .cv-archive-grid{
    grid-template-columns:1fr !important;
  }
}

/* CARD ARTICLE */
.cv-blog-card{background:var(--cv-blog-card-bg);border:1px solid var(--cv-blog-card-border);border-radius:18px;padding:0;overflow:hidden;transition:all .25s var(--ease-out);display:flex;flex-direction:column;}
.cv-blog-card:hover{transform:translateY(-4px);border-color:rgba(124,58,237,.3);box-shadow:0 16px 40px -16px rgba(0,0,0,.4);}
.cv-blog-card-img{aspect-ratio:16/9;overflow:hidden;}
.cv-blog-card>.cv-blog-card-cat,.cv-blog-card>.cv-blog-card-title,.cv-blog-card>.cv-blog-card-excerpt{padding-inline:22px;}
.cv-blog-card>.cv-blog-card-cat{margin-top:20px;}
.cv-blog-card-title{font-size:19px;line-height:1.3;letter-spacing:-.005em;margin:6px 0 10px;}
.cv-blog-card-title a{color:inherit;text-decoration:none;transition:color .2s;}
.cv-blog-card-title a:hover{color:var(--violet-2);}
.cv-blog-card-excerpt{font-size:14.5px;line-height:1.55;color:var(--fg-mute);margin:0 0 16px;flex:1;}
.cv-blog-card-meta{display:flex;align-items:center;gap:10px;padding:14px 22px;border-top:1px dashed rgba(255,255,255,.08);font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--fg-dim);}
html[data-theme="light"] .cv-blog-card-meta{border-top-color:rgba(23,26,43,.08);}
.cv-blog-card-compact{padding:24px;}
.cv-blog-card-compact .cv-blog-card-title{margin-top:0;padding:0;}
.cv-blog-card-compact .cv-blog-card-excerpt{padding:0;}
.cv-blog-card-compact .cv-blog-card-meta{padding:14px 0 0;margin-top:8px;}

/* AUTHOR / META */
.cv-blog-author{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:13.5px;color:var(--fg);}
.cv-blog-avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff;}
.cv-blog-meta-sep{color:var(--fg-dim);}

/* PROMO PRO */
.cv-blog-page .cv-blog-promo-pro{padding-block:clamp(40px,5vw,56px);}
.cv-blog-promo-card{background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(159,103,255,.08));border:1px solid rgba(124,58,237,.32);border-radius:24px;padding:clamp(32px,5vw,52px);position:relative;overflow:hidden;}
.cv-blog-promo-card::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(232,201,124,.12),transparent 60%);top:-100px;right:-50px;pointer-events:none;}
.cv-blog-promo-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold-2);margin:0 0 12px;font-weight:700;position:relative;}
.cv-blog-promo-title{font-size:clamp(28px,3.6vw,42px);line-height:1.1;letter-spacing:-.015em;margin:0 0 14px;position:relative;}
.cv-blog-promo-title mark{background:linear-gradient(95deg,#E8C97C 0%,#fff 50%,#C9A24B 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0;}
.cv-blog-promo-lede{font-size:16px;line-height:1.6;color:var(--fg-mute);margin:0 0 24px;max-width:680px;position:relative;}

/* NEWSLETTER */
.cv-blog-page .cv-blog-newsletter{padding-block:clamp(48px,7vw,80px);}
.cv-blog-newsletter-card{background:linear-gradient(180deg,rgba(109,213,237,.06),rgba(124,58,237,.04));border:1px solid rgba(109,213,237,.24);border-radius:24px;padding:clamp(32px,5vw,56px);text-align:center;max-width:780px;margin:0 auto;}
.cv-blog-newsletter-icon{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:rgba(109,213,237,.12);color:var(--cyan);margin:0 auto 18px;}
.cv-blog-newsletter-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);margin:0 0 12px;font-weight:700;}
.cv-blog-newsletter-title{font-size:clamp(26px,3.4vw,38px);line-height:1.1;letter-spacing:-.012em;margin:0 0 14px;}
.cv-blog-newsletter-title mark{background:none;color:var(--cyan-2);padding:0;}
.cv-blog-newsletter-lede{font-size:15.5px;line-height:1.6;color:var(--fg-mute);margin:0 auto 28px;max-width:580px;}
.cv-blog-newsletter-form{display:flex;gap:10px;max-width:520px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.cv-blog-newsletter-email{flex:1 1 240px;min-width:0;padding:14px 18px;border-radius:12px;border:1px solid var(--cv-blog-card-border);background:var(--cv-blog-card-bg);color:var(--fg);font-size:15px;font-family:'Inter',sans-serif;transition:border-color .2s;}
.cv-blog-newsletter-email:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(109,213,237,.2);}
.cv-blog-newsletter-submit{padding:14px 24px;border-radius:12px;border:0;font-size:15px;font-weight:700;background:linear-gradient(135deg,#7C3AED,#9F67FF);color:#fff;cursor:pointer;transition:all .25s var(--ease-out);}
.cv-blog-newsletter-submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(124,58,237,.5);}
.cv-blog-newsletter-trust{font-size:12.5px;color:var(--fg-dim);margin:18px 0 0;font-family:'JetBrains Mono',monospace;letter-spacing:.3px;}

/* CATEGORY SECTIONS */
.cv-blog-page .cv-blog-cat-section{padding-block:clamp(48px,7vw,80px);border-top:1px solid var(--cv-blog-card-border);}
.cv-blog-cat-head{margin-bottom:32px;}
.cv-blog-cat-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:2px;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:6px;margin:0 0 14px;}
.cv-blog-cat-tag.cv-blog-cat-conformite{background:rgba(109,213,237,.16);color:#6DD5ED;}
.cv-blog-cat-tag.cv-blog-cat-productivite{background:rgba(124,58,237,.16);color:#9F67FF;}
.cv-blog-cat-tag.cv-blog-cat-cas{background:rgba(232,201,124,.16);color:#E8C97C;}
.cv-blog-cat-tag.cv-blog-cat-tutos{background:rgba(34,197,94,.16);color:#86efac;}
.cv-blog-cat-title{font-size:clamp(26px,3.2vw,38px);line-height:1.1;letter-spacing:-.012em;margin:0;}
.cv-blog-cat-title mark{background:none;color:var(--gold-2);padding:0;}

/* CASES section background variant */
.cv-blog-cat-cases{background:linear-gradient(180deg,rgba(232,201,124,.04) 0%,transparent 100%);}

/* FINAL CTA — réutilise styles existants .final-cta + override pour blog */
.cv-blog-final{padding-block:clamp(60px,8vw,100px);}

/* DARK editor preview */
html[data-theme="light"] .cv-blog-page{
  --cv-blog-card-bg:#FAF7F0;
  --cv-blog-card-border:rgba(23,26,43,.08);
}
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-conformite{background:rgba(14,165,196,.12);color:#0EA5C4;}
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-productivite{background:rgba(124,58,237,.1);color:#7C3AED;}
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-cas{background:rgba(176,131,51,.12);color:#8E6B2B;}
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-tutos{background:rgba(34,139,34,.1);color:#15803D;}
html[data-theme="light"] .cv-blog-promo-card{background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(232,201,124,.04));border-color:rgba(124,58,237,.22);}
html[data-theme="light"] .cv-blog-newsletter-card{background:linear-gradient(180deg,rgba(14,165,196,.05),rgba(124,58,237,.03));border-color:rgba(14,165,196,.22);}

/* ===========================================================================
 * v1.16.25 — Pages Industries (hub avatars) + Fonctionnalités refondue (12 cat)
 * ===========================================================================
 * Industries : hero + intro 2 layers + grid 10 cards cliquables + not-listed + CTA
 * Fonctionnalités : 12 catégories pleine largeur, chaque cat avec sub-grid de 4 sous-cat
 * Tags Solo / Pro / Solo+Pro / Pilier (souveraineté)
 */

/* --- Industries hub --- */
.cv-industries{--ind-card-bg:rgba(255,255,255,.03);--ind-card-bd:rgba(255,255,255,.08);--ind-card-bg-hover:rgba(124,58,237,.08);--ind-card-bd-hover:rgba(124,58,237,.42);}
html[data-theme="light"] .cv-industries{--ind-card-bg:rgba(23,26,43,.02);--ind-card-bd:rgba(23,26,43,.10);--ind-card-bg-hover:rgba(124,58,237,.06);--ind-card-bd-hover:rgba(124,58,237,.30);}
.cv-ind-hero{padding-block:88px 56px;}
.cv-ind-hero .section-head{max-width:920px;margin-inline:auto;}
.cv-ind-hero-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 22px;margin-top:32px;}
.cv-ind-hero-strip-item{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:var(--text-muted);}
.cv-ind-hero-strip-item svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;}
.cv-ind-intro{padding-block:0 56px;}
.cv-ind-layers{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.cv-ind-layer{padding:28px 28px 26px;border-radius:18px;border:1px solid var(--ind-card-bd);background:var(--ind-card-bg);}
.cv-ind-layer .layer-tag{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin:0 0 10px;color:var(--accent);}
.cv-ind-layer-pro .layer-tag{color:var(--accent-2,#E8C97C);}
.cv-ind-layer .layer-title{font-size:1.4rem;font-weight:700;margin:0 0 10px;line-height:1.25;}
.cv-ind-layer .layer-body{font-size:1rem;line-height:1.55;color:var(--text-muted);margin:0;}
.cv-ind-grid-section{padding-block:32px 56px;}
.cv-ind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:30px;}
.cv-ind-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;padding:24px 24px 22px;border-radius:18px;border:1px solid var(--ind-card-bd);background:var(--ind-card-bg);text-decoration:none;color:inherit;position:relative;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;}
.cv-ind-card:hover{transform:translateY(-3px);background:var(--ind-card-bg-hover);border-color:var(--ind-card-bd-hover);box-shadow:0 8px 24px -8px rgba(124,58,237,.30);}
.cv-ind-card-tag{display:inline-block;align-self:start;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px;}
.cv-ind-card-tag-solo{background:rgba(34,197,94,.12);color:#22C55E;}
.cv-ind-card-tag-pro{background:rgba(232,201,124,.12);color:#E8C97C;}
.cv-ind-card-tag-solopro{background:rgba(124,58,237,.12);color:#A78BFA;}
.cv-ind-card-ic{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:rgba(124,58,237,.10);color:var(--accent);}
.cv-ind-card-ic svg{width:22px;height:22px;}
.cv-ind-card-title{font-size:1.18rem;font-weight:700;margin:0;line-height:1.3;}
.cv-ind-card-body{font-size:.95rem;line-height:1.5;color:var(--text-muted);margin:0;}
.cv-ind-card-meta{font-size:.82rem;color:var(--text-muted);opacity:.75;}
.cv-ind-card-arrow{position:absolute;top:24px;right:22px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .18s ease;}
.cv-ind-card-arrow svg{width:18px;height:18px;}
.cv-ind-card:hover .cv-ind-card-arrow{opacity:1;transform:translateX(0);}
.cv-ind-not-listed{padding-block:0 56px;}
.cv-ind-not-listed-inner{padding:36px 36px 32px;border-radius:20px;border:1px dashed var(--ind-card-bd-hover);background:linear-gradient(135deg,rgba(124,58,237,.05),rgba(232,201,124,.03));max-width:920px;margin-inline:auto;}
.cv-ind-not-listed-ctas{margin-top:18px;}
.cv-ind-cta{padding-block:48px 88px;text-align:center;}
@media (max-width:780px){
  .cv-ind-layers{grid-template-columns:1fr;}
  .cv-ind-grid{grid-template-columns:1fr;}
  .cv-ind-hero{padding-block:60px 36px;}
  .cv-ind-card-arrow{display:none;}
}

/* --- Fonctionnalités refondue (12 catégories) --- */
.cv-page.cv-feat,
section.cv-feat-cat,
section.cv-feat-hero,
section.cv-feat-cta{--feat-card-bg:rgba(255,255,255,.03);--feat-card-bd:rgba(255,255,255,.08);}
html[data-theme="light"] section.cv-feat-cat,
html[data-theme="light"] section.cv-feat-hero,
html[data-theme="light"] section.cv-feat-cta{--feat-card-bg:rgba(23,26,43,.02);--feat-card-bd:rgba(23,26,43,.10);}

.cv-feat-hero{padding-block:88px 40px;}
.cv-feat-hero .section-head{max-width:980px;margin-inline:auto;}
.cv-feat-legend{margin-top:30px;gap:20px;flex-wrap:wrap;}
.cv-feat-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:0;padding:6px 14px;border-radius:999px;}
.cv-feat-legend-item .dot{width:8px;height:8px;border-radius:999px;display:inline-block;}
.cv-feat-legend-solo{background:rgba(34,197,94,.10);color:#22C55E;}
.cv-feat-legend-solo .dot{background:#22C55E;}
.cv-feat-legend-pro{background:rgba(232,201,124,.12);color:#E8C97C;}
.cv-feat-legend-pro .dot{background:#E8C97C;}
.cv-feat-legend-solopro{background:rgba(124,58,237,.12);color:#A78BFA;}
.cv-feat-legend-solopro .dot{background:#A78BFA;}

.cv-feat-cat{padding-block:48px 56px;border-top:1px solid var(--feat-card-bd);}
.cv-feat-cat:nth-of-type(odd){background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 60%);}
html[data-theme="light"] .cv-feat-cat:nth-of-type(odd){background:linear-gradient(180deg,rgba(23,26,43,.012),transparent 60%);}
.cv-feat-cat-head{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:24px;align-items:start;max-width:980px;margin-bottom:30px;}
.cv-feat-cat-num{grid-row:1 / 3;grid-column:1;font-size:3.4rem;font-weight:800;line-height:1;color:rgba(124,58,237,.35);margin:0;letter-spacing:-.04em;font-feature-settings:"tnum";}
.cv-feat-cat-tag{grid-row:1;grid-column:2;display:inline-block;justify-self:start;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:4px 12px;border-radius:999px;margin:0 0 10px;}
.cv-feat-tag-solo{background:rgba(34,197,94,.12);color:#22C55E;}
.cv-feat-tag-pro{background:rgba(232,201,124,.14);color:#E8C97C;}
.cv-feat-tag-solopro{background:rgba(124,58,237,.14);color:#A78BFA;}
.cv-feat-tag-pillar{background:linear-gradient(135deg,rgba(232,201,124,.18),rgba(124,58,237,.18));color:#E8C97C;border:1px solid rgba(232,201,124,.30);}
.cv-feat-cat-title{grid-row:2;grid-column:2;font-size:2.05rem;font-weight:900;line-height:1.12;margin:0 0 12px;letter-spacing:-.015em;}
.cv-feat-cat-lede{grid-row:3;grid-column:1 / 3;font-size:1.06rem;line-height:1.55;color:var(--text-muted);margin:6px 0 0;}
@media (max-width:680px){
  .cv-feat-cat-head{grid-template-columns:1fr;}
  .cv-feat-cat-num{grid-row:1;grid-column:1;font-size:2.4rem;margin-bottom:6px;}
  .cv-feat-cat-tag,.cv-feat-cat-title,.cv-feat-cat-lede{grid-column:1;}
  .cv-feat-cat-tag{grid-row:2;}
  .cv-feat-cat-title{grid-row:3;font-size:1.5rem;}
  .cv-feat-cat-lede{grid-row:4;}
}

.cv-feat-sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:8px;}
.cv-feat-sub{padding:20px 22px 22px;border-radius:14px;border:1px solid var(--feat-card-bd);background:var(--feat-card-bg);}
.cv-feat-sub-wide{grid-column:span 2;}
@media (max-width:760px){.cv-feat-sub-wide{grid-column:span 1;}}
.cv-feat-sub-title{font-size:1.18rem !important;font-weight:800 !important;margin:0 0 4px !important;line-height:1.22 !important;color:var(--text) !important;letter-spacing:-.005em;text-transform:none;}
.cv-feat-sub-lede{font-size:.78rem !important;line-height:1.45 !important;color:var(--text-muted) !important;margin:0 0 14px !important;font-style:italic;font-weight:400 !important;opacity:.78;}
.cv-feat-atoms{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;}
.cv-feat-atoms li{font-size:.84rem;line-height:1.45;padding:7px 11px 7px 28px;border-radius:8px;background:rgba(124,58,237,.04);border-left:3px solid rgba(124,58,237,.40);position:relative;color:var(--text);}
.cv-feat-atoms li::before{content:"";position:absolute;left:10px;top:50%;width:8px;height:8px;border-radius:999px;background:rgba(124,58,237,.50);transform:translateY(-50%);}
.cv-feat-atoms li strong{color:var(--text);font-weight:700;}
.cv-feat-atoms-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media (max-width:560px){.cv-feat-atoms-2col{grid-template-columns:1fr;}}

/* Pilier souveraineté : accent doré */
.cv-feat-cat-sov{background:linear-gradient(180deg,rgba(232,201,124,.05),transparent 70%);border-top:1px solid rgba(232,201,124,.18);}
.cv-feat-cat-sov .cv-feat-cat-num{color:rgba(232,201,124,.55);}
.cv-feat-cat-sov .cv-feat-sub{border-color:rgba(232,201,124,.16);}
.cv-feat-cat-sov .cv-feat-atoms li{background:rgba(232,201,124,.06);border-left-color:rgba(232,201,124,.45);}
.cv-feat-cat-sov .cv-feat-atoms li::before{background:rgba(232,201,124,.55);}

.cv-feat-cta{padding-block:56px 88px;text-align:center;}
.cv-feat-cta .wp-block-buttons{justify-content:center;flex-wrap:wrap;gap:12px;}

/* CTA inline en bas d'une cat (utilisé par cat 12 → /developpeurs/) */
.cv-feat-cat-cta{margin-top:18px;gap:12px;flex-wrap:wrap;}

/* ===========================================================================
 * v1.16.26 — Page Développeurs (/developpeurs/)
 * ===========================================================================
 * Mix vitrine commerciale + technique : hero AIDA, sommaire sticky, sections
 * API REST / Webhooks / Hooks WP / Sécurité / Intégrations Fluent / Ressources.
 * Code blocks dark monospace + badges méthodes HTTP colorés.
 */

.cv-developpeurs{
  --devs-bg:rgba(255,255,255,.03);
  --devs-bd:rgba(255,255,255,.08);
  --devs-code-bg:rgba(8,10,20,.85);
  --devs-code-text:#E0E6F1;
  --devs-method-get:#22C55E;
  --devs-method-post:#7C3AED;
  --devs-method-put:#F59E0B;
  --devs-method-delete:#EF4444;
}
html[data-theme="light"] .cv-developpeurs{
  --devs-bg:rgba(23,26,43,.02);
  --devs-bd:rgba(23,26,43,.10);
  --devs-code-bg:#0F1320;
  --devs-code-text:#E0E6F1;
}

/* --- Hero --- */
.cv-devs-hero{padding-block:88px 56px;}
.cv-devs-hero .section-head{max-width:980px;margin-inline:auto;}
.cv-devs-trust{margin-top:32px;gap:10px 14px;flex-wrap:wrap;justify-content:center;}
.cv-devs-trust-item{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;letter-spacing:.03em;margin:0;padding:6px 14px;border-radius:999px;background:rgba(124,58,237,.10);color:var(--accent);border:1px solid rgba(124,58,237,.22);}
.cv-devs-trust-item::before{content:"✓";font-weight:900;color:#22C55E;}
.cv-devs-hero-ctas{margin-top:30px;gap:12px;flex-wrap:wrap;}

/* --- Sommaire sticky --- */
.cv-devs-toc{padding-block:0 32px;position:sticky;top:60px;z-index:5;background:var(--cv-bg, #0a0d1c);background:linear-gradient(180deg,var(--cv-bg,#0a0d1c),rgba(10,13,28,.90));backdrop-filter:saturate(1.2) blur(8px);}
html[data-theme="light"] .cv-devs-toc{background:linear-gradient(180deg,var(--cv-bg,#fff),rgba(255,255,255,.92));}
.cv-devs-toc-grid{padding:14px 0;border-top:1px solid var(--devs-bd);border-bottom:1px solid var(--devs-bd);gap:10px 18px;align-items:center;}
.cv-devs-toc-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 8px 0 0;}
.cv-devs-toc-item{margin:0;}
.cv-devs-toc-item a{font-size:.92rem;color:var(--text-muted);text-decoration:none;padding:6px 10px;border-radius:8px;transition:background .18s,color .18s;}
.cv-devs-toc-item a:hover{background:rgba(124,58,237,.10);color:var(--accent);}

/* --- Section générique --- */
.cv-devs-section{padding-block:64px 56px;border-top:1px solid var(--devs-bd);scroll-margin-top:120px;}
.cv-devs-section:nth-of-type(even){background:linear-gradient(180deg,rgba(124,58,237,.025),transparent 70%);}
.cv-devs-section-head{display:grid;grid-template-columns:auto 1fr;column-gap:24px;align-items:start;max-width:980px;margin-bottom:36px;}
.cv-devs-section-num{grid-row:1 / 3;grid-column:1;font-size:3.4rem;font-weight:800;line-height:1;color:rgba(124,58,237,.40);margin:0;letter-spacing:-.04em;font-feature-settings:"tnum";}
.cv-devs-section-title{grid-row:1;grid-column:2;font-size:1.85rem;font-weight:700;line-height:1.2;margin:0 0 10px;}
.cv-devs-section-lede{grid-row:2;grid-column:2;font-size:1.05rem;line-height:1.55;color:var(--text-muted);margin:0;}
@media (max-width:680px){
  .cv-devs-section-head{grid-template-columns:1fr;}
  .cv-devs-section-num{grid-row:1;grid-column:1;font-size:2.4rem;margin-bottom:6px;}
  .cv-devs-section-title{grid-row:2;grid-column:1;font-size:1.5rem;}
  .cv-devs-section-lede{grid-row:3;grid-column:1;}
}

/* --- Modules grid (4 cards) --- */
.cv-devs-modules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:24px;}
.cv-devs-module{padding:18px 20px 20px;border-radius:12px;border:1px solid var(--devs-bd);background:var(--devs-bg);}
.cv-devs-module-title{font-size:.98rem;font-weight:700;margin:0 0 12px;color:var(--text);letter-spacing:.01em;}

/* --- Endpoints list (avec badges méthodes HTTP) --- */
.cv-devs-endpoints,
.cv-devs-events{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;}
.cv-devs-endpoints li,
.cv-devs-events li{font-size:.86rem;line-height:1.4;padding:6px 10px;border-radius:8px;background:rgba(8,10,20,.30);border-left:2px solid rgba(124,58,237,.40);font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
html[data-theme="light"] .cv-devs-endpoints li,
html[data-theme="light"] .cv-devs-events li{background:rgba(23,26,43,.04);}
.cv-devs-endpoints li code,
.cv-devs-events li code{background:transparent;padding:0;font-size:.86rem;color:var(--text);}
.cv-devs-method{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.05em;color:#fff;text-transform:uppercase;flex-shrink:0;}
.cv-method-get{background:var(--devs-method-get);}
.cv-method-post{background:var(--devs-method-post);}
.cv-method-put{background:var(--devs-method-put);}
.cv-method-delete{background:var(--devs-method-delete);}

/* --- Code block --- */
.cv-devs-codeblock-label{font-size:.92rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:32px 0 10px;}
.cv-devs-codeblock{background:var(--devs-code-bg);border:1px solid var(--devs-bd);border-radius:12px;padding:20px 22px;font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86rem;line-height:1.55;color:var(--devs-code-text);overflow-x:auto;margin:0;}
.cv-devs-codeblock code{color:inherit;background:transparent;padding:0;font-family:inherit;font-size:inherit;}

/* --- Callout --- */
.cv-devs-callout{margin:24px 0 0;padding:16px 20px;border-radius:10px;border-left:3px solid var(--accent);background:rgba(124,58,237,.06);font-size:.94rem;line-height:1.5;color:var(--text);}
.cv-devs-callout strong{color:var(--accent);}

/* --- Sécurité grid (6 cards 2x3) --- */
.cv-devs-security-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.cv-devs-security-card{padding:22px 24px 24px;border-radius:14px;border:1px solid rgba(232,201,124,.18);background:linear-gradient(135deg,rgba(232,201,124,.04),transparent 70%);}
.cv-devs-security-title{font-size:1.05rem;font-weight:700;margin:0 0 8px;color:var(--text);}
.cv-devs-security-card p{font-size:.92rem;line-height:1.5;color:var(--text-muted);margin:0;}

/* --- Resources grid --- */
.cv-devs-resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
.cv-devs-resource{padding:22px 22px 22px;border-radius:14px;border:1px solid var(--devs-bd);background:var(--devs-bg);display:flex;flex-direction:column;gap:10px;}
.cv-devs-resource-title{font-size:1.08rem;font-weight:700;margin:0;color:var(--text);}
.cv-devs-resource p{font-size:.92rem;line-height:1.5;color:var(--text-muted);margin:0;flex:1;}
.cv-devs-resource .wp-block-buttons{margin-top:6px;}

/* --- Final CTA --- */
.cv-devs-cta{padding-block:64px 96px;text-align:center;background:linear-gradient(180deg,rgba(124,58,237,.05),transparent);}
.cv-devs-cta .wp-block-buttons{justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px;}

/* ===========================================================================
 * v1.16.27 — Avatar Santé / Paramédical (palette cyan médical + mint sur navy)
 * ===========================================================================
 * Cloné de cv-hero-avocat (gold + navy) → cv-hero-sante (cyan #0EA5C4 + mint #10B981).
 * Cible : kinés, ostéos, psys, podologues, sages-femmes, orthophonistes, diététiciens.
 */

.cv-hero-sante{background:linear-gradient(135deg,#0A1628 0%,#0E2A3D 50%,#0F4047 100%)}
.cv-hero-sante .glow-a{background:radial-gradient(circle,rgba(14,165,196,.20),transparent 60%)}
.cv-hero-sante .glow-b{background:radial-gradient(circle,rgba(16,185,129,.16),transparent 60%)}
.cv-hero-sante .hero-badge .tag{background:rgba(14,165,196,.15);color:#0EA5C4;border:1px solid rgba(14,165,196,.30)}
.cv-hero-sante .hero-badge p strong{color:#0EA5C4}
.cv-hero-sante .btn-primary{background:linear-gradient(135deg,#0EA5C4,#10B981);color:#fff;box-shadow:0 4px 24px rgba(14,165,196,.40)}
.cv-hero-sante .btn-primary:hover{box-shadow:0 8px 32px rgba(14,165,196,.55)}
.cv-hero-sante .hero-badge-float.b-lock .ic{background:rgba(16,185,129,.20);color:#10B981}
.cv-hero-sante .hero-badge-float.b-audit .ic{background:rgba(14,165,196,.22);color:#0EA5C4}
.cv-hero-sante .hero-badge-float.b-speed .ic{background:rgba(14,165,196,.18);color:#0891B2}
.cv-hero-sante::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(14,165,196,.10) 0%,transparent 70%);border-radius:50%;pointer-events:none}

/* Light mode adaptation */

/* Pain section, parcours balisé, méthodes — héritent de la palette globale, juste accents */

/* Trust marquee — utilise palette générique, pas d'override nécessaire */

/* ===========================================================================
 * v1.16.28 — Hub Intégrations refondu (10 catégories écosystème)
 * ===========================================================================
 * Hero AIDA + bandeau trust + 10 cards catégories cliquables (5 vers sous-pages
 * existantes, 5 vers ancres internes) + 4 sections détail + souveraineté + CTA.
 */

.cv-integrations-page,
.section.integ-hero,
.section.integ-intro,
.section.integ-cats-section,
.section.integ-detail,
.section.integ-not-found,
.section.integ-sovereignty,
.section.integ-cta{
  --integ-card-bg:rgba(255,255,255,.03);
  --integ-card-bd:rgba(255,255,255,.08);
  --integ-card-bg-hover:rgba(124,58,237,.08);
  --integ-card-bd-hover:rgba(124,58,237,.42);
}
html[data-theme="light"] .cv-integrations-page,
html[data-theme="light"] .section.integ-hero,
html[data-theme="light"] .section.integ-intro,
html[data-theme="light"] .section.integ-cats-section,
html[data-theme="light"] .section.integ-detail,
html[data-theme="light"] .section.integ-not-found,
html[data-theme="light"] .section.integ-sovereignty{
  --integ-card-bg:rgba(23,26,43,.02);
  --integ-card-bd:rgba(23,26,43,.10);
}

/* --- Trust strip hero --- */
.integ-trust-strip{margin-top:30px;gap:10px 16px;flex-wrap:wrap;justify-content:center;}
.integ-trust-item{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;color:var(--text-muted);margin:0;padding:6px 14px;border-radius:999px;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.18);}
.integ-trust-item strong{color:var(--accent);font-weight:700;}

/* --- Intro 3 cards --- */
.integ-intro{padding-block:0 64px;}
.integ-intro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
.integ-intro-card{padding:22px 24px 24px;border-radius:14px;border:1px solid var(--integ-card-bd);background:var(--integ-card-bg);}
.integ-intro-title{font-size:1.16rem;font-weight:700;margin:0 0 8px;line-height:1.3;}
.integ-intro-card p{font-size:.95rem;line-height:1.55;color:var(--text-muted);margin:0;}

/* --- Grid 10 catégories — 4 colonnes desktop, design éditorial --- */
.integ-cats-section{padding-block:48px 64px;}
.cv-integ-cats-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:18px !important;margin-top:30px;align-items:stretch;}
.cv-integ-cat{
  position:relative;
  display:grid !important;
  grid-template-rows:auto auto auto 1fr auto !important;
  gap:10px !important;
  padding:24px 20px 20px !important;
  border-radius:18px;
  border:1px solid var(--integ-card-bd);
  background:linear-gradient(180deg, var(--integ-card-bg) 0%, var(--integ-card-bg-hover) 200%);
  text-decoration:none;
  color:inherit;
  overflow:hidden;
  isolation:isolate;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s;
  height:100%;
}
/* Halo dégradé décoratif top-right */
.cv-integ-cat::before{
  content:"";
  position:absolute;
  inset:-30% -30% auto auto;
  width:140px;
  height:140px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(124,58,237,.20) 0%, transparent 70%);
  opacity:.6;
  pointer-events:none;
  z-index:0;
  transition:opacity .22s,transform .22s;
}
.cv-integ-cat:hover::before{
  opacity:1;
  transform:scale(1.15);
}
.cv-integ-cat > *{position:relative;z-index:1;}
/* Stripe gold décorative en bas (gauche → droite, n'apparaît qu'au hover) */
.cv-integ-cat::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:3px;
  width:0;
  background:linear-gradient(90deg, var(--accent), var(--gold));
  border-radius:0 0 18px 18px;
  transition:width .35s cubic-bezier(.2,.8,.2,1);
  z-index:1;
}
.cv-integ-cat:hover::after{width:100%;}
.cv-integ-cat:hover{
  transform:translateY(-4px);
  border-color:var(--integ-card-bd-hover);
  box-shadow:0 14px 40px -14px rgba(124,58,237,.45),0 4px 12px -4px rgba(124,58,237,.15);
}
.cv-integ-cat-tag{position:absolute;top:14px;right:14px;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:3px 8px;border-radius:999px;}
.cv-integ-cat-tag-page{background:rgba(34,197,94,.14);color:#22C55E;}
.cv-integ-cat-tag-section{background:rgba(124,58,237,.14);color:#A78BFA;}
.cv-integ-cat-num{
  font-size:2.6rem !important;
  font-weight:900 !important;
  color:transparent !important;
  -webkit-text-stroke:1.5px rgba(124,58,237,.45);
  letter-spacing:-.02em;
  font-feature-settings:"tnum";
  line-height:1 !important;
  margin:0 !important;
  font-family:'Cabinet Grotesk', 'Inter', system-ui, sans-serif;
}
.cv-integ-cat:hover .cv-integ-cat-num{
  -webkit-text-stroke-color:var(--accent);
}
.cv-integ-cat-ic{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:11px;background:rgba(124,58,237,.10);color:var(--accent);}
.cv-integ-cat-ic svg{width:20px;height:20px;}
.cv-integ-cat-title{
  font-size:1.32rem !important;
  font-weight:800 !important;
  margin:0 !important;
  line-height:1.18 !important;
  color:var(--text) !important;
  letter-spacing:-.012em;
  transition:color .2s;
}
.cv-integ-cat:hover .cv-integ-cat-title{color:var(--accent) !important;}
.cv-integ-cat-body{
  font-size:.82rem !important;
  line-height:1.5 !important;
  color:var(--text-muted) !important;
  margin:0 !important;
  opacity:.85;
}
.cv-integ-cat-tools{
  font-size:.66rem !important;
  line-height:1.4 !important;
  color:var(--text-muted) !important;
  opacity:.55;
  letter-spacing:.02em;
  font-style:normal;
  text-transform:uppercase;
  font-weight:600 !important;
  border-top:1px solid var(--integ-card-bd);
  padding-top:10px;
  margin-top:6px;
}
.cv-integ-cat-arrow{position:absolute;bottom:20px;right:22px;width:22px;height:22px;color:var(--accent);opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s;}
.cv-integ-cat-arrow svg{width:18px;height:18px;}
.cv-integ-cat:hover .cv-integ-cat-arrow{opacity:1;transform:translateX(0);}
@media (max-width:1100px){
  .cv-integ-cats-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:880px){
  .cv-integ-cats-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:540px){
  .cv-integ-cats-grid{grid-template-columns:1fr !important;}
  .cv-integ-cat-arrow{display:none;}
}
.cv-integ-cat-cta-wrap{margin-top:auto !important;}
.cv-integ-cat .wp-block-button{width:auto !important;}
.cv-integ-cat .wp-block-button__link{
  width:auto !important;
  text-align:left !important;
  font-size:.82rem !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  color:var(--accent) !important;
  font-weight:700 !important;
  letter-spacing:.005em;
  position:relative;
  transition:color .2s;
}
/* v1.51.14 — flèche ::after retirée des boutons de cards intégration
   (charte : pas de texte/glyphe injecté en CSS pseudo-content). */
.cv-integ-cat:hover .wp-block-button__link{
  color:var(--gold-2) !important;
}

/* --- Sections détail (paiements, communauté, email/CRM, vidéo, hébergement) --- */
.integ-detail{padding-block:48px 56px;border-top:1px solid var(--integ-card-bd);scroll-margin-top:120px;}
.integ-detail:nth-of-type(even){background:linear-gradient(180deg,rgba(124,58,237,.025),transparent 60%);}
.integ-detail-head{display:grid;grid-template-columns:auto 1fr;column-gap:24px;align-items:start;max-width:980px;margin-bottom:28px;}
.integ-detail-num{grid-row:1 / 3;grid-column:1;font-size:3rem;font-weight:800;line-height:1;color:rgba(124,58,237,.40);margin:0;letter-spacing:-.04em;font-feature-settings:"tnum";}
.integ-detail-title{grid-row:1;grid-column:2;font-size:1.65rem;font-weight:700;line-height:1.25;margin:0 0 10px;}
.integ-detail-lede{grid-row:2;grid-column:2;font-size:1rem;line-height:1.55;color:var(--text-muted);margin:0;}
@media (max-width:680px){
  .integ-detail-head{grid-template-columns:1fr;}
  .integ-detail-num{grid-row:1;grid-column:1;font-size:2.2rem;margin-bottom:6px;}
  .integ-detail-title{grid-row:2;grid-column:1;font-size:1.4rem;}
  .integ-detail-lede{grid-row:3;grid-column:1;}
}
.integ-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.integ-detail-card{padding:20px 22px 20px;border-radius:12px;border:1px solid var(--integ-card-bd);background:var(--integ-card-bg);}
.integ-detail-card h3{font-size:1.04rem;font-weight:700;margin:0 0 8px;color:var(--text);}
.integ-detail-card p{font-size:.92rem;line-height:1.5;color:var(--text-muted);margin:0;}

/* --- "Vous ne trouvez pas votre outil ?" --- */
.integ-not-found{padding-block:64px 56px;}
.integ-not-found-inner{padding:36px 36px 32px;border-radius:20px;border:1px dashed rgba(124,58,237,.32);background:linear-gradient(135deg,rgba(124,58,237,.05),rgba(232,201,124,.03));max-width:920px;margin-inline:auto;}
.integ-not-found-ctas{margin-top:18px;gap:12px;flex-wrap:wrap;}

/* --- Souveraineté --- */
.integ-sovereignty{padding-block:64px 56px;background:linear-gradient(180deg,rgba(232,201,124,.04),transparent 70%);border-top:1px solid rgba(232,201,124,.16);}
.integ-sovereignty .section-head{max-width:920px;margin-inline:auto;}

/* --- Final CTA --- */
.integ-cta{padding-block:56px 96px;text-align:center;}
.integ-cta .wp-block-buttons{justify-content:center;flex-wrap:wrap;gap:12px;margin-top:18px;}

/* ===========================================================================
 * v1.16.29 — HOTFIX CSS GLOBAL pour toutes les nouvelles pages
 * ===========================================================================
 * Bugs identifiés en live (clientvault.pro/fr/...) :
 *   1. <mark> rendu en jaune fluo browser-default sur cv-page
 *      (les styles existent uniquement pour .cv-avatar-page)
 *   2. Cards .cv-integ-cat (= <a>) → texte hérite du link color cyan #6DD5ED
 *   3. Tous les grids (.cv-feat-sub-grid, .integ-intro-grid, .cv-devs-*-grid,
 *      .cv-ind-layers) sont rendus display:flex parce que Gutenberg ajoute la
 *      classe is-layout-flex via wp:group {"layout":{"type":"flex"…}}, ce qui
 *      écrase notre display:grid CSS
 *   4. Page blog vide parce que /blog/ est la "page d'articles" WP qui utilise
 *      home.html / index.html, pas page-blog.html (fix dans templates/home.html)
 */

/* ---------- (1) <mark> custom sur toutes les pages cv-page ---------- */
main.cv-page mark,
main.cv-developpeurs mark,
main.cv-industries mark,
main.cv-integrations mark,
main.cv-blog-page mark,
.wp-site-blocks main.cv-page mark{
  background:transparent !important;
  color:#E8C97C !important;
  font-weight:800;
  padding:0 .05em;
  border-radius:0;
}
html[data-theme="light"] main.cv-page mark,
html[data-theme="light"] .wp-site-blocks main.cv-page mark{
  color:#B08E35 !important;
}

/* ---------- (2) Cards .cv-integ-cat : forcer color (link cyan inherit) ---------- */
.cv-integ-cat,
.cv-integ-cat:link,
.cv-integ-cat:visited,
.cv-integ-cat:hover,
.cv-integ-cat:focus,
.cv-integ-cat:active{
  color:var(--text) !important;
  text-decoration:none !important;
}
.cv-integ-cat .cv-integ-cat-title,
.cv-integ-cat h3,
.cv-integ-cat .cv-integ-cat-num{
  color:var(--text) !important;
}
.cv-integ-cat .cv-integ-cat-body,
.cv-integ-cat .cv-integ-cat-tools,
.cv-integ-cat p{
  color:var(--text-muted) !important;
}
.cv-integ-cat-num{color:rgba(124,58,237,.55) !important;}
.cv-integ-cat-tag-page{background:rgba(34,197,94,.18) !important;color:#22C55E !important;}
.cv-integ-cat-tag-section{background:rgba(124,58,237,.18) !important;color:#A78BFA !important;}
html[data-theme="light"] .cv-integ-cat,
html[data-theme="light"] .cv-integ-cat .cv-integ-cat-title{color:#171A2B !important;}
html[data-theme="light"] .cv-integ-cat .cv-integ-cat-body,
html[data-theme="light"] .cv-integ-cat .cv-integ-cat-tools{color:#5B6478 !important;}

/* Same fix pour les cards Industries (cv-ind-card aussi <a>) */
.cv-ind-card,
.cv-ind-card:link,
.cv-ind-card:visited,
.cv-ind-card:hover,
.cv-ind-card:focus,
.cv-ind-card:active{
  color:var(--text) !important;
  text-decoration:none !important;
}
.cv-ind-card h3,
.cv-ind-card .cv-ind-card-title{color:var(--text) !important;}
.cv-ind-card p,
.cv-ind-card .cv-ind-card-body,
.cv-ind-card .cv-ind-card-meta{color:var(--text-muted) !important;}
html[data-theme="light"] .cv-ind-card,
html[data-theme="light"] .cv-ind-card h3{color:#171A2B !important;}
html[data-theme="light"] .cv-ind-card p,
html[data-theme="light"] .cv-ind-card .cv-ind-card-meta{color:#5B6478 !important;}

/* ---------- (3) Force display:grid sur les grids (Gutenberg is-layout-flex override) ---------- */
.integ-intro-grid,
.integ-intro-grid.is-layout-flex,
.integ-detail-grid,
.integ-detail-grid.is-layout-flex,
.cv-feat-sub-grid,
.cv-feat-sub-grid.is-layout-flex,
.cv-feat-legend,
.cv-devs-modules-grid,
.cv-devs-modules-grid.is-layout-flex,
.cv-devs-security-grid,
.cv-devs-security-grid.is-layout-flex,
.cv-devs-resources-grid,
.cv-devs-resources-grid.is-layout-flex,
.cv-devs-trust,
.cv-ind-layers,
.cv-ind-layers.is-layout-flex,
.cv-feat-cat-cta,
.cv-feat-cat-cta.is-layout-flex{
  display:grid !important;
  flex-wrap:initial;
  justify-content:initial;
}
.integ-intro-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important;gap:18px;}
.integ-detail-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important;gap:16px;}
.cv-feat-sub-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important;gap:18px;}
.cv-devs-modules-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important;gap:16px;}
.cv-devs-security-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important;gap:18px;}
.cv-devs-resources-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important;gap:18px;}
.cv-ind-layers{grid-template-columns:repeat(2,1fr) !important;gap:24px;}
@media (max-width:780px){
  .cv-ind-layers{grid-template-columns:1fr !important;}
}

/* Special : .cv-feat-sub-wide doit prendre 2 colonnes du grid */
.cv-feat-sub-wide{grid-column:span 2 !important;}
@media (max-width:760px){.cv-feat-sub-wide{grid-column:span 1 !important;}}

/* Reset comportement is-layout-flex sur ces grids (gap déjà géré par CSS dédié) */
.cv-feat-sub-grid.is-layout-flex > *,
.integ-intro-grid.is-layout-flex > *,
.integ-detail-grid.is-layout-flex > *,
.cv-devs-modules-grid.is-layout-flex > *,
.cv-devs-security-grid.is-layout-flex > *,
.cv-devs-resources-grid.is-layout-flex > *,
.cv-ind-layers.is-layout-flex > *{
  margin:0 !important;
  flex-basis:auto !important;
  flex-grow:0 !important;
  flex-shrink:0 !important;
}

/* ---------- (4) Légende Solo/Pro/Solo+Pro : flex (pas grid) ---------- */
.cv-feat-legend{display:flex !important;flex-wrap:wrap !important;gap:12px !important;justify-content:center !important;}

/* ---------- (5) Bouton CTA dans cat 12 : flex aligned ---------- */
.cv-feat-cat-cta{display:flex !important;flex-wrap:wrap !important;gap:12px !important;justify-content:flex-start !important;margin-top:18px;}

/* ---------- (6) Trust strip page Devs : flex centré ---------- */
.cv-devs-trust{display:flex !important;flex-wrap:wrap !important;gap:10px 14px !important;justify-content:center !important;}

/* ===========================================================================
 * v1.16.30 — UX refonte Intégrations + Fonctionnalités
 * ===========================================================================
 * 1. Sommaire sticky horizontal réutilisable (.cv-page-toc)
 * 2. Stats hero Fonctionnalités (145 / 61 / 84)
 * 3. Aération forte des sections (padding +30%, gap +50%, plus de respiration)
 */

/* ---------- Sommaire sticky horizontal ---------- */
/* v1.18.10 : restauration de top:60px (buffer attendu).
   Le « margin-top de 60px » que voit l'utilisateur vient en réalité
   de la règle générique .cv-page .section { padding-block: 72px } (ligne 12552)
   qui s'applique aussi au toc puisqu'il a la classe .section.
   On neutralise ce padding UNIQUEMENT sur le toc (3 classes + !important
   pour battre n'importe quelle override ultérieure). */
.section.cv-page-toc,
.cv-page .section.cv-page-toc,
main.cv-page .section.cv-page-toc{
  position:sticky;
  top:60px;
  z-index:50;
  padding-block:0 !important;
  margin-block:0 24px !important;
  background:rgba(8,10,20,.88);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);
  backdrop-filter:saturate(1.4) blur(10px);
  border-block:1px solid rgba(124,58,237,.18);
}
html[data-theme="light"] .section.cv-page-toc{
  background:rgba(255,255,255,.92);
  border-block-color:rgba(23,26,43,.12);
}
.cv-page-toc-nav{
  display:flex;
  align-items:center;
  gap:14px;
  padding-block:12px;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(124,58,237,.30) transparent;
  -webkit-overflow-scrolling:touch;
}
.cv-page-toc-nav::-webkit-scrollbar{height:4px;}
.cv-page-toc-nav::-webkit-scrollbar-thumb{background:rgba(124,58,237,.30);border-radius:4px;}
.cv-page-toc-label{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--text-muted);
  flex-shrink:0;
  padding-right:6px;
  border-right:1px solid rgba(255,255,255,.10);
  margin-right:4px;
}
html[data-theme="light"] .cv-page-toc-label{border-right-color:rgba(23,26,43,.10);}
.cv-page-toc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:4px;
  flex:1;
}
.cv-page-toc-list li{margin:0;}
.cv-page-toc-list a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.86rem;
  color:var(--text-muted);
  text-decoration:none;
  padding:8px 12px;
  border-radius:8px;
  white-space:nowrap;
  transition:background .18s,color .18s;
}
.cv-page-toc-list a:hover,
.cv-page-toc-list a:focus-visible{
  background:rgba(124,58,237,.12);
  color:var(--accent);
}
.cv-page-toc-num{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  color:rgba(124,58,237,.65);
  font-feature-settings:"tnum";
}
.cv-page-toc-list a:hover .cv-page-toc-num,
.cv-page-toc-list a:focus-visible .cv-page-toc-num{color:var(--accent);}

/* ---------- Sommaire sticky (cv-page-toc-item paragraph variant) ---------- */
/* Le pattern utilise <p class="cv-page-toc-item"><a>...</a></p>, pas <ul><li>.
   Cette règle remplace le styling list pour la variante paragraph. */
.cv-page-toc-nav .cv-page-toc-item{
  margin:0 !important;
  padding:0 !important;
  flex-shrink:0;
}
.cv-page-toc-nav .cv-page-toc-item a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.92rem;
  font-weight:600;
  color:var(--text) !important;
  text-decoration:none;
  padding:8px 14px;
  border-radius:8px;
  white-space:nowrap;
  background:transparent;
  border:1px solid transparent;
  transition:background .18s,color .18s,border-color .18s;
}
.cv-page-toc-nav .cv-page-toc-item a:hover,
.cv-page-toc-nav .cv-page-toc-item a:focus-visible{
  background:rgba(124,58,237,.16);
  border-color:rgba(124,58,237,.32);
  color:var(--accent) !important;
}
/* État ACTIF (scrollspy) — section courante surbrillée dans le sommaire */
.cv-page-toc-nav .cv-page-toc-item a.is-active{
  background:linear-gradient(135deg, rgba(124,58,237,.22), rgba(232,201,124,.18)) !important;
  border-color:rgba(124,58,237,.55) !important;
  color:#fff !important;
  font-weight:700 !important;
  box-shadow:0 4px 14px -4px rgba(124,58,237,.45);
}
.cv-page-toc-nav .cv-page-toc-item a.is-active .cv-page-toc-num{
  color:var(--gold-2) !important;
  opacity:1;
}
html[data-theme="light"] .cv-page-toc-nav .cv-page-toc-item a.is-active{
  background:linear-gradient(135deg, rgba(124,58,237,.18), rgba(232,201,124,.14)) !important;
  color:#0f1a2e !important;
  border-color:rgba(124,58,237,.45) !important;
}
html[data-theme="light"] .cv-page-toc-nav .cv-page-toc-item a.is-active .cv-page-toc-num{
  color:var(--accent) !important;
}
.cv-page-toc-nav .cv-page-toc-item .cv-page-toc-num{
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.04em;
  color:var(--text-muted) !important;
  font-feature-settings:"tnum";
  opacity:.85;
}
.cv-page-toc-nav .cv-page-toc-item a:hover .cv-page-toc-num,
.cv-page-toc-nav .cv-page-toc-item a:focus-visible .cv-page-toc-num{
  color:var(--accent) !important;
  opacity:1;
}
html[data-theme="light"] .cv-page-toc-nav .cv-page-toc-item a{color:#0f1a2e !important;}
html[data-theme="light"] .cv-page-toc-nav .cv-page-toc-item a:hover,
html[data-theme="light"] .cv-page-toc-nav .cv-page-toc-item a:focus-visible{color:var(--accent) !important;}

/* Anchors with sticky offset */
.cv-feat-cat,
.integ-detail,
.cv-integ-cat[id]{scroll-margin-top:140px;}

/* ---------- Stats hero Fonctionnalités (145 / 61 / 84) ---------- */
.cv-feat-hero-stats{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  flex-wrap:wrap;
  margin:42px auto 0;
  max-width:920px;
  padding:28px 32px;
  border-radius:18px;
  border:1px solid rgba(124,58,237,.20);
  background:linear-gradient(135deg,rgba(124,58,237,.05),rgba(232,201,124,.04));
}
.cv-feat-hero-stat{display:flex;flex-direction:column;align-items:center;gap:4px;}
.cv-feat-hero-stat-num{
  font-size:3rem;
  font-weight:800;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--text);
  font-feature-settings:"tnum";
}
.cv-feat-hero-stat-num.cv-feat-hero-stat-solo{color:#22C55E;}
.cv-feat-hero-stat-num.cv-feat-hero-stat-pro{color:#E8C97C;}
.cv-feat-hero-stat-label{
  font-size:.84rem;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--text-muted);
  text-align:center;
  max-width:160px;
  line-height:1.3;
}
.cv-feat-hero-stat-sep{
  font-size:1.6rem;
  font-weight:300;
  color:rgba(255,255,255,.30);
  user-select:none;
}
html[data-theme="light"] .cv-feat-hero-stat-sep{color:rgba(23,26,43,.30);}
@media (max-width:680px){
  .cv-feat-hero-stats{padding:22px 16px;gap:14px;}
  .cv-feat-hero-stat-num{font-size:2.2rem;}
  .cv-feat-hero-stat-label{font-size:.76rem;max-width:120px;}
  .cv-feat-hero-stat-sep{font-size:1.2rem;}
}

/* ---------- Aération renforcée Fonctionnalités ---------- */
.cv-feat-cat{padding-block:64px 72px;}
.cv-feat-cat-head{margin-bottom:42px;}
.cv-feat-cat-title{font-size:2.45rem !important;line-height:1.1 !important;font-weight:900 !important;letter-spacing:-.018em;}
.cv-feat-cat-lede{font-size:1.12rem;line-height:1.65;max-width:720px;}
.cv-feat-sub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important;gap:24px !important;}
.cv-feat-sub{padding:26px 28px 28px;border-radius:16px;}
.cv-feat-sub-title{font-size:1.26rem !important;margin-bottom:5px !important;font-weight:800 !important;}
.cv-feat-sub-lede{font-size:.82rem !important;line-height:1.45 !important;margin-bottom:18px !important;opacity:.72;}
.cv-feat-atoms{gap:8px;}
.cv-feat-atoms li{padding:9px 14px 9px 30px;font-size:.86rem;line-height:1.5;}
@media (max-width:680px){
  .cv-feat-cat{padding-block:48px 56px;}
  .cv-feat-cat-title{font-size:1.85rem !important;}
  .cv-feat-cat-lede{font-size:1rem;}
  .cv-feat-sub{padding:22px 22px 22px;}
  .cv-feat-sub-title{font-size:1.12rem !important;}
}

/* ---------- Aération renforcée Intégrations (4 cols desktop compactes) ---------- */
/* v1.60.84 — Wrappé dans @media min-width:881px car le !important sans
   media query écrasait les règles responsive 880/540px lignes 11990-11997.
   Effet : sur mobile, on retombe sur les règles natives (2 cols ≤880px,
   1 col ≤540px). */
.section.integ-cats-section{padding-block:56px 72px;}
@media (min-width:881px){
  .cv-integ-cats-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:18px !important;margin-top:38px;}
}
.cv-integ-cats-grid{gap:18px;margin-top:38px;}
.cv-integ-cat{padding:22px 20px 20px !important;border-radius:18px;}
.cv-integ-cat-title{font-size:1.24rem !important;line-height:1.2 !important;}
.cv-integ-cat-body{font-size:.85rem !important;line-height:1.5 !important;}
.cv-integ-cat-tools{font-size:.72rem !important;line-height:1.5 !important;padding-top:10px;}
.section.integ-detail{padding-block:56px 64px;}
.integ-detail-head{margin-bottom:34px;}
.integ-detail-title{font-size:1.75rem;line-height:1.25;}
.integ-detail-lede{font-size:1.06rem;line-height:1.6;max-width:780px;}
.integ-detail-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important;gap:20px !important;}
.integ-detail-card{padding:22px 24px 22px;border-radius:14px;}
.integ-detail-card h3{font-size:1.06rem;margin-bottom:10px;}
.integ-detail-card p{font-size:.95rem;line-height:1.55;}
.integ-intro{padding-block:0 72px;}
.integ-intro-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important;gap:20px !important;}
.integ-intro-card{padding:26px 28px 28px;border-radius:16px;}

/* ---------- Mode light : sommaire texte plus sombre ---------- */
html[data-theme="light"] .cv-page-toc-list a{color:#5B6478;}
html[data-theme="light"] .cv-page-toc-num{color:rgba(124,58,237,.70);}

/* ═══════════════════════════════════════════════════════════════
   v1.18.0 — Sous-pages intégration : drapeaux multilingue,
   profondeur Fluent Community (7 couches), spotlight .pot
   ═══════════════════════════════════════════════════════════════ */

/* ---------- Multilingue : grille drapeaux ---------- */
.cv-sub-integration .sub-flags-showcase {
  padding-block: clamp(50px, 7vw, 96px);
  position: relative;
  isolation: isolate;
}
.cv-sub-integration .sub-flags-showcase::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(109,213,237,.15) 0%, transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(124,58,237,.10) 0%, transparent 50%);
}
.cv-sub-integration .sub-flags-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 40px;
}
@media (max-width: 1100px) { .cv-sub-integration .sub-flags-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 760px) { .cv-sub-integration .sub-flags-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 460px) { .cv-sub-integration .sub-flags-grid { grid-template-columns: 1fr !important; } }

.cv-sub-integration .sub-flag-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  text-align: center;
  padding: 22px 18px 20px !important;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  transition: transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s, box-shadow .22s;
  isolation: isolate;
  overflow: hidden;
}
.cv-sub-integration .sub-flag-card::before {
  content:""; position:absolute; inset:auto -30% -50% auto;
  width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(109,213,237,.18) 0%, transparent 70%);
  opacity:.5; pointer-events:none; z-index:0;
  transition: opacity .22s, transform .22s;
}
.cv-sub-integration .sub-flag-card:hover {
  transform: translateY(-3px);
  border-color: rgba(109,213,237,.35);
  box-shadow: 0 12px 32px -10px rgba(109,213,237,.30);
}
.cv-sub-integration .sub-flag-card:hover::before { opacity:1; transform: scale(1.2); }
.cv-sub-integration .sub-flag-card > * { position: relative; z-index: 1; margin: 0 !important; }

.cv-sub-integration .sub-flag-emoji {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.cv-sub-integration .sub-flag-svg {
  width: 72px;
  height: 48px;
  border-radius: 6px;
  overflow: hidden;
  display: block;
  box-shadow: 0 4px 12px rgba(0,0,0,.30), 0 0 0 1px rgba(255,255,255,.08);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
}
.cv-sub-integration .sub-flag-card:hover .sub-flag-svg {
  transform: scale(1.05) rotate(-1.5deg);
  box-shadow: 0 8px 24px rgba(0,0,0,.40), 0 0 0 1px rgba(255,255,255,.15);
}
.cv-sub-integration .sub-flag-name {
  font-size: 1.18rem !important;
  font-weight: 800 !important;
  margin: 0 0 4px !important;
  color: var(--text) !important;
  letter-spacing: -.01em;
}
.cv-sub-integration .sub-flag-code {
  font-size: .72rem !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  color: var(--cyan) !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: 'JetBrains Mono', monospace;
}
.cv-sub-integration .sub-flag-note {
  font-size: .76rem !important;
  line-height: 1.4 !important;
  color: var(--text-muted) !important;
  opacity: .75;
  margin: 0 !important;
}

/* RTL highlight */
.cv-sub-integration .sub-flag-card--rtl { border-color: rgba(232,201,124,.22); }
.cv-sub-integration .sub-flag-card--rtl::before {
  background: radial-gradient(circle, rgba(232,201,124,.20) 0%, transparent 70%);
}
.cv-sub-integration .sub-flag-card--rtl .sub-flag-code { color: var(--gold-2) !important; }

/* .pot card highlight */
.cv-sub-integration .sub-flag-card--pot {
  border-color: rgba(124,58,237,.40);
  background: linear-gradient(180deg, rgba(124,58,237,.10), rgba(124,58,237,.02));
}
.cv-sub-integration .sub-flag-card--pot::before {
  background: radial-gradient(circle, rgba(124,58,237,.35) 0%, transparent 70%);
  opacity: .7;
}
.cv-sub-integration .sub-flag-card--pot .sub-flag-name { color: var(--accent) !important; }
.cv-sub-integration .sub-flag-card--pot .sub-flag-code {
  color: var(--gold-2) !important;
}

/* ---------- Multilingue : .pot spotlight ---------- */
.cv-sub-integration .sub-pot-spotlight {
  padding-block: clamp(60px, 8vw, 110px);
  position: relative;
  isolation: isolate;
}
.cv-sub-integration .sub-pot-spotlight::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 80% 50%, rgba(232,201,124,.14) 0%, transparent 55%),
    radial-gradient(ellipse at 20% 50%, rgba(124,58,237,.10) 0%, transparent 55%);
}
.cv-sub-integration .sub-pot-grid {
  display: grid !important;
  grid-template-columns: 1.1fr .9fr !important;
  gap: 56px !important;
  align-items: center;
}
@media (max-width: 880px) {
  .cv-sub-integration .sub-pot-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
}
.cv-sub-integration .sub-pot-text h2 { font-size: clamp(32px, 4vw, 52px) !important; line-height: 1.08 !important; margin: 0 0 20px !important; letter-spacing: -.02em; }
.cv-sub-integration .sub-pot-text p { font-size: 1rem !important; line-height: 1.65 !important; color: var(--text-muted) !important; margin: 0 0 14px !important; }
.cv-sub-integration .sub-pot-text code {
  background: rgba(124,58,237,.12);
  color: var(--cyan) !important;
  padding: 1px 8px;
  border-radius: 6px;
  font-size: .92em;
  font-family: 'JetBrains Mono', monospace;
}

.cv-sub-integration .sub-pot-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 32px 32px !important;
  border-radius: 18px;
  border: 1px solid rgba(232,201,124,.30);
  background: linear-gradient(180deg, rgba(232,201,124,.08), rgba(124,58,237,.04));
  position: relative;
  overflow: hidden;
}
.cv-sub-integration .sub-pot-card::after {
  content: "";
  position: absolute;
  inset: -50% -50% auto auto;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,201,124,.15) 0%, transparent 70%);
  pointer-events: none;
}
.cv-sub-integration .sub-pot-card-label {
  font-size: .76rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted) !important;
  margin: 0 0 8px !important;
  opacity: .8;
}
.cv-sub-integration .sub-pot-card-filename {
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  margin: 0 0 22px !important;
  color: var(--gold-2) !important;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: -.005em;
}
.cv-sub-integration .sub-pot-card-steps {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.cv-sub-integration .sub-pot-card-steps li {
  font-size: .88rem !important;
  line-height: 1.5 !important;
  color: var(--text) !important;
  padding: 8px 14px !important;
  background: rgba(255,255,255,.04);
  border-radius: 8px;
  border-left: 3px solid var(--gold);
}
.cv-sub-integration .sub-pot-card-steps li strong {
  color: var(--gold-2) !important;
  font-weight: 800 !important;
  margin-right: 8px;
}
.cv-sub-integration .sub-pot-card-steps li code {
  background: rgba(124,58,237,.12);
  color: var(--cyan) !important;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: .9em;
}

/* ---------- Communauté : 7 couches Fluent Community ---------- */
.cv-sub-integration .sub-fc-deep {
  padding-block: clamp(60px, 8vw, 100px);
  position: relative;
  isolation: isolate;
}
.cv-sub-integration .sub-fc-deep::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(124,58,237,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 100% 100%, rgba(159,103,255,.10) 0%, transparent 50%);
}
.cv-sub-integration .sub-fc-layers {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
  margin-top: 40px;
}
@media (max-width: 1100px) { .cv-sub-integration .sub-fc-layers { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .cv-sub-integration .sub-fc-layers { grid-template-columns: 1fr !important; } }

.cv-sub-integration .sub-fc-layer {
  position: relative;
  padding: 24px 22px 22px !important;
  border-radius: 14px;
  border: 1px solid rgba(124,58,237,.22);
  background: linear-gradient(180deg, rgba(124,58,237,.06), rgba(124,58,237,.01));
  isolation: isolate;
  overflow: hidden;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s, box-shadow .22s;
}
.cv-sub-integration .sub-fc-layer:hover {
  transform: translateY(-3px);
  border-color: rgba(124,58,237,.50);
  box-shadow: 0 14px 36px -12px rgba(124,58,237,.40);
}
.cv-sub-integration .sub-fc-layer-num {
  font-size: 2.6rem !important;
  font-weight: 900 !important;
  color: transparent !important;
  -webkit-text-stroke: 1.5px rgba(124,58,237,.55);
  margin: 0 0 8px !important;
  line-height: 1 !important;
  font-family: 'Cabinet Grotesk', 'Inter', sans-serif;
  letter-spacing: -.02em;
  font-feature-settings: "tnum";
}
.cv-sub-integration .sub-fc-layer-title {
  font-size: 1.06rem !important;
  font-weight: 800 !important;
  margin: 0 0 10px !important;
  color: var(--text) !important;
  line-height: 1.25 !important;
  letter-spacing: -.005em;
}
.cv-sub-integration .sub-fc-layer p {
  font-size: .82rem !important;
  line-height: 1.5 !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
}
.cv-sub-integration .sub-fc-layer code {
  background: rgba(124,58,237,.15);
  color: var(--cyan) !important;
  padding: 1px 5px;
  border-radius: 4px;
  font-size: .88em;
  font-family: 'JetBrains Mono', monospace;
}

/* ---------- Light mode adaptations ---------- */
html[data-theme="light"] .cv-sub-integration .sub-flag-card { border-color: rgba(23,26,43,.10); background: linear-gradient(180deg, rgba(23,26,43,.02), rgba(23,26,43,.005)); }
html[data-theme="light"] .cv-sub-integration .sub-flag-name { color: #0f1a2e !important; }
html[data-theme="light"] .cv-sub-integration .sub-pot-card-steps li { background: rgba(23,26,43,.03); color: #0f1a2e !important; }
html[data-theme="light"] .cv-sub-integration .sub-fc-layer { background: linear-gradient(180deg, rgba(124,58,237,.04), rgba(124,58,237,.005)); border-color: rgba(124,58,237,.18); }
html[data-theme="light"] .cv-sub-integration .sub-fc-layer-title { color: #0f1a2e !important; }

/* ═══════════════════════════════════════════════════════════════
   v1.18.2 — Email/CRM 3 sections distinctes
   (manquait dans v1.18.1 → design cassé)
   ═══════════════════════════════════════════════════════════════ */

/* ---------- Sections wrapper ---------- */
.cv-sub-integration .sub-emails-sec,
.cv-sub-integration .sub-fluentcrm-sec,
.cv-sub-integration .sub-othercrm-sec {
  padding-block: clamp(56px, 7vw, 96px);
  position: relative;
  isolation: isolate;
}
.cv-sub-integration .sub-emails-sec::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 30% 0%, rgba(232,201,124,.10) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(124,58,237,.06) 0%, transparent 50%);
}
.cv-sub-integration .sub-fluentcrm-sec::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 70% 0%, rgba(124,58,237,.16) 0%, transparent 55%),
    radial-gradient(ellipse at 20% 100%, rgba(232,201,124,.08) 0%, transparent 50%);
  border-top: 1px solid rgba(124,58,237,.12);
  border-bottom: 1px solid rgba(124,58,237,.12);
}
.cv-sub-integration .sub-othercrm-sec::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(109,213,237,.10) 0%, transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(232,201,124,.06) 0%, transparent 50%);
}

/* ---------- Section heads (alignés à gauche) ---------- */
.cv-sub-integration .sub-emails-sec .section-head,
.cv-sub-integration .sub-fluentcrm-sec .section-head,
.cv-sub-integration .sub-othercrm-sec .section-head {
  margin-bottom: 38px;
  max-width: 920px;
}
.cv-sub-integration .sub-emails-sec .section-head .eyebrow,
.cv-sub-integration .sub-fluentcrm-sec .section-head .eyebrow,
.cv-sub-integration .sub-othercrm-sec .section-head .eyebrow {
  text-align: left !important;
  justify-content: flex-start !important;
}
.cv-sub-integration .sub-emails-sec .section-head .section-title,
.cv-sub-integration .sub-fluentcrm-sec .section-head .section-title,
.cv-sub-integration .sub-othercrm-sec .section-head .section-title {
  text-align: left !important;
  font-size: clamp(34px, 4.2vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em;
  margin-bottom: 16px;
}
.cv-sub-integration .sub-emails-sec .section-head .section-lede,
.cv-sub-integration .sub-fluentcrm-sec .section-head .section-lede,
.cv-sub-integration .sub-othercrm-sec .section-head .section-lede {
  text-align: left !important;
  font-size: 1.04rem !important;
  line-height: 1.65 !important;
  max-width: 780px;
}

/* ---------- Couche 1 — Grille des 12 catégories d'emails ---------- */
.cv-sub-integration .sub-emails-cats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 56px !important;
}
@media (max-width: 1100px) { .cv-sub-integration .sub-emails-cats { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 760px) { .cv-sub-integration .sub-emails-cats { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px) { .cv-sub-integration .sub-emails-cats { grid-template-columns: 1fr !important; } }

.cv-sub-integration .sub-email-cat {
  display: flex !important;
  flex-direction: column !important;
  padding: 20px 18px 18px !important;
  border-radius: 14px;
  border: 1px solid rgba(232,201,124,.20);
  background: linear-gradient(180deg, rgba(232,201,124,.05), rgba(232,201,124,.01));
  transition: transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s, box-shadow .22s;
  isolation: isolate;
  overflow: hidden;
}
.cv-sub-integration .sub-email-cat:hover {
  transform: translateY(-3px);
  border-color: rgba(232,201,124,.40);
  box-shadow: 0 14px 32px -12px rgba(232,201,124,.30);
}
.cv-sub-integration .sub-email-cat--pro {
  border-color: rgba(124,58,237,.32);
  background: linear-gradient(180deg, rgba(124,58,237,.08), rgba(124,58,237,.02));
}
.cv-sub-integration .sub-email-cat--pro:hover { border-color: rgba(124,58,237,.55); box-shadow: 0 14px 32px -12px rgba(124,58,237,.35); }

.cv-sub-integration .sub-email-cat-num {
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  color: transparent !important;
  -webkit-text-stroke: 1.2px rgba(232,201,124,.55);
  margin: 0 0 6px !important;
  line-height: 1 !important;
  font-family: 'Cabinet Grotesk', 'Inter', sans-serif;
  letter-spacing: -.02em;
  font-feature-settings: "tnum";
}
.cv-sub-integration .sub-email-cat--pro .sub-email-cat-num {
  -webkit-text-stroke-color: rgba(124,58,237,.65);
}
.cv-sub-integration .sub-email-cat-title {
  font-size: 1.04rem !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  color: var(--text) !important;
  line-height: 1.22 !important;
  letter-spacing: -.005em;
}
.cv-sub-integration .sub-email-cat p {
  font-size: .82rem !important;
  line-height: 1.5 !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
  opacity: .85;
}

/* ---------- Couche 1 — 6 features wrapper/A-B/historique/etc ---------- */
.cv-sub-integration .sub-emails-features {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 20px;
}
@media (max-width: 880px) { .cv-sub-integration .sub-emails-features { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 540px) { .cv-sub-integration .sub-emails-features { grid-template-columns: 1fr !important; } }

.cv-sub-integration .sub-emails-feat {
  padding: 22px 22px 20px !important;
  border-radius: 12px;
  border-left: 3px solid var(--gold);
  background: rgba(255,255,255,.03);
  transition: background .22s, border-left-color .22s;
}
.cv-sub-integration .sub-emails-feat:hover {
  background: rgba(255,255,255,.06);
  border-left-color: var(--gold-2);
}
.cv-sub-integration .sub-emails-feat h4 {
  font-size: 1.02rem !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  color: var(--text) !important;
  line-height: 1.25 !important;
}
.cv-sub-integration .sub-emails-feat p {
  font-size: .84rem !important;
  line-height: 1.55 !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
}
.cv-sub-integration .sub-emails-feat code {
  background: rgba(232,201,124,.14);
  color: var(--gold-2) !important;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: .92em;
  font-family: 'JetBrains Mono', monospace;
}

/* ---------- Couche 2 — FluentCRM blocks ---------- */
.cv-sub-integration .sub-fc-block {
  margin: 0 0 40px !important;
  padding: 0 !important;
}
.cv-sub-integration .sub-fc-block:last-child { margin-bottom: 0 !important; }
.cv-sub-integration .sub-fc-block-title {
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  color: var(--text) !important;
  line-height: 1.2 !important;
  letter-spacing: -.012em;
}
.cv-sub-integration .sub-fc-block > p {
  font-size: .94rem !important;
  line-height: 1.6 !important;
  color: var(--text-muted) !important;
  margin: 0 0 24px !important;
  max-width: 780px;
}

.cv-sub-integration .sub-fc-items {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
@media (max-width: 760px) { .cv-sub-integration .sub-fc-items { grid-template-columns: 1fr !important; } }

.cv-sub-integration .sub-fc-item {
  padding: 22px 22px 20px !important;
  border-radius: 14px;
  border: 1px solid rgba(124,58,237,.25);
  background: linear-gradient(180deg, rgba(124,58,237,.06), rgba(124,58,237,.01));
  transition: transform .22s, border-color .22s, box-shadow .22s;
}
.cv-sub-integration .sub-fc-item:hover {
  transform: translateY(-2px);
  border-color: rgba(124,58,237,.50);
  box-shadow: 0 12px 28px -10px rgba(124,58,237,.40);
}
.cv-sub-integration .sub-fc-item-tag {
  display: inline-block !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 3px 10px !important;
  border-radius: 999px;
  background: rgba(232,201,124,.16);
  color: var(--gold-2) !important;
  margin: 0 0 12px !important;
  width: auto !important;
}
.cv-sub-integration .sub-fc-item-tag--trigger {
  background: rgba(109,213,237,.16);
  color: var(--cyan) !important;
}
.cv-sub-integration .sub-fc-item h4 {
  font-size: 1.06rem !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  color: var(--text) !important;
  line-height: 1.22 !important;
}
.cv-sub-integration .sub-fc-item p {
  font-size: .84rem !important;
  line-height: 1.55 !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
}
.cv-sub-integration .sub-fc-item code {
  background: rgba(109,213,237,.14);
  color: var(--cyan) !important;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: .9em;
  font-family: 'JetBrains Mono', monospace;
}

/* ---------- Couche 3 — Autres CRM ---------- */
.cv-sub-integration .sub-othercrm-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
@media (max-width: 880px) { .cv-sub-integration .sub-othercrm-grid { grid-template-columns: 1fr !important; } }

.cv-sub-integration .sub-othercrm-card {
  padding: 26px 24px 24px !important;
  border-radius: 14px;
  border: 1px solid rgba(109,213,237,.20);
  background: linear-gradient(180deg, rgba(109,213,237,.04), rgba(109,213,237,.01));
  transition: transform .22s, border-color .22s, box-shadow .22s;
}
.cv-sub-integration .sub-othercrm-card:hover {
  transform: translateY(-3px);
  border-color: rgba(109,213,237,.45);
  box-shadow: 0 14px 32px -12px rgba(109,213,237,.30);
}
.cv-sub-integration .sub-othercrm-card h3 {
  font-size: 1.18rem !important;
  font-weight: 800 !important;
  margin: 0 0 12px !important;
  color: var(--text) !important;
  line-height: 1.22 !important;
  letter-spacing: -.005em;
}
.cv-sub-integration .sub-othercrm-card p {
  font-size: .9rem !important;
  line-height: 1.55 !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
}

/* ---------- Light mode ---------- */
html[data-theme="light"] .cv-sub-integration .sub-email-cat { background: linear-gradient(180deg, rgba(232,201,124,.04), rgba(232,201,124,.01)); border-color: rgba(232,201,124,.32); }
html[data-theme="light"] .cv-sub-integration .sub-email-cat-title { color: #0f1a2e !important; }
html[data-theme="light"] .cv-sub-integration .sub-emails-feat { background: rgba(23,26,43,.03); }
html[data-theme="light"] .cv-sub-integration .sub-emails-feat h4 { color: #0f1a2e !important; }
html[data-theme="light"] .cv-sub-integration .sub-fc-item { background: linear-gradient(180deg, rgba(124,58,237,.04), rgba(124,58,237,.01)); border-color: rgba(124,58,237,.22); }
html[data-theme="light"] .cv-sub-integration .sub-fc-item h4 { color: #0f1a2e !important; }
html[data-theme="light"] .cv-sub-integration .sub-othercrm-card { background: linear-gradient(180deg, rgba(109,213,237,.05), rgba(109,213,237,.01)); border-color: rgba(109,213,237,.25); }
html[data-theme="light"] .cv-sub-integration .sub-othercrm-card h3 { color: #0f1a2e !important; }
html[data-theme="light"] .cv-sub-integration .sub-emails-sec .section-head .section-title,
html[data-theme="light"] .cv-sub-integration .sub-fluentcrm-sec .section-head .section-title,
html[data-theme="light"] .cv-sub-integration .sub-othercrm-sec .section-head .section-title { color: #0f1a2e !important; }

/* ═══════════════════════════════════════════════════════════════
   v1.18.5 — Page Industries : système design unifié
   Tokens partagés pour TOUTES les sections de la page
   ═══════════════════════════════════════════════════════════════ */

/* Cards — système unique partagé entre signal/domain/avatar */
.cv-ind-signal,
.cv-ind-domain,
.cv-ind-card.cv-ind-card-link {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  padding: 26px 24px 24px !important;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: linear-gradient(180deg, rgba(255, 255, 255, .035) 0%, rgba(255, 255, 255, .01) 100%);
  backdrop-filter: blur(8px);
  isolation: isolate;
  overflow: hidden;
  height: 100%;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), border-color .25s, box-shadow .25s;
}

.cv-ind-signal:hover,
.cv-ind-domain:hover,
.cv-ind-card.cv-ind-card-link:hover {
  transform: translateY(-4px);
  border-color: rgba(124, 58, 237, .45);
  box-shadow: 0 16px 40px -12px rgba(124, 58, 237, .35), 0 0 0 1px rgba(124, 58, 237, .15);
}

/* Numéros outline — un SEUL traitement, pas trois différents */
.cv-ind-signal-num,
.cv-ind-domain-num {
  font-family: 'Cabinet Grotesk', 'Inter', sans-serif;
  font-size: 2.4rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin: 0 0 14px !important;
  color: transparent !important;
  -webkit-text-stroke: 1.5px rgba(124, 58, 237, .55);
  letter-spacing: -.02em;
  font-feature-settings: "tnum";
}

/* Titres — hiérarchie typo claire */
.cv-ind-signal-title,
.cv-ind-domain-title,
.cv-ind-card-title {
  font-size: 1.18rem !important;
  font-weight: 800 !important;
  margin: 0 0 10px !important;
  color: var(--text) !important;
  line-height: 1.25 !important;
  letter-spacing: -.008em;
}
.cv-ind-domain-title { font-size: 1.32rem !important; }

/* Body texte — un seul style cohérent */
.cv-ind-signal p,
.cv-ind-domain-body,
.cv-ind-card-body {
  font-size: .88rem !important;
  line-height: 1.6 !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
}

/* ─── Section 1 : signaux universels ─── */
.cv-ind-signals {
  padding-block: clamp(72px, 8vw, 110px);
  position: relative;
  isolation: isolate;
}
.cv-ind-signals::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 0%, rgba(124, 58, 237, .12) 0%, transparent 60%);
}
.cv-ind-signals-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 48px;
}
@media (max-width: 1200px) { .cv-ind-signals-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 760px) { .cv-ind-signals-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px) { .cv-ind-signals-grid { grid-template-columns: 1fr !important; } }

/* ─── Section 2 : 6 grands domaines ─── */
.cv-ind-domains {
  padding-block: clamp(72px, 8vw, 110px);
  position: relative;
  isolation: isolate;
  border-top: 1px solid rgba(255, 255, 255, .05);
  border-bottom: 1px solid rgba(255, 255, 255, .05);
}
.cv-ind-domains::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 30% 0%, rgba(232, 201, 124, .08) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(124, 58, 237, .08) 0%, transparent 55%);
}
.cv-ind-domains-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin-top: 48px;
}
@media (max-width: 1100px) { .cv-ind-domains-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 700px) { .cv-ind-domains-grid { grid-template-columns: 1fr !important; } }

.cv-ind-domain { padding: 30px 28px 24px !important; }
.cv-ind-domain-num {
  font-size: 3rem !important;
  -webkit-text-stroke: 1.6px rgba(232, 201, 124, .50);
  margin-bottom: 16px !important;
}
.cv-ind-domain-body { margin-bottom: 18px !important; }
.cv-ind-domain-avatars {
  font-size: .82rem !important;
  line-height: 1.55 !important;
  color: var(--text-muted) !important;
  margin: auto 0 0 !important;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.cv-ind-domain-avatars a {
  color: var(--accent) !important;
  text-decoration: none;
  font-weight: 600;
  transition: color .15s;
}
.cv-ind-domain-avatars a:hover { color: var(--gold-2) !important; }

/* ─── Section 3 : grille 13 avatars ─── */
.cv-ind-avatars {
  padding-block: clamp(72px, 8vw, 110px);
}
.cv-ind-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 48px;
}
@media (max-width: 1200px) { .cv-ind-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 880px) { .cv-ind-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 540px) { .cv-ind-grid { grid-template-columns: 1fr !important; } }

.cv-ind-card-tag {
  display: inline-block !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 10px !important;
  border-radius: 999px;
  background: rgba(124, 58, 237, .14);
  color: #B89BFF !important;
  margin: 0 0 14px !important;
  width: auto !important;
  align-self: flex-start;
}
.cv-ind-card-body { margin-bottom: 16px !important; flex: 1; }
.cv-ind-card-cta {
  margin: auto 0 0 !important;
  padding-top: 14px;
  font-size: .84rem !important;
  font-weight: 700 !important;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.cv-ind-card-cta a {
  color: var(--accent) !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color .18s, gap .18s;
}
.cv-ind-card.cv-ind-card-link:hover .cv-ind-card-cta a {
  color: var(--gold-2) !important;
  gap: 12px;
}

/* ─── Section 4 : message inclusif ─── */
.cv-ind-other {
  padding-block: clamp(72px, 8vw, 110px);
  position: relative;
  isolation: isolate;
}
.cv-ind-other::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 50%, rgba(232, 201, 124, .08) 0%, transparent 60%);
}
.cv-ind-other-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 48px 44px 44px;
  border-radius: 20px;
  border: 1px solid rgba(232, 201, 124, .22);
  background: linear-gradient(180deg, rgba(232, 201, 124, .06) 0%, rgba(124, 58, 237, .03) 100%);
}
.cv-ind-other-inner .eyebrow {
  text-align: left !important;
  justify-content: flex-start !important;
  margin-bottom: 16px !important;
}
.cv-ind-other-inner .section-title {
  font-size: clamp(28px, 3.6vw, 44px) !important;
  line-height: 1.12 !important;
  margin: 0 0 22px !important;
  letter-spacing: -.018em;
  text-align: left !important;
}
.cv-ind-other-inner p {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: var(--text-muted) !important;
  margin: 0 0 16px !important;
}
.cv-ind-other-inner p:last-of-type { margin-bottom: 28px !important; }
.cv-ind-other-cta { margin: 0 !important; }

/* ─── Hero strip avec chiffres ─── */
.cv-ind-hero-strip-item strong {
  color: var(--gold-2) !important;
  font-weight: 800;
  margin-right: 4px;
}

/* ─── Section heads (titres centrés des sections) ─── */
.cv-ind-signals .section-head .section-title,
.cv-ind-domains .section-head .section-title,
.cv-ind-avatars .section-head .section-title {
  font-size: clamp(34px, 4.4vw, 56px) !important;
  line-height: 1.08 !important;
  margin-bottom: 18px !important;
  letter-spacing: -.018em;
}

/* ─── CTA final section ─── */
.cv-ind-final {
  padding-block: clamp(72px, 8vw, 110px);
  text-align: center;
}
.cv-ind-final .section-title {
  font-size: clamp(34px, 4.4vw, 56px) !important;
  line-height: 1.08 !important;
  margin-bottom: 18px !important;
}

/* ═══════════════════════════════════════════════════════════════
   LIGHT MODE — adaptations cohérentes
   ═══════════════════════════════════════════════════════════════ */
html[data-theme="light"] .cv-ind-signal,
html[data-theme="light"] .cv-ind-domain,
html[data-theme="light"] .cv-ind-card.cv-ind-card-link {
  border-color: rgba(15, 26, 46, .10);
  background: linear-gradient(180deg, rgba(15, 26, 46, .025) 0%, rgba(15, 26, 46, .005) 100%);
}
html[data-theme="light"] .cv-ind-signal:hover,
html[data-theme="light"] .cv-ind-domain:hover,
html[data-theme="light"] .cv-ind-card.cv-ind-card-link:hover {
  border-color: rgba(124, 58, 237, .35);
  box-shadow: 0 16px 40px -12px rgba(124, 58, 237, .25);
}
html[data-theme="light"] .cv-ind-signal-title,
html[data-theme="light"] .cv-ind-domain-title,
html[data-theme="light"] .cv-ind-card-title { color: #0f1a2e !important; }
html[data-theme="light"] .cv-ind-domain-avatars { border-top-color: rgba(15, 26, 46, .10); }
html[data-theme="light"] .cv-ind-card-cta { border-top-color: rgba(15, 26, 46, .10); }
html[data-theme="light"] .cv-ind-domains { border-top-color: rgba(15, 26, 46, .06); border-bottom-color: rgba(15, 26, 46, .06); }
html[data-theme="light"] .cv-ind-other-inner {
  border-color: rgba(232, 201, 124, .35);
  background: linear-gradient(180deg, rgba(232, 201, 124, .12) 0%, rgba(124, 58, 237, .04) 100%);
}
html[data-theme="light"] .cv-ind-other-inner .section-title { color: #0f1a2e !important; }
html[data-theme="light"] .cv-ind-card-tag {
  background: rgba(124, 58, 237, .12);
  color: #6B3FB8 !important;
}

/* ═══════════════════════════════════════════════════════════════
   v1.18.6 — Hero perspective : 2 cards clients/cabinet
   Propagé aux 13 patterns avatars
   ═══════════════════════════════════════════════════════════════ */

.cv-hero-perspective {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  max-width: 920px;
  margin: 32px auto 28px;
  padding: 0 16px;
}
@media (max-width: 720px) {
  .cv-hero-perspective {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 24px auto 20px;
  }
}

.cv-hero-perspective-card {
  position: relative;
  padding: 22px 24px 22px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .01) 100%);
  backdrop-filter: blur(8px);
  transition: border-color .25s, box-shadow .25s;
}
.cv-hero-perspective-card:hover {
  border-color: rgba(232, 201, 124, .35);
  box-shadow: 0 12px 32px -10px rgba(232, 201, 124, .25);
}

.cv-hero-perspective-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.cv-hero-perspective-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(232, 201, 124, .18), rgba(124, 58, 237, .12));
  color: var(--gold-2);
}
.cv-hero-perspective-icon svg {
  width: 16px;
  height: 16px;
}
.cv-hero-perspective-eyebrow {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-2);
  line-height: 1.2;
}

.cv-hero-perspective-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cv-hero-perspective-list li {
  position: relative;
  padding-left: 22px;
  font-size: .94rem;
  line-height: 1.45;
  color: var(--text);
  letter-spacing: -.005em;
}
.cv-hero-perspective-list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: .55em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold), var(--accent));
  box-shadow: 0 0 0 3px rgba(232, 201, 124, .12);
}

/* Light mode */
html[data-theme="light"] .cv-hero-perspective-card {
  border-color: rgba(15, 26, 46, .10);
  background: linear-gradient(180deg, rgba(15, 26, 46, .025) 0%, rgba(15, 26, 46, .005) 100%);
}
html[data-theme="light"] .cv-hero-perspective-card:hover {
  border-color: rgba(124, 58, 237, .30);
  box-shadow: 0 12px 32px -10px rgba(124, 58, 237, .20);
}
html[data-theme="light"] .cv-hero-perspective-list li { color: #0f1a2e; }
html[data-theme="light"] .cv-hero-perspective-eyebrow,
html[data-theme="light"] .cv-hero-perspective-icon { color: #6B3FB8; }
html[data-theme="light"] .cv-hero-perspective-icon {
  background: linear-gradient(135deg, rgba(232, 201, 124, .20), rgba(124, 58, 237, .14));
}

/* ============================================================
   v1.18.8 — Homepage full-bleed sections
   La home est rendue depuis post_content WP (snapshot BDD), donc
   les sections n'ont pas la classe .alignfull. On cible donc
   directement les balises section/header enfants de .cv-homepage,
   indépendamment du JSON Gutenberg.
   ============================================================ */
/* v1.46.0 — Sélecteurs étendus pour matcher les sections rendues
   depuis wp:post-content (qui ajoute un wrapper .entry-content /
   .wp-block-post-content) ET depuis le pattern hardcoded historique
   (sections enfant direct de .cv-homepage).
   Le `> *` 1er niveau couvre soit la section directement, soit le
   wrapper post-content. */
.cv-homepage > .alignfull,
.cv-homepage .alignfull,
.cv-homepage > section,
.cv-homepage > header,
.cv-homepage > .entry-content > section,
.cv-homepage > .entry-content > header,
.cv-homepage > .wp-block-post-content > section,
.cv-homepage > .wp-block-post-content > header,
.cv-homepage .entry-content > section,
.cv-homepage .entry-content > header,
.cv-homepage .wp-block-post-content > section,
.cv-homepage .wp-block-post-content > header {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.cv-homepage > section > .wrap,
.cv-homepage > header > .wrap,
.cv-homepage .alignfull > .wrap,
.cv-homepage .alignfull .wrap,
.cv-homepage .entry-content > section > .wrap,
.cv-homepage .entry-content > header > .wrap,
.cv-homepage .wp-block-post-content > section > .wrap,
.cv-homepage .wp-block-post-content > header > .wrap {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(20px, 4vw, 40px) !important;
  padding-right: clamp(20px, 4vw, 40px) !important;
  width: 100%;
  box-sizing: border-box;
}

/* Le wrapper post-content lui-même doit céder le terrain : pas de
   max-width / pas de padding qui empêcherait les sections enfant
   de s'étirer en 100vw. */
.cv-homepage > .entry-content,
.cv-homepage > .wp-block-post-content,
.cv-homepage .entry-content,
.cv-homepage .wp-block-post-content {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Réinitialise les paddings horizontaux WP qui auraient pu être
   posés sur la section elle-même (has-global-padding) — sinon
   on additionne les paddings du wrap interne. */
.cv-homepage > section.has-global-padding,
.cv-homepage > header.has-global-padding,
.cv-homepage .entry-content > section.has-global-padding,
.cv-homepage .entry-content > header.has-global-padding,
.cv-homepage .wp-block-post-content > section.has-global-padding,
.cv-homepage .wp-block-post-content > header.has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================================
   v1.18.12 — FAQ Gutenberg natif (wp:details éditables)
   Markup rendu : <details class="wp-block-details cv-faq-item is-cat-XXX">
                    <summary>Question</summary>
                    <p>Réponse</p>
                  </details>
   La chip catégorie et l'icône + sont générées via ::before / ::after
   en lisant la classe is-cat-XXX (zéro span manuel — tout s'édite
   visuellement dans Gutenberg).
   ============================================================ */
.cv-faq.section { padding-block: 96px; }

.cv-faq .section-head { margin-bottom: 40px; }
.cv-faq .section-head .section-lede {
  max-width: 64ch;
  margin: 18px auto 0;
  color: var(--fg-mute);
  font-size: clamp(15px, 1.3vw, 17px);
}

/* ---- Tabs filter ---- */
.cv-faq-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 0 auto 40px;
  max-width: 980px;
  padding: 0 8px;
}
.cv-faq-tab {
  appearance: none;
  border: 1px solid rgba(124, 58, 237, .25);
  background: rgba(255, 255, 255, .03);
  color: var(--fg-mute);
  font: inherit;
  font-weight: 500;
  font-size: 13.5px;
  letter-spacing: .01em;
  padding: 9px 16px;
  border-radius: 999px;
  cursor: pointer;
  transition: all .18s ease;
  white-space: nowrap;
}
.cv-faq-tab:hover {
  border-color: rgba(124, 58, 237, .55);
  color: var(--fg);
  background: rgba(124, 58, 237, .08);
}
.cv-faq-tab.is-active {
  background: linear-gradient(135deg, rgba(124, 58, 237, .9), rgba(34, 211, 238, .9));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 6px 18px -8px rgba(124, 58, 237, .55);
}

/* ---- List + items (wp:details native) ---- */
.cv-faq-list {
  max-width: 880px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cv-faq-item {
  border: 1px solid rgba(124, 58, 237, .14);
  background: rgba(255, 255, 255, .02);
  border-radius: 14px;
  overflow: hidden;
  transition: all .18s ease;
  /* Override .cv-page .section padding-block:72px qui peut s'appliquer */
  padding: 0;
}
.cv-faq-item:hover {
  border-color: rgba(124, 58, 237, .32);
  background: rgba(255, 255, 255, .035);
}
.cv-faq-item[open] {
  border-color: rgba(124, 58, 237, .45);
  background: rgba(124, 58, 237, .04);
}

/* Summary = grid 3 colonnes : [chip ::before] [question] [icon ::after] */
.cv-faq-item > summary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  font-size: 15.5px;
  line-height: 1.45;
  color: var(--fg);
}
.cv-faq-item > summary::-webkit-details-marker { display: none; }
.cv-faq-item > summary::marker { display: none; }

/* Chip catégorie (::before, lit la classe is-cat-XXX) */
.cv-faq-item > summary::before {
  content: "";
  display: inline-flex;
  align-items: center;
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(34, 211, 238, .9);
  background: rgba(34, 211, 238, .1);
  border: 1px solid rgba(34, 211, 238, .25);
  padding: 4px 10px;
  border-radius: 6px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  white-space: nowrap;
}
.cv-faq-item.is-cat-apropos        > summary::before { content: "À propos"; }
.cv-faq-item.is-cat-solo-pro       > summary::before { content: "Solo / Pro"; }
.cv-faq-item.is-cat-securite       > summary::before { content: "Sécurité"; }
.cv-faq-item.is-cat-install        > summary::before { content: "Install"; }
.cv-faq-item.is-cat-integrations   > summary::before { content: "Intégrations"; }
.cv-faq-item.is-cat-tarifs         > summary::before { content: "Tarifs"; }
.cv-faq-item.is-cat-support        > summary::before { content: "Support"; }
.cv-faq-item.is-cat-marque-blanche > summary::before { content: "Revendeur"; }

/* Icône + (::after) */
.cv-faq-item > summary::after {
  content: "+";
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 300;
  color: rgba(124, 58, 237, .9);
  background: rgba(124, 58, 237, .08);
  border-radius: 50%;
  transition: transform .25s ease, background .18s ease;
  line-height: 1;
}
.cv-faq-item[open] > summary::after {
  transform: rotate(45deg);
  background: rgba(124, 58, 237, .2);
}

/* Body : enfants directs de <details> autres que summary */
.cv-faq-item > p,
.cv-faq-item > ul,
.cv-faq-item > ol {
  margin: 0 22px 12px 22px;
  color: var(--fg-mute);
  font-size: 15px;
  line-height: 1.65;
}
.cv-faq-item > p:first-of-type { margin-top: 6px; }
.cv-faq-item > *:last-child { margin-bottom: 22px; }
.cv-faq-item > ul,
.cv-faq-item > ol { padding-left: 22px; }
.cv-faq-item > ul li,
.cv-faq-item > ol li { margin-bottom: 6px; }
.cv-faq-item code {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 13px;
  background: rgba(124, 58, 237, .1);
  border: 1px solid rgba(124, 58, 237, .2);
  border-radius: 5px;
  padding: 1px 6px;
}
.cv-faq-item a {
  color: rgba(34, 211, 238, .95);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cv-faq-item a:hover { color: rgba(34, 211, 238, 1); }

/* ---- Bottom CTA ---- */
.cv-faq-bottom {
  margin: 60px auto 0;
  max-width: 880px;
  padding: 32px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(124, 58, 237, .08), rgba(34, 211, 238, .06));
  border: 1px solid rgba(124, 58, 237, .25);
}
.cv-faq-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.cv-faq-bottom h3 {
  font-size: 22px;
  margin: 0 0 6px 0;
  color: var(--fg);
}
.cv-faq-bottom p {
  margin: 0;
  color: var(--fg-mute);
  font-size: 15px;
}
.cv-faq-bottom-cta {
  display: flex !important;
  gap: 10px;
  flex-wrap: wrap;
}

/* ---- Light mode ---- */
html[data-theme="light"] .cv-faq-tab {
  background: rgba(255, 255, 255, .8);
  border-color: rgba(23, 26, 43, .15);
  color: rgba(23, 26, 43, .75);
}
html[data-theme="light"] .cv-faq-tab:hover {
  border-color: rgba(124, 58, 237, .45);
  color: rgba(23, 26, 43, .95);
  background: rgba(124, 58, 237, .06);
}
html[data-theme="light"] .cv-faq-item {
  border-color: rgba(23, 26, 43, .1);
  background: rgba(255, 255, 255, .7);
}
html[data-theme="light"] .cv-faq-item:hover {
  border-color: rgba(124, 58, 237, .35);
  background: rgba(255, 255, 255, .85);
}
html[data-theme="light"] .cv-faq-item[open] {
  border-color: rgba(124, 58, 237, .5);
  background: rgba(124, 58, 237, .04);
}
html[data-theme="light"] .cv-faq-item > summary { color: rgba(23, 26, 43, .92); }
html[data-theme="light"] .cv-faq-item > p,
html[data-theme="light"] .cv-faq-item > ul,
html[data-theme="light"] .cv-faq-item > ol { color: rgba(23, 26, 43, .72); }
html[data-theme="light"] .cv-faq-bottom {
  background: linear-gradient(135deg, rgba(124, 58, 237, .06), rgba(34, 211, 238, .04));
  border-color: rgba(23, 26, 43, .12);
}

/* ---- Mobile ---- */
@media (max-width: 720px) {
  .cv-faq.section { padding-block: 64px; }
  .cv-faq-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 8px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .cv-faq-tab { font-size: 12.5px; padding: 8px 14px; }
  .cv-faq-item > summary {
    padding: 14px 14px;
    gap: 10px;
    font-size: 14.5px;
    grid-template-columns: auto 1fr auto;
  }
  .cv-faq-item > summary::before { font-size: 9.5px; padding: 3px 7px; }
  .cv-faq-item > summary::after { width: 24px; height: 24px; font-size: 17px; }
  .cv-faq-item > p,
  .cv-faq-item > ul,
  .cv-faq-item > ol {
    margin-left: 14px;
    margin-right: 14px;
    font-size: 14.5px;
  }
  .cv-faq-bottom { padding: 24px; }
  .cv-faq-bottom-inner { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   v1.18.17 — Page Pricing : sections complémentaires
   (chargées APRÈS le pattern pricing existant)

   - .cv-pricing-includes  : 3 colonnes "Tous les plans incluent"
   - .cv-pricing-steps     : 3 étapes "En route en 3 minutes"
   - .cv-pricing-cta       : CTA final "Pas sûr du bon choix ?"
   ============================================================ */

/* Wrapper main page */
.cv-pricing-page > .alignfull,
.cv-pricing-page > section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
.cv-pricing-page > section.has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ──────────────────────────────────────
   1. ALL PLANS INCLUDE — 3 colonnes
   ────────────────────────────────────── */
.cv-pricing-includes {
  padding-block: 96px !important;
  background: linear-gradient(180deg, rgba(8,10,20,0) 0%, rgba(124,58,237,.04) 100%);
}
.cv-pricing-includes .section-head { margin-bottom: 56px; }

.cv-pricing-cols {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
}
.cv-pricing-col {
  padding: 28px 28px 32px;
  border: 1px solid rgba(124, 58, 237, .14);
  background: rgba(255, 255, 255, .02);
  border-radius: 18px;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.cv-pricing-col:hover {
  border-color: rgba(124, 58, 237, .35);
  background: rgba(255, 255, 255, .035);
  transform: translateY(-2px);
}
.cv-pricing-col-title {
  font-size: 18px !important;
  margin: 0 0 18px 0 !important;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--fg);
}
.cv-pricing-col-bar {
  display: inline-block;
  width: 4px;
  height: 22px;
  border-radius: 2px;
  background: linear-gradient(180deg, #8a46f5, #22d3ee);
}
.cv-pricing-feats {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cv-pricing-feats li {
  position: relative;
  padding: 8px 0 8px 28px;
  color: var(--fg-mute);
  font-size: 14.5px;
  line-height: 1.55;
}
.cv-pricing-feats li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
}

/* ──────────────────────────────────────
   2. EN ROUTE EN 3 MINUTES — 3 étapes
   ────────────────────────────────────── */
.cv-pricing-steps {
  padding-block: 96px !important;
}
.cv-pricing-steps .section-head { margin-bottom: 56px; }

.cv-pricing-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: 1100px;
  margin: 0 auto;
}
.cv-pricing-step {
  position: relative;
  padding: 32px 28px;
  text-align: center;
  border: 1px solid rgba(124, 58, 237, .14);
  background: rgba(255, 255, 255, .02);
  border-radius: 18px;
  overflow: hidden;
}
.cv-pricing-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #8a46f5, #22d3ee);
  opacity: .8;
}
.cv-pricing-step-num {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 64px !important;
  font-weight: 300 !important;
  margin: 0 0 12px 0 !important;
  background: linear-gradient(180deg, rgba(138, 70, 245, .25), rgba(34, 211, 238, .12));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1;
}
.cv-pricing-step-title {
  font-size: 22px !important;
  margin: 0 0 12px 0 !important;
  color: var(--fg);
}
.cv-pricing-step p {
  margin: 0;
  color: var(--fg-mute);
  font-size: 15px;
  line-height: 1.6;
}

/* ──────────────────────────────────────
   3. CTA FINAL — "Pas sûr ?"
   ────────────────────────────────────── */
.cv-pricing-cta {
  padding-block: 96px !important;
}
.cv-pricing-cta-card {
  max-width: 980px;
  margin: 0 auto;
  padding: 64px 48px;
  border-radius: 24px;
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(138, 70, 245, .18) 0%, rgba(8, 10, 20, 0) 60%),
    radial-gradient(120% 100% at 100% 100%, rgba(34, 211, 238, .14) 0%, rgba(8, 10, 20, 0) 60%),
    rgba(8, 10, 20, .65);
  border: 1px solid rgba(124, 58, 237, .35);
  text-align: center;
}
.cv-pricing-cta-card .section-head { margin-bottom: 32px; }
.cv-pricing-cta-row {
  justify-content: center !important;
  display: flex !important;
  gap: 12px;
  flex-wrap: wrap;
}

/* ──────────────────────────────────────
   Light mode
   ────────────────────────────────────── */
html[data-theme="light"] .cv-pricing-includes {
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(124,58,237,.03) 100%);
}
html[data-theme="light"] .cv-pricing-col {
  border-color: rgba(23, 26, 43, .1);
  background: rgba(255, 255, 255, .7);
}
html[data-theme="light"] .cv-pricing-col:hover {
  border-color: rgba(124, 58, 237, .35);
  background: rgba(255, 255, 255, .9);
}
html[data-theme="light"] .cv-pricing-col-title { color: rgba(23, 26, 43, .92); }
html[data-theme="light"] .cv-pricing-feats li { color: rgba(23, 26, 43, .72); }

html[data-theme="light"] .cv-pricing-step {
  border-color: rgba(23, 26, 43, .1);
  background: rgba(255, 255, 255, .8);
}
html[data-theme="light"] .cv-pricing-step-title { color: rgba(23, 26, 43, .92); }
html[data-theme="light"] .cv-pricing-step p { color: rgba(23, 26, 43, .72); }
html[data-theme="light"] .cv-pricing-step-num {
  background: linear-gradient(180deg, rgba(138, 70, 245, .35), rgba(34, 211, 238, .18));
  -webkit-background-clip: text;
  background-clip: text;
}

html[data-theme="light"] .cv-pricing-cta-card {
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(138, 70, 245, .14) 0%, rgba(255,255,255,0) 60%),
    radial-gradient(120% 100% at 100% 100%, rgba(34, 211, 238, .10) 0%, rgba(255,255,255,0) 60%),
    rgba(255, 255, 255, .85);
  border-color: rgba(23, 26, 43, .15);
}

/* ──────────────────────────────────────
   Mobile / tablette
   ────────────────────────────────────── */
@media (max-width: 960px) {
  .cv-pricing-cols { grid-template-columns: 1fr 1fr; gap: 20px; }
  .cv-pricing-steps-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width: 720px) {
  .cv-pricing-includes,
  .cv-pricing-steps,
  .cv-pricing-cta { padding-block: 64px !important; }
  .cv-pricing-cols { grid-template-columns: 1fr; gap: 16px; }
  .cv-pricing-steps-grid { grid-template-columns: 1fr; gap: 16px; }
  .cv-pricing-col { padding: 24px 22px 26px; }
  .cv-pricing-step { padding: 26px 22px; }
  .cv-pricing-cta-card { padding: 40px 24px; border-radius: 18px; }
  .cv-pricing-step-num { font-size: 48px !important; }
}

/* ============================================================
   v1.18.18 — Page Pricing : 3 sections psycho-conversion
   - .cv-pricing-testimonials  : social proof (3 cards)
   - .cv-pricing-compare       : anchoring + loss aversion (2 cols)
   - .cv-pricing-guarantees    : réduction du risque (4 cards)
   ============================================================ */

/* ───────── Témoignages ───────── */
.cv-pricing-testimonials { padding-block: 96px !important; }
.cv-pricing-testimonials .section-head { margin-bottom: 56px; }
.cv-pricing-tests-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.cv-pricing-test {
  padding: 28px 28px 22px !important;
  border: 1px solid rgba(124, 58, 237, .14) !important;
  background: rgba(255, 255, 255, .02) !important;
  border-radius: 18px !important;
  transition: all .2s ease;
  display: flex !important;
  flex-direction: column;
  gap: 12px;
}
.cv-pricing-test:hover {
  border-color: rgba(124, 58, 237, .35) !important;
  background: rgba(255, 255, 255, .035) !important;
  transform: translateY(-2px);
}
.cv-pricing-test-stars {
  color: #f5b942 !important;
  font-size: 16px !important;
  letter-spacing: 2px;
  margin: 0 !important;
}
.cv-pricing-test-quote {
  font-size: 15.5px !important;
  line-height: 1.55 !important;
  color: var(--fg) !important;
  margin: 0 !important;
  flex: 1;
  font-style: italic;
}
.cv-pricing-test-meta {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(124, 58, 237, .12);
}
.cv-pricing-test-avatar {
  flex: 0 0 auto;
  width: 42px !important;
  height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #8a46f5, #22d3ee);
  color: #fff !important;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .04em;
  margin: 0 !important;
}
.cv-pricing-test-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--fg) !important;
  margin: 0 !important;
  line-height: 1.2;
}
.cv-pricing-test-role {
  font-size: 12px !important;
  color: var(--fg-mute) !important;
  margin: 2px 0 0 0 !important;
}

/* ───────── Comparatif coût ───────── */
.cv-pricing-compare { padding-block: 96px !important; }
.cv-pricing-compare .section-head { margin-bottom: 48px; }
.cv-pricing-compare-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
  align-items: stretch;
}
.cv-pricing-compare-col {
  padding: 32px 32px 28px !important;
  border-radius: 20px !important;
  display: flex !important;
  flex-direction: column;
  gap: 14px;
}
.cv-pricing-compare-col-stack {
  border: 1px dashed rgba(255, 255, 255, .15) !important;
  background: rgba(255, 255, 255, .015) !important;
  opacity: .9;
}
.cv-pricing-compare-col-cv {
  border: 1px solid rgba(124, 58, 237, .55) !important;
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(34, 211, 238, .12) 0%, rgba(8, 10, 20, 0) 60%),
    rgba(124, 58, 237, .06) !important;
  box-shadow: 0 12px 36px -16px rgba(124, 58, 237, .55);
}
.cv-pricing-compare-col-title {
  font-size: 22px !important;
  margin: 0 !important;
  color: var(--fg);
}
.cv-pricing-compare-col-stack .cv-pricing-compare-col-title { color: var(--fg-mute); }
.cv-pricing-compare-col-sub {
  font-size: 13.5px !important;
  color: var(--fg-mute) !important;
  margin: 0 0 8px 0 !important;
  font-style: italic;
}
.cv-pricing-compare-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1;
}
.cv-pricing-compare-list li {
  padding: 8px 0 8px 28px;
  position: relative;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--fg-mute);
  border-bottom: 1px solid rgba(255, 255, 255, .04);
}
.cv-pricing-compare-list li:last-child { border-bottom: none; }
.cv-pricing-compare-col-stack .cv-pricing-compare-list li::before {
  content: "−";
  position: absolute;
  left: 4px;
  top: 8px;
  color: rgba(255, 255, 255, .35);
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
}
.cv-pricing-compare-col-cv .cv-pricing-compare-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
}
.cv-pricing-compare-col-cv .cv-pricing-compare-list li {
  color: var(--fg);
  border-bottom-color: rgba(124, 58, 237, .12);
}
.cv-pricing-compare-total {
  margin: 16px 0 0 0 !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(124, 58, 237, .25) !important;
  font-size: 17px !important;
  text-align: center;
  color: var(--fg);
}
.cv-pricing-compare-col-cv .cv-pricing-compare-total {
  font-size: 19px !important;
  border-top-color: rgba(34, 211, 238, .35) !important;
}
.cv-pricing-compare-col-cv .cv-pricing-compare-total strong {
  background: linear-gradient(135deg, #8a46f5, #22d3ee);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 24px;
}

/* ───────── Garanties ───────── */
.cv-pricing-guarantees { padding-block: 96px !important; }
.cv-pricing-guarantees .section-head { margin-bottom: 48px; }
.cv-pricing-guarantees-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.cv-pricing-guarantee {
  padding: 28px 24px !important;
  border: 1px solid rgba(124, 58, 237, .14) !important;
  background: rgba(255, 255, 255, .02) !important;
  border-radius: 16px !important;
  position: relative;
  overflow: hidden;
  transition: all .2s ease;
}
.cv-pricing-guarantee::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 36px; height: 36px;
  background:
    linear-gradient(135deg, rgba(138, 70, 245, .35), rgba(34, 211, 238, .25));
  border-bottom-right-radius: 100%;
  opacity: .9;
}
.cv-pricing-guarantee:hover {
  border-color: rgba(124, 58, 237, .35) !important;
  background: rgba(255, 255, 255, .035) !important;
  transform: translateY(-2px);
}
.cv-pricing-guarantee-title {
  font-size: 17px !important;
  margin: 0 0 10px 0 !important;
  color: var(--fg);
}
.cv-pricing-guarantee p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--fg-mute) !important;
}

/* ───────── Light mode ───────── */
html[data-theme="light"] .cv-pricing-test {
  border-color: rgba(23, 26, 43, .1) !important;
  background: rgba(255, 255, 255, .8) !important;
}
html[data-theme="light"] .cv-pricing-test-quote { color: rgba(23, 26, 43, .92) !important; }
html[data-theme="light"] .cv-pricing-test-name { color: rgba(23, 26, 43, .92) !important; }
html[data-theme="light"] .cv-pricing-test-role { color: rgba(23, 26, 43, .65) !important; }
html[data-theme="light"] .cv-pricing-test-meta { border-top-color: rgba(23, 26, 43, .1); }

html[data-theme="light"] .cv-pricing-compare-col-stack {
  border: 1px dashed rgba(23, 26, 43, .2) !important;
  background: rgba(255, 255, 255, .5) !important;
}
html[data-theme="light"] .cv-pricing-compare-col-cv {
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(34, 211, 238, .08) 0%, rgba(255,255,255,0) 60%),
    rgba(255, 255, 255, .85) !important;
}
html[data-theme="light"] .cv-pricing-compare-list li {
  color: rgba(23, 26, 43, .72);
  border-bottom-color: rgba(23, 26, 43, .06);
}
html[data-theme="light"] .cv-pricing-compare-col-cv .cv-pricing-compare-list li {
  color: rgba(23, 26, 43, .92);
}

html[data-theme="light"] .cv-pricing-guarantee {
  border-color: rgba(23, 26, 43, .1) !important;
  background: rgba(255, 255, 255, .8) !important;
}
html[data-theme="light"] .cv-pricing-guarantee-title { color: rgba(23, 26, 43, .92); }
html[data-theme="light"] .cv-pricing-guarantee p { color: rgba(23, 26, 43, .72) !important; }

/* ───────── Mobile ───────── */
@media (max-width: 960px) {
  .cv-pricing-tests-grid { grid-template-columns: 1fr 1fr; }
  .cv-pricing-guarantees-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .cv-pricing-testimonials,
  .cv-pricing-compare,
  .cv-pricing-guarantees { padding-block: 64px !important; }
  .cv-pricing-tests-grid { grid-template-columns: 1fr; }
  .cv-pricing-compare-grid { grid-template-columns: 1fr; }
  .cv-pricing-guarantees-grid { grid-template-columns: 1fr; }
  .cv-pricing-compare-col { padding: 26px 22px 24px !important; }
  .cv-pricing-test { padding: 24px 22px 20px !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   v1.18.20 — UX Pricing : backgrounds dramatisés par section + card Pro forte
   ════════════════════════════════════════════════════════════════════════════
   Objectif : casser le rendu flat noir uniforme en donnant à CHAQUE section
   sa propre ambiance, et faire ressortir la card "Pro" (mise en avant).
   ════════════════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────────────
   1. SECTION PRICING (bloc existant — hero + cards Solo/Pro)
   Background : mesh gradient avec halos violets + cyan + doré subtle
   ───────────────────────────────────────────────────────────────── */
.cv-pricing-page .section.pricing,
.section.pricing {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(60% 50% at 20% 20%, rgba(138, 70, 245, .22) 0%, rgba(8, 10, 20, 0) 70%),
    radial-gradient(50% 50% at 80% 30%, rgba(34, 211, 238, .14) 0%, rgba(8, 10, 20, 0) 70%),
    radial-gradient(70% 60% at 50% 110%, rgba(245, 185, 66, .10) 0%, rgba(8, 10, 20, 0) 70%),
    linear-gradient(180deg, #0a0d18 0%, #0c1024 50%, #0a0d18 100%);
}
.cv-pricing-page .section.pricing::before,
.section.pricing::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
  mask-image: radial-gradient(60% 60% at 50% 50%, #000 20%, transparent 80%);
  -webkit-mask-image: radial-gradient(60% 60% at 50% 50%, #000 20%, transparent 80%);
}
.cv-pricing-page .section.pricing > *,
.section.pricing > * { position: relative; z-index: 1; }

/* ─────────────────────────────────────────────────────────────────
   2. CARDS PRICING — Pro mise dramatiquement en avant
   ───────────────────────────────────────────────────────────────── */
.section.pricing .price-grid {
  align-items: stretch !important;
}
.section.pricing .price {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.015) 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 22px !important;
  padding: 36px 32px !important;
  box-shadow:
    0 8px 24px -12px rgba(0, 0, 0, .5),
    inset 0 1px 0 rgba(255,255,255,.05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.section.pricing .price:hover {
  transform: translateY(-3px);
  border-color: rgba(124, 58, 237, .35) !important;
  box-shadow:
    0 16px 36px -16px rgba(124, 58, 237, .35),
    inset 0 1px 0 rgba(255,255,255,.06);
}

/* Card PRO — version dramatisée */
.section.pricing .price.price-pro {
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(138, 70, 245, .22) 0%, rgba(8, 10, 20, 0) 60%),
    radial-gradient(120% 100% at 100% 100%, rgba(245, 185, 66, .12) 0%, rgba(8, 10, 20, 0) 60%),
    linear-gradient(180deg, rgba(124, 58, 237, .12) 0%, rgba(124, 58, 237, .04) 100%) !important;
  border: 1px solid transparent !important;
  background-clip: padding-box;
  transform: scale(1.025);
  z-index: 2;
  box-shadow:
    0 24px 50px -20px rgba(124, 58, 237, .55),
    0 0 0 1px rgba(245, 185, 66, .35),
    inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}
.section.pricing .price.price-pro::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 24px;
  padding: 2px;
  background: linear-gradient(135deg, #8a46f5 0%, #22d3ee 50%, #f5b942 100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  opacity: .75;
  z-index: -1;
}
.section.pricing .price.price-pro:hover {
  transform: scale(1.04) translateY(-3px);
  box-shadow:
    0 28px 60px -22px rgba(124, 58, 237, .7),
    0 0 0 1px rgba(245, 185, 66, .55),
    inset 0 1px 0 rgba(255, 255, 255, .15) !important;
}

/* Halo lumineux derrière la card Pro */
.section.pricing .price.price-pro .halo {
  position: absolute;
  inset: -40px;
  background:
    radial-gradient(50% 50% at 50% 0%, rgba(138, 70, 245, .35) 0%, rgba(8, 10, 20, 0) 70%);
  filter: blur(40px);
  z-index: -2;
  pointer-events: none;
}

/* Tag PRO — chip premium gold */
.section.pricing .price.price-pro .price-tag-pro {
  display: inline-block;
  padding: 6px 14px !important;
  background: linear-gradient(135deg, #f5b942, #d97706) !important;
  color: #0a0d18 !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 999px;
  font-size: 11px !important;
  box-shadow: 0 6px 18px -8px rgba(245, 185, 66, .65), inset 0 1px 0 rgba(255,255,255,.4);
}

/* Card SOLO — stylée mais clairement "deuxième choix" */
.section.pricing .price:not(.price-pro) {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025) 0%, rgba(255,255,255,.008) 100%) !important;
  border: 1px solid rgba(124, 58, 237, .15) !important;
}
.section.pricing .price-tag {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(124, 58, 237, .12);
  border: 1px solid rgba(124, 58, 237, .3);
  color: rgba(34, 211, 238, .9);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 6px;
  margin-bottom: 12px;
}

/* Prix énormes — gradient sur le chiffre Pro */
.section.pricing .price.price-pro .price-num {
  background: linear-gradient(135deg, #fff 0%, #f5b942 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
}

/* ─────────────────────────────────────────────────────────────────
   3. SECTION INCLUDES — "Tous les plans incluent"
   Background : grid pattern + halo central violet
   ───────────────────────────────────────────────────────────────── */
.cv-pricing-includes {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(60% 60% at 50% 0%, rgba(34, 211, 238, .08) 0%, rgba(8, 10, 20, 0) 70%),
    linear-gradient(180deg, #0a0d18 0%, #0d1330 100%) !important;
}
.cv-pricing-includes::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(34, 211, 238, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 211, 238, .04) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
  z-index: 0;
  mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
}
.cv-pricing-includes > * { position: relative; z-index: 1; }

/* ─────────────────────────────────────────────────────────────────
   4. SECTION TESTIMONIALS — "Ils ont basculé"
   Background : ambiance chaude doré subtle (social proof)
   ───────────────────────────────────────────────────────────────── */
.cv-pricing-testimonials {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(50% 60% at 20% 30%, rgba(245, 185, 66, .10) 0%, rgba(8, 10, 20, 0) 65%),
    radial-gradient(50% 60% at 80% 70%, rgba(245, 185, 66, .06) 0%, rgba(8, 10, 20, 0) 65%),
    linear-gradient(180deg, #0d1330 0%, #0a0d18 100%) !important;
}
.cv-pricing-testimonials::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(245, 185, 66, .3) 50%, transparent 100%);
  z-index: 0;
}
.cv-pricing-testimonials > * { position: relative; z-index: 1; }

/* Étoiles plus chaudes */
.cv-pricing-test-stars {
  text-shadow: 0 0 12px rgba(245, 185, 66, .35);
}

/* ─────────────────────────────────────────────────────────────────
   5. SECTION COMPARE — "Le vrai coût d'une stack pro"
   Background : split visuel gauche dim / droite vibrant
   ───────────────────────────────────────────────────────────────── */
.cv-pricing-compare {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(90deg,
      rgba(8, 10, 20, .9) 0%,
      rgba(20, 16, 32, .9) 45%,
      rgba(124, 58, 237, .12) 65%,
      rgba(34, 211, 238, .10) 100%) !important;
}
.cv-pricing-compare::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, rgba(124, 58, 237, .4) 50%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}
.cv-pricing-compare > * { position: relative; z-index: 1; }

/* ─────────────────────────────────────────────────────────────────
   6. SECTION STEPS — "En route en 3 minutes"
   Background : noir profond + ligne connective horizontale
   ───────────────────────────────────────────────────────────────── */
.cv-pricing-steps {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(80% 50% at 50% 50%, rgba(124, 58, 237, .08) 0%, rgba(8, 10, 20, 0) 70%),
    linear-gradient(180deg, #0a0d18 0%, #080a14 100%) !important;
}
/* Ligne connective entre les 3 étapes (desktop only) */
@media (min-width: 961px) {
  .cv-pricing-steps-grid {
    position: relative;
  }
  .cv-pricing-steps-grid::before {
    content: "";
    position: absolute;
    top: 65px;
    left: 16.66%;
    right: 16.66%;
    height: 2px;
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(138, 70, 245, .4) 20%,
      rgba(34, 211, 238, .4) 50%,
      rgba(138, 70, 245, .4) 80%,
      transparent 100%);
    z-index: 0;
  }
  .cv-pricing-step { position: relative; z-index: 1; }
}

/* ─────────────────────────────────────────────────────────────────
   7. SECTION GUARANTEES — "Pourquoi vous ne pouvez pas perdre"
   Background : bleu nuit profond + halos verts/cyan rassurants
   ───────────────────────────────────────────────────────────────── */
.cv-pricing-guarantees {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(50% 50% at 0% 0%, rgba(34, 197, 94, .10) 0%, rgba(8, 10, 20, 0) 65%),
    radial-gradient(50% 50% at 100% 100%, rgba(34, 211, 238, .10) 0%, rgba(8, 10, 20, 0) 65%),
    linear-gradient(180deg, #0a1024 0%, #0a0d18 100%) !important;
}
.cv-pricing-guarantees::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 25% 75%, rgba(34, 197, 94, .06) 0%, transparent 30%),
    radial-gradient(circle at 75% 25%, rgba(34, 211, 238, .06) 0%, transparent 30%);
  pointer-events: none;
  z-index: 0;
}
.cv-pricing-guarantees > * { position: relative; z-index: 1; }

/* Coin coloré sur les cards garanties — accent shield */
.cv-pricing-guarantee::before {
  background: linear-gradient(135deg, rgba(34, 197, 94, .4), rgba(34, 211, 238, .25)) !important;
}

/* ─────────────────────────────────────────────────────────────────
   8. SECTION CTA FINAL — déjà OK, on renforce le glow
   ───────────────────────────────────────────────────────────────── */
.cv-pricing-cta {
  position: relative;
  background:
    linear-gradient(180deg, #0a0d18 0%, #0d1330 100%) !important;
}
.cv-pricing-cta-card {
  box-shadow:
    0 30px 70px -28px rgba(124, 58, 237, .55),
    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

/* ─────────────────────────────────────────────────────────────────
   LIGHT MODE — adapter les fonds
   ───────────────────────────────────────────────────────────────── */
html[data-theme="light"] .cv-pricing-page .section.pricing,
html[data-theme="light"] .section.pricing {
  background:
    radial-gradient(60% 50% at 20% 20%, rgba(138, 70, 245, .12) 0%, rgba(255,255,255,0) 70%),
    radial-gradient(50% 50% at 80% 30%, rgba(34, 211, 238, .08) 0%, rgba(255,255,255,0) 70%),
    radial-gradient(70% 60% at 50% 110%, rgba(245, 185, 66, .06) 0%, rgba(255,255,255,0) 70%),
    linear-gradient(180deg, #fafafe 0%, #f4f3fb 50%, #fafafe 100%) !important;
}
html[data-theme="light"] .section.pricing .price.price-pro {
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(138, 70, 245, .14) 0%, rgba(255,255,255,0) 60%),
    radial-gradient(120% 100% at 100% 100%, rgba(245, 185, 66, .10) 0%, rgba(255,255,255,0) 60%),
    rgba(255, 255, 255, .9) !important;
  border-color: transparent !important;
}
html[data-theme="light"] .section.pricing .price:not(.price-pro) {
  background: rgba(255, 255, 255, .85) !important;
  border-color: rgba(124, 58, 237, .15) !important;
}

html[data-theme="light"] .cv-pricing-includes {
  background:
    radial-gradient(60% 60% at 50% 0%, rgba(34, 211, 238, .04) 0%, rgba(255,255,255,0) 70%),
    linear-gradient(180deg, #fafafe 0%, #eef2fb 100%) !important;
}
html[data-theme="light"] .cv-pricing-testimonials {
  background:
    radial-gradient(50% 60% at 20% 30%, rgba(245, 185, 66, .08) 0%, rgba(255,255,255,0) 65%),
    radial-gradient(50% 60% at 80% 70%, rgba(245, 185, 66, .04) 0%, rgba(255,255,255,0) 65%),
    linear-gradient(180deg, #eef2fb 0%, #fafafe 100%) !important;
}
html[data-theme="light"] .cv-pricing-compare {
  background:
    linear-gradient(90deg,
      #fafafe 0%,
      #f0eaf6 45%,
      rgba(124, 58, 237, .06) 65%,
      rgba(34, 211, 238, .04) 100%) !important;
}
html[data-theme="light"] .cv-pricing-steps {
  background:
    radial-gradient(80% 50% at 50% 50%, rgba(124, 58, 237, .04) 0%, rgba(255,255,255,0) 70%),
    linear-gradient(180deg, #fafafe 0%, #f4f3fb 100%) !important;
}
html[data-theme="light"] .cv-pricing-guarantees {
  background:
    radial-gradient(50% 50% at 0% 0%, rgba(34, 197, 94, .06) 0%, rgba(255,255,255,0) 65%),
    radial-gradient(50% 50% at 100% 100%, rgba(34, 211, 238, .06) 0%, rgba(255,255,255,0) 65%),
    linear-gradient(180deg, #f0f5ff 0%, #fafafe 100%) !important;
}
html[data-theme="light"] .cv-pricing-cta {
  background: linear-gradient(180deg, #fafafe 0%, #eef2fb 100%) !important;
}

/* ─────────────────────────────────────────────────────────────────
   MOBILE — neutraliser les effets coûteux + ajustements
   ───────────────────────────────────────────────────────────────── */
@media (max-width: 720px) {
  .section.pricing .price.price-pro {
    transform: none;
  }
  .section.pricing .price.price-pro:hover {
    transform: translateY(-2px);
  }
  .cv-pricing-steps-grid::before { display: none; }
}

/* ════════════════════════════════════════════════════════════════════════════
   v1.18.21 — Fix UX pricing-v3 (.pv3-* classes)
   Boutons non-sélectionnés : bordure visible + fond → ne plus flotter
   Card Solo : bordure + ombre → ressort du fond noir
   Card Pro recommandée : bordure gradient + scale + halo (déjà fait pour .price-pro,
     ici on duplique pour les bonnes classes pv3)
   ════════════════════════════════════════════════════════════════════════════ */

/* ───────── Boutons persona (3 segments du haut) ───────── */
.pv3-persona-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px !important;
  background: rgba(255, 255, 255, .04) !important;
  border: 1px solid rgba(124, 58, 237, .25) !important;
  border-radius: 14px !important;
  color: var(--fg-mute) !important;
  font: inherit;
  font-size: 14.5px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s ease;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}
.pv3-persona-btn:hover {
  background: rgba(124, 58, 237, .1) !important;
  border-color: rgba(124, 58, 237, .55) !important;
  color: var(--fg) !important;
  transform: translateY(-1px);
}
.pv3-persona-btn.pv3-persona-active {
  background: linear-gradient(135deg, rgba(138, 70, 245, .95), rgba(34, 211, 238, .9)) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow:
    0 10px 24px -10px rgba(124, 58, 237, .55),
    inset 0 1px 0 rgba(255, 255, 255, .15) !important;
  transform: translateY(-1px);
}
.pv3-persona-btn.pv3-persona-active:hover {
  filter: brightness(1.05);
}

/* ───────── Boutons toggle (Annuel / Lifetime) ───────── */
.pv3-toggle-btn {
  appearance: none;
  padding: 11px 22px !important;
  background: rgba(255, 255, 255, .04) !important;
  border: 1px solid rgba(124, 58, 237, .25) !important;
  border-radius: 999px !important;
  color: var(--fg-mute) !important;
  font: inherit;
  font-size: 13.5px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s ease;
}
.pv3-toggle-btn:hover {
  background: rgba(124, 58, 237, .1) !important;
  border-color: rgba(124, 58, 237, .55) !important;
  color: var(--fg) !important;
}
.pv3-toggle-btn.pv3-active {
  background: linear-gradient(135deg, rgba(138, 70, 245, .95), rgba(34, 211, 238, .9)) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow:
    0 8px 22px -10px rgba(124, 58, 237, .55),
    inset 0 1px 0 rgba(255, 255, 255, .15) !important;
}

/* ───────── Cards pricing v3 ───────── */
.pv3-card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .015) 100%) !important;
  border: 1px solid rgba(124, 58, 237, .22) !important;
  border-radius: 22px !important;
  padding: 36px 32px !important;
  box-shadow:
    0 10px 28px -14px rgba(0, 0, 0, .55),
    inset 0 1px 0 rgba(255, 255, 255, .05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pv3-card:hover {
  transform: translateY(-3px);
  border-color: rgba(124, 58, 237, .5) !important;
  box-shadow:
    0 18px 38px -16px rgba(124, 58, 237, .4),
    inset 0 1px 0 rgba(255, 255, 255, .07);
}

/* Card recommandée (Pro) — version dramatisée */
.pv3-card.pv3-recommended,
.pv3-card.pv3-card-hero {
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(138, 70, 245, .22) 0%, rgba(8, 10, 20, 0) 60%),
    radial-gradient(120% 100% at 100% 100%, rgba(245, 185, 66, .14) 0%, rgba(8, 10, 20, 0) 60%),
    linear-gradient(180deg, rgba(124, 58, 237, .14) 0%, rgba(124, 58, 237, .04) 100%) !important;
  border: 1px solid transparent !important;
  transform: scale(1.025);
  z-index: 2;
  box-shadow:
    0 26px 56px -22px rgba(124, 58, 237, .6),
    0 0 0 1px rgba(245, 185, 66, .4),
    inset 0 1px 0 rgba(255, 255, 255, .14) !important;
}
.pv3-card.pv3-recommended::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 24px;
  padding: 2px;
  background: linear-gradient(135deg, #8a46f5 0%, #22d3ee 50%, #f5b942 100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  opacity: .8;
  z-index: -1;
}
.pv3-card.pv3-recommended:hover {
  transform: scale(1.04) translateY(-3px);
  box-shadow:
    0 30px 64px -24px rgba(124, 58, 237, .75),
    0 0 0 1px rgba(245, 185, 66, .6),
    inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

/* Halo lumineux derrière la card Pro */
.pv3-card.pv3-recommended::after {
  content: "";
  position: absolute;
  inset: -50px -30px -10px -30px;
  background: radial-gradient(50% 50% at 50% 0%, rgba(138, 70, 245, .35) 0%, rgba(8, 10, 20, 0) 70%);
  filter: blur(50px);
  z-index: -2;
  pointer-events: none;
}

/* ───────── Light mode ───────── */
html[data-theme="light"] .pv3-persona-btn,
html[data-theme="light"] .pv3-toggle-btn {
  background: rgba(255, 255, 255, .8) !important;
  border-color: rgba(23, 26, 43, .15) !important;
  color: rgba(23, 26, 43, .75) !important;
}
html[data-theme="light"] .pv3-persona-btn:hover,
html[data-theme="light"] .pv3-toggle-btn:hover {
  background: rgba(124, 58, 237, .08) !important;
  border-color: rgba(124, 58, 237, .5) !important;
  color: rgba(23, 26, 43, .95) !important;
}
html[data-theme="light"] .pv3-persona-btn.pv3-persona-active,
html[data-theme="light"] .pv3-toggle-btn.pv3-active {
  background: linear-gradient(135deg, rgba(138, 70, 245, .95), rgba(34, 211, 238, .9)) !important;
  color: #fff !important;
}
html[data-theme="light"] .pv3-card {
  background: rgba(255, 255, 255, .85) !important;
  border-color: rgba(23, 26, 43, .12) !important;
}
html[data-theme="light"] .pv3-card.pv3-recommended {
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(138, 70, 245, .14) 0%, rgba(255, 255, 255, 0) 60%),
    radial-gradient(120% 100% at 100% 100%, rgba(245, 185, 66, .10) 0%, rgba(255, 255, 255, 0) 60%),
    rgba(255, 255, 255, .92) !important;
}

/* ───────── Mobile ───────── */
@media (max-width: 720px) {
  .pv3-card.pv3-recommended { transform: none; }
  .pv3-card.pv3-recommended:hover { transform: translateY(-2px); }
  .pv3-persona-btn { font-size: 13px; padding: 12px 16px !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   v1.18.22 — Cards agences clientes (Pack Agence 5/15/50)
   La persona "Pour mes agences clientes" utilise pv3-agency-card,
   pas pv3-card → règles dédiées (sinon les cards flottent sans bordure).
   ════════════════════════════════════════════════════════════════════════════ */

/* Container 3-cols */
.pv3-agency-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px !important;
  align-items: stretch !important;
  max-width: 1100px;
  margin-inline: auto;
}

/* Card agence (5 sites / 50 sites — non populaires) */
.pv3-agency-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  padding: 32px 28px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .015) 100%) !important;
  border: 1px solid rgba(124, 58, 237, .22) !important;
  border-radius: 22px !important;
  box-shadow:
    0 10px 28px -14px rgba(0, 0, 0, .55),
    inset 0 1px 0 rgba(255, 255, 255, .05) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.pv3-agency-card:hover {
  transform: translateY(-3px);
  border-color: rgba(124, 58, 237, .5) !important;
  box-shadow:
    0 18px 38px -16px rgba(124, 58, 237, .4),
    inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}

/* Card populaire (15 sites — au milieu) — bordure gradient + scale + halo */
.pv3-agency-card.pv3-agency-popular {
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(138, 70, 245, .22) 0%, rgba(8, 10, 20, 0) 60%),
    radial-gradient(120% 100% at 100% 100%, rgba(245, 185, 66, .14) 0%, rgba(8, 10, 20, 0) 60%),
    linear-gradient(180deg, rgba(124, 58, 237, .14) 0%, rgba(124, 58, 237, .04) 100%) !important;
  border: 1px solid transparent !important;
  transform: scale(1.025);
  z-index: 2;
  box-shadow:
    0 26px 56px -22px rgba(124, 58, 237, .6),
    0 0 0 1px rgba(245, 185, 66, .4),
    inset 0 1px 0 rgba(255, 255, 255, .14) !important;
}
.pv3-agency-card.pv3-agency-popular::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 24px;
  padding: 2px;
  background: linear-gradient(135deg, #8a46f5 0%, #22d3ee 50%, #f5b942 100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  opacity: .8;
  z-index: -1;
}
.pv3-agency-card.pv3-agency-popular::after {
  content: "";
  position: absolute;
  inset: -50px -30px -10px -30px;
  background: radial-gradient(50% 50% at 50% 0%, rgba(138, 70, 245, .35) 0%, rgba(8, 10, 20, 0) 70%);
  filter: blur(50px);
  z-index: -2;
  pointer-events: none;
}
.pv3-agency-card.pv3-agency-popular:hover {
  transform: scale(1.04) translateY(-3px);
  box-shadow:
    0 30px 64px -24px rgba(124, 58, 237, .75),
    0 0 0 1px rgba(245, 185, 66, .6),
    inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

/* Tag PRO · 5/15/50 SITES */
.pv3-agency-tier {
  display: inline-block;
  padding: 5px 12px !important;
  background: rgba(124, 58, 237, .14) !important;
  border: 1px solid rgba(124, 58, 237, .35) !important;
  color: rgba(34, 211, 238, .9) !important;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 6px;
  margin-bottom: 14px;
  width: fit-content;
}
.pv3-agency-card.pv3-agency-popular .pv3-agency-tier {
  background: rgba(245, 185, 66, .15) !important;
  border-color: rgba(245, 185, 66, .45) !important;
  color: rgba(245, 185, 66, .95) !important;
}

/* Light mode */
html[data-theme="light"] .pv3-agency-card {
  background: rgba(255, 255, 255, .85) !important;
  border-color: rgba(23, 26, 43, .12) !important;
}
html[data-theme="light"] .pv3-agency-card.pv3-agency-popular {
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(138, 70, 245, .14) 0%, rgba(255, 255, 255, 0) 60%),
    radial-gradient(120% 100% at 100% 100%, rgba(245, 185, 66, .10) 0%, rgba(255, 255, 255, 0) 60%),
    rgba(255, 255, 255, .92) !important;
}
html[data-theme="light"] .pv3-agency-tier {
  background: rgba(124, 58, 237, .08) !important;
  color: rgba(124, 58, 237, .9) !important;
}

/* Mobile */
@media (max-width: 960px) {
  .pv3-agency-grid { grid-template-columns: 1fr 1fr; }
  .pv3-agency-card.pv3-agency-popular { transform: none; }
  .pv3-agency-card.pv3-agency-popular:hover { transform: translateY(-2px); }
}
@media (max-width: 720px) {
  .pv3-agency-grid { grid-template-columns: 1fr; gap: 16px !important; }
  .pv3-agency-card { padding: 26px 22px !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   v1.18.23 — Padding sections page Tarifs réduit à 25px
   Override scope-attaché à .cv-pricing-page : ne touche QUE la page Tarifs.
   Les autres pages .cv-page conservent leur padding-block: 72px (ligne 12552).
   ════════════════════════════════════════════════════════════════════════════ */
.cv-pricing-page .section,
main.cv-page.cv-pricing-page .section {
  padding-top: 25px !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   v1.18.25 — Système "shot frames" pour visuels représentatifs du produit
   ────────────────────────────────────────────────────────────────────────────
   Wrappers réutilisables :
     .cv-shot                 → halo + scope
     .cv-shot-frame-browser   → mockup navigateur (hero shots desktop)
     .cv-shot-frame-mobile    → mockup smartphone (vues côté client)
     .cv-shot-frame-bare      → bordure + ombre, sans chrome (composants isolés)
     .cv-shot-with-callouts   → annotations cercle+ligne
     .cv-shot-split           → layout texte + visuel side-by-side
     .cv-shot-grid            → grille 2x2 de petites captures

   "Faux UI" Type A (composants représentatifs internes) :
     .cv-shot-vault-*         → vue dashboard coffre client
     .cv-shot-mobile-*        → vue smartphone client
     .cv-shot-email-*         → email transactionnel
     .cv-shot-parcours-*      → timeline parcours admin
     .cv-shot-widgets-*       → widgets sidebar Fluent Community
   ════════════════════════════════════════════════════════════════════════════ */

/* ──── Wrappers shot ──── */
.cv-shot {
  position: relative;
  margin: 0 auto;
}
.cv-shot::before {
  content: "";
  position: absolute;
  inset: -40px;
  background: radial-gradient(50% 50% at 50% 50%, rgba(138, 70, 245, .25) 0%, rgba(8, 10, 20, 0) 70%);
  filter: blur(40px);
  z-index: -1;
  pointer-events: none;
}

/* Browser frame */
.cv-shot-frame-browser {
  background: linear-gradient(180deg, #1a1f3a 0%, #14182e 100%);
  border: 1px solid rgba(124, 58, 237, .3);
  border-radius: 14px;
  overflow: hidden;
  box-shadow:
    0 30px 80px -20px rgba(0, 0, 0, .65),
    0 0 0 1px rgba(255, 255, 255, .04),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}
.cv-shot-frame-browser .cv-shot-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: rgba(0, 0, 0, .25);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.cv-shot-frame-browser .cv-shot-dots { display: flex; gap: 6px; }
.cv-shot-frame-browser .cv-shot-dots span {
  width: 11px; height: 11px; border-radius: 50%; display: block;
}
.cv-shot-frame-browser .cv-shot-dots span:nth-child(1) { background: #ff5f56; }
.cv-shot-frame-browser .cv-shot-dots span:nth-child(2) { background: #ffbd2e; }
.cv-shot-frame-browser .cv-shot-dots span:nth-child(3) { background: #27c93f; }
.cv-shot-frame-browser .cv-shot-url {
  flex: 1;
  margin-left: 10px;
  padding: 5px 10px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 6px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11.5px;
  color: rgba(255, 255, 255, .45);
  display: flex;
  align-items: center;
  gap: 6px;
}
.cv-shot-frame-browser .cv-shot-url::before { content: "🔒"; font-size: 10px; filter: grayscale(.3); }
.cv-shot-body { overflow: hidden; }

/* Mobile frame */
.cv-shot-frame-mobile {
  background: #1a1f3a;
  border: 8px solid #0a0d18;
  border-radius: 32px;
  overflow: hidden;
  width: 320px;
  box-shadow:
    0 30px 80px -20px rgba(138, 70, 245, .45),
    0 0 0 1px rgba(124, 58, 237, .3),
    inset 0 1px 0 rgba(255, 255, 255, .08);
  position: relative;
  margin-inline: auto;
}
.cv-shot-frame-mobile::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 110px; height: 22px;
  background: #0a0d18;
  border-radius: 0 0 14px 14px;
  z-index: 5;
}

/* Bare frame */
.cv-shot-frame-bare {
  background: #14182e;
  border: 1px solid rgba(124, 58, 237, .25);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 24px 64px -18px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .06);
}

/* Callouts */
.cv-shot-with-callouts { position: relative; }
.cv-callout {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 3;
}
.cv-callout-num {
  flex: 0 0 auto;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f5b942, #d97706);
  color: #0a0d18;
  font-weight: 800;
  font-size: 14px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px -4px rgba(245, 185, 66, .55), 0 0 0 4px rgba(245, 185, 66, .15);
}
.cv-callout-text {
  background: rgba(8, 10, 20, .92);
  border: 1px solid rgba(245, 185, 66, .35);
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  box-shadow: 0 8px 22px -8px rgba(0, 0, 0, .5);
}
.cv-callout-line {
  position: absolute;
  background: linear-gradient(90deg, #f5b942, transparent);
  height: 2px;
  border-radius: 1px;
  z-index: 2;
}

/* Layouts utilitaires */
.cv-shot-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.cv-shot-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
@media (max-width: 760px) {
  .cv-shot-split { grid-template-columns: 1fr; gap: 32px; }
  .cv-shot-grid  { grid-template-columns: 1fr; }
  .cv-shot-frame-mobile { width: 280px; }
}

/* ──── Composant Type A : VAULT (dashboard coffre client) ──── */
.cv-shot-vault {
  display: grid;
  grid-template-columns: 200px 1fr;
  min-height: 380px;
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  font-family: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;
  color: #e8e8f0;
}
.cv-shot-vault-side {
  background: rgba(0, 0, 0, .25);
  padding: 18px 14px;
  border-right: 1px solid rgba(255, 255, 255, .04);
}
.cv-shot-vault-brand {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 18px; padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .04);
}
.cv-shot-vault-brand-logo { width: 22px; height: 22px; border-radius: 6px; background: linear-gradient(135deg, #8a46f5, #22d3ee); }
.cv-shot-vault-brand-name { font-weight: 700; font-size: 13px; }
.cv-shot-vault-label {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: .12em;
  color: rgba(255, 255, 255, .45);
  text-transform: uppercase;
  margin: 12px 0 6px;
}
.cv-shot-vault-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 12.5px;
  color: rgba(232, 232, 240, .68);
}
.cv-shot-vault-item.is-active { background: rgba(124, 58, 237, .15); color: #e8e8f0; }
.cv-shot-vault-item .num { font-family: "JetBrains Mono", monospace; font-size: 10.5px; color: rgba(232, 232, 240, .45); }
.cv-shot-vault-main { padding: 22px 24px; }
.cv-shot-vault-h {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 18px;
}
.cv-shot-vault-h-title { font-size: 16px; font-weight: 700; }
.cv-shot-vault-h-meta { font-family: "JetBrains Mono", monospace; font-size: 10.5px; color: rgba(232, 232, 240, .45); }
.cv-shot-vault-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.cv-shot-vault-stat {
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 8px;
  padding: 12px 14px;
}
.cv-shot-vault-stat-label {
  font-family: "JetBrains Mono", monospace;
  font-size: 9.5px;
  color: rgba(232, 232, 240, .45);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.cv-shot-vault-stat-num { font-size: 24px; font-weight: 700; margin: 4px 0; }
.cv-shot-vault-stat-num.up { color: #22c55e; }
.cv-shot-vault-stat-num.gold { color: #f5b942; }
.cv-shot-vault-stat-sub { font-size: 10.5px; color: rgba(232, 232, 240, .45); }
.cv-shot-vault-files {
  background: rgba(255, 255, 255, .02);
  border: 1px solid rgba(255, 255, 255, .04);
  border-radius: 8px; overflow: hidden;
}
.cv-shot-vault-files-row {
  display: grid;
  grid-template-columns: 24px 1fr 80px 90px;
  align-items: center; gap: 12px;
  padding: 10px 14px;
  font-size: 12.5px;
  border-bottom: 1px solid rgba(255, 255, 255, .03);
}
.cv-shot-vault-files-row:last-child { border-bottom: none; }
.cv-shot-vault-files-icon {
  width: 22px; height: 22px;
  border-radius: 4px;
  background: rgba(124, 58, 237, .25);
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; font-family: monospace;
  color: rgba(232, 232, 240, .68);
}
.cv-shot-vault-files-name span { color: rgba(232, 232, 240, .45); font-size: 11px; }
.cv-shot-vault-files-size { color: rgba(232, 232, 240, .45); font-size: 11px; }
.cv-shot-vault-files-status {
  text-align: right;
  font-family: "JetBrains Mono", monospace;
  font-size: 9.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cv-shot-vault-files-status.valid { color: #22c55e; }
.cv-shot-vault-files-status.wait  { color: #f5b942; }
.cv-shot-vault-files-status.new   { color: #22d3ee; }
@media (max-width: 720px) {
  .cv-shot-vault { grid-template-columns: 1fr; }
  .cv-shot-vault-side { display: none; }
}

/* ──── Composant Type A : MOBILE (vue smartphone client) ──── */
.cv-shot-mobile-screen {
  background: linear-gradient(180deg, #1a1f3a 0%, #11142a 100%);
  padding: 30px 16px 20px;
  min-height: 540px;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;
  color: #e8e8f0;
}
.cv-shot-mobile-brand { text-align: center; margin-bottom: 18px; }
.cv-shot-mobile-brand-logo {
  display: inline-block; width: 48px; height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #8a46f5, #22d3ee);
  margin-bottom: 10px;
}
.cv-shot-mobile-brand-name { font-size: 13px; font-weight: 700; }
.cv-shot-mobile-brand-sub  { font-size: 11px; color: rgba(232, 232, 240, .45); }
.cv-shot-mobile-step {
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 12px;
}
.cv-shot-mobile-step-tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 9px; color: #22d3ee;
  letter-spacing: .12em;
  margin-bottom: 4px;
}
.cv-shot-mobile-step-title { font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.cv-shot-mobile-step-meta  { font-size: 11px; color: rgba(232, 232, 240, .68); }
.cv-shot-mobile-step-bar   { margin-top: 12px; }
.cv-shot-mobile-step-bar-track {
  height: 4px;
  background: rgba(255, 255, 255, .06);
  border-radius: 999px; overflow: hidden;
}
.cv-shot-mobile-step-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #8a46f5, #22d3ee);
}
.cv-shot-mobile-step-bar-text { font-size: 10px; color: rgba(232, 232, 240, .45); margin-top: 6px; }
.cv-shot-mobile-drop {
  background: rgba(124, 58, 237, .1);
  border: 1px dashed rgba(124, 58, 237, .4);
  border-radius: 12px;
  padding: 22px 14px;
  text-align: center;
  margin-bottom: 14px;
}
.cv-shot-mobile-drop-icon { font-size: 24px; margin-bottom: 6px; }
.cv-shot-mobile-drop-title { font-size: 12px; font-weight: 600; }
.cv-shot-mobile-drop-sub { font-size: 10.5px; color: rgba(232, 232, 240, .45); margin-top: 4px; }
.cv-shot-mobile-success {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px;
  background: rgba(34, 197, 94, .1);
  border: 1px solid rgba(34, 197, 94, .3);
  border-radius: 8px;
}
.cv-shot-mobile-success-text { font-size: 11px; color: #22c55e; font-weight: 600; }
.cv-shot-mobile-success-time { font-size: 9.5px; color: rgba(232, 232, 240, .45); font-family: monospace; }

/* ──── Composant Type A : EMAIL transactionnel ──── */
.cv-shot-email {
  padding: 36px 40px;
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  font-family: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;
  color: #e8e8f0;
}
.cv-shot-email-h { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.cv-shot-email-h-logo {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #8a46f5, #22d3ee);
}
.cv-shot-email-h-name { font-size: 15px; font-weight: 700; }
.cv-shot-email-h-meta { font-size: 11px; color: rgba(232, 232, 240, .45); }
.cv-shot-email-divider { border: none; border-top: 1px solid rgba(255, 255, 255, .06); margin: 14px 0 18px; }
.cv-shot-email-title { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.cv-shot-email-body { color: rgba(232, 232, 240, .68); font-size: 14px; margin: 0 0 14px; }
.cv-shot-email-cta {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #8a46f5, #6d2ce4);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
}
.cv-shot-email-foot { margin-top: 18px; font-size: 11.5px; color: rgba(232, 232, 240, .45); }

/* ──── Composant Type A : PARCOURS (timeline admin) ──── */
.cv-shot-parcours {
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  padding: 22px 24px;
  min-height: 360px;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;
  color: #e8e8f0;
}
.cv-shot-parcours-h { font-size: 14px; font-weight: 700; margin: 0 0 4px; }
.cv-shot-parcours-sub { font-size: 11.5px; color: rgba(232, 232, 240, .45); margin: 0 0 18px; }
.cv-shot-parcours-step {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .04);
}
.cv-shot-parcours-step:last-child { border-bottom: none; }
.cv-shot-parcours-step-num {
  width: 28px; height: 28px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
  font-family: "JetBrains Mono", monospace;
}
.cv-shot-parcours-step-num.done { background: #22c55e; color: #0a0d18; }
.cv-shot-parcours-step-num.active {
  background: linear-gradient(135deg, #8a46f5, #22d3ee);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, .25);
}
.cv-shot-parcours-step-num.todo { background: rgba(255, 255, 255, .08); color: rgba(232, 232, 240, .68); }
.cv-shot-parcours-step-content { font-size: 13px; }
.cv-shot-parcours-step-content b { display: block; margin-bottom: 2px; font-weight: 600; }
.cv-shot-parcours-step-content span { color: rgba(232, 232, 240, .45); font-size: 11.5px; }
.cv-shot-parcours-step-status {
  font-family: "JetBrains Mono", monospace;
  font-size: 9.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  align-self: center;
}
.cv-shot-parcours-step-status.done   { color: #22c55e; }
.cv-shot-parcours-step-status.active { color: #f5b942; }
.cv-shot-parcours-step-status.todo   { color: rgba(232, 232, 240, .45); }

/* ──── Composant Type A : WIDGETS sidebar Fluent Community ──── */
.cv-shot-widgets {
  background: #f9fafb;
  color: #1a1f3a;
  padding: 18px 16px;
  min-height: 380px;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;
}
.cv-shot-widgets-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}
.cv-shot-widgets-card-h {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700;
  margin-bottom: 10px;
  color: #1a1f3a;
}
.cv-shot-widgets-card-h::before {
  content: "";
  width: 18px; height: 18px;
  border-radius: 4px;
  background: linear-gradient(135deg, #8a46f5, #22d3ee);
}
.cv-shot-widgets-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 6px 0;
  font-size: 11.5px;
  border-bottom: 1px solid #f3f4f6;
}
.cv-shot-widgets-row:last-child { border-bottom: none; }
.cv-shot-widgets-row b { font-weight: 600; }
.cv-shot-widgets-row .badge {
  background: linear-gradient(135deg, #8a46f5, #22d3ee);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
}
.cv-shot-widgets-bar {
  width: 100%; height: 6px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
}
.cv-shot-widgets-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #8a46f5, #22d3ee);
  width: 68%;
}
.cv-shot-widgets-progress { font-size: 11px; color: #6b7280; margin-top: 6px; }

/* ════════════════════════════════════════════════════════════════════════════
   v1.18.26 — Placeholder capture (Type B en attente)
   ════════════════════════════════════════════════════════════════════════════ */
.cv-shot-placeholder {
  position: relative;
  min-height: 320px;
  background: linear-gradient(180deg, #14182e 0%, #0f1428 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.cv-shot-placeholder-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(124, 58, 237, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124, 58, 237, .08) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(60% 60% at 50% 50%, #000 0%, transparent 80%);
  -webkit-mask-image: radial-gradient(60% 60% at 50% 50%, #000 0%, transparent 80%);
  pointer-events: none;
}
.cv-shot-placeholder-content {
  position: relative;
  text-align: center;
  z-index: 1;
  max-width: 380px;
  padding: 0 20px;
}
.cv-shot-placeholder-icon {
  font-size: 36px;
  margin-bottom: 12px;
  opacity: .7;
}
.cv-shot-placeholder-title {
  font-size: 16px;
  font-weight: 700;
  color: #e8e8f0;
  margin-bottom: 6px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: .04em;
}
.cv-shot-placeholder-sub {
  font-size: 13px;
  color: rgba(232, 232, 240, .55);
  line-height: 1.5;
}

/* Wrapper de section dédiée à un visuel (ajoute padding + halo subtle) */
.cv-shot-section {
  padding-block: 60px !important;
}
.cv-shot-section .cv-shot {
  margin-block: 0 !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   v1.18.27 — Composants Type A spécialisés + animations qui racontent l'action
   ════════════════════════════════════════════════════════════════════════════ */

/* ── ANIMATIONS GLOBALES ── */
@keyframes cv-pulse-rec {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, .55), 0 0 0 0 rgba(239, 68, 68, .35); }
  50%      { box-shadow: 0 0 0 6px rgba(239, 68, 68, 0), 0 0 0 14px rgba(239, 68, 68, 0); }
}
@keyframes cv-pulse-violet {
  0%, 100% { box-shadow: 0 0 0 0 rgba(138, 70, 245, .5), 0 0 0 0 rgba(138, 70, 245, .25); }
  50%      { box-shadow: 0 0 0 8px rgba(138, 70, 245, 0), 0 0 0 18px rgba(138, 70, 245, 0); }
}
@keyframes cv-progress-fill {
  0%   { width: 0; }
  100% { width: var(--target, 73%); }
}
@keyframes cv-counter-up {
  0%   { transform: translateY(8px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
@keyframes cv-flow-cascade {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
@keyframes cv-check-pop {
  0%   { transform: scale(0); opacity: 0; }
  60%  { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes cv-glow-soft {
  0%, 100% { filter: drop-shadow(0 0 0 rgba(34, 211, 238, .0)); }
  50%      { filter: drop-shadow(0 0 8px rgba(34, 211, 238, .55)); }
}
@keyframes cv-blink-cursor {
  0%, 49%   { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes cv-drop-bounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-4px); }
}
@keyframes cv-slide-in {
  0%   { transform: translateY(12px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
@keyframes cv-arrow-slide {
  0%   { transform: translateY(-4px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

/* Active animations only when shot is in viewport (cheap version: tous les .cv-shot animent une fois) */
.cv-shot * { will-change: auto; }

/* ── ANIMATIONS sur shots existants (vault, parcours, mobile, widgets, email) ── */

/* Vault : stat numbers qui apparaissent + barre progression sur stat */
.cv-shot-vault-stat-num {
  animation: cv-counter-up .8s ease-out both;
  animation-delay: var(--d, 0s);
}
.cv-shot-vault-stat:nth-child(1) .cv-shot-vault-stat-num { --d: .2s; }
.cv-shot-vault-stat:nth-child(2) .cv-shot-vault-stat-num { --d: .4s; }
.cv-shot-vault-stat:nth-child(3) .cv-shot-vault-stat-num { --d: .6s; }
.cv-shot-vault-files-row {
  animation: cv-slide-in .6s ease-out both;
}
.cv-shot-vault-files-row:nth-child(1) { animation-delay: .8s; }
.cv-shot-vault-files-row:nth-child(2) { animation-delay: 1s; }
.cv-shot-vault-files-row:nth-child(3) { animation-delay: 1.2s; }
.cv-shot-vault-files-status.wait { animation: cv-glow-soft 2.4s ease-in-out infinite; }

/* Parcours : étape active pulse, checkmarks qui pop */
.cv-shot-parcours-step-num.done { animation: cv-check-pop .6s ease-out both; }
.cv-shot-parcours-step:nth-child(2) .cv-shot-parcours-step-num.done { animation-delay: .2s; }
.cv-shot-parcours-step:nth-child(3) .cv-shot-parcours-step-num.done { animation-delay: .4s; }
.cv-shot-parcours-step-num.active { animation: cv-pulse-violet 2s ease-in-out infinite; }

/* Mobile : drop zone bounce + barre qui se remplit */
.cv-shot-mobile-drop-icon { animation: cv-drop-bounce 1.8s ease-in-out infinite; }
.cv-shot-mobile-step-bar-fill {
  --target: 73%;
  animation: cv-progress-fill 1.8s ease-out both;
  animation-delay: .4s;
}

/* Widgets : barre se remplit */
.cv-shot-widgets-bar-fill {
  --target: 68%;
  animation: cv-progress-fill 1.8s ease-out both;
  animation-delay: .4s;
}

/* Email : CTA pulse subtle */
.cv-shot-email-cta {
  animation: cv-pulse-violet 2.6s ease-in-out infinite;
  animation-delay: 1.5s;
}

/* ════════════════════════════════════════════════════════════════════════════
   1. RECORD MODES (3 modes natifs)
   ════════════════════════════════════════════════════════════════════════════ */
.cv-shot-record {
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  padding: 28px 28px 24px;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;
  color: #e8e8f0;
}
.cv-shot-record-h-title { font-size: 16px; font-weight: 700; }
.cv-shot-record-h-sub { font-size: 12px; color: rgba(232,232,240,.55); margin-top: 4px; }
.cv-shot-record-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 22px 0 16px;
}
.cv-shot-record-mode {
  position: relative;
  padding: 18px 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(124,58,237,.2);
  border-radius: 12px;
  text-align: center;
  transition: all .2s ease;
}
.cv-shot-record-mode.is-active {
  background: linear-gradient(180deg, rgba(124,58,237,.12), rgba(124,58,237,.04));
  border-color: rgba(124,58,237,.55);
  box-shadow: 0 8px 22px -10px rgba(124,58,237,.5);
}
.cv-shot-record-icon {
  width: 36px; height: 36px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: rgba(124,58,237,.18);
  position: relative;
}
.cv-shot-record-icon.vid::before    { content: "🎥"; }
.cv-shot-record-icon.mic::before    { content: "🎙"; animation: cv-glow-soft 1.6s ease-in-out infinite; }
.cv-shot-record-icon.screen::before { content: "🖥"; }
.cv-shot-record-icon::before {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
}
.cv-shot-record-name { font-size: 13px; font-weight: 600; }
.cv-shot-record-meta { font-size: 10.5px; color: rgba(232,232,240,.5); margin-top: 4px; font-family: monospace; }
.cv-shot-record-cta {
  margin-top: 12px;
  padding: 6px 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .04em;
  color: rgba(232,232,240,.55);
  display: inline-block;
}
.cv-shot-record-cta.active {
  background: rgba(239,68,68,.18);
  border-color: rgba(239,68,68,.55);
  color: #ef4444;
  font-weight: 700;
  font-family: monospace;
  animation: cv-pulse-rec 1.4s ease-in-out infinite;
}
.cv-shot-record-foot {
  font-size: 11px;
  color: rgba(232,232,240,.45);
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.05);
  padding-top: 14px;
  font-family: monospace;
}

/* ════════════════════════════════════════════════════════════════════════════
   2. QUIZ
   ════════════════════════════════════════════════════════════════════════════ */
.cv-shot-quiz {
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  padding: 26px 28px 22px;
  font-family: -apple-system, sans-serif;
  color: #e8e8f0;
}
.cv-shot-quiz-progress { margin-bottom: 18px; }
.cv-shot-quiz-progress-tag {
  font-family: monospace;
  font-size: 10px;
  letter-spacing: .12em;
  color: #22d3ee;
  display: block;
  margin-bottom: 6px;
}
.cv-shot-quiz-progress-bar {
  height: 4px;
  background: rgba(255,255,255,.06);
  border-radius: 999px;
  overflow: hidden;
}
.cv-shot-quiz-progress-bar > div {
  --target: 57%;
  height: 100%;
  background: linear-gradient(90deg, #8a46f5, #22d3ee);
  animation: cv-progress-fill 1.6s ease-out both;
}
.cv-shot-quiz-q { font-size: 14.5px; font-weight: 600; line-height: 1.45; margin: 0 0 16px; }
.cv-shot-quiz-opts { display: flex; flex-direction: column; gap: 8px; }
.cv-shot-quiz-opt {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  font-size: 13px;
  color: rgba(232,232,240,.85);
  cursor: pointer;
  transition: all .2s ease;
}
.cv-shot-quiz-opt:hover { background: rgba(124,58,237,.06); border-color: rgba(124,58,237,.3); }
.cv-shot-quiz-opt .r {
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.2);
  flex: 0 0 auto;
  position: relative;
}
.cv-shot-quiz-opt.is-selected {
  background: linear-gradient(180deg, rgba(124,58,237,.14), rgba(124,58,237,.04));
  border-color: rgba(124,58,237,.55);
  color: #fff;
  animation: cv-slide-in .5s ease-out both;
  animation-delay: 1s;
}
.cv-shot-quiz-opt.is-selected .r {
  border-color: #22d3ee;
  background: radial-gradient(circle at center, #22d3ee 0%, #22d3ee 38%, transparent 42%);
  animation: cv-pulse-violet 2s ease-in-out infinite;
}
.cv-shot-quiz-foot {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 18px; padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.05);
}
.cv-shot-quiz-foot-meta { font-size: 10.5px; color: rgba(232,232,240,.45); font-family: monospace; }
.cv-shot-quiz-foot-btn {
  background: linear-gradient(135deg, #8a46f5, #6d2ce4);
  color: #fff;
  border: none;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  animation: cv-pulse-violet 2.4s ease-in-out infinite;
  animation-delay: 1.6s;
}

/* ════════════════════════════════════════════════════════════════════════════
   3. AGENDA / RDV
   ════════════════════════════════════════════════════════════════════════════ */
.cv-shot-agenda {
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  padding: 26px 28px;
  font-family: -apple-system, sans-serif;
  color: #e8e8f0;
}
.cv-shot-agenda-h-title { font-size: 15px; font-weight: 700; }
.cv-shot-agenda-h-sub   { font-size: 11.5px; color: rgba(232,232,240,.55); margin-top: 3px; }
.cv-shot-agenda-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin: 20px 0 14px;
}
.cv-shot-agenda-day {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 10px;
  padding: 10px 8px 12px;
  text-align: center;
}
.cv-shot-agenda-day b {
  display: block;
  font-family: monospace;
  font-size: 9.5px;
  letter-spacing: .12em;
  color: rgba(232,232,240,.55);
}
.cv-shot-agenda-day span {
  display: block;
  font-size: 18px;
  font-weight: 700;
  margin: 2px 0 8px;
}
.cv-shot-agenda-day .slots { display: flex; flex-direction: column; gap: 4px; }
.cv-shot-agenda-day .slot {
  font-size: 10.5px;
  padding: 5px 6px;
  background: rgba(124,58,237,.1);
  border: 1px solid rgba(124,58,237,.25);
  border-radius: 5px;
  color: rgba(232,232,240,.75);
  font-family: monospace;
  cursor: pointer;
  transition: all .15s ease;
}
.cv-shot-agenda-day .slot:hover { background: rgba(124,58,237,.18); }
.cv-shot-agenda-day .slot.is-active {
  background: linear-gradient(135deg, #8a46f5, #22d3ee);
  border-color: transparent;
  color: #fff;
  font-weight: 700;
  animation: cv-pulse-violet 2s ease-in-out infinite;
  animation-delay: 1.2s;
}
.cv-shot-agenda-day .slot.full {
  background: rgba(255,255,255,.02);
  border-style: dashed;
  border-color: rgba(255,255,255,.08);
  color: rgba(232,232,240,.3);
  cursor: not-allowed;
}
.cv-shot-agenda-foot {
  font-size: 10.5px;
  color: rgba(232,232,240,.45);
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.05);
  padding-top: 12px;
  margin-top: 6px;
  font-family: monospace;
}

/* ════════════════════════════════════════════════════════════════════════════
   4. FUNNEL BUILDER (FluentCRM)
   ════════════════════════════════════════════════════════════════════════════ */
.cv-shot-funnel {
  background: #ffffff;
  color: #1a1f3a;
  padding: 26px 28px;
  font-family: -apple-system, sans-serif;
  min-height: 360px;
}
.cv-shot-funnel-h { font-size: 14px; font-weight: 700; margin: 0 0 18px; color: #1a1f3a; }
.cv-shot-funnel-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.cv-shot-funnel-node {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 11px 18px;
  font-size: 12px;
  width: 280px;
  text-align: center;
  position: relative;
  animation: cv-arrow-slide .5s ease-out both;
}
.cv-shot-funnel-node:nth-child(1) { animation-delay: .1s; }
.cv-shot-funnel-node:nth-child(3) { animation-delay: .4s; }
.cv-shot-funnel-node:nth-child(5) { animation-delay: .7s; }
.cv-shot-funnel-node:nth-child(7) { animation-delay: 1s; }
.cv-shot-funnel-node:nth-child(9) { animation-delay: 1.3s; }
.cv-shot-funnel-node.trigger {
  background: linear-gradient(135deg, #e0e7ff, #f3e8ff);
  border-color: #a78bfa;
  color: #5b21b6;
  font-weight: 600;
}
.cv-shot-funnel-node.action-cv {
  background: linear-gradient(135deg, #ecfeff, #cffafe);
  border-color: #06b6d4;
  color: #0891b2;
  font-weight: 700;
  position: relative;
  box-shadow: 0 4px 14px -4px rgba(6, 182, 212, .35);
}
.cv-shot-funnel-node.action-cv::after {
  content: "Client Vault";
  position: absolute;
  top: -8px; right: -8px;
  background: #1a1f3a;
  color: #22d3ee;
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: monospace;
  letter-spacing: .04em;
}
.cv-shot-funnel-node.action {
  background: #fef3c7;
  border-color: #fbbf24;
  color: #92400e;
}
.cv-shot-funnel-arrow {
  width: 2px;
  height: 14px;
  background: linear-gradient(180deg, #d1d5db 0%, #06b6d4 50%, #d1d5db 100%);
  background-size: 100% 200%;
  position: relative;
  animation: cv-flow-cascade 2.6s ease-in-out infinite;
}
.cv-shot-funnel-arrow::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #d1d5db;
}
.cv-shot-funnel-foot {
  font-size: 10.5px;
  color: #6b7280;
  text-align: center;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #f3f4f6;
  font-family: monospace;
}

/* ════════════════════════════════════════════════════════════════════════════
   5. MULTILINGUE
   ════════════════════════════════════════════════════════════════════════════ */
.cv-shot-i18n {
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  padding: 26px 28px 22px;
  font-family: -apple-system, sans-serif;
  color: #e8e8f0;
}
.cv-shot-i18n-h-title { font-size: 15px; font-weight: 700; }
.cv-shot-i18n-h-sub   { font-size: 11.5px; color: rgba(232,232,240,.55); margin-top: 3px; }
.cv-shot-i18n-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 20px;
}
.cv-shot-i18n-lang {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  font-size: 12px;
  color: rgba(232,232,240,.78);
  transition: all .2s ease;
  animation: cv-slide-in .4s ease-out both;
}
.cv-shot-i18n-lang:nth-child(1)  { animation-delay: .05s; }
.cv-shot-i18n-lang:nth-child(2)  { animation-delay: .1s;  }
.cv-shot-i18n-lang:nth-child(3)  { animation-delay: .15s; }
.cv-shot-i18n-lang:nth-child(4)  { animation-delay: .2s;  }
.cv-shot-i18n-lang:nth-child(5)  { animation-delay: .25s; }
.cv-shot-i18n-lang:nth-child(6)  { animation-delay: .3s;  }
.cv-shot-i18n-lang:nth-child(7)  { animation-delay: .35s; }
.cv-shot-i18n-lang:nth-child(8)  { animation-delay: .4s;  }
.cv-shot-i18n-lang:nth-child(9)  { animation-delay: .45s; }
.cv-shot-i18n-lang:nth-child(10) { animation-delay: .5s;  }
.cv-shot-i18n-lang:nth-child(11) { animation-delay: .55s; }
.cv-shot-i18n-lang:nth-child(12) { animation-delay: .6s;  }
.cv-shot-i18n-lang.is-active {
  background: linear-gradient(180deg, rgba(124,58,237,.18), rgba(124,58,237,.05));
  border-color: rgba(124,58,237,.55);
  color: #fff;
  font-weight: 600;
  animation: cv-pulse-violet 2.4s ease-in-out infinite;
  animation-delay: 1s;
}
.cv-shot-i18n-lang .flag {
  width: 28px; height: 20px;
  border-radius: 3px;
  background: linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.04));
  display: flex; align-items: center; justify-content: center;
  font-family: monospace;
  font-size: 9.5px;
  font-weight: 700;
  color: rgba(255,255,255,.7);
  letter-spacing: .04em;
}
.cv-shot-i18n-lang .flag.rtl { background: linear-gradient(135deg, rgba(34,211,238,.18), rgba(34,211,238,.06)); }
.cv-shot-i18n-lang.custom { border-style: dashed; border-color: rgba(245,185,66,.3); color: rgba(245,185,66,.85); }
.cv-shot-i18n-lang.custom .flag { background: rgba(245,185,66,.15); color: rgba(245,185,66,.95); }

/* ════════════════════════════════════════════════════════════════════════════
   6. HÉBERGEURS
   ════════════════════════════════════════════════════════════════════════════ */
.cv-shot-host {
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  padding: 26px 28px 22px;
  font-family: -apple-system, sans-serif;
  color: #e8e8f0;
}
.cv-shot-host-h-title { font-size: 15px; font-weight: 700; }
.cv-shot-host-h-sub   { font-size: 11.5px; color: rgba(232,232,240,.55); margin-top: 3px; }
.cv-shot-host-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 20px 0 14px;
}
.cv-shot-host-card {
  padding: 14px 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  animation: cv-slide-in .5s ease-out both;
}
.cv-shot-host-card:nth-child(1) { animation-delay: .1s; }
.cv-shot-host-card:nth-child(2) { animation-delay: .2s; }
.cv-shot-host-card:nth-child(3) { animation-delay: .3s; }
.cv-shot-host-card:nth-child(4) { animation-delay: .4s; }
.cv-shot-host-card:nth-child(5) { animation-delay: .5s; }
.cv-shot-host-card:nth-child(6) { animation-delay: .6s; }
.cv-shot-host-card b { font-size: 14px; font-weight: 700; }
.cv-shot-host-card .loc { font-size: 11px; color: rgba(232,232,240,.55); font-family: monospace; }
.cv-shot-host-card .status {
  font-size: 10.5px;
  font-family: monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-top: 4px;
}
.cv-shot-host-card .status.ok { color: #22c55e; animation: cv-glow-soft 2.4s ease-in-out infinite; }
.cv-shot-host-foot {
  font-size: 10.5px;
  color: rgba(232,232,240,.5);
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.05);
  padding-top: 12px;
  margin-top: 6px;
  line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════════════════════
   7. CONSTRUCTEURS
   ════════════════════════════════════════════════════════════════════════════ */
.cv-shot-builders {
  background: linear-gradient(180deg, #14182e 0%, #11142a 100%);
  padding: 26px 28px 22px;
  font-family: -apple-system, sans-serif;
  color: #e8e8f0;
}
.cv-shot-builders-h-title { font-size: 15px; font-weight: 700; }
.cv-shot-builders-h-sub   { font-size: 11.5px; color: rgba(232,232,240,.55); margin-top: 3px; }
.cv-shot-builders-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 20px 0 14px;
}
.cv-shot-builders-card {
  padding: 14px 12px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  text-align: center;
  animation: cv-slide-in .4s ease-out both;
}
.cv-shot-builders-card:nth-child(1) { animation-delay: .05s; }
.cv-shot-builders-card:nth-child(2) { animation-delay: .1s;  }
.cv-shot-builders-card:nth-child(3) { animation-delay: .15s; }
.cv-shot-builders-card:nth-child(4) { animation-delay: .2s;  }
.cv-shot-builders-card:nth-child(5) { animation-delay: .25s; }
.cv-shot-builders-card:nth-child(6) { animation-delay: .3s;  }
.cv-shot-builders-card:nth-child(7) { animation-delay: .35s; }
.cv-shot-builders-card:nth-child(8) { animation-delay: .4s;  }
.cv-shot-builders-card.is-recommended {
  background: linear-gradient(180deg, rgba(124,58,237,.18), rgba(124,58,237,.05));
  border-color: rgba(124,58,237,.55);
  animation: cv-pulse-violet 2.4s ease-in-out infinite, cv-slide-in .4s ease-out both;
  animation-delay: 0s, .05s;
}
.cv-shot-builders-card b { display: block; font-size: 13px; font-weight: 700; }
.cv-shot-builders-card span { display: block; font-size: 10.5px; color: rgba(232,232,240,.55); margin-top: 4px; font-family: monospace; }
.cv-shot-builders-foot {
  font-size: 10.5px;
  color: rgba(232,232,240,.55);
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.05);
  padding-top: 12px;
  margin-top: 6px;
}
.cv-shot-builders-foot code {
  background: rgba(34,211,238,.12);
  border: 1px solid rgba(34,211,238,.3);
  border-radius: 4px;
  padding: 2px 6px;
  color: #22d3ee;
  font-family: monospace;
}

/* Mobile : 2 cols sur les grids 3/4 */
@media (max-width: 720px) {
  .cv-shot-record-grid,
  .cv-shot-host-grid,
  .cv-shot-builders-grid,
  .cv-shot-i18n-grid { grid-template-columns: 1fr 1fr !important; }
  .cv-shot-agenda-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); font-size: 90%; }
  .cv-shot-funnel-node { width: 100%; max-width: 280px; }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  .cv-shot * { animation: none !important; transition: none !important; }
}

/* ══════════════════════════════════════════════════════════════
 *  BRAND RESOURCES & GUIDELINES (cv-rs) — v1.19.0
 *  Page /resources/ — logos, icônes, palette, do/don't, écriture, pack
 * ══════════════════════════════════════════════════════════════ */

/* — section base */
.cv-rs .cv-rs-section { padding: 64px 0; border-top: 1px solid var(--line); }
.cv-rs .cv-rs-h2 { font-size: clamp(28px, 3.4vw, 42px); margin: 0 0 12px; }
.cv-rs .cv-rs-h3 { font-size: clamp(20px, 2.2vw, 26px); margin: 28px 0 10px; letter-spacing: -.01em; }

/* — boutons (réutilise le style cv-primary / cv-ghost) */
.cv-rs .wp-block-button.is-style-cv-primary > .wp-block-button__link,
.cv-rs a.wp-block-button__link.wp-element-button { text-decoration: none !important; }
.cv-rs .wp-block-button.is-style-cv-primary > .wp-block-button__link {
  background: linear-gradient(180deg, #8a46f5, #6d2ce4) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  box-shadow: 0 8px 22px rgba(124,58,237,.45), inset 0 1px 0 rgba(255,255,255,.18) !important;
  transition: filter .2s, box-shadow .2s, transform .2s;
}
.cv-rs .wp-block-button.is-style-cv-primary > .wp-block-button__link:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(124,58,237,.55), inset 0 1px 0 rgba(255,255,255,.22) !important;
  color: #fff !important;
}
.cv-rs .wp-block-button.is-style-cv-ghost > .wp-block-button__link {
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  border: 1px solid var(--line-2) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  transition: background .2s, border-color .2s;
}
.cv-rs .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.28) !important;
}

/* — hero */
.cv-rs .cv-rs-hero {
  padding: 64px 0 80px;
  background:
    radial-gradient(1100px 500px at 18% 0%, rgba(124,58,237,.18), transparent 60%),
    radial-gradient(900px 400px at 92% 100%, rgba(232,201,124,.12), transparent 65%),
    linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%);
}
.cv-rs .cv-rs-hero-row { gap: 32px; align-items: center; }
.cv-rs .cv-rs-hero-title { letter-spacing: -.025em; }
.cv-rs .cv-rs-hero-ctas { gap: 12px !important; margin-top: 28px !important; }
.cv-rs .cv-rs-hero-art { display: flex; justify-content: flex-end; }
.cv-rs .cv-rs-hero-figure { margin: 0; max-width: 520px; }
.cv-rs .cv-rs-hero-figure img {
  width: 100%; height: auto; display: block;
  background: rgba(124,58,237,.05);
  border: 1px solid var(--line);
  border-radius: 18px;
}

/* — section heads */
.cv-rs .section-head { max-width: 760px; margin-bottom: 32px; }

/* — cards (logos & icons) */
.cv-rs .cv-rs-logo-grid,
.cv-rs .cv-rs-icon-grid { gap: 18px !important; margin-top: 8px; }
.cv-rs .cv-rs-card {
  border-radius: 14px;
  padding: 0 !important;
  overflow: hidden;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--line);
  display: flex !important;
  flex-direction: column;
  flex-basis: 0 !important;
  flex-grow: 1 !important;
}
.cv-rs .cv-rs-card-art {
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 16px;
  min-height: 140px;
  border-bottom: 1px solid var(--line);
}
.cv-rs .cv-rs-card-art img { max-width: 88%; height: auto; display: block; }
.cv-rs .cv-rs-card--light .cv-rs-card-art { background: #F6F2EA; }
.cv-rs .cv-rs-card--dark .cv-rs-card-art { background: #0A0F1C; }
.cv-rs .cv-rs-card--mono-dark .cv-rs-card-art { background: #FFFFFF; }
.cv-rs .cv-rs-card--mono-white .cv-rs-card-art { background: #0A0F1C; }
.cv-rs .cv-rs-card--soft .cv-rs-card-art { background: #1a1a3e; min-height: 160px; }
.cv-rs .cv-rs-card--soft .cv-rs-card-art img { max-width: 60%; }

/* — icônes : 4 fonds dédiés pour garantir contraste de chaque variante */
.cv-rs .cv-rs-card--icon .cv-rs-card-art { min-height: 160px; }
.cv-rs .cv-rs-card--icon .cv-rs-card-art img { max-width: 56%; max-height: 110px; }
.cv-rs .cv-rs-card--icon-primary .cv-rs-card-art { background: #1a1a3e; }
.cv-rs .cv-rs-card--icon-outline .cv-rs-card-art { background: #0c1326; }
.cv-rs .cv-rs-card--icon-mono-dark .cv-rs-card-art { background: #FFFFFF; }
.cv-rs .cv-rs-card--icon-mono-white .cv-rs-card-art { background: #0A0F1C; }
.cv-rs .cv-rs-card-title {
  font-size: 15px !important;
  letter-spacing: -.01em;
  margin: 16px 16px 4px !important;
  color: var(--fg);
}
.cv-rs .cv-rs-card-dl {
  margin: 0 16px 16px !important;
  font-size: 13px;
  color: var(--fg-mute);
}
.cv-rs .cv-rs-card-dl a {
  color: var(--cyan);
  text-decoration: none;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: .04em;
}
.cv-rs .cv-rs-card-dl a:hover { color: var(--cyan-2); text-decoration: underline; }

/* — prose & guidelines */
.cv-rs .cv-rs-prose-body { font-size: 16px; line-height: 1.65; color: var(--fg-mute); margin: 0 0 14px; max-width: 760px; }
.cv-rs .cv-rs-prose-body strong { color: var(--fg); font-weight: 600; }
.cv-rs .cv-rs-prose .section-lede { max-width: 760px; }

/* — do/don't logo */
.cv-rs .cv-rs-dd-grid { gap: 18px !important; margin-top: 24px; }
.cv-rs .cv-rs-dd {
  background: rgba(255,255,255,.02);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px !important;
  flex-basis: 0 !important;
  flex-grow: 1 !important;
}
.cv-rs .cv-rs-dd-tag {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 12px !important;
}
.cv-rs .cv-rs-dd--ok { border-color: rgba(34,197,94,.32); background: rgba(34,197,94,.04); }
.cv-rs .cv-rs-dd--ok .cv-rs-dd-tag { color: #22c55e; }
.cv-rs .cv-rs-dd--ok .cv-rs-dd-tag::before { content: '\2713  '; }
.cv-rs .cv-rs-dd--ko { border-color: rgba(220,38,38,.32); background: rgba(220,38,38,.04); }
.cv-rs .cv-rs-dd--ko .cv-rs-dd-tag { color: #f87171; }
.cv-rs .cv-rs-dd--ko .cv-rs-dd-tag::before { content: '\2715  '; }
.cv-rs .cv-rs-dd-art {
  margin: 0 !important;
  background: #F6F2EA;
  border-radius: 10px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 110px;
}
.cv-rs .cv-rs-dd-art img { max-width: 92%; height: auto; }
.cv-rs .cv-rs-dd-cap {
  margin: 12px 0 0 !important;
  font-size: 14px;
  color: var(--fg-mute);
  line-height: 1.5;
}

/* — palette */
.cv-rs .cv-rs-color-grid { gap: 18px !important; margin-top: 8px; }
.cv-rs .cv-rs-color {
  position: relative;
  border-radius: 14px;
  padding: 22px !important;
  min-height: 170px;
  flex-basis: 0 !important;
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid var(--line);
  overflow: hidden;
}
.cv-rs .cv-rs-color::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 60%;
  border-radius: 14px 14px 0 0;
  border-bottom: 1px solid var(--line);
}
.cv-rs .cv-rs-color--ink::before { background: #0A0F1C; }
.cv-rs .cv-rs-color--violet::before { background: #7C3AED; }
.cv-rs .cv-rs-color--cyan::before { background: #6DD5ED; }
.cv-rs .cv-rs-color--gold::before { background: #C9A24B; }
.cv-rs .cv-rs-color > * { position: relative; z-index: 1; }
.cv-rs .cv-rs-color-swatch {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 0 4px !important;
  color: var(--fg);
}
.cv-rs .cv-rs-color-cmyk {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--fg-dim);
  margin: 0 0 10px !important;
}
.cv-rs .cv-rs-color-name {
  font-size: 13px;
  line-height: 1.5;
  color: var(--fg-mute);
  margin: 0 !important;
}
.cv-rs .cv-rs-color-name strong { color: var(--fg); display: block; margin-bottom: 2px; }

/* — typo */
.cv-rs .cv-rs-typo-grid { gap: 18px !important; margin-top: 8px; }
.cv-rs .cv-rs-type {
  background: rgba(255,255,255,.02);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px !important;
  flex-basis: 0 !important;
  flex-grow: 1 !important;
}
.cv-rs .cv-rs-type-sample {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 96px;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
  margin: 0 0 12px !important;
  background: linear-gradient(135deg, #7C3AED 0%, #6DD5ED 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cv-rs .cv-rs-type-sample--mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-weight: 700; }
.cv-rs .cv-rs-type-name { font-size: 22px !important; margin: 0 0 6px !important; }
.cv-rs .cv-rs-type-meta { font-size: 14px; line-height: 1.55; color: var(--fg-mute); margin: 0 0 10px !important; }
.cv-rs .cv-rs-type-link {
  font-size: 12px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  color: var(--fg-dim);
  margin: 0 !important;
}
.cv-rs .cv-rs-type-link a { color: var(--cyan); text-decoration: none; }
.cv-rs .cv-rs-type-link a:hover { color: var(--cyan-2); text-decoration: underline; }

/* — rules columns (icon guidelines + writing guidelines) */
.cv-rs .cv-rs-rules-grid { gap: 24px !important; margin-top: 24px; }
.cv-rs .cv-rs-rules {
  background: rgba(255,255,255,.02);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 24px !important;
  flex-basis: 0 !important;
  flex-grow: 1 !important;
}
.cv-rs .cv-rs-rules-title {
  font-size: 16px !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 12px !important;
}
.cv-rs .cv-rs-rules-title--do { color: #22c55e; }
.cv-rs .cv-rs-rules-title--dont { color: #f87171; }
.cv-rs .cv-rs-rules-list { padding-left: 0 !important; list-style: none; margin: 0; }
.cv-rs .cv-rs-rules-list li {
  position: relative;
  padding: 8px 0 8px 28px;
  border-bottom: 1px solid var(--line);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--fg-mute);
}
.cv-rs .cv-rs-rules-list li:last-child { border-bottom: 0; }
.cv-rs .cv-rs-rules-list li strong { color: var(--fg); font-weight: 600; }
.cv-rs .cv-rs-rules-list--do li::before {
  content: '\2713';
  position: absolute; left: 0; top: 8px;
  width: 20px; height: 20px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(34,197,94,.14);
  color: #22c55e;
  font-size: 12px;
  font-weight: 700;
}
.cv-rs .cv-rs-rules-list--dont li::before {
  content: '\2715';
  position: absolute; left: 0; top: 8px;
  width: 20px; height: 20px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(220,38,38,.14);
  color: #f87171;
  font-size: 12px;
  font-weight: 700;
}

/* — souveraineté */
.cv-rs .cv-rs-sovereignty {
  background:
    radial-gradient(900px 400px at 50% 0%, rgba(232,201,124,.10), transparent 65%),
    linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%);
}
.cv-rs .cv-rs-sov-card {
  background: linear-gradient(180deg, rgba(232,201,124,.06), rgba(232,201,124,.015));
  border: 1px solid rgba(232,201,124,.22);
  border-radius: 18px;
  padding: 42px 36px !important;
  max-width: 1080px;
  margin: 0 auto;
}
.cv-rs .cv-rs-sov-pillars { gap: 24px !important; margin-top: 28px; }
.cv-rs .cv-rs-sov-pillars .wp-block-column {
  background: rgba(255,255,255,.02);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 22px !important;
}
.cv-rs .cv-rs-sov-pillar-title {
  font-size: 17px !important;
  margin: 0 0 8px !important;
  color: var(--fg);
}
.cv-rs .cv-rs-sov-pillars .wp-block-column p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--fg-mute);
  margin: 0;
}

/* — bannières commerciales (v1.20.0) */
.cv-rs .cv-rs-banners {
  background:
    radial-gradient(900px 400px at 0% 0%, rgba(124,58,237,.12), transparent 65%),
    radial-gradient(900px 400px at 100% 100%, rgba(109,213,237,.10), transparent 65%),
    linear-gradient(180deg, #0A0F1C 0%, #0c1326 100%);
}
.cv-rs .cv-rs-banners-row { gap: 36px; align-items: center; }
.cv-rs .cv-rs-banners-list { padding: 0 0 0 18px; margin: 18px 0 24px; }
.cv-rs .cv-rs-banners-list li {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--fg-mute);
  margin-bottom: 8px;
  list-style: none;
  position: relative;
  padding-left: 22px;
}
.cv-rs .cv-rs-banners-list li::before {
  content: '◆';
  color: var(--gold);
  position: absolute;
  left: 0;
  font-size: 11px;
  top: 4px;
}
.cv-rs .cv-rs-banners-list li strong { color: var(--fg); font-weight: 600; }
.cv-rs .cv-rs-banners-ctas { gap: 12px !important; margin-top: 20px !important; }
.cv-rs .cv-rs-banners-art { display: flex; justify-content: flex-end; }
.cv-rs .cv-rs-banners-figure {
  margin: 0;
  max-width: 460px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow:
    0 30px 60px -20px rgba(0,0,0,.5),
    0 0 0 1px rgba(232,201,124,.18);
  transition: transform .3s ease, box-shadow .3s ease;
}
.cv-rs .cv-rs-banners-figure:hover {
  transform: translateY(-4px);
  box-shadow:
    0 40px 70px -20px rgba(0,0,0,.6),
    0 0 0 1px rgba(232,201,124,.32);
}
.cv-rs .cv-rs-banners-figure img { width: 100%; height: auto; display: block; }

@media (max-width: 720px) {
  .cv-rs .cv-rs-banners-row { flex-wrap: wrap !important; }
  .cv-rs .cv-rs-banners-text,
  .cv-rs .cv-rs-banners-art { flex-basis: 100% !important; }
  .cv-rs .cv-rs-banners-art { margin-top: 24px; }
}

/* — pack download CTA */
.cv-rs .cv-rs-pack {
  background:
    radial-gradient(900px 400px at 50% 0%, rgba(124,58,237,.16), transparent 65%),
    linear-gradient(180deg, #050913 0%, #0A0F1C 100%);
  border-top-color: rgba(255,255,255,.06) !important;
}
.cv-rs .cv-rs-pack-ctas { gap: 12px !important; margin: 28px 0 18px !important; }
.cv-rs .cv-rs-pack-foot {
  font-size: 13.5px;
  color: var(--fg-dim);
  max-width: 640px;
  margin: 14px auto 0 !important;
}
.cv-rs .cv-rs-pack-foot a { color: var(--cyan); text-decoration: none; }
.cv-rs .cv-rs-pack-foot a:hover { color: var(--cyan-2); text-decoration: underline; }

/* — light theme overrides */
html[data-theme="light"] .cv-rs .cv-rs-hero {
  background:
    radial-gradient(1100px 500px at 18% 0%, rgba(124,58,237,.10), transparent 60%),
    radial-gradient(900px 400px at 92% 100%, rgba(232,201,124,.10), transparent 65%),
    linear-gradient(180deg, #ffffff 0%, #f6f6f9 100%);
}
html[data-theme="light"] .cv-rs .cv-rs-section { border-top-color: rgba(15,20,38,.08); }
html[data-theme="light"] .cv-rs .cv-rs-card { background: #fff; border-color: rgba(15,20,38,.10); }
html[data-theme="light"] .cv-rs .cv-rs-card-title { color: #0F1426; }
html[data-theme="light"] .cv-rs .cv-rs-card-art { border-bottom-color: rgba(15,20,38,.08); }
html[data-theme="light"] .cv-rs .cv-rs-prose-body { color: rgba(15,20,38,.74); }
html[data-theme="light"] .cv-rs .cv-rs-prose-body strong { color: #0F1426; }
html[data-theme="light"] .cv-rs .cv-rs-color { background: #fff; border-color: rgba(15,20,38,.10); }
html[data-theme="light"] .cv-rs .cv-rs-color-name { color: rgba(15,20,38,.70); }
html[data-theme="light"] .cv-rs .cv-rs-color-name strong { color: #0F1426; }
html[data-theme="light"] .cv-rs .cv-rs-type { background: #fff; border-color: rgba(15,20,38,.10); }
html[data-theme="light"] .cv-rs .cv-rs-type-name { color: #0F1426; }
html[data-theme="light"] .cv-rs .cv-rs-type-meta { color: rgba(15,20,38,.70); }
html[data-theme="light"] .cv-rs .cv-rs-rules { background: #fff; border-color: rgba(15,20,38,.10); }
html[data-theme="light"] .cv-rs .cv-rs-rules-list li { color: rgba(15,20,38,.74); border-bottom-color: rgba(15,20,38,.06); }
html[data-theme="light"] .cv-rs .cv-rs-rules-list li strong { color: #0F1426; }
html[data-theme="light"] .cv-rs .cv-rs-dd { background: #fff; }
html[data-theme="light"] .cv-rs .cv-rs-dd-cap { color: rgba(15,20,38,.70); }
html[data-theme="light"] .cv-rs .cv-rs-sovereignty {
  background:
    radial-gradient(900px 400px at 50% 0%, rgba(232,201,124,.16), transparent 65%),
    linear-gradient(180deg, #fffaf0 0%, #ffffff 100%);
}
html[data-theme="light"] .cv-rs .cv-rs-sov-card {
  background: linear-gradient(180deg, rgba(232,201,124,.10), rgba(232,201,124,.04));
  border-color: rgba(201,162,75,.32);
}
html[data-theme="light"] .cv-rs .cv-rs-sov-pillars .wp-block-column { background: #fff; border-color: rgba(15,20,38,.10); }
html[data-theme="light"] .cv-rs .cv-rs-sov-pillars .wp-block-column p { color: rgba(15,20,38,.72); }
html[data-theme="light"] .cv-rs .cv-rs-pack {
  background:
    radial-gradient(900px 400px at 50% 0%, rgba(124,58,237,.10), transparent 65%),
    linear-gradient(180deg, #f6f6f9 0%, #ffffff 100%);
}
html[data-theme="light"] .cv-rs .wp-block-button.is-style-cv-ghost > .wp-block-button__link {
  background: #fff !important;
  color: #0F1426 !important;
  border-color: rgba(15,20,38,.14) !important;
}
html[data-theme="light"] .cv-rs .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover {
  background: rgba(15,20,38,.04) !important;
  border-color: rgba(15,20,38,.24) !important;
  color: #0F1426 !important;
}

/* — kill WP is-layout-constrained auto-centering inside cv-rs (fix v1.19.2)
 *
 *   WP injecte sur tous les groupes constrained :
 *     :where(.is-layout-constrained) > :not(.alignleft):not(.alignright):not(.alignfull) {
 *       max-width: var(--wp--style--global--content-size);
 *       margin-inline: auto !important;
 *     }
 *
 *   Ça centre .section-lede (62ch), wp:columns, paragraphs, etc., et casse
 *   l'alignement gauche cohérent voulu. On force margin:0 sur les enfants
 *   directs des layouts constrained dans .cv-rs, sauf classes explicitement
 *   centrées (section-head.center, sov-card, pack-foot, pack-ctas).
 */
.cv-rs .is-layout-constrained > :where(p, h1, h2, h3, h4, .wp-block-columns, .wp-block-buttons, .wp-block-group):not(.section-head):not(.cv-rs-sov-card):not(.cv-rs-pack-foot):not(.cv-rs-pack-ctas) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Section-lede : retirer max-width 62ch global qui crée un effet « indenté »
 *   à droite quand auto-centré. Dans cv-rs on gère la largeur explicitement. */
.cv-rs .section-lede {
  max-width: 760px;
}
/* Sections explicitement centrées (text-align center) → re-autorise margin-inline:auto */
.cv-rs .section-head.center .section-lede,
.cv-rs .has-text-align-center.section-lede {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Souveraineté card : pleine largeur dans la wrap */
.cv-rs .cv-rs-sov-card .section-lede { max-width: none; }
.cv-rs .cv-rs-sov-pillars { margin-left: 0 !important; margin-right: 0 !important; }

/* Hero CTAs : flex avec gap, ne pas auto-margin */
.cv-rs .cv-rs-hero-ctas { margin-left: 0 !important; margin-right: 0 !important; }

/* — responsive */
@media (max-width: 1024px) {
  .cv-rs .cv-rs-logo-grid,
  .cv-rs .cv-rs-icon-grid,
  .cv-rs .cv-rs-color-grid { flex-wrap: wrap !important; }
  .cv-rs .cv-rs-card,
  .cv-rs .cv-rs-color { flex-basis: calc(50% - 9px) !important; }
}

/* ══════════════════════════════════════════════════════════════
 *  FLUENTCART PAGE TEMPLATE (cv-account) — v1.21.0
 *
 *  Template applicable à n'importe quelle page WP (compte, panier,
 *  paiement, reçu, shop, account, etc.) depuis Gutenberg :
 *    Pages → ouvrir une page → sidebar Page → Modèle →
 *    « Page — FluentCart (compte / panier / paiement / reçu / shop) »
 *
 *  Le pattern « FluentCart — Coquille compte / panier / paiement »
 *  fournit un layout pré-rempli (eyebrow + H1 + sub-line + container
 *  shortcode + trust strip) éditable bloc par bloc dans Gutenberg.
 *
 *  Toutes les pages avec ce template héritent de la classe wrapper
 *  « cv-account » sur <main>. WordPress applique aussi automatiquement
 *  « page-template-page-fluentcart » sur le <body>.
 *
 *  L'ancien scope cv-checkout-theme (v1.20.2) est conservé en alias
 *  rétro-compat (filter PHP body_class slug auto + post meta override).
 * ══════════════════════════════════════════════════════════════ */

/* ── Background light forcé pour les pages FluentCart ───────────────── */
body.page-template-page-fluentcart,
body.cv-checkout-theme,
body.cv-checkout {
  background:
    radial-gradient(1100px 500px at 18% 0%, rgba(124,58,237,.06), transparent 65%),
    radial-gradient(800px 400px at 92% 100%, rgba(232,201,124,.05), transparent 65%),
    linear-gradient(180deg, #FAFAFB 0%, #F4F4F8 100%) !important;
  color: #0F1426 !important;
  min-height: 100vh;
}

/* Forcer light même si dark theme actif */
html[data-theme="dark"] body.page-template-page-fluentcart,
html[data-theme="dark"] body.cv-checkout-theme,
html[data-theme="dark"] body.cv-checkout {
  background:
    radial-gradient(1100px 500px at 18% 0%, rgba(124,58,237,.06), transparent 65%),
    radial-gradient(800px 400px at 92% 100%, rgba(232,201,124,.05), transparent 65%),
    linear-gradient(180deg, #FAFAFB 0%, #F4F4F8 100%) !important;
  color: #0F1426 !important;
}

/* ── Wrapper main ─────────────────────────────────────────────────── */
body main.cv-account {
  padding: 0 !important;
  background: transparent !important;
  color: #0F1426;
}

/* ── HERO — eyebrow + title + sub-line ────────────────────────────── */
.cv-account .cv-account-hero {
  padding: 56px 0 24px;
  background: transparent;
}
.cv-account .cv-account-hero .wrap {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 32px);
}
.cv-account .cv-account-hero .eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #7C3AED;
  margin: 0 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cv-account .cv-account-hero .eyebrow .dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #7C3AED;
  display: inline-block;
}
.cv-account .cv-account-title {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #0F1426 !important;
  margin: 0 0 12px !important;
}
.cv-account .cv-account-title em,
.cv-account .cv-account-title .grad-gold {
  font-style: normal;
  background: linear-gradient(135deg, #E8C97C 0%, #C9A24B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cv-account .cv-account-lede,
.cv-account .cv-account-hero .section-lede {
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: rgba(15,20,38,.62) !important;
  margin: 0 !important;
  max-width: 760px;
}

/* ── BODY — container blanc autour du contenu FluentCart ───────────── */
.cv-account .cv-account-body {
  padding: 24px 0 56px;
  background: transparent;
}
.cv-account .cv-account-body .wrap {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 32px);
}
.cv-account .cv-account-card {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  padding: clamp(24px, 4vw, 40px) !important;
  box-shadow:
    0 1px 0 0 rgba(255,255,255,.6) inset,
    0 30px 60px -20px rgba(15,20,38,.10) !important;
}

/* Empty cart / receipt 404 / etc. — fond blanc cohérent dans la card */
.cv-account .cv-account-card .fluent-cart-cart-empty-content,
.cv-account .cv-account-card [class*="receipt"],
.cv-account .cv-account-card .entry-content {
  background: transparent;
  text-align: center;
}
.cv-account .cv-account-card a {
  color: #7C3AED;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s;
}
.cv-account .cv-account-card a:hover {
  color: #6d2ce4;
  text-decoration: underline;
}

/* Iframe FluentCart — laisser FC gérer son UI native */
.cv-account .fct-checkout-modal-iframe {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
}

/* ── TRUST STRIP — 3 cards éditables ──────────────────────────────── */
.cv-account .cv-account-trust {
  padding: 40px 0 80px;
  background: transparent;
}
.cv-account .cv-account-trust .wrap {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 32px);
}
.cv-account .cv-account-trust-title {
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #0F1426 !important;
  margin: 0 0 12px !important;
  text-align: center;
}
.cv-account .cv-account-trust-title .grad-gold {
  background: linear-gradient(135deg, #E8C97C 0%, #C9A24B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cv-account .cv-account-trust .section-lede {
  color: rgba(15,20,38,.62) !important;
  font-size: 15px !important;
  margin: 0 auto 28px !important;
  max-width: 580px;
  text-align: center;
}
.cv-account .cv-account-trust-grid { gap: 20px !important; margin-top: 20px; }
.cv-account .cv-account-trust-item {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.cv-account .cv-account-trust-item:hover {
  transform: translateY(-2px);
  border-color: rgba(124,58,237,.20);
  box-shadow: 0 20px 40px -20px rgba(124,58,237,.18);
}
.cv-account .cv-account-trust-icon {
  font-size: 28px !important;
  line-height: 1 !important;
  margin: 0 0 12px !important;
  color: #7C3AED;
}
.cv-account .cv-account-trust-h {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: #0F1426 !important;
  margin: 0 0 8px !important;
}
.cv-account .cv-account-trust-item p {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(15,20,38,.62) !important;
  margin: 0 !important;
}

/* ── Topbar / header — préserve l'apparence dark sur fond clair ───── */
body.page-template-page-fluentcart .topbar,
body.cv-checkout-theme .topbar,
body.cv-checkout .topbar {
  background: #0F1426;
  color: rgba(255,255,255,.86);
}

/* ── Sélecteurs hérités (rétro-compat v1.20.x — body.cv-checkout sans template) */
body.cv-checkout-theme main h1,
body.cv-checkout main h1,
body.cv-checkout-theme main .wp-block-post-title,
body.cv-checkout main .wp-block-post-title {
  font-family: 'Inter', sans-serif;
  font-size: clamp(32px, 3.6vw, 44px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0F1426 !important;
  margin: 56px 0 8px;
  padding-inline: clamp(20px, 4vw, 32px);
  max-width: 1280px; /* v1.51.8 */
  margin-left: auto;
  margin-right: auto;
}
/* Le filter body_class n'ajoute cv-checkout que sur slugs hardcodés ;
   on les masque si le template page-fluentcart est appliqué (évite le double titre) */

/* ── Empty cart fallback (sans template) — habillage minimum ─────── */
body.cv-checkout-theme .fluent-cart-cart-empty-content,
body.cv-checkout .fluent-cart-cart-empty-content {
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(15,20,38,.08);
  padding: 56px 32px;
  text-align: center;
  color: rgba(15,20,38,.62);
  max-width: 1280px; /* v1.51.8 */
  margin: 0 auto;
}
body.cv-checkout-theme .fluent-cart-cart-empty-content a,
body.cv-checkout .fluent-cart-cart-empty-content a {
  color: #7C3AED;
  font-weight: 600;
  text-decoration: none;
}

/* ══════════════════════════════════════════════════════════════
 *  CHECKOUT CONVERSION (cv-account-steps / -checkout / -faq / -final) — v1.22.0
 *  Sub-classes du scope .cv-account, dédiées au pattern fluentcart-checkout.
 *  Mécanismes psychologiques : commitment progress, value recap, anti-objection FAQ
 * ══════════════════════════════════════════════════════════════ */

/* — Step indicator (commitment progress) — */
.cv-account .cv-account-steps {
  padding: 8px 0 32px;
  /* v1.51.10 — Espacement vertical des steps directement dans le thème
     (auparavant fourni par le custom CSS user, intégré ici en natif) */
  margin-top: 25px;
  margin-bottom: 25px;
}
.cv-account .cv-account-steps .wrap {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 32px);
}
.cv-account .cv-account-steps-grid { gap: 16px !important; align-items: stretch; }
.cv-account .cv-account-step {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  border-radius: 12px !important;
  padding: 18px 22px !important;
  position: relative;
  transition: border-color .25s, box-shadow .25s;
}
.cv-account .cv-account-step.is-done {
  border-color: rgba(34,197,94,.32) !important;
  background: linear-gradient(180deg, rgba(34,197,94,.04), #fff) !important;
}
.cv-account .cv-account-step.is-active {
  border-color: rgba(124,58,237,.40) !important;
  background: linear-gradient(180deg, rgba(124,58,237,.06), #fff) !important;
  box-shadow: 0 12px 28px -16px rgba(124,58,237,.32);
}
.cv-account .cv-account-step-num {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  margin: 0 0 6px !important;
  color: rgba(15,20,38,.32);
  line-height: 1;
}
.cv-account .cv-account-step.is-done .cv-account-step-num {
  color: #22c55e;
  font-size: 24px !important;
}
.cv-account .cv-account-step.is-active .cv-account-step-num {
  color: #7C3AED;
}
.cv-account .cv-account-step-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #0F1426 !important;
  margin: 0 0 4px !important;
  letter-spacing: -.01em;
}
.cv-account .cv-account-step-meta {
  font-size: 13px !important;
  color: rgba(15,20,38,.55) !important;
  margin: 0 !important;
  line-height: 1.5;
}

/* — Layout 2 colonnes form + sidebar — */
.cv-account .cv-account-checkout {
  padding: 16px 0 56px;
}
.cv-account .cv-account-checkout .wrap {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 32px);
}
.cv-account .cv-account-checkout-grid { gap: 28px !important; align-items: flex-start; }
.cv-account .cv-account-form-col {
  /* Le formulaire FluentCart prend la majeure partie */
}
.cv-account .cv-account-payments-note {
  font-size: 12.5px !important;
  color: rgba(15,20,38,.55) !important;
  margin: 16px auto 0 !important;
  max-width: 600px;
}

/* — Sidebar sticky — */
.cv-account .cv-account-aside {
  position: sticky;
  top: 100px;
  display: flex !important;
  flex-direction: column;
  gap: 16px;
}
.cv-account .cv-account-aside-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  border-radius: 14px !important;
  padding: 22px !important;
}
.cv-account .cv-account-aside-h {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0F1426 !important;
  letter-spacing: -.01em;
  margin: 0 0 12px !important;
}

/* Card valeur (anchoring) */
.cv-account .cv-account-value-card {
  background: linear-gradient(180deg, rgba(232,201,124,.04), #fff) !important;
  border-color: rgba(232,201,124,.18) !important;
}
.cv-account .cv-account-value-list {
  padding-left: 0 !important;
  list-style: none;
  margin: 0 !important;
}
.cv-account .cv-account-value-list li {
  position: relative;
  padding: 8px 0 8px 24px;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(15,20,38,.74);
  border-bottom: 1px solid rgba(15,20,38,.05);
}
.cv-account .cv-account-value-list li:last-child { border-bottom: 0; }
.cv-account .cv-account-value-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 8px;
  width: 16px; height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(34,197,94,.12);
  color: #22c55e;
  font-size: 10px;
  font-weight: 700;
}
.cv-account .cv-account-value-list li strong { color: #0F1426; font-weight: 600; }

/* Card démo (risk reversal) */
.cv-account .cv-account-demo-card {
  background: linear-gradient(180deg, rgba(124,58,237,.04), #fff) !important;
  border-color: rgba(124,58,237,.18) !important;
}
.cv-account .cv-account-demo-eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .22em;
  color: #7C3AED;
  margin: 0 0 10px !important;
  text-transform: uppercase;
}
.cv-account .cv-account-demo-card p {
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(15,20,38,.66) !important;
  margin: 0 0 14px !important;
}
/* v1.27.0 — Bouton ghost : règle universelle pour tout le scope cv-account
   (au lieu de cibler uniquement .cv-account-demo-card qui n'existe plus
   avec les classes utilitaires has-bg-*). Cible le bouton « Réserver
   une démo » et tout autre is-style-cv-ghost dans la page checkout. */
.cv-account .wp-block-button.is-style-cv-ghost > .wp-block-button__link {
  background: rgba(124,58,237,.08) !important;
  color: #7C3AED !important;
  border: 1px solid rgba(124,58,237,.32) !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: inline-block;
  transition: all .25s;
}
.cv-account .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover {
  background: rgba(124,58,237,.16) !important;
  border-color: rgba(124,58,237,.55) !important;
  color: #6d2ce4 !important;
}
.cv-account .wp-block-button.is-style-cv-primary > .wp-block-button__link {
  background: linear-gradient(180deg, #8a46f5, #6d2ce4) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(124,58,237,.45), inset 0 1px 0 rgba(255,255,255,.18) !important;
  transition: all .25s;
}
.cv-account .wp-block-button.is-style-cv-primary > .wp-block-button__link:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* Card trust mini sidebar */
.cv-account .cv-account-trust-mini {
  background: #fafafb !important;
  border-color: rgba(15,20,38,.06) !important;
}
.cv-account .cv-account-trust-mini-list {
  padding: 0 !important;
  list-style: none;
  margin: 0 !important;
}
.cv-account .cv-account-trust-mini-list li {
  font-size: 12.5px;
  color: rgba(15,20,38,.62);
  padding: 6px 0;
  letter-spacing: .01em;
}

/* — FAQ anti-objection (wp:details) — */
.cv-account .cv-account-faq {
  padding: 56px 0;
  background: linear-gradient(180deg, #fff, #fafafb);
}
.cv-account .cv-account-faq .wrap {
  max-width: 880px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 32px);
}
.cv-account .cv-account-faq-list {
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cv-account .cv-account-faq-item {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  border-radius: 12px !important;
  padding: 0 !important;
  transition: border-color .25s, box-shadow .25s;
}
.cv-account .cv-account-faq-item[open] {
  border-color: rgba(124,58,237,.32) !important;
  box-shadow: 0 12px 28px -20px rgba(124,58,237,.18);
}
.cv-account .cv-account-faq-item summary {
  padding: 16px 56px 16px 22px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #0F1426 !important;
  cursor: pointer;
  list-style: none;
  position: relative;
}
.cv-account .cv-account-faq-item summary::-webkit-details-marker { display: none; }
.cv-account .cv-account-faq-item summary::after {
  content: '+';
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  color: #7C3AED;
  font-weight: 400;
  transition: transform .25s;
}
.cv-account .cv-account-faq-item[open] summary::after {
  content: '−';
}
.cv-account .cv-account-faq-item > *:not(summary) {
  padding: 0 22px 18px !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: rgba(15,20,38,.66) !important;
}
.cv-account .cv-account-faq-item p { margin: 0 !important; }
.cv-account .cv-account-faq-item strong { color: #0F1426; }

/* — Final reassurance — */
.cv-account .cv-account-final {
  padding: 16px 0 56px;
}
.cv-account .cv-account-final-line {
  font-size: 14px !important;
  color: rgba(15,20,38,.66) !important;
  margin: 0 0 10px !important;
}
.cv-account .cv-account-final-line strong { color: #0F1426; font-weight: 600; }
.cv-account .cv-account-final-meta {
  font-size: 12.5px !important;
  color: rgba(15,20,38,.45) !important;
  margin: 0 !important;
}
.cv-account .cv-account-final-meta a {
  color: #7C3AED;
  text-decoration: none;
}
.cv-account .cv-account-final-meta a:hover {
  text-decoration: underline;
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .cv-account .cv-account-checkout-grid { flex-wrap: wrap !important; }
  .cv-account .cv-account-form-col,
  .cv-account .cv-account-aside { flex-basis: 100% !important; }
  .cv-account .cv-account-aside { position: static; margin-top: 24px; }
}
@media (max-width: 720px) {
  .cv-account .cv-account-hero { padding: 40px 0 16px; }
  .cv-account .cv-account-body { padding: 16px 0 40px; }
  .cv-account .cv-account-trust { padding: 32px 0 56px; }
  .cv-account .cv-account-card { padding: 22px !important; }
  .cv-account .cv-account-trust-grid { flex-wrap: wrap !important; }
  .cv-account .cv-account-trust-item { flex-basis: 100% !important; }
  .cv-account .cv-account-steps-grid { flex-wrap: wrap !important; }
  .cv-account .cv-account-step { flex-basis: 100% !important; }
  .cv-account .cv-account-faq { padding: 40px 0; }
  .cv-account .cv-account-faq-item summary { padding: 14px 48px 14px 18px !important; font-size: 14px !important; }
}

/* ══════════════════════════════════════════════════════════════
 *  CHECKOUT THEME — sections empilées + fix dark/light — v1.24.0
 *
 *  La page checkout passe en mode CLAIR forcé (pour rassurance + iframe FC
 *  qui est elle-même claire). Conséquence : tous les textes du <main>
 *  doivent être SOMBRES (#0F1426) même quand l'utilisateur est en dark
 *  theme global. On force `color: #0F1426 !important` partout, et on
 *  override les variables --fg / --fg-mute dans le scope checkout.
 *
 *  Mécanismes psycho conservés : commitment progress, anchoring value
 *  recap, risk reversal démo, trust pillars, FAQ anti-objection
 *  (en wp:group simple — pas de wp:details qui posait le pb « bloc
 *  classique » sur certaines configurations WP).
 *
 *  Paddings réduits drastiquement (~ -50% vs v1.22.0).
 * ══════════════════════════════════════════════════════════════ */

/* ── 1. Force tous les textes du main checkout en sombre ────────── */
/* v1.25.0 : variables override SCOPED sur main.cv-account uniquement
   (et plus sur body) — sinon le footer hérite des variables et son
   texte sombre devient invisible sur son fond sombre. */
body.cv-checkout-theme main.cv-account,
body.cv-checkout main.cv-account,
body.page-template-page-fluentcart main.cv-account {
  --fg: #0F1426 !important;
  --fg-mute: rgba(15,20,38,.66) !important;
  --fg-dim: rgba(15,20,38,.42) !important;
}

/* v1.25.0 : neutraliser le padding-top: 60px de .cv-page (règle globale)
   pour les pages FluentCart. Les sections internes gèrent leurs paddings. */
body.cv-checkout-theme main.cv-page.cv-account,
body.cv-checkout main.cv-page.cv-account,
body.page-template-page-fluentcart main.cv-page.cv-account {
  padding: 0 !important;
}

/* v1.27.6 : largeur 1200px standard sur la checkout. Retrait du padding
   horizontal de .entry-content (qui réduisait la largeur utile à 1136
   au lieu de 1200) + retrait paddings/margins .wrap + retrait paddings
   .alignfull.section pour que le contenu prenne réellement 1200px. */
body.cv-checkout-theme main.cv-account,
body.cv-checkout main.cv-account {
  --wp--style--global--content-size: 1280px !important; /* v1.51.8 */
  --wp--style--global--wide-size: 1440px !important;
}
body.cv-checkout-theme main.cv-account .entry-content,
body.cv-checkout main.cv-account .entry-content {
  max-width: 1280px !important; /* v1.51.8 — checkout/account élargi à 1280px */
  padding-left: 0 !important;
  padding-right: 0 !important;
  /* v1.51.6 — margins verticales 20px intégrées au thème (remplace l'override Customizer user) */
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/* v1.51.7 — FIX décalage à droite checkout/account.
   ROOT CAUSE : la règle WP `.has-global-padding > .alignfull { margin: 0 }`
   écrase la règle standard `.alignfull { margin-left: calc(50% - 50vw) }`
   parce que root-padding = 0 dans theme.json. Quand l'entry-content est
   contraint (max-width:1200), les sections alignfull à l'intérieur ne
   peuvent plus bleed à 100vw correctement : elles partent du left de
   l'entry-content (≈335px sur viewport 1884) au lieu de partir de 0,
   ce qui shift tout le contenu à droite de ≈340px.
   FIX : restaure le calc correct sur les alignfull dans cv-account. */
body.cv-checkout-theme main.cv-account .entry-content > .alignfull,
body.cv-checkout main.cv-account .entry-content > .alignfull,
main.cv-account .entry-content > .alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
/* v1.51.4 — RETRAIT règle bug : strippait paddings/margins/max-width sur TOUS
   les .wrap dans .cv-account, ce qui faisait éclater le pattern
   fluentcart-checkout (form 66% + aside 34%) en pleine largeur viewport sur
   desktop > 1200px (form ~1070px, aside qui débordait à droite hors écran).
   La règle .entry-content max-width:1200px (l. 17101-17105) suffit ; nos
   wrap pattern-spécifiques (.cv-account-checkout .wrap etc) ont leur propre
   max-width 1200px + padding-inline et n'ont pas besoin d'être neutralisés. */
body.cv-checkout-theme main.cv-account .alignfull.section,
body.cv-checkout main.cv-account .alignfull.section,
body.page-template-page-fluentcart main.cv-account .alignfull.section {
  padding-left: 0 !important;
  padding-right: 0 !important;
  /* v1.51.9 — Restaure le bleed alignfull à 100vw centré viewport.
     L'ancienne valeur margin: 0 partait du left de l'entry-content (max-width 1280px,
     centré dans 1884 viewport), donc la section bleed-100vw partait à offset 295px
     et débordait de 295px à droite, shift apparent à droite de tout le contenu. */
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* v1.27.6 : margin top/bottom 20px sur TOUTES les pages avec template
   page-fluentcart (checkout, customer, cart, receipt, shop, etc.).
   Sépare visuellement le contenu de la nav et du footer. */
body.page-template-page-fluentcart main.cv-account,
body.page-template-page-fluentcart-checkout main.cv-account,
body.cv-checkout-theme main.cv-account,
body.cv-checkout main.cv-account {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/* ══════════════════════════════════════════════════════════════
 *  HEADER CHECKOUT SIMPLIFIÉ (cv-checkout-header) — v1.28.0
 *  Pour le template page-fluentcart-checkout uniquement.
 *  Logo + lien retour + mention sécurité — pas de mega menus.
 * ══════════════════════════════════════════════════════════════ */

.cv-checkout-header {
  background: #0F1426 !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 0 !important;
}
.cv-checkout-header-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 18px clamp(20px, 4vw, 32px) !important;
  gap: 24px !important;
}
.cv-checkout-header-logo {
  gap: 10px !important;
  align-items: center;
}
.cv-checkout-header-mark {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  width: 36px;
  height: 36px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #7C3AED, #6DD5ED);
  border-radius: 8px;
  color: #fff;
}
.cv-checkout-header-name {
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  line-height: 1 !important;
}
.cv-checkout-header-name a {
  color: #FFFFFF !important;
  text-decoration: none !important;
}
.cv-checkout-header-name a:hover { color: #C9A8FC !important; }

.cv-checkout-header-trust {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  color: rgba(255,255,255,.62) !important;
  margin: 0 !important;
}
.cv-checkout-header-back {
  margin: 0 !important;
  font-size: 13.5px !important;
}
.cv-checkout-header-back a {
  color: rgba(255,255,255,.74) !important;
  text-decoration: none !important;
  font-weight: 500;
  transition: color .2s;
}
.cv-checkout-header-back a:hover { color: #FFFFFF !important; }

@media (max-width: 720px) {
  .cv-checkout-header-inner { gap: 12px !important; padding: 14px 18px !important; flex-wrap: wrap !important; }
  .cv-checkout-header-trust { display: none !important; }
}

/* v1.27.2 : override la règle globale `.cv-page .section { padding-top: 65px !important }`
   du thème qui crée des espaces vides au-dessus de chaque section. Spécificité
   supérieure via main.cv-page.cv-account .section. */
body.cv-checkout-theme main.cv-page.cv-account .section,
body.cv-checkout main.cv-page.cv-account .section,
body.page-template-page-fluentcart main.cv-page.cv-account .section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.cv-checkout-theme main.cv-page.cv-account .section.cv-account-hero,
body.cv-checkout main.cv-page.cv-account .section.cv-account-hero,
body.page-template-page-fluentcart main.cv-page.cv-account .section.cv-account-hero {
  padding-top: 24px !important;
}
body.cv-checkout-theme main.cv-page.cv-account .section.cv-account-checkout,
body.cv-checkout main.cv-page.cv-account .section.cv-account-checkout,
body.page-template-page-fluentcart main.cv-page.cv-account .section.cv-account-checkout {
  padding-bottom: 32px !important;
}
body.cv-checkout-theme main.cv-page.cv-account .section.cv-account-trust,
body.cv-checkout main.cv-page.cv-account .section.cv-account-trust,
body.page-template-page-fluentcart main.cv-page.cv-account .section.cv-account-trust,
body.cv-checkout-theme main.cv-page.cv-account .section.cv-account-faq,
body.cv-checkout main.cv-page.cv-account .section.cv-account-faq,
body.page-template-page-fluentcart main.cv-page.cv-account .section.cv-account-faq {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
body.cv-checkout-theme main.cv-page.cv-account .section.cv-account-final,
body.cv-checkout main.cv-page.cv-account .section.cv-account-final,
body.page-template-page-fluentcart main.cv-page.cv-account .section.cv-account-final {
  padding-top: 16px !important;
  padding-bottom: 32px !important;
}

/* v1.27.0 : style card universel pour tout rendu FluentCart sur la page
   checkout. Que ce soit le rendu auto FC (enfant direct de form-col)
   OU le shortcode imbriqué dans .cv-account-card, tout reçoit le même
   look « card blanc ombré ». Le user n'utilise jamais les 2 ensemble
   en production (clarification 2026-05-04). Donc pas de display:none.
   Si la card .cv-account-card existe, on lui applique le style.
   Si elle n'existe pas, on style directement le rendu FC. */
body.cv-checkout-theme main.cv-account .cv-account-card,
body.page-template-page-fluentcart main.cv-account .cv-account-card,
body.cv-checkout-theme main.cv-account .cv-account-form-col > [class*="fluent-cart-checkout-page"],
body.cv-checkout-theme main.cv-account .cv-account-form-col > .fluent-cart-cart-empty-content,
body.cv-checkout-theme main.cv-account .cv-account-form-col > [class*="fct-checkout"]:not(.cv-account-card),
body.page-template-page-fluentcart main.cv-account .cv-account-form-col > [class*="fluent-cart-checkout-page"],
body.page-template-page-fluentcart main.cv-account .cv-account-form-col > .fluent-cart-cart-empty-content,
body.page-template-page-fluentcart main.cv-account .cv-account-form-col > [class*="fct-checkout"]:not(.cv-account-card) {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  padding: clamp(20px, 3vw, 32px) !important;
  margin-top: 0 !important;
  box-shadow:
    0 1px 0 0 rgba(255,255,255,.6) inset,
    0 30px 60px -25px rgba(15,20,38,.10) !important;
}

/* Override universel : tous les éléments texte du main checkout
   héritent d'une couleur sombre. Topbar/footer (hors main) gardent
   leur style natif. */
body.cv-checkout-theme main,
body.cv-checkout main,
body.page-template-page-fluentcart main {
  color: #0F1426 !important;
}
body.cv-checkout-theme main h1,
body.cv-checkout-theme main h2,
body.cv-checkout-theme main h3,
body.cv-checkout-theme main h4,
body.cv-checkout-theme main h5,
body.cv-checkout-theme main h6,
body.cv-checkout-theme main p,
body.cv-checkout-theme main li,
body.cv-checkout-theme main a,
body.cv-checkout-theme main strong,
body.cv-checkout-theme main em,
body.cv-checkout main h1,
body.cv-checkout main h2,
body.cv-checkout main h3,
body.cv-checkout main h4,
body.cv-checkout main h5,
body.cv-checkout main h6,
body.cv-checkout main p,
body.cv-checkout main li,
body.cv-checkout main a,
body.cv-checkout main strong,
body.cv-checkout main em,
body.page-template-page-fluentcart main h1,
body.page-template-page-fluentcart main h2,
body.page-template-page-fluentcart main h3,
body.page-template-page-fluentcart main h4,
body.page-template-page-fluentcart main h5,
body.page-template-page-fluentcart main h6,
body.page-template-page-fluentcart main p,
body.page-template-page-fluentcart main li,
body.page-template-page-fluentcart main a,
body.page-template-page-fluentcart main strong,
body.page-template-page-fluentcart main em {
  color: #0F1426 !important;
}

/* Specifique : dark theme actif → toujours sombre dans main */
html[data-theme="dark"] body.cv-checkout-theme main,
html[data-theme="dark"] body.cv-checkout main,
html[data-theme="dark"] body.page-template-page-fluentcart main,
html[data-theme="dark"] body.cv-checkout-theme main *,
html[data-theme="dark"] body.cv-checkout main *,
html[data-theme="dark"] body.page-template-page-fluentcart main * {
  color: #0F1426 !important;
}

/* Liens conservent l'accent violet */
body.cv-checkout-theme main a,
body.cv-checkout main a,
body.page-template-page-fluentcart main a,
html[data-theme="dark"] body.cv-checkout-theme main a,
html[data-theme="dark"] body.cv-checkout main a,
html[data-theme="dark"] body.page-template-page-fluentcart main a {
  color: #7C3AED !important;
}

/* ── 2. Hero — paddings réduits v1.27.0 (titre collé aux 3 cards) ── */
.cv-account .cv-account-hero { padding: 24px 0 0 !important; }
.cv-account .cv-account-hero .eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase;
  color: #7C3AED !important;
  margin: 0 0 10px !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
/* Dot décoratif (pas de texte, juste une pastille visuelle) */
.cv-account .cv-account-hero .eyebrow::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7C3AED;
  display: inline-block;
  flex: 0 0 auto;
}
.cv-account .cv-account-title {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(28px, 3.4vw, 40px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 8px !important;
  line-height: 1.15;
}
/* v1.27.3 : règle ultra-spécifique pour le gradient or sur l'em du H1.
   Sinon mes overrides plus généraux (`main em { color: #0F1426 !important }`
   et `html[data-theme="dark"] main * { color: #0F1426 !important }`)
   écrasent le `color: transparent` nécessaire au background-clip:text. */
body.cv-checkout-theme main.cv-account .cv-account-title em,
body.cv-checkout main.cv-account .cv-account-title em,
body.page-template-page-fluentcart main.cv-account .cv-account-title em,
html[data-theme="dark"] body.cv-checkout-theme main.cv-account .cv-account-title em,
html[data-theme="dark"] body.cv-checkout main.cv-account .cv-account-title em,
html[data-theme="dark"] body.page-template-page-fluentcart main.cv-account .cv-account-title em {
  font-style: normal !important;
  background: linear-gradient(135deg, #E8C97C 0%, #C9A24B 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.cv-account .cv-account-lede {
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: rgba(15,20,38,.66) !important;
  margin: 0 !important;
  max-width: 760px;
}

/* ── 3. Step indicator — paddings réduits ──────────────────────── */
.cv-account .cv-account-steps {
  padding: 0 !important;
  /* v1.51.10 — Espacement vertical avant/après pour aérer les step cards */
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}
.cv-account .cv-account-steps-grid { gap: 12px !important; }
.cv-account .cv-account-step {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  transition: border-color .25s, box-shadow .25s;
}
.cv-account .cv-account-step.is-done {
  border-color: rgba(34,197,94,.32) !important;
  background: linear-gradient(180deg, rgba(34,197,94,.04), #fff) !important;
}
.cv-account .cv-account-step.is-active {
  border-color: rgba(124,58,237,.40) !important;
  background: linear-gradient(180deg, rgba(124,58,237,.06), #fff) !important;
  box-shadow: 0 8px 20px -12px rgba(124,58,237,.28);
}
.cv-account .cv-account-step-num {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  margin: 0 0 4px !important;
  color: rgba(15,20,38,.32) !important;
  line-height: 1;
}
.cv-account .cv-account-step.is-done .cv-account-step-num {
  color: #22c55e !important;
  font-size: 20px !important;
}
.cv-account .cv-account-step.is-active .cv-account-step-num {
  color: #7C3AED !important;
}
.cv-account .cv-account-step-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0F1426 !important;
  margin: 0 0 2px !important;
  letter-spacing: -.005em;
}
.cv-account .cv-account-step-meta {
  font-size: 12px !important;
  color: rgba(15,20,38,.55) !important;
  margin: 0 !important;
  line-height: 1.4;
}

/* ── 4. Layout 2 col form + sidebar ────────────────────────────── */
.cv-account .cv-account-checkout { padding: 0 0 32px !important; }
.cv-account .cv-account-checkout-grid { gap: 24px !important; align-items: flex-start; }

.cv-account .cv-account-form-col { /* reste à 66% */ }
.cv-account .cv-account-card {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  padding: clamp(20px, 3vw, 32px) !important;
  box-shadow:
    0 1px 0 0 rgba(255,255,255,.6) inset,
    0 30px 60px -25px rgba(15,20,38,.10) !important;
}
.cv-account .cv-account-payments-note {
  font-size: 12.5px !important;
  color: rgba(15,20,38,.55) !important;
  margin: 14px auto 0 !important;
  max-width: 600px;
}

/* Sidebar sticky */
.cv-account .cv-account-aside {
  position: sticky;
  top: 90px;
  display: flex !important;
  flex-direction: column;
  gap: 14px;
}
.cv-account .cv-account-aside-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  border-radius: 14px !important;
  padding: 20px !important;
}
.cv-account .cv-account-aside-h {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0F1426 !important;
  letter-spacing: -.01em;
  margin: 0 0 12px !important;
  line-height: 1.3;
}

/* Card valeur (anchoring) */
.cv-account .cv-account-value-card {
  background: linear-gradient(180deg, rgba(232,201,124,.05), #fff) !important;
  border-color: rgba(232,201,124,.22) !important;
}
.cv-account .cv-account-value-list {
  padding-left: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}
.cv-account .cv-account-value-list li {
  position: relative;
  padding: 7px 0 7px 22px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(15,20,38,.74) !important;
  border-bottom: 1px solid rgba(15,20,38,.06);
}
.cv-account .cv-account-value-list li:last-child { border-bottom: 0; }
.cv-account .cv-account-value-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(34,197,94,.14);
  border: 1px solid rgba(34,197,94,.40);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: 9px;
  background-repeat: no-repeat;
  background-position: center;
}
.cv-account .cv-account-value-list li strong { color: #0F1426 !important; font-weight: 600; }

/* Card démo (risk reversal) */
.cv-account .cv-account-demo-card {
  background: linear-gradient(180deg, rgba(124,58,237,.05), #fff) !important;
  border-color: rgba(124,58,237,.22) !important;
}
.cv-account .cv-account-demo-eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  color: #7C3AED !important;
  margin: 0 0 8px !important;
  text-transform: uppercase;
}
.cv-account .cv-account-demo-card p {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(15,20,38,.66) !important;
  margin: 0 0 14px !important;
}
/* v1.27.0 — Bouton ghost : règle universelle pour tout le scope cv-account
   (au lieu de cibler uniquement .cv-account-demo-card qui n'existe plus
   avec les classes utilitaires has-bg-*). Cible le bouton « Réserver
   une démo » et tout autre is-style-cv-ghost dans la page checkout. */
.cv-account .wp-block-button.is-style-cv-ghost > .wp-block-button__link {
  background: rgba(124,58,237,.08) !important;
  color: #7C3AED !important;
  border: 1px solid rgba(124,58,237,.32) !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: inline-block;
  transition: all .25s;
}
.cv-account .wp-block-button.is-style-cv-ghost > .wp-block-button__link:hover {
  background: rgba(124,58,237,.16) !important;
  border-color: rgba(124,58,237,.55) !important;
  color: #6d2ce4 !important;
}
.cv-account .wp-block-button.is-style-cv-primary > .wp-block-button__link {
  background: linear-gradient(180deg, #8a46f5, #6d2ce4) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(124,58,237,.45), inset 0 1px 0 rgba(255,255,255,.18) !important;
  transition: all .25s;
}
.cv-account .wp-block-button.is-style-cv-primary > .wp-block-button__link:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* Card trust mini sidebar */
.cv-account .cv-account-trust-mini {
  background: #fafafb !important;
  border-color: rgba(15,20,38,.06) !important;
}
.cv-account .cv-account-trust-mini-list {
  padding: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}
.cv-account .cv-account-trust-mini-list li {
  font-size: 12.5px !important;
  color: rgba(15,20,38,.66) !important;
  padding: 5px 0;
  letter-spacing: .01em;
  border: 0;
}
.cv-account .cv-account-trust-mini-list li::before { display: none !important; }

/* ── 5. Trust pillars ──────────────────────────────────────────── */
.cv-account .cv-account-trust { padding: 24px 0 !important; }
.cv-account .cv-account-trust-title {
  font-size: clamp(22px, 2.4vw, 28px) !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: #0F1426 !important;
  margin: 0 0 8px !important;
  text-align: center;
}
.cv-account .cv-account-trust-title .grad-gold {
  background: linear-gradient(135deg, #E8C97C 0%, #C9A24B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
.cv-account .cv-account-trust .section-lede {
  color: rgba(15,20,38,.62) !important;
  font-size: 14.5px !important;
  margin: 0 auto 20px !important;
  max-width: 580px;
  text-align: center;
}
.cv-account .cv-account-trust-grid { gap: 16px !important; }
.cv-account .cv-account-trust-item {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  border-radius: 14px !important;
  padding: 22px !important;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.cv-account .cv-account-trust-item:hover {
  transform: translateY(-2px);
  border-color: rgba(124,58,237,.20);
  box-shadow: 0 16px 32px -20px rgba(124,58,237,.16);
}
.cv-account .cv-account-trust-icon {
  font-size: 26px !important;
  line-height: 1 !important;
  margin: 0 0 10px !important;
}
.cv-account .cv-account-trust-h {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  color: #0F1426 !important;
  margin: 0 0 6px !important;
}
.cv-account .cv-account-trust-item p {
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(15,20,38,.62) !important;
  margin: 0 !important;
}

/* ── 6. FAQ simple (wp:group, pas wp:details) ──────────────────── */
.cv-account .cv-account-faq { padding: 24px 0 !important; }
.cv-account .cv-account-faq .wrap { max-width: 880px; margin-inline: auto; }
.cv-account .cv-account-faq .section-title {
  font-size: clamp(22px, 2.4vw, 28px) !important;
  color: #0F1426 !important;
  margin: 0 0 8px !important;
  text-align: center;
}
.cv-account .cv-account-faq .section-lede {
  color: rgba(15,20,38,.62) !important;
  font-size: 14.5px !important;
  margin: 0 auto 20px !important;
  text-align: center;
  max-width: 580px;
}
.cv-account .cv-account-faq-list {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px !important;
}
.cv-account .cv-account-faq-item {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.08) !important;
  border-radius: 12px !important;
  padding: 18px 22px !important;
}
.cv-account .cv-account-faq-q {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #0F1426 !important;
  letter-spacing: -.005em;
  margin: 0 0 6px !important;
  line-height: 1.35;
}
.cv-account .cv-account-faq-a {
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: rgba(15,20,38,.66) !important;
  margin: 0 !important;
}
.cv-account .cv-account-faq-a strong { color: #0F1426 !important; }

/* ── 7. Final ─────────────────────────────────────────────────── */
.cv-account .cv-account-final { padding: 16px 0 32px !important; }
.cv-account .cv-account-final-line {
  font-size: 13.5px !important;
  color: rgba(15,20,38,.62) !important;
  margin: 0 0 8px !important;
}
.cv-account .cv-account-final-line strong { color: #0F1426 !important; font-weight: 600; }
.cv-account .cv-account-final-meta {
  font-size: 12px !important;
  color: rgba(15,20,38,.45) !important;
  margin: 0 !important;
}
.cv-account .cv-account-final-meta a {
  color: #7C3AED !important;
  text-decoration: none;
}
.cv-account .cv-account-final-meta a:hover { text-decoration: underline; }

/* ── 8. Section heading (.section-title) générique dans cv-account ── */
.cv-account .section-title {
  color: #0F1426 !important;
}
.cv-account .section-title .grad-gold {
  background: linear-gradient(135deg, #E8C97C 0%, #C9A24B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

/* ── 9. Responsive ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .cv-account .cv-account-checkout-grid { flex-wrap: wrap !important; }
  .cv-account .cv-account-form-col,
  .cv-account .cv-account-aside { flex-basis: 100% !important; }
  .cv-account .cv-account-aside { position: static; margin-top: 20px; }
}
@media (max-width: 720px) {
  .cv-account .cv-account-hero { padding: 16px 0 8px !important; }
  .cv-account .cv-account-steps { padding: 8px 0 !important; }
  .cv-account .cv-account-checkout { padding: 4px 0 24px !important; }
  .cv-account .cv-account-trust { padding: 16px 0 !important; }
  .cv-account .cv-account-faq { padding: 16px 0 !important; }
  .cv-account .cv-account-final { padding: 8px 0 24px !important; }
  .cv-account .cv-account-card { padding: 18px !important; }
  .cv-account .cv-account-trust-grid { flex-wrap: wrap !important; }
  .cv-account .cv-account-trust-item { flex-basis: 100% !important; padding: 18px !important; }
  .cv-account .cv-account-steps-grid { flex-wrap: wrap !important; }
  .cv-account .cv-account-step { flex-basis: 100% !important; }
}

/* ══════════════════════════════════════════════════════════════
 *  v1.25.0 — Variantes de fond pour aside-card (utilitaires)
 *
 *  Le user peut switcher la couleur de fond d'une aside-card en
 *  Gutenberg : sélectionner la card → onglet « Avancé » → champ
 *  « Classes CSS supplémentaires » → ajouter UNE de ces classes :
 *
 *    has-bg-gold     → dégradé or champagne sur fond blanc
 *    has-bg-violet   → dégradé violet royal sur fond blanc
 *    has-bg-gray     → gris clair uni
 *    (sans classe)   → fond blanc neutre
 * ══════════════════════════════════════════════════════════════ */

.cv-account .cv-account-aside-card.has-bg-gold {
  background: linear-gradient(180deg, rgba(232,201,124,.10), #fff) !important;
  border-color: rgba(232,201,124,.32) !important;
}
.cv-account .cv-account-aside-card.has-bg-violet {
  background: linear-gradient(180deg, rgba(124,58,237,.10), #fff) !important;
  border-color: rgba(124,58,237,.28) !important;
}
.cv-account .cv-account-aside-card.has-bg-gray {
  background: #FAFAFB !important;
  border-color: rgba(15,20,38,.08) !important;
}

/* ══════════════════════════════════════════════════════════════
 *  v1.25.0 — FAQ accordéon (wp:details natif)
 * ══════════════════════════════════════════════════════════════ */

.cv-account .cv-account-faq-list {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px !important;
}
.cv-account details.cv-account-faq-item {
  background: #FFFFFF !important;
  border: 1px solid rgba(15,20,38,.10) !important;
  border-radius: 12px !important;
  padding: 0 !important;
  transition: border-color .25s, box-shadow .25s;
}
.cv-account details.cv-account-faq-item[open] {
  border-color: rgba(124,58,237,.32) !important;
  box-shadow: 0 12px 28px -20px rgba(124,58,237,.18);
}
.cv-account details.cv-account-faq-item summary {
  padding: 16px 56px 16px 22px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #0F1426 !important;
  cursor: pointer;
  list-style: none;
  position: relative;
}
.cv-account details.cv-account-faq-item summary::-webkit-details-marker { display: none; }
.cv-account details.cv-account-faq-item summary::marker { content: ''; }
.cv-account details.cv-account-faq-item summary::after {
  content: '+';
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  color: #7C3AED;
  font-weight: 400;
  transition: transform .25s;
  line-height: 1;
}
.cv-account details.cv-account-faq-item[open] summary::after {
  content: '−';
}
.cv-account details.cv-account-faq-item > *:not(summary) {
  padding: 0 22px 18px !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: rgba(15,20,38,.66) !important;
}
.cv-account details.cv-account-faq-item p { margin: 0 !important; }
.cv-account details.cv-account-faq-item strong { color: #0F1426; }

/* ══════════════════════════════════════════════════════════════
 *  ANCIEN BLOC v1.20.2 — conservé désactivé, voir cv-account ci-dessus
 * ══════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
 *  CHECKOUT THEME (cv-checkout-theme) — v1.20.2 (legacy, alias)
 *
 *  Le checkout FluentCart est rendu DANS UNE IFRAME ; donc styler les
 *  inputs/sections/payment depuis le thème ne fonctionne pas (autre
 *  document). On laisse FC montrer son UI native (déjà bien designée)
 *  et on habille seulement la page parent : background sobre, title H1,
 *  container, footer trust strip.
 *
 *  Système de thème applicable. Activation via 3 sources (cf. functions.php) :
 *    • Slug auto : checkout, commander, panier, cart, paiement
 *    • Post meta : _cv_checkout_theme = 1
 *    • Filter PHP : apply_filters('cv_apply_checkout_theme', $bool, $post)
 *
 *  Quand actif, le filter body_class ajoute « cv-checkout-theme » au <body>.
 *  La classe « cv-checkout » est conservée comme alias rétro-compat.
 * ══════════════════════════════════════════════════════════════ */

/* — Reset background (force light, plus rassurant pour un paiement) */
body.cv-checkout-theme,
body.cv-checkout {
  background:
    radial-gradient(900px 400px at 18% 0%, rgba(124,58,237,.06), transparent 65%),
    radial-gradient(700px 300px at 92% 100%, rgba(232,201,124,.05), transparent 65%),
    linear-gradient(180deg, #FAFAFB 0%, #F4F4F8 100%) !important;
  color: #0F1426 !important;
  min-height: 100vh;
}

/* Topbar (header) — inverse colors pour cohérence sur fond clair */
body.cv-checkout-theme .topbar,
body.cv-checkout .topbar {
  background: #0F1426;
  color: rgba(255,255,255,.86);
}

/* Layout main */
body.cv-checkout-theme main.cv-page,
body.cv-checkout main.cv-page,
body.cv-checkout-theme main,
body.cv-checkout main {
  padding: 56px 0 80px;
  background: transparent !important;
}

body.cv-checkout-theme main .wrap,
body.cv-checkout main .wrap,
body.cv-checkout-theme main > .entry-content,
body.cv-checkout main > .entry-content {
  max-width: 1280px; /* v1.51.8 */
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 32px);
}

/* Title « Checkout » — taille raisonnable, color foncé */
body.cv-checkout-theme main h1,
body.cv-checkout main h1,
body.cv-checkout-theme main .wp-block-post-title,
body.cv-checkout main .wp-block-post-title {
  font-family: 'Inter', sans-serif;
  font-size: clamp(32px, 3.6vw, 44px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0F1426 !important;
  margin: 0 0 8px;
}

/* v1.21.1 — Pseudo-content textuels supprimés. Tout texte injecté doit
   être un bloc Gutenberg éditable, jamais un content: '...' CSS. */

/* Wrapper iframe FluentCart — laisser FC gérer son UI mais
   l'inscrire visuellement dans la page */
body.cv-checkout-theme .fct-checkout-modal,
body.cv-checkout .fct-checkout-modal,
body.cv-checkout-theme .fluent-cart-checkout-wrapper,
body.cv-checkout .fluent-cart-checkout-wrapper {
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(15,20,38,.08);
  box-shadow:
    0 1px 0 0 rgba(255,255,255,.6) inset,
    0 30px 60px -20px rgba(15,20,38,.10);
  overflow: hidden;
}

/* Iframe doit prendre toute la largeur, hauteur auto-gérée par FC */
body.cv-checkout-theme .fct-checkout-modal-iframe,
body.cv-checkout .fct-checkout-modal-iframe {
  width: 100% !important;
  border: 0 !important;
  background: #fff !important;
}

/* Empty cart state — fond blanc + style aligné */
body.cv-checkout-theme .fluent-cart-cart-empty-content,
body.cv-checkout .fluent-cart-cart-empty-content {
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(15,20,38,.08);
  padding: 64px 32px;
  text-align: center;
  color: rgba(15,20,38,.62);
}
body.cv-checkout-theme .fluent-cart-cart-empty-content a,
body.cv-checkout .fluent-cart-cart-empty-content a {
  color: #7C3AED;
  font-weight: 600;
  text-decoration: none;
}
body.cv-checkout-theme .fluent-cart-cart-empty-content a:hover,
body.cv-checkout .fluent-cart-cart-empty-content a:hover {
  color: #6d2ce4;
  text-decoration: underline;
}

/* Trust strip sous le checkout */

/* Cas dark theme actif : on FORCE le clair sur la page checkout (rassurant) */
html[data-theme="dark"] body.cv-checkout-theme,
html[data-theme="dark"] body.cv-checkout {
  background:
    radial-gradient(900px 400px at 18% 0%, rgba(124,58,237,.06), transparent 65%),
    radial-gradient(700px 300px at 92% 100%, rgba(232,201,124,.05), transparent 65%),
    linear-gradient(180deg, #FAFAFB 0%, #F4F4F8 100%) !important;
  color: #0F1426 !important;
}

/* Responsive */
@media (max-width: 720px) {
  body.cv-checkout-theme main,
  body.cv-checkout main { padding: 40px 0 64px; }
  body.cv-checkout-theme main h1,
  body.cv-checkout main h1 { font-size: 28px; }
  body.cv-checkout-theme main h1::before,
  body.cv-checkout main h1::before { font-size: 10px; letter-spacing: .18em; }
}

@media (max-width: 720px) {
  .cv-rs .cv-rs-section { padding: 48px 0; }
  .cv-rs .cv-rs-hero { padding: 48px 0 56px; }
  .cv-rs .cv-rs-hero-row { flex-wrap: wrap !important; }
  .cv-rs .cv-rs-hero-text,
  .cv-rs .cv-rs-hero-art { flex-basis: 100% !important; }
  .cv-rs .cv-rs-hero-art { margin-top: 18px; justify-content: center; }
  .cv-rs .cv-rs-card,
  .cv-rs .cv-rs-color { flex-basis: 100% !important; }
  .cv-rs .cv-rs-typo-grid,
  .cv-rs .cv-rs-rules-grid,
  .cv-rs .cv-rs-dd-grid { flex-wrap: wrap !important; }
  .cv-rs .cv-rs-type,
  .cv-rs .cv-rs-rules,
  .cv-rs .cv-rs-dd { flex-basis: 100% !important; }
  .cv-rs .cv-rs-type-sample { font-size: 64px; }
  .cv-rs .cv-rs-sov-card { padding: 28px 22px !important; }
  .cv-rs .cv-rs-sov-pillars { flex-wrap: wrap !important; }
  .cv-rs .cv-rs-sov-pillars .wp-block-column { flex-basis: 100% !important; }
}

/* ══════════════════════════════════════════════════════════════════════════
   v1.30.0 — UNIVERSAL HERO LIGHT-MODE ADAPTATION
   ──────────────────────────────────────────────────────────────────────────
   Bug : en mode light, les hero du thème gardaient leur fond dark hardcodé
   (gradient navy) ET les H1 héritaient color:var(--fg) qui devient #0F1426
   en light → texte sombre sur fond resté sombre = invisible.
   Pour les .cv-avatar-page, le hero était figé en --cv-text-strong:#fff via
   l'override "always-dark" → texte blanc sur fond resté sombre quand le user
   bascule en light. User confused : il bascule en light, hero reste dark.

   Fix v1.30.0 : en light mode, on inverse complètement le hero — background
   ivoire premium, H1 en --fg (noir), gradients gold/violet préservés sur
   <mark>/.accent. Contraste WCAG AA garanti.
   Scope : TOUTES les pages du thème (hero classés cv-X-hero + .cv-avatar-page).
   ══════════════════════════════════════════════════════════════════════════ */

/* 1) Backgrounds hero hardcodés (gradient navy) → ivoire en light */
html[data-theme="light"] .cv-comparatif .cv-cmp-hero,
html[data-theme="light"] .cv-fonctionnalites .cv-feat-hero,
html[data-theme="light"] .cv-faq .cv-faq-hero,
html[data-theme="light"] .cv-changelog .cv-chg-hero,
html[data-theme="light"] .cv-communaute .cv-com-hero,
html[data-theme="light"] .cv-contact .cv-ct-hero,
html[data-theme="light"] .cv-avis .cv-av-hero,
html[data-theme="light"] .cv-affiliation .cv-aff-hero,
html[data-theme="light"] .cv-industries .cv-ind-hero,
html[data-theme="light"] .cv-developpeurs .cv-devs-hero,
html[data-theme="light"] .cv-blog .cv-blog-hero,
html[data-theme="light"] .cv-rs .cv-rs-hero,
html[data-theme="light"] .cv-integrations .integ-hero,
html[data-theme="light"] .cv-sub-integration .sub-hero {
	background: linear-gradient(180deg, #FAF7F0 0%, #F4EFE4 100%) !important;
	border-bottom: 1px solid rgba(23, 26, 43, .08);
}

/* 2) H1 hero : forcer la couleur de texte adaptative en light */
html[data-theme="light"] .cv-comparatif .cv-cmp-title,
html[data-theme="light"] .cv-fonctionnalites .cv-feat-title,
html[data-theme="light"] .cv-faq .cv-faq-title,
html[data-theme="light"] .cv-changelog .cv-chg-title,
html[data-theme="light"] .cv-communaute .cv-com-title,
html[data-theme="light"] .cv-contact .cv-ct-title,
html[data-theme="light"] .cv-avis .cv-av-title,
html[data-theme="light"] .cv-affiliation .cv-aff-title,
html[data-theme="light"] .cv-industries .cv-ind-title,
html[data-theme="light"] .cv-developpeurs .cv-devs-title,
html[data-theme="light"] .cv-blog .cv-blog-title,
html[data-theme="light"] .cv-rs .cv-rs-hero-title,
html[data-theme="light"] .cv-integrations .integ-hero-title,
html[data-theme="light"] .cv-sub-integration .sub-hero-title {
	color: var(--fg) !important;
	-webkit-text-fill-color: var(--fg) !important;
}

/* 3) Avatar pages (.cv-avatar-page) — hero always-dark par défaut.
      En light mode on l'aligne sur le reste : hero ivoire + H1 noir. */

/* 3.a) Atténuer les overlays sombres (grid + glows) sur fond ivoire */

/* 3.b) Avatar pages — H1 hero (.cv-h1-answer-hero, .reveal-words .line, etc.)
        en --fg, plus de #fff hardcodé qui resterait blanc sur fond ivoire. */

/* 3.c) Avatar pages — hero-badge / hero-proof / strip en variant light */

/* 4) Mark / accent dans n'importe quel H1 hero — préserver les gradients
      gold (par défaut) en light mode pour rester lisibles sur fond ivoire. */
html[data-theme="light"] .cv-page .section-title mark,
html[data-theme="light"] .cv-page h1.section-title mark,
html[data-theme="light"] .cv-avatar-page h1 mark,
html[data-theme="light"] .cv-avatar-page .cv-h1-answer-hero mark,
html[data-theme="light"] .cv-avatar-page .hero .cv-h1-answer-hero mark {
	background-image: linear-gradient(135deg, #C9A24B 0%, #8E6B2B 60%, #C9A24B 100%) !important;
	background-color: transparent !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	-webkit-text-fill-color: transparent !important;
	padding: 0 !important;
}

/* 5) Boutons primary/ghost dans hero light : assurer le contraste */

/* ══════════════════════════════════════════════════════════════════════════
   v1.31.0 — Affiliation page : alignement et polish
   ──────────────────────────────────────────────────────────────────────────
   Bug 1 : .aff-reasons avait max-width:920px sans margin auto → cartes ancrées
           à gauche pendant que .section-head sans .center s'étalait à 100% du
           wrap. Décalage visuel entre H2 et cards.
   Bug 2 : .aff-stats et .aff-calc-grid héritaient du wp:group flex layout qui
           empêchait le grid CSS de prendre. Cartes mal centrées sur grand écran.
   Bug 3 : .aff-reason — colonne numéro 60px trop large par rapport au "0X"
           rendu en 22px ; gap 22px exagéré → titre trop loin du numéro.
   Bug 4 : .aff-reason en is-layout-flow WP : margin par défaut s'appliquait
           aux <p>, créait un offset entre num et title.
   Bug 5 : .aff-reasons en flex-direction:column mais sans cap centré.
   ══════════════════════════════════════════════════════════════════════════ */

/* 1) Centrer .aff-reasons et harmoniser largeur avec section-head */
.cv-affiliation .aff-reasons {
	margin: 0 auto !important;
	max-width: 920px;
	width: 100%;
}

/* 2) Centrer le section-head de cv-aff-why pour matcher la largeur des cards */
.cv-affiliation .cv-aff-why .section-head,
.cv-affiliation .cv-aff-why > .wrap > .section-head {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.cv-affiliation .cv-aff-why .section-head .eyebrow,
.cv-affiliation .cv-aff-why .section-head .section-title {
	text-align: center;
	justify-content: center;
}
.cv-affiliation .cv-aff-why .section-head .eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* 3) .aff-reason : layout flex propre, numéro plus tassé contre le titre */
.cv-affiliation .aff-reason {
	display: grid !important;
	grid-template-columns: 48px 1fr !important;
	grid-template-rows: auto auto !important;
	gap: 4px 18px !important;
	padding: 22px 24px !important;
	align-items: start !important;
}
.cv-affiliation .aff-reason-num {
	grid-row: 1 / 3 !important;
	grid-column: 1 !important;
	font-size: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	align-self: start !important;
	line-height: 1.3 !important;
}
.cv-affiliation .aff-reason-title {
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}
.cv-affiliation .aff-reason-body {
	grid-column: 2 !important;
	grid-row: 2 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* 3.b) WP block layout flow override : neutraliser margin-block-start parasite
        sur les enfants directs de .aff-reason (passés en grid). */
.cv-affiliation .aff-reason.is-layout-flow > * + *,
.cv-affiliation .aff-reason.wp-block-group-is-layout-flow > * + * {
	margin-block-start: 0 !important;
}

/* 4) Stats grid : neutraliser is-layout-flex parasite et fixer le grid 4 cols */
.cv-affiliation .aff-stats {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 18px !important;
	margin: 0 auto !important;
	max-width: 1200px !important;
	width: 100%;
}
.cv-affiliation .aff-stat {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: center;
	min-height: 140px;
}
.cv-affiliation .aff-stat-num {
	margin: 0 0 10px !important;
	line-height: 1.1 !important;
}
.cv-affiliation .aff-stat-label {
	margin: 0 !important;
}
/* Reset is-layout-flow margin entre num et label */
.cv-affiliation .aff-stat.is-layout-flow > * + *,
.cv-affiliation .aff-stat.wp-block-group-is-layout-flow > * + * {
	margin-block-start: 0 !important;
}

/* 5) Calc grid : même traitement (centrage + reset layout flow) */
.cv-affiliation .aff-calc-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	margin: 0 auto !important;
	max-width: 1200px !important;
	width: 100%;
}
.cv-affiliation .aff-calc-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
}
.cv-affiliation .aff-calc-card.is-layout-flow > * + *,
.cv-affiliation .aff-calc-card.wp-block-group-is-layout-flow > * + * {
	margin-block-start: 0 !important;
}
.cv-affiliation .aff-calc-tag {
	margin: 0 0 10px !important;
}
.cv-affiliation .aff-calc-base {
	margin: 0 0 12px !important;
}
.cv-affiliation .aff-calc-result {
	margin: 0 0 6px !important;
}
.cv-affiliation .aff-calc-note {
	margin: 0 !important;
}

/* 6) Vs grid : centrage + reset */
.cv-affiliation .aff-vs-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
	margin: 0 auto !important;
	max-width: 980px !important;
	width: 100%;
}
.cv-affiliation .aff-vs-card.is-layout-flow > * + *,
.cv-affiliation .aff-vs-card.wp-block-group-is-layout-flow > * + * {
	margin-block-start: 0 !important;
}
.cv-affiliation .aff-vs-tag {
	margin: 0 0 10px !important;
}
.cv-affiliation .aff-vs-title {
	margin: 0 0 12px !important;
}
.cv-affiliation .aff-vs-body {
	margin: 0 !important;
}

/* 7) Responsive : sur mobile, num passe au-dessus du title */
@media (max-width: 768px) {
	.cv-affiliation .aff-reason {
		grid-template-columns: 1fr !important;
		grid-template-rows: auto auto auto !important;
		gap: 8px !important;
	}
	.cv-affiliation .aff-reason-num {
		grid-row: 1 !important;
		grid-column: 1 !important;
	}
	.cv-affiliation .aff-reason-title {
		grid-row: 2 !important;
		grid-column: 1 !important;
	}
	.cv-affiliation .aff-reason-body {
		grid-row: 3 !important;
		grid-column: 1 !important;
	}
	.cv-affiliation .aff-stats,
	.cv-affiliation .aff-calc-grid {
		grid-template-columns: 1fr !important;
	}
	.cv-affiliation .aff-vs-grid {
		grid-template-columns: 1fr !important;
	}
}
@media (min-width: 769px) and (max-width: 1024px) {
	.cv-affiliation .aff-stats,
	.cv-affiliation .aff-calc-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* ══════════════════════════════════════════════════════════════════════════
   v1.41.0 — Coupon block UX premium
   ──────────────────────────────────────────────────────────────────────────
   Refonte du bloc « Have a Coupon? » dans le summary FluentCart pour
   l'aligner sur l'esthétique premium du site (violet/ivoire/cyan).
   Les sélecteurs ciblent les classes natives FC : .fct_coupon, .fct_coupon_toggle,
   .fct_coupon_field, .fct_coupon_icon, .fct_coupon_input_wrapper,
   .fct_coupon_input, [data-fluent-cart-checkout-page-coupon-validate],
   [data-fluent-cart-checkout-page-applied-coupon].
   ══════════════════════════════════════════════════════════════════════════ */

/* Toggle « Have a Coupon? » — link premium */
.fct_coupon_toggle {
	margin: 6px 0 8px !important;
}
.fct_coupon_toggle a[data-fluent-cart-checkout-page-coupon-field-toggle] {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	letter-spacing: -.005em !important;
	color: #7C3AED !important;
	text-decoration: none !important;
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	cursor: pointer !important;
	transition: color .18s ease !important;
	position: relative !important;
}
.fct_coupon_toggle a[data-fluent-cart-checkout-page-coupon-field-toggle]:hover {
	color: #5B2BE0 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	text-decoration-color: rgba(124, 58, 237, .35) !important;
	text-decoration-thickness: 1.5px !important;
}
.fct_coupon_toggle a[data-fluent-cart-checkout-page-coupon-field-toggle]::before {
	content: '' !important;
	display: inline-block !important;
	width: 14px !important;
	height: 14px !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C3AED' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12V8a2 2 0 0 0-2-2h-3l-3-3-3 3H6a2 2 0 0 0-2 2v4'/><circle cx='9' cy='10' r='1.5'/><path d='M12 14v8'/><path d='M3 16h6'/><path d='M3 20h6'/><path d='M21 16h-9'/><path d='M21 20h-9'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	flex-shrink: 0 !important;
}
.fct_coupon_toggle a[data-fluent-cart-checkout-page-coupon-field-toggle][aria-expanded="true"] {
	color: #5B2BE0 !important;
}

/* Coupon field — pill connecté icon + input + Apply.
   IMPORTANT : `display: flex` UNIQUEMENT quand le champ n'est PAS [hidden].
   Sans cette précaution, l'attribut [hidden] (poseur de display:none par
   défaut navigateur) est écrasé par notre `display: flex !important`,
   et le formulaire reste visible en permanence. */
.fct_coupon_field[hidden] {
	display: none !important;
}
.fct_coupon_field:not([hidden]) {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	margin: 8px 0 12px !important;
	padding: 4px !important;
	background: #ffffff !important;
	border: 1.5px solid rgba(124, 58, 237, .25) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .9) inset,
		0 2px 8px -3px rgba(124, 58, 237, .12),
		0 1px 2px rgba(15, 20, 38, .04) !important;
	transition: border-color .2s ease, box-shadow .2s ease !important;
	min-height: 48px !important;
	position: relative !important;
}
.fct_coupon_field:focus-within {
	border-color: rgba(124, 58, 237, .55) !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .9) inset,
		0 0 0 3px rgba(124, 58, 237, .12),
		0 4px 14px -4px rgba(124, 58, 237, .25) !important;
}

/* Label sr-only neutre */
.fct_coupon_field label.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
}

/* Icon ticket gauche — IMPORTANT : on force position:relative pour
   neutraliser le `position: absolute` que FluentCart applique nativement
   (qui faisait chevaucher l'icône sur le placeholder « Apply Here »).
   v1.60.111 : FluentCart 1.5.x centre son icône absolute via
   `top:50% + transform:translateY(-50%)` — une fois notre position:relative
   appliqué, le translateY résiduel poussait l'icône 19px AU-DESSUS du champ.
   → transform:none + align-self:center pour un centrage vertical propre. */
.fct_coupon_field .fct_coupon_icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	align-self: center !important;
	width: 36px !important;
	height: auto !important;
	flex-shrink: 0 !important;
	color: #7C3AED !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	pointer-events: none !important;
}
.fct_coupon_field .fct_coupon_icon svg {
	width: 16px !important;
	height: 16px !important;
	color: #7C3AED !important;
	display: block !important;
}
.fct_coupon_field .fct_coupon_icon svg *,
.fct_coupon_field .fct_coupon_icon svg path,
.fct_coupon_field .fct_coupon_icon svg ellipse,
.fct_coupon_field .fct_coupon_icon svg circle,
.fct_coupon_field .fct_coupon_icon svg rect,
.fct_coupon_field .fct_coupon_icon svg line,
.fct_coupon_field .fct_coupon_icon svg polyline,
.fct_coupon_field .fct_coupon_icon svg polygon {
	stroke: #7C3AED !important;
}

/* Input wrapper + input — pas de padding-left exagéré (FC met 40px+ pour
   compenser l'icône absolute, on annule). */
.fct_coupon_field .fct_coupon_input_wrapper {
	flex: 1 1 auto !important;
	display: flex !important;
	align-items: center !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	position: static !important;
}
.fct_coupon_field .fct_coupon_input,
.fct_coupon_field input#coupon,
.fct_coupon_field input[name="coupon"] {
	flex: 1 1 auto !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 38px !important;
	padding: 0 4px 0 8px !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	font-family: 'JetBrains Mono', ui-monospace, monospace !important;
	font-size: 13.5px !important;
	letter-spacing: .04em !important;
	color: #0F1426 !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}
.fct_coupon_field .fct_coupon_input::placeholder,
.fct_coupon_field input#coupon::placeholder,
.fct_coupon_field input[name="coupon"]::placeholder {
	color: rgba(15, 20, 38, .35) !important;
	font-family: 'Inter', sans-serif !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 500 !important;
}

/* Apply button — pill INSET dans le pill parent (matching border-radius)
   plutôt que carré attaché. Plus discret + cohérent avec le radius général. */
.fct_coupon_field [data-fluent-cart-checkout-page-coupon-validate] {
	flex-shrink: 0 !important;
	margin: 0 !important;
	padding: 0 18px !important;
	min-width: 84px !important;
	height: auto !important;
	align-self: stretch !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: linear-gradient(180deg, #8a46f5 0%, #6d2ce4 100%) !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .005em !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: background .18s ease, transform .12s ease, box-shadow .18s ease !important;
	box-shadow:
		0 1px 2px rgba(124, 58, 237, .25),
		0 0 0 1px rgba(124, 58, 237, .25) inset !important;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .08) !important;
}
.fct_coupon_field [data-fluent-cart-checkout-page-coupon-validate]:hover:not(:disabled) {
	background: linear-gradient(180deg, #7C3AED 0%, #5B2BE0 100%) !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
	box-shadow:
		0 4px 14px -4px rgba(124, 58, 237, .55),
		0 0 0 1px rgba(124, 58, 237, .4) inset !important;
}
.fct_coupon_field [data-fluent-cart-checkout-page-coupon-validate]:active:not(:disabled) {
	transform: scale(.97) !important;
}
.fct_coupon_field [data-fluent-cart-checkout-page-coupon-validate]:disabled {
	background: linear-gradient(180deg, #b29bff 0%, #9b85f0 100%) !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
	cursor: not-allowed !important;
	opacity: .9 !important;
}

/* Applied coupon line — par défaut HIDDEN (le <li> contient juste du
   whitespace au load, donc :empty ne match pas). Le JS lui ajoute la
   classe `.is-applied` quand un coupon est posé pour révéler la card. */
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon] {
	display: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon].is-applied {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 10px 14px !important;
	margin: 6px 0 !important;
	background: linear-gradient(135deg, rgba(124, 58, 237, .06) 0%, rgba(168, 230, 245, .12) 100%) !important;
	border: 1px solid rgba(124, 58, 237, .18) !important;
	border-radius: 10px !important;
	font-family: 'Inter', sans-serif !important;
}
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon] .fct_summary_label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #5B2BE0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon] .fct_summary_label::before {
	content: '' !important;
	display: inline-block !important;
	width: 14px !important;
	height: 14px !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237C3AED'><path d='M20 6L9 17l-5-5 1.4-1.4L9 14.2 18.6 4.6z'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	flex-shrink: 0 !important;
}
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon] [data-fluent-cart-checkout-page-coupon-remove],
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon] a[data-coupon-code] {
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #94a3b8 !important;
	text-decoration: none !important;
	border: 0 !important;
	background: transparent !important;
	padding: 4px 8px !important;
	margin-left: 6px !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	transition: background .15s ease, color .15s ease !important;
}
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon] [data-fluent-cart-checkout-page-coupon-remove]:hover,
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon] a[data-coupon-code]:hover {
	color: #DC2626 !important;
	background: rgba(220, 38, 38, .06) !important;
	text-decoration: none !important;
}
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon] .fct_summary_value {
	font-family: 'JetBrains Mono', ui-monospace, monospace !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #10B981 !important;
	letter-spacing: -.01em !important;
}

/* Hide vide pour pas garder un padding visible */
.fct_summary_items_list li[data-fluent-cart-checkout-page-applied-coupon]:empty {
	display: none !important;
}

/* Responsive : mobile, on garde le pill compact */
@media (max-width: 480px) {
	.fct_coupon_field {
		min-height: 42px !important;
	}
	.fct_coupon_field .fct_coupon_icon {
		width: 34px !important;
	}
	.fct_coupon_field [data-fluent-cart-checkout-page-coupon-validate] {
		min-width: 76px !important;
		padding: 0 14px !important;
		font-size: 12.5px !important;
	}
	.fct_coupon_field .fct_coupon_input {
		font-size: 13px !important;
	}
}

/* Light mode — déjà compatible (le pill est blanc/violet sur fond ivoire) */
html[data-theme="light"] .fct_coupon_field {
	background: #ffffff !important;
	border-color: rgba(124, 58, 237, .25) !important;
}
html[data-theme="light"] .fct_coupon_field .fct_coupon_input,
html[data-theme="light"] .fct_coupon_field input#coupon {
	color: #0F1426 !important;
}
html[data-theme="light"] .fct_coupon_field .fct_coupon_input::placeholder {
	color: rgba(15, 20, 38, .4) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   v1.47.0 — Demo video modal (« Voir la démo » button + <dialog>)
   Markup exposé via wp:html block dans le hero. Logique JS dans
   /assets/js/cv-demo-modal.js (enqueued par functions.php).
   ══════════════════════════════════════════════════════════════════════════ */

/* Bouton ----------------------------------------------------------------- */
.cv-demo-cta-wrap { display: inline-flex; }
.cv-demo-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	font-family: 'Inter', -apple-system, sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -.005em;
	color: #7C3AED;
	background: rgba(255, 255, 255, .92);
	border: 1.5px solid rgba(124, 58, 237, .35);
	border-radius: 999px;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, transform .12s ease, box-shadow .2s ease, color .2s ease;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .9) inset,
		0 2px 8px -3px rgba(124, 58, 237, .15);
}
.cv-demo-cta:hover {
	background: linear-gradient(180deg, #8a46f5 0%, #6d2ce4 100%);
	border-color: rgba(124, 58, 237, .6);
	color: #ffffff;
	box-shadow:
		0 6px 20px -6px rgba(124, 58, 237, .55),
		0 0 0 1px rgba(124, 58, 237, .4) inset;
}
.cv-demo-cta:active { transform: scale(.97); }
.cv-demo-cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(124, 58, 237, .12);
	color: #7C3AED;
	transition: background .2s ease, color .2s ease;
}
.cv-demo-cta:hover .cv-demo-cta-icon {
	background: rgba(255, 255, 255, .22);
	color: #ffffff;
}
.cv-demo-cta-meta {
	font-family: 'JetBrains Mono', ui-monospace, monospace;
	font-size: 12px;
	font-weight: 500;
	opacity: .65;
	letter-spacing: .02em;
}

/* Dialog ----------------------------------------------------------------- */
.cv-demo-dialog {
	border: 0;
	padding: 0;
	background: transparent;
	max-width: 96vw;
	width: 960px;
	max-height: 92vh;
	overflow: visible;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}
.cv-demo-dialog::backdrop {
	background: rgba(10, 15, 28, .82);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.cv-demo-dialog[open] {
	animation: cv-demo-fade-in .25s ease-out;
}
@keyframes cv-demo-fade-in {
	from { opacity: 0; transform: translate(-50%, -48%); }
	to   { opacity: 1; transform: translate(-50%, -50%); }
}

/* Close button ----------------------------------------------------------- */
.cv-demo-close {
	position: absolute;
	top: -44px;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	color: #ffffff;
	cursor: pointer;
	transition: background .15s ease, transform .12s ease;
}
.cv-demo-close:hover { background: rgba(255, 255, 255, .22); }
.cv-demo-close:active { transform: scale(.92); }

/* Video wrapper ---------------------------------------------------------- */
.cv-demo-video-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 16px;
	overflow: hidden;
	box-shadow:
		0 24px 60px -12px rgba(0, 0, 0, .5),
		0 0 0 1px rgba(124, 58, 237, .25);
}
.cv-demo-video {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
}

/* Mobile ----------------------------------------------------------------- */
@media (max-width: 640px) {
	.cv-demo-dialog {
		width: 100vw;
		max-width: 100vw;
		height: 100dvh;
		max-height: 100dvh;
		border-radius: 0;
	}
	.cv-demo-video-wrap { border-radius: 0; }
	.cv-demo-close {
		top: 12px;
		right: 12px;
		background: rgba(0, 0, 0, .55);
	}
}

/* ─────────────────────────────────────────────────────────────────────────
   v1.51.3 — Premium video frame (.cv-video-frame)
   Wrapper Gutenberg pour vidéos Fluent Player / iframe / wp:html.
   Markup attendu :
     <!-- wp:group {"className":"cv-video-frame"} -->
       <div class="wp-block-group cv-video-frame">
         [fluent_player ...]   ← shortcode bloc Gutenberg
       </div>
     <!-- /wp:group -->
   Effet : double halo radial (violet à gauche, cyan à droite) animé en
   pulse 8s, gradient border 1.5px brand, ombre portée violet+cyan, clip
   inner sur tous les enfants directs (couvre wp-block-shortcode, wp-html,
   iframe, video).
   ───────────────────────────────────────────────────────────────────────── */
.cv-video-frame{
	position: relative;
	max-width: 980px;
	margin: 60px auto;
	border-radius: 28px;
	padding: 8px;
	background: linear-gradient(135deg,
		rgba(124,58,237,.55) 0%,
		rgba(109,213,237,.45) 50%,
		rgba(201,162,75,.50) 100%);
	box-shadow:
		0 30px 90px -20px rgba(124,58,237,.55),
		0 14px 50px -12px rgba(109,213,237,.32),
		0 0 0 1px rgba(255,255,255,.06) inset;
	isolation: isolate;
}
/* Halos derrière le frame (purple à gauche, cyan à droite) */
.cv-video-frame::before,
.cv-video-frame::after{
	content: "";
	position: absolute;
	inset: -18%;
	z-index: -1;
	pointer-events: none;
	border-radius: 50%;
	will-change: transform, opacity;
}
.cv-video-frame::before{
	background: radial-gradient(closest-side, rgba(124,58,237,.55), transparent 70%);
	transform: translate(-30%, 10%);
	filter: blur(50px);
	animation: cv-video-halo-l 9s ease-in-out infinite;
}
.cv-video-frame::after{
	background: radial-gradient(closest-side, rgba(109,213,237,.50), transparent 70%);
	transform: translate(30%, -10%);
	filter: blur(50px);
	animation: cv-video-halo-r 9s ease-in-out infinite;
}
@keyframes cv-video-halo-l{
	0%,100%{ opacity: .85; transform: translate(-30%, 10%) scale(1); }
	50%    { opacity: 1;   transform: translate(-34%, 8%)  scale(1.06); }
}
@keyframes cv-video-halo-r{
	0%,100%{ opacity: .80; transform: translate(30%, -10%)  scale(1); }
	50%    { opacity: 1;   transform: translate(34%, -12%) scale(1.06); }
}
/* Clip TOUS les enfants directs (Fluent Player wrap, shortcode, html, iframe, video) */
.cv-video-frame > *{
	display: block;
	border-radius: 22px;
	overflow: hidden;
	margin: 0;
	background: #0A0F1C;
}
.cv-video-frame iframe,
.cv-video-frame video,
.cv-video-frame .wp-block-shortcode,
.cv-video-frame .wp-block-html,
.cv-video-frame .wp-block-embed{
	border-radius: 22px;
	overflow: hidden;
	display: block;
	width: 100%;
}
/* Aspect ratio fallback : si contenu sans intrinsic ratio, on garde 16:9 */
.cv-video-frame > .wp-block-shortcode,
.cv-video-frame > .wp-block-html{
	aspect-ratio: 16 / 9;
	min-height: 300px;
}
/* Si la video est en autoplay/iframe Fluent Player, neutraliser min-height (laisse le ratio natif) */
.cv-video-frame > .wp-block-shortcode:has(iframe),
.cv-video-frame > .wp-block-shortcode:has(video),
.cv-video-frame > .wp-block-html:has(iframe),
.cv-video-frame > .wp-block-html:has(video){
	min-height: 0;
	aspect-ratio: auto;
}
/* Hover : intensifie l'ombre + soulèvement subtil */
.cv-video-frame:hover{
	transform: translateY(-3px);
	transition: transform .35s var(--ease-out, cubic-bezier(.2,.7,.2,1));
	box-shadow:
		0 40px 110px -20px rgba(124,58,237,.65),
		0 18px 60px -12px rgba(109,213,237,.42),
		0 0 0 1px rgba(255,255,255,.08) inset;
}
/* Variante centrée + plus large pour hero secondaire (≤1180px) */
.cv-video-frame.is-wide{ max-width: 1180px; }
/* Variante compacte pour footer/CTA (≤720px) */
.cv-video-frame.is-narrow{ max-width: 720px; }

/* Light theme — halos plus saturés sur fond clair pour rester lisibles */
html[data-theme="light"] .cv-video-frame{
	background: linear-gradient(135deg,
		rgba(124,58,237,.65) 0%,
		rgba(109,213,237,.55) 50%,
		rgba(201,162,75,.60) 100%);
	box-shadow:
		0 30px 80px -20px rgba(124,58,237,.40),
		0 14px 50px -12px rgba(109,213,237,.28),
		0 0 0 1px rgba(15,20,38,.08) inset;
}
html[data-theme="light"] .cv-video-frame > *{ background: #fff; }
html[data-theme="light"] .cv-video-frame::before{
	background: radial-gradient(closest-side, rgba(124,58,237,.40), transparent 70%);
}
html[data-theme="light"] .cv-video-frame::after{
	background: radial-gradient(closest-side, rgba(14,165,196,.40), transparent 70%);
}

/* Mobile */
@media (max-width: 768px){
	.cv-video-frame{
		margin: 40px auto;
		padding: 6px;
		border-radius: 22px;
	}
	.cv-video-frame > *{ border-radius: 16px; }
	.cv-video-frame::before,
	.cv-video-frame::after{ filter: blur(35px); }
}

/* Reduced motion : couper l'animation halo */
@media (prefers-reduced-motion: reduce){
	.cv-video-frame::before,
	.cv-video-frame::after{ animation: none; }
	.cv-video-frame:hover{ transform: none; }
}

/* ============================================================ */
/*  AVATAR INDUSTRIES · CONDENSED LAYOUT (template v1.52.1)     */
/*  10 sections, alternance dark/light/gradient.                */
/*  Composants : cv-hero-condensed · cv-prepost · cv-pillars    */
/*  Modèle réplicable pour les 12 autres avatars métier.        */
/*                                                              */
/*  IMPORTANT — bascule clair/sombre :                          */
/*   - dark = défaut (root)                                     */
/*   - light = scoped html[data-theme="light"]                  */
/*  On utilise les tokens var(--bg-raised) / var(--bg-soft) /   */
/*  var(--fg) / var(--fg-mute) / var(--gold) pour automatiser.  */
/* ============================================================ */
:root{--cvs-theme-version:"1.56.2"}

/* ============================================================ */
/*  MOBILE FIXES · 1.53.4 (homepage hero + header)              */
/*  - Hero padding-top 76 → 16px (suppression espace header)    */
/*  - Hero hero-inner padding-inline 24 → 14px (gain de largeur)*/
/*  - Header : cacher .cv-nav-account, pousser tools à droite,  */
/*    cacher btn-demo / btn-cta (déjà géré ailleurs en partie)  */
/* ============================================================ */
@media (max-width:768px){
	/* Hero : padding-top 8 + padding-inline 8px pour max contenu */
	.hero,
	.wp-block-group.hero,
	header.hero{
		padding-top:8px !important;
		padding-bottom:32px !important;
		padding-left:8px !important;
		padding-right:8px !important;
		padding-inline:8px !important;
	}
	.hero .hero-inner{
		padding-inline:6px !important;
		padding-block-start:4px !important;
		margin-top:0 !important;
	}
	/* Resserrer les gaps verticaux du hero (1.53.9 — request user) */
	.hero .cv-video-frame{ margin-top:16px !important; margin-bottom:16px !important; }
	.hero .hero-lede{ margin-top:12px !important; }
	.hero .hero-ctas{ margin-top:16px !important; }
	.hero .hero-copy{
		max-width:none !important;
		padding-inline:0 !important;
	}
	.hero h1,
	.hero .hero-lede{
		padding-inline:4px !important;
	}

	/* Hero H1 plus grand + lede plus petit (request user 1.53.8) */
	.hero h1,
	.hero h1.reveal-words{
		font-size:40px !important;
		line-height:1.05 !important;
	}
	.hero .hero-lede{
		font-size:13px !important;
		line-height:1.5 !important;
	}

	/* Badge "Mails, Drive, WhatsApp..." forcé sur 1 SEULE ligne (au lieu de 4) */
	.hero .hero-badge,
	.hero .hero-badge.is-nowrap{
		flex-wrap:nowrap !important;
		white-space:nowrap !important;
		font-size:10.5px !important;
		max-width:100% !important;
		overflow:hidden !important;
		gap:6px !important;
	}
	.hero .hero-badge p{
		white-space:nowrap !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
		font-size:10.5px !important;
	}
	.hero .hero-badge .tag{
		flex-shrink:0 !important;
		font-size:10px !important;
	}

	.cv-nav-cta .cv-nav-account{ display:none !important; }
	.cv-nav-cta{
		justify-content:flex-end !important;
		margin-left:auto !important;
		gap:8px !important;
	}
	.cv-nav-cta .theme-toggle{ margin-left:auto !important; }

	/* Masquer l'item "Langue" du milieu du drawer (lang-switcher injecté
	   par le walker custom) — le bouton globe est désormais dans la toolbar. */
	.cv-nav-drawer .cv-nav-drawer-item.is-lang-switcher{ display:none !important; }

	/* Drawer mobile : ouvre depuis la DROITE (request user 1.53.8) +
	   transition fluide GPU only pour éviter latence ouverture/fermeture */
	.cv-nav-drawer{
		left:auto !important;
		right:0 !important;
		width:min(360px, 90vw) !important;
		transition:transform .22s cubic-bezier(.22,.94,.42,1) !important;
		will-change:transform !important;
	}
	.cv-nav-drawer[aria-hidden="true"]{
		transform:translateX(100%) !important;
	}
	.cv-nav-drawer[aria-hidden="false"]{
		transform:translateX(0) !important;
	}
	/* drawer-inner : neutralise transition:all qui transite TOUT (layout heavy
	   properties → freeze 1s sur close). On force transform/opacity only. */
	.cv-nav-drawer-inner{
		transition:none !important;
		will-change:auto !important;
	}
}

/* === Toolbar drawer : bouton Langue + dropdown =================== */
.cv-nav-drawer-lang-wrap{
	position:relative;
	display:inline-flex;
}
.cv-nav-drawer-tool--lang{
	display:inline-flex;align-items:center;justify-content:center;
	width:40px;height:40px;border-radius:10px;border:0;cursor:pointer;
	background:rgba(255,255,255,.06);color:#fff;
	transition:background .15s ease,border-color .15s ease;
}
.cv-nav-drawer-tool--lang:hover{
	background:rgba(255,255,255,.12);
}
.cv-nav-drawer-tool--lang svg{width:20px;height:20px}
html[data-theme="light"] .cv-nav-drawer-tool--lang{
	background:rgba(11,29,58,.06);color:#0B1D3A;
}
html[data-theme="light"] .cv-nav-drawer-tool--lang:hover{
	background:rgba(11,29,58,.10);
}
.cv-nav-drawer-lang-dropdown{
	position:absolute;top:calc(100% + 6px);right:0;
	min-width:180px;
	background:#0F1424;
	border:1px solid rgba(255,255,255,.10);
	border-radius:10px;padding:6px;
	box-shadow:0 12px 40px -8px rgba(0,0,0,.55);
	z-index:120;
	display:flex;flex-direction:column;gap:2px;
}
.cv-nav-drawer-lang-dropdown[hidden]{display:none}
html[data-theme="light"] .cv-nav-drawer-lang-dropdown{
	background:#FFFFFF;
	border-color:rgba(11,29,58,.10);
	box-shadow:0 12px 40px -8px rgba(11,29,58,.18);
}
.cv-nav-drawer-lang-item{
	display:flex;align-items:center;gap:10px;
	padding:10px 12px;border-radius:8px;
	color:rgba(255,255,255,.78);
	font-size:14px;font-weight:500;text-decoration:none;
	transition:background .12s ease,color .12s ease;
}
.cv-nav-drawer-lang-item:hover{
	background:rgba(255,255,255,.06);color:#fff;
}
.cv-nav-drawer-lang-item.is-current{
	background:rgba(124,58,237,.18);color:#fff;
}
html[data-theme="light"] .cv-nav-drawer-lang-item{color:#1F2937}
html[data-theme="light"] .cv-nav-drawer-lang-item:hover{background:rgba(11,29,58,.05);color:#0B1D3A}
html[data-theme="light"] .cv-nav-drawer-lang-item.is-current{background:rgba(124,58,237,.10);color:#0B1D3A}
.cv-nav-drawer-lang-item img{width:20px;height:14px;border-radius:2px;flex-shrink:0}
.cv-nav-drawer-lang-name{flex:1}
.cv-nav-drawer-lang-check{color:#C9A24B;font-weight:700}

/* ============================================================ */
/*  HOMEPAGE FIXES · 1.53.2                                     */
/*  - Hero padding-bottom 140 → 72px max (gain ~70px de respir) */
/*  - Boutons hero (.wp-block-button__link) sans variant btn :  */
/*    1er = btn-primary purple gradient                         */
/*    2e  = btn-ghost glassmorphism                             */
/*  - Cible : pattern home dont les boutons ont perdu leurs     */
/*    classes btn lors de l'insert Gutenberg.                   */
/* ============================================================ */
.wp-site-blocks > main .hero,
.wp-site-blocks main > .hero{
	padding-bottom:clamp(40px,5vw,72px) !important;
}

/* Neutralise le wrapper .wp-block-button qui hérite déjà du styling
   .btn / .btn-primary / .btn-ghost (lignes 288-300 main.css) — sinon
   double background + border + box-shadow superposés sur le __link enfant
   (visible en mode light : double border noire/grise autour des boutons). */
.hero .wp-block-buttons .wp-block-button,
.hero .wp-block-buttons .wp-block-button.btn,
.hero .wp-block-buttons .wp-block-button.btn-primary,
.hero .wp-block-buttons .wp-block-button.btn-ghost,
.hero .wp-block-buttons .wp-block-button.btn-lg{
	background:transparent !important;
	background-image:none !important;
	border:0 !important;
	box-shadow:none !important;
	padding:0 !important;
	backdrop-filter:none !important;
	-webkit-backdrop-filter:none !important;
}
.hero .wp-block-buttons .wp-block-button:first-child .wp-block-button__link{
	background:linear-gradient(135deg,#7C3AED 0%,#5B21B6 100%) !important;
	color:#fff !important;
	border:0 !important;
	padding:14px 28px !important;
	border-radius:999px !important;
	font-weight:600 !important;
	transition:transform .18s ease, box-shadow .18s ease !important;
	box-shadow:0 8px 24px -8px rgba(124,58,237,.45) !important;
}
.hero .wp-block-buttons .wp-block-button:first-child .wp-block-button__link:hover{
	transform:translateY(-2px) !important;
	box-shadow:0 12px 32px -8px rgba(124,58,237,.55) !important;
}
.hero .wp-block-buttons .wp-block-button:nth-child(2) .wp-block-button__link{
	background:rgba(255,255,255,.04) !important;
	color:#fff !important;
	border:1px solid rgba(255,255,255,.22) !important;
	padding:14px 28px !important;
	border-radius:999px !important;
	font-weight:600 !important;
	transition:background .18s ease, border-color .18s ease, color .18s ease !important;
}
.hero .wp-block-buttons .wp-block-button:nth-child(2) .wp-block-button__link:hover{
	background:rgba(255,255,255,.10) !important;
	border-color:rgba(232,201,124,.55) !important;
}
/* Ghost button — variante LIGHT validée live :
   fond blanc pur (au lieu de rgba bleu), texte navy, border navy léger,
   ombre subtile pour la profondeur sur le hero ivoire. */
html[data-theme="light"] .hero .wp-block-buttons .wp-block-button:nth-child(2) .wp-block-button__link{
	background:#FFFFFF !important;
	color:#0B1D3A !important;
	border:1px solid rgba(11,29,58,.18) !important;
	box-shadow:0 2px 8px -2px rgba(11,29,58,.08) !important;
}
html[data-theme="light"] .hero .wp-block-buttons .wp-block-button:nth-child(2) .wp-block-button__link:hover{
	background:#FAF7F0 !important;
	border-color:rgba(176,131,51,.55) !important;
	color:#0B1D3A !important;
}
/* Primary — variante LIGHT (gradient plus profond pour contraste sur ivoire) */
html[data-theme="light"] .hero .wp-block-buttons .wp-block-button:first-child .wp-block-button__link{
	background:linear-gradient(135deg,#7C3AED 0%,#4C1D95 100%) !important;
	color:#fff !important;
	box-shadow:0 8px 22px -6px rgba(124,58,237,.45) !important;
}

/* ============================================================ */
/*  AVATAR INDUSTRIES · 1.52.5 — Fix alignement cards hero      */
/*  Cause : WordPress applique automatiquement                  */
/*  `.is-layout-flow > * + *{ margin-block-start:24px }` qui    */
/*  pousse la 2e card vers le bas. On force margin-block:0 sur  */
/*  les enfants directs de cv-hero-perspective.                 */
/* ============================================================ */
/* FIX GLOBAL — tous les grids de la page avatar industrie.
 * WordPress applique `.is-layout-flow > * + *{margin-block-start:24px}` sur tous
 * les siblings, même quand le parent est en `display:grid`. Résultat : la 2e+ card
 * de CHAQUE grid est décalée de 24px verticalement. On neutralise.
 */
.cv-hero-perspective > *,
.cv-prepost-grid > *,
.cv-pb-grid > *,
.cv-pillars-feats > *,
.cv-pillars-pillar-grid > *,
.cv-vs-grid > *,
.cv-testi-grid-6 > *,
.pv3-cabinet-grid > *,
.pv3-agency-grid > *,
.cv-stats-grid > *,
.cv-hero-stats > *,
.testimonials > *{
	margin-block:0 !important;
	margin-block-start:0 !important;
	margin-top:0 !important;
}

/* ============================================================ */
/*  AVATAR INDUSTRIES · 1.52.4 — Hero premium                   */
/*  - hero-bg avec grille drift + glow halos animés             */
/*  - canvas particles dorées (cv-hero-fx.js l'injecte+anime)   */
/*  - Force cards perspective 2 cols dès 540px                  */
/* ============================================================ */
.cv-hero-condensed{position:relative; overflow:hidden;}
.cv-hero-condensed > .hero-bg{
	position:absolute !important; inset:0 !important;
	z-index:0 !important; pointer-events:none !important;
	overflow:hidden !important;
}
.cv-hero-condensed .hero-bg .grid{
	position:absolute; inset:0;
	background-image:
		linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
	background-size:48px 48px;
	mask-image:radial-gradient(ellipse at center,#000 30%,transparent 78%);
	-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 78%);
	animation:cvGridDrift 60s linear infinite;
}
@keyframes cvGridDrift{
	0%{background-position:0 0,0 0}
	100%{background-position:48px 48px,48px 48px}
}
.cv-hero-condensed .hero-bg .glow-a{
	position:absolute; width:700px; height:700px; border-radius:50%;
	top:-150px; right:-150px;
	background:radial-gradient(circle,rgba(201,168,76,.18),transparent 60%);
	filter:blur(40px); animation:cvGlowFloat 18s ease-in-out infinite;
}
.cv-hero-condensed .hero-bg .glow-b{
	position:absolute; width:600px; height:600px; border-radius:50%;
	bottom:-100px; left:-100px;
	background:radial-gradient(circle,rgba(124,58,237,.18),transparent 60%);
	filter:blur(40px); animation:cvGlowFloat 22s ease-in-out infinite reverse;
}
@keyframes cvGlowFloat{
	0%,100%{transform:translate(0,0)}
	50%{transform:translate(40px,-30px)}
}
.cv-hero-condensed .hero-bg #particles{
	position:absolute; inset:0; width:100%; height:100%;
	opacity:.55;
}
.cv-hero-condensed .hero-inner{position:relative; z-index:1;}

/* Force cards perspective 2-cols dès 540px (au lieu de 680px) */
.cv-hero-perspective{
	grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)) !important;
	max-width:760px !important;
}
@media (min-width:540px){
	.cv-hero-perspective{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
}

/* Reduced motion : couper anim grille + glows */
@media (prefers-reduced-motion: reduce){
	.cv-hero-condensed .hero-bg .grid,
	.cv-hero-condensed .hero-bg .glow-a,
	.cv-hero-condensed .hero-bg .glow-b{
		animation:none !important;
	}
}

/* ============================================================ */
/*  AVATAR INDUSTRIES · 1.52.3 — Tones distincts + hauteurs eq. */
/*  - 5 surfaces nettement différenciées (vs --bg/--bg-soft     */
/*    /--bg-raised qui sont quasi indiscernables)               */
/*  - align-items:stretch + height:100% + reset margins WP      */
/*    sur tous les grids enfants des sections                   */
/* ============================================================ */

/* Surface tones — overrides les fonds plats des sections de la page avatar */
.cv-avatar-page .cv-scenario-condensed{
	background:#070A1A !important;
}
.cv-avatar-page .cv-prepost{
	background:#0E1530 !important;
}
.cv-avatar-page .cv-parcours-balise{
	background:linear-gradient(140deg,#0B1230 0%,#1A1545 50%,#2D1854 100%) !important;
}
.cv-avatar-page .cv-pillars{
	background:#0A0D22 !important;
	position:relative;
}
.cv-avatar-page .cv-pillars::before{
	content:"";position:absolute;inset:0;pointer-events:none;
	background:radial-gradient(900px 500px at 50% 0%,rgba(201,162,75,.06),transparent 70%);
}
.cv-avatar-page .cv-pillars > .wrap{position:relative;z-index:1}
.cv-avatar-page .cv-comparatif-condensed,
.cv-avatar-page .cv-comparatif-editeur.cv-comparatif-condensed{
	background:linear-gradient(160deg,#0B1D3A 0%,#1A1130 50%,#2C1818 100%) !important;
}
.cv-avatar-page .cv-proof-big{
	background:#13192E !important;
}
.cv-avatar-page .faq{
	background:#0A0D22 !important;
}

/* Variantes light du tone */
html[data-theme="light"] .cv-avatar-page .cv-scenario-condensed{
	background:#F6F2EA !important;
}
html[data-theme="light"] .cv-avatar-page .cv-prepost{
	background:#EFEADF !important;
}
html[data-theme="light"] .cv-avatar-page .cv-parcours-balise{
	background:linear-gradient(140deg,#F6F0E1 0%,#EFE8DA 50%,#E8DEC9 100%) !important;
}
html[data-theme="light"] .cv-avatar-page .cv-pillars{
	background:#FFFDF7 !important;
}
html[data-theme="light"] .cv-avatar-page .cv-proof-big{
	background:#F1ECDF !important;
}
html[data-theme="light"] .cv-avatar-page .faq{
	background:#FFFDF7 !important;
}

/* ===== HAUTEURS ÉGALES SUR TOUS LES GRIDS DE LA PAGE AVATAR ===== */
/* parcours-balise (4 cards), pillars-feats (3-col), pillars-pillar-grid (3-col), */
/* prepost (2-col), testimonials (3-col), cv-vs-grid (2-col)                       */
.cv-avatar-page .cv-pb-grid,
.cv-avatar-page .cv-prepost-grid,
.cv-avatar-page .cv-pillars-feats,
.cv-avatar-page .cv-pillars-pillar-grid,
.cv-avatar-page .cv-vs-grid,
.cv-avatar-page .cv-testi-grid-6{
	align-items:stretch !important;
}
.cv-avatar-page .cv-pb-grid > article,
.cv-avatar-page .cv-pb-grid > .cv-pb-step,
.cv-avatar-page .cv-prepost-col,
.cv-avatar-page .cv-pillars-feat,
.cv-avatar-page .cv-pillars-pillar-card,
.cv-avatar-page .cv-vs-col,
.cv-avatar-page .cv-testi-grid-6 > .testi{
	height:100% !important;
	align-self:stretch !important;
}
/* Reset des margins WP par défaut sur enfants des cards (cause #1 des hauteurs inégales) */
.cv-avatar-page .cv-pb-step > *,
.cv-avatar-page .cv-prepost-col > *,
.cv-avatar-page .cv-pillars-feat > *,
.cv-avatar-page .cv-pillars-pillar-card > *,
.cv-avatar-page .cv-vs-col > *,
.cv-avatar-page .cv-pb-step .wp-block-list,
.cv-avatar-page .cv-prepost-col .wp-block-list,
.cv-avatar-page .cv-pillars-pillar-card .wp-block-list,
.cv-avatar-page .cv-vs-col .wp-block-list{
	margin-block:0 !important;
}
.cv-avatar-page .cv-pb-step .wp-block-list,
.cv-avatar-page .cv-prepost-col .wp-block-list,
.cv-avatar-page .cv-pillars-pillar-card .wp-block-list,
.cv-avatar-page .cv-vs-col .wp-block-list{
	padding-left:0 !important;
}

/* Frontière douce inter-sections pour bien marquer les transitions */
.cv-avatar-page section.section,
.cv-avatar-page section.cv-comparatif-condensed,
.cv-avatar-page section.cv-pillars,
.cv-avatar-page section.cv-prepost,
.cv-avatar-page section.cv-scenario-condensed,
.cv-avatar-page section.cv-parcours-balise,
.cv-avatar-page section.cv-proof-big,
.cv-avatar-page section.faq{
	position:relative;
}

/* ===== Hero condensé : 2 cartes perspective sous CTAs ========= */
.cv-hero-condensed{
	padding-top:0 !important;
}
.cv-hero-condensed .hero-inner{
	padding-block:clamp(24px,3vw,40px) clamp(16px,2vw,28px) !important;
	margin-block-start:0 !important;
}
/* Mockup hero collé aux cards perspective (réduit margin-top imposé par WP) */
.cv-hero-condensed .mockup-wrap,
.cv-hero-condensed .mockup-wrap.cv-mockup-below{
	margin-top:0 !important;
	margin-block-start:0 !important;
	padding-top:0 !important;
}
.cv-hero-condensed .hero-copy{margin-bottom:clamp(32px,4vw,56px)}
.cv-hero-condensed .cv-hero-sub{
	max-width:62ch;margin:18px auto 28px;
	font-size:clamp(15px,1.6vw,17px);line-height:1.55;
	color:var(--fg-mute);font-weight:400;
}
.cv-hero-perspective{
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
	gap:clamp(14px,2vw,24px);margin-top:clamp(36px,4.5vw,56px);
	max-width:780px;margin-inline:auto;
	align-items:stretch;
}
.cv-hero-perspective-card{
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,255,255,.12);
	border-radius:14px;padding:clamp(18px,2.4vw,26px);
	display:flex;flex-direction:column;gap:12px;
	height:100%;align-self:stretch;
	backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
	transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
/* Reset des margins WordPress par défaut sur enfants des cards perspective */
.cv-hero-perspective-card > *,
.cv-hero-perspective-card .wp-block-list,
.cv-hero-perspective-card .wp-block-list-item{
	margin-block:0;margin-block-start:0;margin-block-end:0;
}
.cv-hero-perspective-card .wp-block-list{padding-left:0}
.cv-hero-perspective-card:hover{
	transform:translateY(-2px);
	border-color:var(--gold-line);
	background:rgba(255,255,255,.06);
}
html[data-theme="light"] .cv-hero-perspective-card{
	background:rgba(11,29,58,.04);
	border-color:rgba(11,29,58,.12);
}
html[data-theme="light"] .cv-hero-perspective-card:hover{
	background:rgba(11,29,58,.07);
	border-color:var(--gold-line);
}
.cv-hero-perspective-eyebrow{
	margin:0;font-family:var(--font-mono,'JetBrains Mono',monospace);
	font-size:11px;letter-spacing:.16em;font-weight:600;
	color:var(--gold);text-transform:uppercase;
}
.cv-hero-perspective-list{
	margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;
}
.cv-hero-perspective-list li{
	position:relative;padding-left:24px;font-size:15px;line-height:1.5;
	color:var(--fg);font-weight:500;
}
.cv-hero-perspective-list li::before{
	content:"";position:absolute;left:0;top:8px;width:14px;height:8px;
	border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);
	transform:rotate(-45deg);
}
@media (max-width:680px){
	.cv-hero-perspective{grid-template-columns:1fr;gap:14px}
}

/* ===== Scénario condensé · CTA inline =========================== */
.cv-scenario-condensed{
	background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%);
}
html[data-theme="light"] .cv-scenario-condensed{
	background:linear-gradient(180deg,var(--ivory) 0%,var(--bg-soft) 100%);
}
.cv-scenario-condensed .eyebrow{
	color:var(--gold);font-weight:600;letter-spacing:.12em;
	font-family:var(--font-mono,'JetBrains Mono',monospace);
	font-size:12px;text-transform:uppercase;
}
.cv-scenario-condensed .section-title{color:var(--fg)}
.cv-scenario-condensed .section-title mark{
	background:transparent;color:var(--gold);
	border-bottom:3px solid var(--gold-line);padding-bottom:2px;
}
.cv-scenario-condensed .cv-scenario-cta{margin-top:28px}
.cv-scenario-condensed .cv-scenario-cta .wp-block-button__link{
	background:var(--gold);color:#0B1D3A;font-weight:700;
	padding:14px 26px;border-radius:8px;
	transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.cv-scenario-condensed .cv-scenario-cta .wp-block-button__link:hover{
	background:var(--gold-2);transform:translateY(-2px);
	box-shadow:0 12px 28px -8px var(--gold-glow);
}

/* ===== Avant / Après · split 2 colonnes ======================== */
.cv-prepost{
	background:var(--bg-soft);
	padding-block:clamp(64px,8vw,112px);
	position:relative;
}
.cv-prepost::before{
	content:"";position:absolute;inset:0;pointer-events:none;
	background:
		radial-gradient(800px 400px at 15% 0%,rgba(220,38,38,.10),transparent 60%),
		radial-gradient(800px 400px at 85% 100%,rgba(201,162,75,.10),transparent 60%);
}
html[data-theme="light"] .cv-prepost::before{
	background:
		radial-gradient(800px 400px at 15% 0%,rgba(220,38,38,.05),transparent 60%),
		radial-gradient(800px 400px at 85% 100%,rgba(201,162,75,.06),transparent 60%);
}
.cv-prepost > .wrap{position:relative;z-index:1}
.cv-prepost .section-head{margin-bottom:clamp(40px,5vw,64px)}
.cv-prepost-grid{
	display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);
	align-items:stretch;
}
.cv-prepost-col{
	background:var(--bg-raised);border-radius:18px;padding:clamp(24px,3vw,40px);
	box-shadow:0 4px 24px -8px rgba(0,0,0,.4);
	border:1px solid rgba(255,255,255,.06);
	display:flex;flex-direction:column;gap:14px;
	position:relative;overflow:hidden;
}
html[data-theme="light"] .cv-prepost-col{
	box-shadow:0 4px 24px -8px rgba(11,29,58,.08);
	border-color:rgba(11,29,58,.06);
}
.cv-prepost-before{
	background:linear-gradient(180deg,rgba(220,38,38,.08) 0%,rgba(220,38,38,.04) 100%),var(--bg-raised);
	border-color:rgba(220,38,38,.28);
}
html[data-theme="light"] .cv-prepost-before{
	background:linear-gradient(180deg,#FFF7F7 0%,#FEF2F2 100%);
	border-color:rgba(220,38,38,.18);
}
.cv-prepost-before::before{
	content:"";position:absolute;top:0;left:0;right:0;height:4px;
	background:linear-gradient(90deg,#DC2626,#991B1B);
}
.cv-prepost-after{
	background:linear-gradient(180deg,rgba(201,162,75,.10) 0%,rgba(201,162,75,.04) 100%),var(--bg-raised);
	border-color:var(--gold-line);
}
html[data-theme="light"] .cv-prepost-after{
	background:linear-gradient(180deg,#FFFCF4 0%,#FEF8E1 100%);
	border-color:rgba(201,162,75,.28);
}
.cv-prepost-after::before{
	content:"";position:absolute;top:0;left:0;right:0;height:4px;
	background:linear-gradient(90deg,var(--gold),#0B1D3A);
}
.cv-prepost-tag{
	margin:0;font-family:var(--font-mono,'JetBrains Mono',monospace);
	font-size:11px;text-transform:uppercase;letter-spacing:.12em;
	font-weight:600;color:#FCA5A5;
}
html[data-theme="light"] .cv-prepost-tag{color:#991B1B}
.cv-prepost-tag-good{color:var(--gold)}
html[data-theme="light"] .cv-prepost-tag-good{color:#0B1D3A}
.cv-prepost-h{
	margin:4px 0 8px;font-size:clamp(20px,2.2vw,26px);
	line-height:1.25;color:var(--fg);font-weight:700;
}
.cv-prepost-list{
	margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;
}
.cv-prepost-list li{
	position:relative;padding:14px 16px 14px 44px;border-radius:10px;
	font-size:15px;line-height:1.55;color:var(--fg);
	background:rgba(255,255,255,.04);
}
html[data-theme="light"] .cv-prepost-list li{
	background:rgba(255,255,255,.6);
}
.cv-prepost-list-pain li::before{
	content:"";position:absolute;left:14px;top:18px;width:18px;height:18px;
	border-radius:50%;background:#DC2626;
	box-shadow:inset 0 0 0 4px var(--bg-raised);
}
.cv-prepost-list-good li::before{
	content:"";position:absolute;left:14px;top:18px;width:18px;height:18px;
	border-radius:50%;background:var(--gold);
	box-shadow:inset 0 0 0 4px var(--bg-raised),0 0 0 2px var(--gold);
}
.cv-prepost-list li strong{color:var(--gold)}
html[data-theme="light"] .cv-prepost-list li strong{color:#0B1D3A}
@media (max-width:840px){
	.cv-prepost-grid{grid-template-columns:1fr;gap:20px}
}

/* ===== 3 piliers à onglets · cv-pillars ========================= */
.cv-pillars{
	background:var(--bg);
	padding-block:clamp(64px,8vw,112px);
}
html[data-theme="light"] .cv-pillars{
	background:linear-gradient(180deg,#FFFFFF 0%,var(--bg-soft) 100%);
}
.cv-pillars .section-head{margin-bottom:clamp(36px,4vw,56px)}
.cv-pillars-tabs{
	max-width:1100px;margin:0 auto;
}
.cv-pillars-tablist{
	display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
	margin-bottom:32px;background:var(--bg-raised);padding:8px;
	border-radius:18px;
	box-shadow:0 4px 24px -8px rgba(0,0,0,.4);
	border:1px solid rgba(255,255,255,.06);
}
html[data-theme="light"] .cv-pillars-tablist{
	box-shadow:0 4px 24px -8px rgba(11,29,58,.08);
	border-color:rgba(11,29,58,.06);
}
.cv-pillars-tab{
	display:flex;flex-direction:column;align-items:flex-start;gap:6px;
	padding:18px 20px;border-radius:12px;border:0;cursor:pointer;
	background:transparent;text-align:left;
	transition:background .2s ease,transform .12s ease;
	font-family:inherit;
}
.cv-pillars-tab:hover{background:rgba(255,255,255,.04)}
html[data-theme="light"] .cv-pillars-tab:hover{background:rgba(11,29,58,.04)}
.cv-pillars-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.cv-pillars-tab-active{
	background:linear-gradient(135deg,#0B1D3A 0%,#132D54 100%);
	color:#fff;
}
.cv-pillars-tab-active:hover{
	background:linear-gradient(135deg,#0B1D3A 0%,#1A3A6B 100%);
}
.cv-pillars-tab-pillar.cv-pillars-tab-active{
	background:linear-gradient(135deg,var(--gold) 0%,#0B1D3A 100%);
}
.cv-pillars-tab-num{
	font-family:var(--font-mono,'JetBrains Mono',monospace);
	font-size:11px;letter-spacing:.18em;font-weight:600;
	color:var(--fg-dim);text-transform:uppercase;
}
.cv-pillars-tab-active .cv-pillars-tab-num{color:var(--gold)}
.cv-pillars-tab-label{
	font-size:clamp(15px,1.6vw,17px);font-weight:700;color:var(--fg);
	line-height:1.2;
}
.cv-pillars-tab-active .cv-pillars-tab-label{color:#fff}
.cv-pillars-tab-sub{
	font-size:12px;color:var(--fg-mute);line-height:1.35;font-weight:500;
}
.cv-pillars-tab-active .cv-pillars-tab-sub{color:rgba(255,255,255,.72)}

.cv-pillars-panel{
	background:var(--bg-raised);border-radius:18px;padding:clamp(28px,4vw,48px);
	box-shadow:0 8px 32px -12px rgba(0,0,0,.4);
	border:1px solid rgba(255,255,255,.06);
	animation:cvPillarFade .35s ease;
}
html[data-theme="light"] .cv-pillars-panel{
	box-shadow:0 8px 32px -12px rgba(11,29,58,.10);
	border-color:rgba(11,29,58,.06);
}
.cv-pillars-panel[hidden],
.cv-pillars-panel:not(.cv-pillars-panel-active){display:none !important}
@keyframes cvPillarFade{
	from{opacity:0;transform:translateY(8px)}
	to{opacity:1;transform:translateY(0)}
}
.cv-pillars-panel-h{
	font-size:clamp(22px,2.4vw,30px);line-height:1.25;font-weight:700;
	color:var(--fg);margin:0 0 14px;
}
.cv-pillars-panel-h mark{
	background:transparent;color:var(--gold);
	border-bottom:3px solid var(--gold-line);padding-bottom:2px;
}
.cv-pillars-panel-lede{
	font-size:clamp(15px,1.5vw,17px);line-height:1.55;
	color:var(--fg-mute);margin:0 0 28px;max-width:62ch;
}
.cv-pillars-feats{
	display:grid;grid-template-columns:repeat(3,1fr);
	gap:16px;
}
.cv-pillars-feat{
	background:var(--bg-soft);border-radius:12px;padding:20px;
	border:1px solid rgba(255,255,255,.04);
	display:flex;flex-direction:column;gap:6px;
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
html[data-theme="light"] .cv-pillars-feat{
	border-color:rgba(11,29,58,.06);
}
.cv-pillars-feat:hover{
	transform:translateY(-2px);
	box-shadow:0 8px 24px -10px rgba(0,0,0,.4);
	border-color:var(--gold-line);
}
html[data-theme="light"] .cv-pillars-feat:hover{
	box-shadow:0 8px 24px -10px rgba(11,29,58,.15);
}
.cv-pillars-feat-num{
	margin:0;font-family:var(--font-mono,'JetBrains Mono',monospace);
	font-size:11px;letter-spacing:.16em;font-weight:600;
	color:var(--gold);text-transform:uppercase;
}
.cv-pillars-feat h4{
	margin:0;font-size:16px;font-weight:700;color:var(--fg);
	line-height:1.3;
}
.cv-pillars-feat p{
	margin:0;font-size:14px;line-height:1.55;color:var(--fg-mute);
}
.cv-pillars-feat code{
	font-family:var(--font-mono,'JetBrains Mono',monospace);
	font-size:12px;background:rgba(201,162,75,.12);padding:1px 6px;
	border-radius:4px;color:var(--gold);
}
html[data-theme="light"] .cv-pillars-feat code{
	background:rgba(11,29,58,.06);color:#0B1D3A;
}

/* Pilier souveraineté · highlight */
.cv-pillars-pillar-tag{
	margin:0 0 10px;font-family:var(--font-mono,'JetBrains Mono',monospace);
	font-size:11px;letter-spacing:.14em;font-weight:600;
	color:var(--gold);text-transform:uppercase;
}
.cv-pillars-pillar-grid{
	display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:16px;
	align-items:stretch;
}
.cv-pillars-pillar-card{
	background:var(--bg-soft);border-radius:14px;padding:24px;
	border:1px solid rgba(255,255,255,.04);
	display:flex;flex-direction:column;gap:10px;
}
html[data-theme="light"] .cv-pillars-pillar-card{
	border-color:rgba(11,29,58,.06);
}
.cv-pillars-pillar-card h4{
	margin:0;font-size:18px;font-weight:700;color:var(--fg);line-height:1.3;
}
.cv-pillars-pillar-card p{margin:0;font-size:14px;line-height:1.55;color:var(--fg-mute)}
.cv-pillars-pillar-card-highlight{
	background:linear-gradient(140deg,#0B1D3A 0%,#132D54 100%);
	color:#fff;border-color:var(--gold);position:relative;overflow:hidden;
}
.cv-pillars-pillar-card-highlight::before{
	content:"";position:absolute;top:0;left:0;right:0;height:4px;
	background:linear-gradient(90deg,var(--gold),var(--gold-2),var(--gold));
}
.cv-pillars-pillar-card-highlight .cv-pillars-feat-num{color:var(--gold)}
.cv-pillars-pillar-card-highlight h4{color:#fff;font-size:22px}
.cv-pillars-pillar-card-highlight p{color:rgba(255,255,255,.85)}
.cv-pillars-pillar-card-highlight ul{
	margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;
}
.cv-pillars-pillar-card-highlight ul li{
	position:relative;padding-left:22px;font-size:14px;line-height:1.55;
	color:rgba(255,255,255,.85);
}
.cv-pillars-pillar-card-highlight ul li::before{
	content:"\2713";position:absolute;left:0;top:0;color:var(--gold);font-weight:700;
}
.cv-pillars-pillar-card-highlight ul li strong{color:#fff}
.cv-pillars-pillar-flag{
	margin:0;font-family:var(--font-mono,'JetBrains Mono',monospace);
	font-size:11px;letter-spacing:.14em;font-weight:700;
	color:var(--gold);text-transform:uppercase;
}

@media (max-width:980px){
	.cv-pillars-feats{grid-template-columns:repeat(2,1fr)}
	.cv-pillars-pillar-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
	.cv-pillars-tablist{grid-template-columns:1fr;gap:6px}
	.cv-pillars-feats{grid-template-columns:1fr}
	.cv-pillars-tab-sub{display:none}
}

/* ===== Comparatif condensé · fond contraste dark ============== */
.cv-comparatif-condensed{
	background:linear-gradient(160deg,#0B1D3A 0%,#0F2547 60%,#132D54 100%);
	padding-block:clamp(64px,8vw,112px);
}
.cv-comparatif-condensed .eyebrow{color:var(--gold)}
.cv-comparatif-condensed .section-title{color:#fff;margin-bottom:24px}
.cv-comparatif-condensed .section-title mark{
	background:transparent;color:var(--gold);
	border-bottom:3px solid rgba(201,162,75,.5);padding-bottom:2px;
}
.cv-comparatif-condensed .cv-vs-grid{margin-top:36px}
.cv-comparatif-condensed .cv-vs-foot{
	color:rgba(255,255,255,.84);margin-top:32px;font-size:clamp(14px,1.5vw,16px);
}
.cv-comparatif-condensed .cv-vs-foot mark{
	background:var(--gold);color:#0B1D3A;padding:2px 8px;border-radius:4px;
}

/* ============================================================
   BLOG 1.55.4 — corrections design
   ============================================================ */

/* 1. Pills nav (filtres) : largeur cohérente, "Tout" plus large que le texte */
.cv-blog-cats .cv-blog-cat{ min-width:96px; justify-content:center; padding:10px 22px; }
.cv-blog-cats .cv-blog-cat-tout{ background:rgba(255,255,255,.04); }

/* 2. Hero / promo / newsletter / final-cta : full viewport width */
main .alignfull.cv-blog-hero,
main .alignfull.cv-blog-promo-pro,
main .alignfull.cv-blog-newsletter,
main .alignfull.cv-blog-final{
	width:100vw !important;
	max-width:100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* 3. Boutons promo Pro : forcer style btn-primary du thème (override wp-element-button) */
.cv-blog-promo-ctas .wp-block-button > .wp-block-button__link,
.cv-blog-final .wp-block-button > .wp-block-button__link{
	display:inline-flex; align-items:center; justify-content:center;
	height:56px; padding:0 28px; gap:8px;
	border-radius:12px; font-weight:600; font-size:16px;
	letter-spacing:.005em; text-decoration:none;
	transition:all .25s var(--ease-out);
	white-space:nowrap;
}
.cv-blog-promo-ctas .wp-block-button.btn-primary > .wp-block-button__link,
.cv-blog-final .wp-block-button.btn-primary > .wp-block-button__link,
.cv-blog-final .wp-block-button.fc-primary > .wp-block-button__link{
	background:linear-gradient(180deg,#8a46f5 0%,#6d2ce4 100%);
	color:#fff;
	border:none;
	box-shadow: 0 1px 0 0 rgba(255,255,255,.25) inset, 0 4px 10px -2px rgba(0,0,0,.3);
}
.cv-blog-promo-ctas .wp-block-button.btn-primary > .wp-block-button__link:hover,
.cv-blog-final .wp-block-button.btn-primary > .wp-block-button__link:hover,
.cv-blog-final .wp-block-button.fc-primary > .wp-block-button__link:hover{
	transform:translateY(-1px);
	box-shadow: 0 1px 0 0 rgba(255,255,255,.3) inset, 0 6px 14px -2px rgba(0,0,0,.35);
}
.cv-blog-promo-ctas .wp-block-button.btn-ghost > .wp-block-button__link,
.cv-blog-final .wp-block-button.btn-ghost > .wp-block-button__link{
	background:rgba(255,255,255,.04);
	color:#fff;
	border:1px solid rgba(255,255,255,.18);
}
.cv-blog-promo-ctas .wp-block-button.btn-ghost > .wp-block-button__link:hover,
.cv-blog-final .wp-block-button.btn-ghost > .wp-block-button__link:hover{
	background:rgba(255,255,255,.08);
	border-color:rgba(255,255,255,.28);
}

/* 4. Featured card : titre lien sans underline cyan */
.cv-blog-featured-title a,
.cv-blog-featured-title a:hover{
	color:inherit;
	text-decoration:none;
}

/* 5. Bouton "Lire l'article" du featured : style btn-primary */
.cv-blog-featured-card .wp-block-button > .wp-block-button__link{
	display:inline-flex; align-items:center; justify-content:center;
	height:48px; padding:0 24px;
	background:linear-gradient(180deg,#8a46f5 0%,#6d2ce4 100%);
	color:#fff; border:none; border-radius:12px;
	font-weight:600; font-size:15px; text-decoration:none;
	box-shadow: 0 1px 0 0 rgba(255,255,255,.25) inset, 0 4px 10px -2px rgba(0,0,0,.3);
	transition:all .25s var(--ease-out);
}
.cv-blog-featured-card .wp-block-button > .wp-block-button__link:hover{
	transform:translateY(-1px);
	box-shadow: 0 1px 0 0 rgba(255,255,255,.3) inset, 0 6px 14px -2px rgba(0,0,0,.35);
}

/* 6. Cards : alignement pill cohérent (réinitialiser flow) */
.cv-blog-card{ display:flex; flex-direction:column; }
.cv-blog-card .cv-blog-card-img{ flex:0 0 auto; }
.cv-blog-card .cv-blog-card-cat{ flex:0 0 auto; margin-top:20px !important; }
.cv-blog-card .cv-blog-card-title{ flex:0 0 auto; }
.cv-blog-card .cv-blog-card-excerpt{ flex:1 1 auto; }
.cv-blog-card .cv-blog-card-meta{ flex:0 0 auto; margin-top:auto; }

/* 7. Liens des titres dans les cards : pas d'underline */
.cv-blog-card-title a,
.cv-blog-card-title a:hover{ text-decoration:none; }

/* ============================================================
   BLOG 1.55.5 — fixes background hero + badges cards
   ============================================================ */

/* 1. Hero : background plein étendu sur toute la largeur */
.cv-blog-page .cv-blog-hero,
.alignfull.cv-blog-hero{
	background:
		radial-gradient(ellipse at 50% 0%, rgba(124,58,237,.22) 0%, transparent 55%),
		radial-gradient(ellipse at 50% 100%, rgba(109,213,237,.10) 0%, transparent 55%),
		linear-gradient(180deg, #0A0F1C 0%, #15172E 55%, #0A0F1C 100%);
}
html[data-theme="light"] .cv-blog-page .cv-blog-hero,
html[data-theme="light"] .alignfull.cv-blog-hero{
	background:
		radial-gradient(ellipse at 50% 0%, rgba(124,58,237,.10) 0%, transparent 55%),
		linear-gradient(180deg, #FAFAFA 0%, #F4F4F8 55%, #FAFAFA 100%);
}

/* 2. Promo Pro / Newsletter : background subtil étendu */
.alignfull.cv-blog-promo-pro{
	padding-inline: 24px;
	background: linear-gradient(180deg, rgba(124,58,237,.02) 0%, transparent 100%);
}
.alignfull.cv-blog-newsletter{
	padding-inline: 24px;
	background: linear-gradient(180deg, transparent 0%, rgba(109,213,237,.03) 100%);
}

/* 3. Badges cards : design éditorial cohérent avec le thème CV (kicker minimaliste) */
.cv-blog-card-cat{
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0 0 8px;
	display: inline-block;
}
.cv-blog-card-cat.cv-blog-cat-conformite{ color: #B58FE5 !important; background: transparent !important; }
.cv-blog-card-cat.cv-blog-cat-productivite{ color: #9F67FF !important; background: transparent !important; }
.cv-blog-card-cat.cv-blog-cat-cas{ color: #E8C97C !important; background: transparent !important; }
.cv-blog-card-cat.cv-blog-cat-tutos{ color: #86efac !important; background: transparent !important; }
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-conformite{ color: #6B33C9 !important; }
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-productivite{ color: #7C3AED !important; }
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-cas{ color: #B58E5A !important; }
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-tutos{ color: #2F8050 !important; }

/* Featured card cat : taille un peu plus visible */
.cv-blog-featured-card .cv-blog-card-cat{
	font-size: 12px;
	margin: 0 0 12px;
}

/* Card cat dans cv-blog-card-compact : retrait du padding-inline héritage */
.cv-blog-card-compact .cv-blog-card-cat{
	padding: 0 !important;
	margin: 0 0 8px !important;
}

/* ============================================================
   BLOG 1.55.6 — fixes finaux : pills harmonisées + alignement cards
   ============================================================ */

/* Pills filtres : underline retiré, bordures harmonisées en blanc subtle, hover or */
.cv-blog-cats .cv-blog-cat,
.cv-blog-cats .cv-blog-cat:hover,
.cv-blog-cats .cv-blog-cat:focus,
.cv-blog-cats .cv-blog-cat:active{
	text-decoration: none !important;
}
.cv-blog-cats .cv-blog-cat,
.cv-blog-cats .cv-blog-cat-tout,
.cv-blog-cats .cv-blog-cat-conformite,
.cv-blog-cats .cv-blog-cat-productivite,
.cv-blog-cats .cv-blog-cat-cas,
.cv-blog-cats .cv-blog-cat-tutos{
	border: 1px solid rgba(255,255,255,.14) !important;
	background: rgba(255,255,255,.03);
	color: rgba(255,255,255,.88);
}
.cv-blog-cats .cv-blog-cat:hover{
	border-color: rgba(201,166,107,.55) !important;
	background: rgba(201,166,107,.06);
	color: #E8C97C;
	transform: translateY(-1px);
}
html[data-theme="light"] .cv-blog-cats .cv-blog-cat,
html[data-theme="light"] .cv-blog-cats .cv-blog-cat-tout,
html[data-theme="light"] .cv-blog-cats .cv-blog-cat-conformite,
html[data-theme="light"] .cv-blog-cats .cv-blog-cat-productivite,
html[data-theme="light"] .cv-blog-cats .cv-blog-cat-cas,
html[data-theme="light"] .cv-blog-cats .cv-blog-cat-tutos{
	border-color: rgba(14,17,22,.12) !important;
	background: rgba(14,17,22,.02);
	color: rgba(14,17,22,.78);
}
html[data-theme="light"] .cv-blog-cats .cv-blog-cat:hover{
	border-color: rgba(181,142,90,.6) !important;
	background: rgba(181,142,90,.08);
	color: #B58E5A;
}

/* Cards : neutralisation du block-gap WordPress qui décalait la 1ère card de 24px */
.cv-blog-page .cv-blog-grid > *,
.cv-blog-page .cv-blog-grid > .cv-blog-card{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-block: 0 !important;
}
.cv-blog-page .cv-blog-grid{
	row-gap: 24px;
	margin-block: 0 !important;
}

/* ============================================================
   BLOG 1.55.7 — pill « Tout » uniformisée + mark dégradé doré
   ============================================================ */

/* Retire min-width imposé en 1.55.4 — laisse chaque pill à sa largeur naturelle */
.cv-blog-cats .cv-blog-cat{
	min-width: 0 !important;
	padding: 9px 18px !important;
}

/* Dégradé doré (linéaire) sur les <mark> de tous les titres du blog
   — réutilise le style déjà présent sur .cv-blog-promo-title mark */
.cv-blog-page mark,
.cv-blog-hero mark,
.cv-blog-title mark,
.cv-blog-section-title mark,
.cv-blog-cat-title mark,
.cv-blog-promo-title mark,
.cv-blog-newsletter-title mark,
.cv-blog-final mark,
.cv-final-cta-avatar mark,
.cv-blog-final h2 mark{
	background: linear-gradient(95deg, #E8C97C 0%, #FFFFFF 50%, #C9A24B 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	padding: 0;
	font-weight: inherit;
}
html[data-theme="light"] .cv-blog-page mark,
html[data-theme="light"] .cv-blog-hero mark,
html[data-theme="light"] .cv-blog-title mark,
html[data-theme="light"] .cv-blog-section-title mark,
html[data-theme="light"] .cv-blog-cat-title mark,
html[data-theme="light"] .cv-blog-promo-title mark,
html[data-theme="light"] .cv-blog-newsletter-title mark,
html[data-theme="light"] .cv-blog-final mark{
	background: linear-gradient(95deg, #B58E5A 0%, #C9A24B 50%, #6B2D2D 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* ============================================================
   BLOG 1.55.8 — fix specificité mark dégradé + pill Tout égalisée
   ============================================================ */

/* Override le main.cv-page mark qui forçait color or solide.
   Spécificité 0,3,2 (main + 2 classes + 1 élément) > main.cv-page mark (0,2,2). */
main.cv-blog-page mark,
main.cv-blog-page .cv-blog-title mark,
main.cv-blog-page .cv-blog-section-title mark,
main.cv-blog-page .cv-blog-cat-title mark,
main.cv-blog-page .cv-blog-promo-title mark,
main.cv-blog-page .cv-blog-newsletter-title mark,
main.cv-blog-page .cv-blog-final mark,
main.cv-blog-page .cv-final-cta-avatar mark{
	background: linear-gradient(95deg, #9F67FF 0%, #FFFFFF 40%, #6DD5ED 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	padding: 0 !important;
}
html[data-theme="light"] main.cv-blog-page mark,
html[data-theme="light"] main.cv-blog-page .cv-blog-title mark,
html[data-theme="light"] main.cv-blog-page .cv-blog-section-title mark,
html[data-theme="light"] main.cv-blog-page .cv-blog-cat-title mark,
html[data-theme="light"] main.cv-blog-page .cv-blog-newsletter-title mark{
	background: linear-gradient(95deg, #7C3AED 0%, #B58E5A 50%, #6DD5ED 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
}

/* Pill « Tout » : égalise visuellement avec les autres via min-width adapté.
   Toutes les pills du nav auront au moins 180px → uniformise les courtes. */
.cv-blog-cats .cv-blog-cat,
.cv-blog-cats .cv-blog-cat-tout,
.cv-blog-cats .cv-blog-cat-conformite,
.cv-blog-cats .cv-blog-cat-productivite,
.cv-blog-cats .cv-blog-cat-cas,
.cv-blog-cats .cv-blog-cat-tutos{
	min-width: 180px !important;
	justify-content: center;
	text-align: center;
}

/* ============================================================
   BLOG 1.55.9 — fix block-gap WordPress sur pills nav
   ============================================================ */

/* Le block-gap WP appliquait margin-top:24px à la 2ème pill et suivantes,
   ce qui forçait flex à étirer la 1ère « Tout » à 65px de haut.
   On neutralise les marges et on aligne au centre du container. */
.cv-blog-cats{
	align-items: center !important;
}
.cv-blog-cats > *,
.cv-blog-cats .cv-blog-cat{
	margin: 0 !important;
	margin-block: 0 !important;
}
.cv-blog-cats .cv-blog-cat{
	height: auto;
	align-self: center;
}

/* ============================================================
   BLOG 1.56.0 — refonte Gutenberg natif + Load More AJAX
   ============================================================ */

/* Centrage des titres et tags des sections catégorie (alignés sur la gauche par défaut) */
.cv-blog-cat-section .cv-blog-cat-head{
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 12px;
	margin-block-end: 32px;
}
.cv-blog-cat-section .cv-blog-cat-tag{
	display: inline-flex;
	align-self: center;
	margin: 0 !important;
}
.cv-blog-cat-section .cv-blog-cat-title{
	text-align: center !important;
	margin: 0 auto !important;
	max-width: 760px;
}

/* Liens cliquables sur les tags catégorie + couleurs au hover */
.cv-blog-cat-tag a,
.cv-blog-card-cat a{
	color: inherit !important;
	text-decoration: none !important;
	transition: opacity .2s var(--ease-out);
}
.cv-blog-cat-tag a:hover,
.cv-blog-card-cat a:hover{
	opacity: .75;
}

/* Retrait du background spécifique sur "Cas clients" — harmonise avec les autres */
.cv-blog-cat-section.cv-blog-cat-cases,
.cv-blog-cat-cases{
	background: transparent !important;
}

/* Bouton « Charger plus d'articles » */
.cv-blog-load-more-wrap{
	display: flex;
	justify-content: center;
	margin-top: 32px;
}
.cv-blog-load-more{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 28px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.18);
	background: rgba(255,255,255,.04);
	color: rgba(255,255,255,.92);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .005em;
	cursor: pointer;
	transition: all .25s var(--ease-out);
}
.cv-blog-load-more:hover{
	border-color: rgba(201,166,107,.55);
	background: rgba(201,166,107,.08);
	color: #E8C97C;
	transform: translateY(-1px);
}
.cv-blog-load-more:disabled,
.cv-blog-load-more.is-loading{
	opacity: .6;
	cursor: progress;
	transform: none;
}
.cv-blog-load-more.has-error{
	border-color: rgba(177,74,54,.6);
	color: #B14A36;
}
html[data-theme="light"] .cv-blog-load-more{
	border-color: rgba(14,17,22,.18);
	background: rgba(14,17,22,.03);
	color: rgba(14,17,22,.88);
}
html[data-theme="light"] .cv-blog-load-more:hover{
	border-color: rgba(181,142,90,.6);
	background: rgba(181,142,90,.08);
	color: #B58E5A;
}

/* Featured card : centrage titre + lede + meta auteur/date sur même axe que la card-img */
.cv-blog-featured-card{
	text-align: center;
}
.cv-blog-featured-body{
	align-items: center !important;
	display: flex !important;
	flex-direction: column !important;
	max-width: 720px;
	margin: 0 auto;
}
.cv-blog-featured-card .cv-blog-card-cat,
.cv-blog-featured-card .cv-blog-featured-title,
.cv-blog-featured-card .cv-blog-featured-excerpt,
.cv-blog-featured-card .cv-blog-card-meta{
	text-align: center !important;
}
.cv-blog-featured-card .cv-blog-card-meta{
	justify-content: center !important;
	gap: 10px;
}

/* Cards compactes (sections catégorie) : centrer aussi pour cohérence */
.cv-blog-cat-section .cv-blog-card-compact{
	text-align: left;
}

/* wp:post-author-name + wp:post-date : appliquer styles auteur/date */
.cv-blog-author{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Inter', sans-serif;
	font-size: 13.5px;
	color: var(--fg);
}
.cv-blog-date{
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	color: var(--fg-dim);
}

/* ============================================================
   BLOG 1.56.1 — fix layout grid wp:post-template
   ============================================================ */

/* Le bloc wp:query génère <div.wp-block-query><ul.wp-block-post-template>.
   Notre grille 3 colonnes doit cibler le post-template, pas le query parent. */
.cv-blog-page .cv-blog-grid .wp-block-post-template,
.cv-blog-page .wp-block-query .wp-block-post-template,
.cv-blog-page ul.wp-block-post-template{
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 24px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}
@media (max-width: 980px){
	.cv-blog-page .cv-blog-grid .wp-block-post-template,
	.cv-blog-page .wp-block-query .wp-block-post-template,
	.cv-blog-page ul.wp-block-post-template{
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 640px){
	.cv-blog-page .cv-blog-grid .wp-block-post-template,
	.cv-blog-page .wp-block-query .wp-block-post-template,
	.cv-blog-page ul.wp-block-post-template{
		grid-template-columns: 1fr !important;
	}
}

/* Item <li class="wp-block-post"> : reset list-item, contenu plein largeur */
.cv-blog-page .wp-block-post-template > li,
.cv-blog-page .wp-block-post-template > .wp-block-post{
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
}
.cv-blog-page .wp-block-post-template > li > .cv-blog-card,
.cv-blog-page .wp-block-post-template > .wp-block-post > .cv-blog-card{
	height: 100%;
	width: 100%;
}

/* Wrap général : full width pour les sections wp:query */
.cv-blog-page .wp-block-query{
	width: 100%;
	max-width: 100%;
}

/* Wrap classe utilitaire : largeur max-content centrée */
.cv-blog-page .wrap{
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 32px);
	box-sizing: border-box;
}

/* ============================================================
   BLOG 1.56.2 — fix layout Gutenberg post-template (sélecteurs robustes)
   ============================================================ */

/* WordPress génère is-layout-grid + wp-container-core-post-template-* avec inline
   styles qui battent ma spécificité. On vise ces classes Gutenberg directement. */
body.blog .wp-block-post-template.is-layout-grid,
body.blog ul.wp-block-post-template,
.wp-block-query > ul.wp-block-post-template,
.wp-block-query .wp-block-post-template{
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	box-sizing: border-box !important;
}
@media (max-width: 980px){
	body.blog .wp-block-post-template.is-layout-grid,
	body.blog ul.wp-block-post-template,
	.wp-block-query > ul.wp-block-post-template,
	.wp-block-query .wp-block-post-template{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 640px){
	body.blog .wp-block-post-template.is-layout-grid,
	body.blog ul.wp-block-post-template,
	.wp-block-query > ul.wp-block-post-template,
	.wp-block-query .wp-block-post-template{
		grid-template-columns: 1fr !important;
	}
}

/* Items <li> reset */
body.blog .wp-block-post-template > li,
body.blog .wp-block-post-template > .wp-block-post,
.wp-block-query .wp-block-post-template > li{
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}
body.blog .wp-block-post-template > li > .cv-blog-card,
body.blog .wp-block-post-template > .wp-block-post > .cv-blog-card{
	height: 100% !important;
	width: 100% !important;
	min-width: 0 !important;
}

/* Wrapper query : largeur pleine */
body.blog .wp-block-query,
body.blog .cv-blog-grid{
	width: 100% !important;
	max-width: 100% !important;
}

/* Wrap centré : 1200px max */
body.blog .wrap{
	width: 100% !important;
	max-width: 1200px !important;
	margin-inline: auto !important;
	padding-inline: clamp(16px, 4vw, 32px) !important;
	box-sizing: border-box !important;
}

/* Featured card en flex row : image gauche / body droite */
body.blog .cv-blog-featured-card{
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 32px !important;
	align-items: center !important;
}
@media (max-width: 768px){
	body.blog .cv-blog-featured-card{
		grid-template-columns: 1fr !important;
	}
}

/* ============================================================
   BLOG 1.56.3 — fix wp-block-query nested grid + cards left-align
   ============================================================
   ROOT CAUSE : wp-block-query.cv-blog-grid avait display:grid 3-cols
   héritée des anciens styles, ce qui faisait du <ul.wp-block-post-template>
   un grid item shrinké à 1/3 de largeur (363px au lieu de 1136px).
   FIX : annule display:grid sur wp-block-query, post-template en flex
   wrap centré (cards centrées quand 1-2 articles, 3 cols pleines sinon).
   Cards : tout aligné gauche pixel-perfect (cat + titre + extrait + meta).
*/

/* 1. Annule grid parasite sur wp-block-query — laisse passer la largeur */
body.blog .wp-block-query.cv-blog-grid,
body.blog .wp-block-query{
	display: block !important;
}

/* 2. Post-template en flex : 3 colonnes max, centré quand 1-2 articles */
body.blog .wp-block-query .wp-block-post-template,
body.blog .wp-block-query ul.wp-block-post-template,
body.blog .wp-block-post-template.is-layout-grid{
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 24px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	grid-template-columns: none !important;
}
body.blog .wp-block-query .wp-block-post-template > li,
body.blog .wp-block-query ul.wp-block-post-template > li{
	flex: 0 1 calc((100% - 48px) / 3) !important;
	min-width: 280px !important;
	max-width: 360px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
}
@media (max-width: 980px){
	body.blog .wp-block-query .wp-block-post-template > li{
		flex: 0 1 calc((100% - 24px) / 2) !important;
		max-width: none !important;
	}
}
@media (max-width: 640px){
	body.blog .wp-block-query .wp-block-post-template > li{
		flex: 1 1 100% !important;
		max-width: 100% !important;
	}
}

/* 3. Card content : tout aligné GAUCHE sur la même ligne verticale */
body.blog .cv-blog-card .cv-blog-card-cat,
body.blog .cv-blog-card .cv-blog-card-title,
body.blog .cv-blog-card .cv-blog-card-excerpt,
body.blog .cv-blog-card .cv-blog-card-meta{
	text-align: left !important;
}

/* Catégorie : reset margin (héritée wp-block-post-terms), padding équivalent au titre */
body.blog .cv-blog-card .cv-blog-card-cat{
	display: flex !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 22px !important;
	padding-right: 22px !important;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box !important;
}
body.blog .cv-blog-card .cv-blog-card-meta{
	justify-content: flex-start !important;
}

/* ============================================================
   BLOG 1.56.4 — sticky featured fix + hover card UX premium
   ============================================================
   1. Featured query échappe au max-width 360px de v1.56.3
   2. Featured-body : align-items flex-start (était center) + tout gauche
   3. Auteur | Date sur même baseline avec séparateur vertical
   4. Bouton "Lire l'article" masqué (UX moderne, card cliquable)
   5. Hover lift premium : translateY + box-shadow + bordure + gradient titre + flèche →
*/

/* 1. Scope featured : la sticky card occupe 100% largeur (échappe au flex 360px) */
body.blog .cv-blog-featured .wp-block-query{
	display: block !important;
}
body.blog .cv-blog-featured .wp-block-post-template{
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
body.blog .cv-blog-featured .wp-block-post-template > li,
body.blog .cv-blog-featured .wp-block-post-template > .wp-block-post{
	flex: none !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
body.blog .cv-blog-featured .cv-blog-featured-card{
	display: grid !important;
	grid-template-columns: 1.2fr 1fr !important;
	gap: 40px !important;
	align-items: center !important;
}
@media (max-width: 880px){
	body.blog .cv-blog-featured .cv-blog-featured-card{
		grid-template-columns: 1fr !important;
	}
}

/* 2. Featured-body : flex column avec align-items flex-start (était center) */
body.blog .cv-blog-featured .cv-blog-featured-body{
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	text-align: left !important;
	gap: 0 !important;
}
body.blog .cv-blog-featured .cv-blog-featured-body > *{
	align-self: flex-start !important;
}
body.blog .cv-blog-featured .cv-blog-featured-body .cv-blog-card-cat,
body.blog .cv-blog-featured .cv-blog-featured-body .cv-blog-featured-title,
body.blog .cv-blog-featured .cv-blog-featured-body .cv-blog-featured-excerpt,
body.blog .cv-blog-featured .cv-blog-featured-body .cv-blog-featured-title a{
	text-align: left !important;
}

/* Footer meta : flex row avec séparateur vertical entre author et date */
body.blog .cv-blog-featured .cv-blog-card-meta{
	display: flex !important;
	flex-direction: row !important;
	justify-content: flex-start !important;
	align-items: center !important;
	gap: 0 !important;
	margin: 18px 0 !important;
	padding: 14px 0 0 0 !important;
	border-top: 1px solid rgba(255,255,255,.08) !important;
}
body.blog .cv-blog-featured .cv-blog-card-meta .cv-blog-author{
	display: inline-flex !important;
	align-items: center !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	font-weight: 600 !important;
	color: var(--fg, #fff) !important;
}
body.blog .cv-blog-featured .cv-blog-card-meta .cv-blog-date{
	display: inline-flex !important;
	align-items: center !important;
	line-height: 1.4 !important;
	margin: 0 0 0 12px !important;
	padding: 0 0 0 12px !important;
	border-left: 1px solid rgba(255,255,255,.18) !important;
	color: var(--fg-mute, rgba(255,255,255,.65)) !important;
	font-family: "JetBrains Mono", monospace !important;
	font-size: 12.5px !important;
}

/* 3. Bouton "Lire l'article" masqué dans featured (card cliquable globalement) */
body.blog .cv-blog-featured .cv-blog-featured-body .wp-block-buttons{
	display: none !important;
}

/* 4. Hover featured card : lift premium + gradient titre + flèche → */
body.blog .cv-blog-featured-card{
	cursor: pointer !important;
	position: relative !important;
	transition: transform .35s cubic-bezier(.2,.6,.2,1), box-shadow .35s, border-color .35s !important;
}
body.blog .cv-blog-featured-card:hover{
	transform: translateY(-4px) !important;
	border-color: rgba(159,103,255,.45) !important;
	box-shadow: 0 28px 60px -22px rgba(124,58,237,.32) !important;
}
body.blog .cv-blog-featured-card .cv-blog-featured-title a,
body.blog .cv-blog-featured-card .cv-blog-featured-title{
	transition: background .3s, -webkit-text-fill-color .3s !important;
	color: inherit !important;
	text-decoration: none !important;
}
body.blog .cv-blog-featured-card:hover .cv-blog-featured-title a,
body.blog .cv-blog-featured-card:hover .cv-blog-featured-title{
	background: linear-gradient(90deg, #9F67FF 0%, #6DD5ED 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
}
body.blog .cv-blog-featured-card::after{
	content: "→";
	position: absolute !important;
	right: 32px !important;
	bottom: 32px !important;
	font-size: 24px !important;
	color: #9F67FF !important;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity .3s, transform .3s !important;
	pointer-events: none !important;
}
body.blog .cv-blog-featured-card:hover::after{
	opacity: 1;
	transform: translateX(0);
}

/* 5. Hover cards normales (3+3 et 4 sections catégorie) */
body.blog .cv-blog-card{
	cursor: pointer !important;
	position: relative !important;
	transition: transform .35s cubic-bezier(.2,.6,.2,1), box-shadow .35s, border-color .35s !important;
}
body.blog .cv-blog-card:hover{
	transform: translateY(-3px) !important;
	border-color: rgba(159,103,255,.40) !important;
	box-shadow: 0 24px 50px -20px rgba(124,58,237,.28) !important;
}
body.blog .cv-blog-card .cv-blog-card-title a,
body.blog .cv-blog-card .cv-blog-card-title{
	transition: background .3s, -webkit-text-fill-color .3s !important;
	color: inherit !important;
	text-decoration: none !important;
}
body.blog .cv-blog-card:hover .cv-blog-card-title a,
body.blog .cv-blog-card:hover .cv-blog-card-title{
	background: linear-gradient(90deg, #9F67FF 0%, #6DD5ED 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
}
body.blog .cv-blog-card::after{
	content: "→";
	position: absolute !important;
	right: 22px !important;
	bottom: 20px !important;
	font-size: 20px !important;
	color: #9F67FF !important;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity .3s, transform .3s !important;
	pointer-events: none !important;
}
body.blog .cv-blog-card:hover::after{
	opacity: 1;
	transform: translateX(0);
}

/* ============================================================
   BLOG 1.56.5 — Final CTA fc-bg full viewport
   ============================================================
   La section .final-cta est alignfull (W=2153) mais son enfant
   .fc-bg qui porte le radial-gradient était constrained à 1280px
   (la wrap container). Fix : passer fc-bg en position absolute pour
   qu'il devienne un layer décoratif derrière le contenu, étiré
   à 100% de la section parente.
*/
body.blog .final-cta,
body.blog .cv-blog-final{
	position: relative !important;
	overflow: hidden !important;
}
body.blog .final-cta .fc-bg,
body.blog .cv-blog-final .fc-bg{
	position: absolute !important;
	inset: 0 !important;
	left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
}
body.blog .final-cta .fc-inner,
body.blog .cv-blog-final .fc-inner,
body.blog .final-cta > .wrap,
body.blog .cv-blog-final > .wrap{
	position: relative !important;
	z-index: 1 !important;
}

/* ============================================================
   SINGLE + CATEGORY 1.57.0 — Refonte premium SEO-friendly
   ============================================================
   - Breadcrumb fil d'Ariane
   - Category hero (eyebrow + h1 + desc)
   - Single hero (breadcrumb + eyebrow pill + h1 + meta line)
   - TOC sticky sidebar (2-col desktop, accordion mobile)
   - Author bio card premium
   - Articles liés (réutilise cv-blog-card)
   - Newsletter inline compact
   - Comments masqués (standard SaaS premium 2026)
*/

/* === Breadcrumb === */
.cv-breadcrumb{
	font-family:'JetBrains Mono',monospace;
	font-size:11.5px;
	letter-spacing:.5px;
	text-transform:uppercase;
	color:var(--fg-mute,rgba(255,255,255,.55));
	margin-bottom:24px;
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
}
.cv-breadcrumb a{
	color:inherit;
	text-decoration:none;
	transition:color .2s;
}
.cv-breadcrumb a:hover{ color:#9F67FF; }
.cv-breadcrumb-sep{ opacity:.4; }
.cv-breadcrumb-current{ color:var(--fg,#fff); font-weight:600; }

/* === Category hero === */
body.archive main.cv-page,
body.tax-category main.cv-page,
body.cv-category main.cv-page{ padding:0; }
.cv-category-hero{
	position:relative;
	padding:clamp(48px,8vw,96px) clamp(16px,4vw,32px) clamp(40px,6vw,72px);
	overflow:hidden;
	text-align:center;
}
.cv-category-hero-bg{
	position:absolute; inset:0; z-index:0; pointer-events:none;
}
.cv-category-hero-bg .grid{
	position:absolute; inset:0;
	background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
	background-size:64px 64px;
	mask-image:radial-gradient(circle at 50% 0%,rgba(0,0,0,.9) 0%,rgba(0,0,0,0) 70%);
	-webkit-mask-image:radial-gradient(circle at 50% 0%,rgba(0,0,0,.9) 0%,rgba(0,0,0,0) 70%);
}
.cv-category-hero-bg .glow-a,
.cv-category-hero-bg .glow-b{
	position:absolute; width:520px; height:520px; border-radius:50%; filter:blur(120px); opacity:.35;
}
.cv-category-hero-violet .glow-a{ background:#7C3AED; top:-180px; left:30%; }
.cv-category-hero-violet .glow-b{ background:#9F67FF; top:-100px; left:60%; opacity:.25; }
.cv-category-hero-cyan .glow-a{ background:#0EA5E9; top:-180px; left:30%; }
.cv-category-hero-cyan .glow-b{ background:#6DD5ED; top:-100px; left:60%; opacity:.25; }
.cv-category-hero-gold .glow-a{ background:#E8C97C; top:-180px; left:30%; opacity:.2; }
.cv-category-hero-gold .glow-b{ background:#FFD984; top:-100px; left:60%; opacity:.18; }

.cv-category-hero-inner{
	position:relative; z-index:1; max-width:820px; margin:0 auto;
	display:flex; flex-direction:column; align-items:center; gap:18px;
}
.cv-category-hero-inner .cv-breadcrumb{ margin-bottom:8px; justify-content:center; }
.cv-category-eyebrow{
	display:inline-flex; align-items:center; gap:8px;
	padding:6px 14px; border-radius:999px;
	background:rgba(124,58,237,.12);
	border:1px solid rgba(124,58,237,.32);
	font-family:'JetBrains Mono',monospace;
	font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700;
	color:#9F67FF;
	margin:0;
}
.cv-category-eyebrow .dot{
	width:6px; height:6px; border-radius:50%;
	background:#9F67FF;
	box-shadow:0 0 12px rgba(159,103,255,.8);
	display:inline-block;
}
.cv-category-title{
	font-size:clamp(40px,6vw,72px);
	line-height:1.05;
	letter-spacing:-.025em;
	font-weight:800;
	margin:0;
	background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.85) 100%);
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.cv-category-desc{
	font-size:17px; line-height:1.6; max-width:680px;
	color:var(--fg-mute,rgba(255,255,255,.7));
	margin:0;
}

/* === Category grid section === */
.cv-category-grid-section{
	padding:clamp(40px,6vw,72px) 0;
}
.cv-category-empty{
	padding:60px 20px;
	color:var(--fg-mute,rgba(255,255,255,.6));
	font-size:16px;
}

/* === Pagination styling === */
body.archive .cv-pagination,
body.tax-category .cv-pagination,
body.cv-blog-page .cv-pagination{
	margin-top:48px;
	display:flex; justify-content:center; gap:8px; flex-wrap:wrap;
}
body.archive .cv-pagination a,
body.archive .cv-pagination span,
body.tax-category .cv-pagination a,
body.tax-category .cv-pagination span{
	padding:10px 16px;
	border-radius:8px;
	border:1px solid rgba(255,255,255,.12);
	background:rgba(255,255,255,.03);
	color:var(--fg,#fff);
	text-decoration:none;
	font-family:'JetBrains Mono',monospace;
	font-size:13px;
	transition:all .2s;
}
body.archive .cv-pagination a:hover,
body.tax-category .cv-pagination a:hover{
	border-color:rgba(159,103,255,.4);
	background:rgba(124,58,237,.1);
}
body.archive .cv-pagination .current,
body.tax-category .cv-pagination .current{
	background:linear-gradient(135deg,#7C3AED,#9F67FF);
	border-color:transparent;
	color:#fff; font-weight:700;
}

/* === Single hero === */
body.single main.cv-page{ padding:0; }
.cv-single-hero{
	position:relative;
	padding:clamp(40px,7vw,80px) clamp(16px,4vw,32px) clamp(32px,5vw,56px);
	overflow:hidden;
}
.cv-single-hero-bg{
	position:absolute; inset:0; z-index:0; pointer-events:none;
}
.cv-single-hero-bg .grid{
	position:absolute; inset:0;
	background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
	background-size:64px 64px;
	mask-image:radial-gradient(circle at 50% 0%,rgba(0,0,0,.85) 0%,rgba(0,0,0,0) 70%);
	-webkit-mask-image:radial-gradient(circle at 50% 0%,rgba(0,0,0,.85) 0%,rgba(0,0,0,0) 70%);
}
.cv-single-hero-bg .glow-a{
	position:absolute; width:600px; height:600px; border-radius:50%;
	background:#7C3AED; filter:blur(140px); opacity:.25;
	top:-200px; left:50%; transform:translateX(-50%);
}
.cv-single-hero-inner{
	position:relative; z-index:1;
	max-width:880px; margin:0 auto;
	text-align:left;
}
.cv-single-eyebrow{
	display:inline-block;
	margin:0 0 20px 0;
	padding:6px 12px;
	font-family:'JetBrains Mono',monospace;
	font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700;
	border-radius:6px;
	text-decoration:none;
}
.cv-single-eyebrow.cv-blog-cat-conformite{ background:rgba(109,213,237,.18); color:#6DD5ED; }
.cv-single-eyebrow.cv-blog-cat-productivite{ background:rgba(124,58,237,.18); color:#9F67FF; }
.cv-single-eyebrow.cv-blog-cat-cas{ background:rgba(232,201,124,.18); color:#E8C97C; }
.cv-single-eyebrow.cv-blog-cat-tutos{ background:rgba(34,197,94,.18); color:#86efac; }
.cv-single-eyebrow.cv-blog-cat-violet{ background:rgba(124,58,237,.18); color:#9F67FF; }

.cv-single-title{
	font-size:clamp(28px,4.5vw,52px);
	line-height:1.12;
	letter-spacing:-.022em;
	font-weight:800;
	margin:0 0 24px 0;
	color:var(--fg,#fff);
	max-width:18ch;
}
.cv-single-meta{
	display:flex; align-items:center; flex-wrap:wrap;
	gap:12px;
	font-size:13.5px;
	color:var(--fg-mute,rgba(255,255,255,.7));
	font-family:'JetBrains Mono',monospace;
}
.cv-single-meta-sep{ opacity:.4; }
.cv-single-meta-author strong{ color:var(--fg,#fff); font-weight:700; }
.cv-single-meta-reading{ display:inline-flex; align-items:center; gap:6px; }
.cv-single-meta-reading svg{ opacity:.7; }
.cv-single-meta-updated{ color:var(--fg-mute,rgba(255,255,255,.55)); font-style:italic; }

/* === Single body 2-col layout === */
.cv-single-body{ padding:clamp(32px,5vw,56px) 0; }
.cv-single-layout{
	display:grid;
	grid-template-columns:1fr;
	gap:48px;
	max-width:1200px; margin:0 auto;
}
@media (min-width:1024px){
	.cv-single-layout{
		grid-template-columns: 1fr 280px;
		align-items:start;
	}
	.cv-single-toc-col{
		order:2;
		position:sticky;
		top:96px;
		align-self:start;
	}
	.cv-single-content{
		order:1;
		max-width:760px;
		justify-self:center;
		width:100%;
	}
}

/* === Featured image single === */
.cv-single-featured-img img{
	width:100%; height:auto; display:block; border-radius:16px;
}
/* Fallback featured image when no thumbnail (via filter PHP) */
.cv-single-content figure.wp-block-post-featured-image.cv-single-featured-img,
.cv-single-content figure.cv-blog-featured-img{
	aspect-ratio:16/9;
	border-radius:16px;
	overflow:hidden;
	margin:0 0 40px;
}

/* === Article content typography (déjà OK, on renforce) === */
.cv-single-content > p,
.cv-single-content .wp-block-post-content p{
	font-size:17px; line-height:1.75;
	color:var(--fg,#fff);
	margin:0 0 1.4em;
}
.cv-single-content h2,
.cv-single-content .wp-block-post-content h2{
	font-size:clamp(24px,3vw,32px);
	font-weight:800; letter-spacing:-.018em; line-height:1.2;
	margin:2em 0 .6em;
	scroll-margin-top:96px;
}
.cv-single-content h3,
.cv-single-content .wp-block-post-content h3{
	font-size:clamp(20px,2.4vw,24px);
	font-weight:700; letter-spacing:-.012em; line-height:1.3;
	margin:1.6em 0 .5em;
	scroll-margin-top:96px;
}
.cv-single-content blockquote,
.cv-single-content .wp-block-post-content blockquote{
	border-left:3px solid #9F67FF;
	padding:8px 0 8px 24px;
	margin:1.6em 0;
	font-style:italic;
	color:var(--fg-soft,rgba(255,255,255,.88));
}

/* === TOC sticky === */
.cv-toc{
	background:rgba(255,255,255,.03);
	border:1px solid rgba(255,255,255,.08);
	border-radius:14px;
	padding:18px 20px;
	font-family:system-ui,-apple-system,sans-serif;
}
.cv-toc-details{ margin:0; }
.cv-toc-summary{
	list-style:none;
	cursor:pointer;
	display:flex;
	align-items:center;
	gap:10px;
	font-family:'JetBrains Mono',monospace;
	font-size:11.5px;
	letter-spacing:1.4px;
	text-transform:uppercase;
	font-weight:700;
	color:var(--fg-mute,rgba(255,255,255,.7));
	user-select:none;
}
.cv-toc-summary::-webkit-details-marker{ display:none; }
.cv-toc-icon{ display:inline-flex; opacity:.7; }
.cv-toc-label{ flex:0 0 auto; }
.cv-toc-count{ opacity:.5; font-size:10.5px; flex:0 0 auto; }
.cv-toc-chevron{ margin-left:auto; transition:transform .3s; }
.cv-toc-details[open] .cv-toc-chevron{ transform:rotate(180deg); }

.cv-toc-list{
	list-style:none;
	margin:14px 0 0 0;
	padding:0;
	border-top:1px solid rgba(255,255,255,.06);
	padding-top:14px;
	display:flex; flex-direction:column; gap:6px;
}
.cv-toc-item{ margin:0; }
.cv-toc-item--h3{ padding-left:16px; }
.cv-toc-link{
	display:block;
	padding:6px 10px;
	border-radius:8px;
	color:var(--fg-mute,rgba(255,255,255,.7));
	text-decoration:none;
	font-size:13.5px;
	line-height:1.45;
	transition:all .2s;
	border-left:2px solid transparent;
}
.cv-toc-link:hover{
	background:rgba(124,58,237,.08);
	color:var(--fg,#fff);
}
.cv-toc-link.is-active{
	color:#9F67FF; font-weight:600;
	border-left-color:#9F67FF;
	background:rgba(124,58,237,.1);
}

/* === Author bio card premium === */
.cv-author-bio{
	display:flex; flex-direction:row; gap:20px;
	margin:48px 0 32px;
	padding:24px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:16px;
	background:linear-gradient(135deg,rgba(124,58,237,.04),rgba(109,213,237,.02));
}
@media (max-width:640px){
	.cv-author-bio{ flex-direction:column; align-items:flex-start; gap:14px; }
}
.cv-author-bio-avatar-wrap{
	flex:0 0 auto;
}
.cv-author-bio-avatar,
.cv-author-bio-avatar-wrap img{
	width:96px !important; height:96px !important;
	border-radius:50% !important;
	border:2px solid rgba(159,103,255,.3);
	object-fit:cover;
}
.cv-author-bio-body{ flex:1 1 auto; min-width:0; }
.cv-author-bio-eyebrow{
	margin:0 0 4px;
	font-family:'JetBrains Mono',monospace;
	font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; font-weight:700;
	color:var(--fg-mute,rgba(255,255,255,.55));
}
.cv-author-bio-name{
	margin:0 0 4px;
	font-size:19px; font-weight:800;
	color:var(--fg,#fff);
}
.cv-author-bio-creds{
	margin:0 0 12px;
	font-size:13.5px;
	color:#9F67FF;
	font-weight:500;
}
.cv-author-bio-text{
	margin:0 0 14px;
	font-size:14.5px; line-height:1.6;
	color:var(--fg-mute,rgba(255,255,255,.78));
}
.cv-author-bio-social{
	list-style:none; padding:0; margin:0;
	display:flex; gap:10px;
}
.cv-author-bio-social a{
	display:inline-flex; align-items:center; justify-content:center;
	width:34px; height:34px;
	border-radius:8px;
	border:1px solid rgba(255,255,255,.1);
	color:var(--fg-mute,rgba(255,255,255,.7));
	background:rgba(255,255,255,.02);
	transition:all .2s;
}
.cv-author-bio-social a:hover{
	border-color:rgba(159,103,255,.5);
	color:#9F67FF;
	background:rgba(124,58,237,.1);
	transform:translateY(-2px);
}

/* === Articles liés === */
.cv-single-related{
	padding:clamp(48px,7vw,80px) clamp(16px,4vw,32px);
	border-top:1px solid rgba(255,255,255,.06);
	margin-top:32px;
}
.cv-single-related-title{
	font-size:clamp(24px,3vw,32px);
	font-weight:800;
	letter-spacing:-.018em;
	margin:0 0 32px;
	text-align:center;
	color:var(--fg,#fff);
}

/* === Newsletter inline (compact) === */
.cv-newsletter-inline{
	display:flex; gap:20px;
	margin:40px 0;
	padding:24px;
	border:1px solid rgba(109,213,237,.2);
	border-radius:16px;
	background:linear-gradient(135deg,rgba(109,213,237,.05),rgba(124,58,237,.03));
	align-items:flex-start;
}
@media (max-width:640px){ .cv-newsletter-inline{ flex-direction:column; gap:16px; } }
.cv-newsletter-inline-icon{
	flex:0 0 auto;
	width:56px; height:56px;
	border-radius:14px;
	background:linear-gradient(135deg,rgba(109,213,237,.18),rgba(124,58,237,.18));
	display:flex; align-items:center; justify-content:center;
	color:#6DD5ED;
}
.cv-newsletter-inline-body{ flex:1 1 auto; min-width:0; }
.cv-newsletter-inline-eyebrow{
	margin:0 0 4px;
	font-family:'JetBrains Mono',monospace;
	font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; font-weight:700;
	color:#6DD5ED;
}
.cv-newsletter-inline-title{
	margin:0 0 6px;
	font-size:19px; font-weight:800; letter-spacing:-.012em;
	color:var(--fg,#fff);
}
.cv-newsletter-inline-lede{
	margin:0 0 14px;
	font-size:13.5px; line-height:1.55;
	color:var(--fg-mute,rgba(255,255,255,.7));
}
.cv-newsletter-inline-form .fluentform{ margin:0; }

/* === Hide comments (premium SaaS standard) === */
.wp-block-comments,
.comments-area,
#comments,
.cv-single-content .wp-block-comments{ display:none !important; }

/* ============================================================
   NEWSLETTER 1.57.4 — Consents Terms+RGPD collés (gap 0px), bloc aéré
   ============================================================
   Validé en live : gap entre 2 checkboxes = 0px, breathing room sous email
   et avant submit conservé.
*/
.cv-blog-newsletter .fluentform .ff-el-form-check,
.cv-newsletter-inline .fluentform .ff-el-form-check{
	display:flex !important;
	align-items:flex-start !important;
	gap:10px !important;
	margin:0 !important;
	padding:0 !important;
	line-height:1.45 !important;
}
.cv-blog-newsletter .fluentform .ff-el-form-check + .ff-el-form-check,
.cv-newsletter-inline .fluentform .ff-el-form-check + .ff-el-form-check{
	margin-top:0 !important;
}
.cv-blog-newsletter .fluentform .ff-el-form-check-label,
.cv-newsletter-inline .fluentform .ff-el-form-check-label{
	margin:0 !important;
	padding:0 !important;
}
.cv-blog-newsletter .fluentform .ff-el-form-check input[type="checkbox"],
.cv-newsletter-inline .fluentform .ff-el-form-check input[type="checkbox"]{
	margin:3px 0 0 0 !important;
	flex:0 0 auto !important;
}
/* Compactor les wrapper groups + fieldset des cases à cocher */
.cv-blog-newsletter .fluentform .ff-el-group:has(input[type="checkbox"]),
.cv-newsletter-inline .fluentform .ff-el-group:has(input[type="checkbox"]){
	margin:0 !important;
	padding:0 !important;
}
.cv-blog-newsletter .fluentform fieldset,
.cv-newsletter-inline .fluentform fieldset{
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
}
.cv-blog-newsletter .fluentform .ff-el-group:has(input[type="checkbox"]) + .ff-el-group:has(input[type="checkbox"]),
.cv-newsletter-inline .fluentform .ff-el-group:has(input[type="checkbox"]) + .ff-el-group:has(input[type="checkbox"]){
	margin-top:0 !important;
}
/* Aération avant le submit qui suit la zone consents */
.cv-blog-newsletter .fluentform .ff-el-group:has(input[type="checkbox"]) + .ff-el-group:not(:has(input[type="checkbox"])),
.cv-newsletter-inline .fluentform .ff-el-group:has(input[type="checkbox"]) + .ff-el-group:not(:has(input[type="checkbox"])){
	margin-top:20px !important;
}
/* Aération avant la zone consents (sous email) */
.cv-blog-newsletter .fluentform .ff-el-group:not(:has(input[type="checkbox"])) + .ff-el-group:has(input[type="checkbox"]),
.cv-newsletter-inline .fluentform .ff-el-group:not(:has(input[type="checkbox"])) + .ff-el-group:has(input[type="checkbox"]){
	margin-top:16px !important;
}

/* ============================================================
   SINGLE SIDEBAR 1.57.4 — Widget area sous TOC (sticky right col)
   ============================================================ */
.cv-single-sidebar-widgets{
	margin-top:18px;
	display:flex;
	flex-direction:column;
	gap:14px;
}
.cv-sidebar-widget{
	background:rgba(255,255,255,.03);
	border:1px solid rgba(255,255,255,.08);
	border-radius:14px;
	padding:18px 20px;
	font-size:14px;
	line-height:1.5;
}
.cv-sidebar-widget-title{
	margin:0 0 12px;
	font-family:'JetBrains Mono',monospace;
	font-size:11.5px;
	letter-spacing:1.4px;
	text-transform:uppercase;
	font-weight:700;
	color:var(--fg-mute,rgba(255,255,255,.7));
	padding-bottom:10px;
	border-bottom:1px solid rgba(255,255,255,.06);
}
.cv-sidebar-widget p{ margin:0 0 10px; color:var(--fg-soft,rgba(255,255,255,.85)); }
.cv-sidebar-widget p:last-child{ margin-bottom:0; }
.cv-sidebar-widget ul,
.cv-sidebar-widget ol{ margin:0; padding:0 0 0 18px; }
.cv-sidebar-widget li{ margin:0 0 6px; }
.cv-sidebar-widget a{
	color:#9F67FF;
	text-decoration:none;
	transition:color .2s;
}
.cv-sidebar-widget a:hover{ color:#6DD5ED; }
.cv-sidebar-widget img{ max-width:100%; height:auto; border-radius:8px; }

/* ============================================================
   BLOG GRID 1.57.6 — Scope-agnostique (single + archive + category)
   ============================================================
   Les règles v1.56.3 étaient scopées body.blog → inactives sur
   body.single (articles liés) et body.archive (catégories WP natives).
   Ce bloc duplique les mêmes règles mais scopé sur .cv-blog-grid
   directement (class appliquée au .wp-block-query partout).
*/

.wp-block-query.cv-blog-grid,
.cv-blog-grid.wp-block-query{
	display: block !important;
}

.cv-blog-grid .wp-block-post-template,
.cv-blog-grid ul.wp-block-post-template,
.cv-blog-grid .wp-block-post-template.is-layout-grid{
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 24px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	grid-template-columns: none !important;
}

.cv-blog-grid .wp-block-post-template > li,
.cv-blog-grid ul.wp-block-post-template > li{
	flex: 0 1 calc((100% - 48px) / 3) !important;
	min-width: 280px !important;
	max-width: 360px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
}

@media (max-width: 980px){
	.cv-blog-grid .wp-block-post-template > li{
		flex: 0 1 calc((100% - 24px) / 2) !important;
		max-width: none !important;
	}
}

@media (max-width: 640px){
	.cv-blog-grid .wp-block-post-template > li{
		flex: 1 1 100% !important;
		max-width: 100% !important;
	}
}

/* Cards content gauche aligné (même règle, scope-agnostique) */
.cv-blog-card .cv-blog-card-cat,
.cv-blog-card .cv-blog-card-title,
.cv-blog-card .cv-blog-card-excerpt,
.cv-blog-card .cv-blog-card-meta{
	text-align: left !important;
}
.cv-blog-card .cv-blog-card-cat{
	display: flex !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 22px !important;
	padding-right: 22px !important;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box !important;
}
.cv-blog-card .cv-blog-card-meta{
	justify-content: flex-start !important;
}

/* ============================================================
   LOAD-MORE 1.57.7 — Featured image + gaps + layout horizontal
   ============================================================
   Bug : les cards load-more étaient collées (zéro gap) au grid 3-cols
   top ET entre elles. Pas de featured image affichée.
   Fix : (1) featured image visible via wp:post-featured-image dans patterns
   + fallback gradient via REST endpoint ; (2) cards load-more en layout
   horizontal full-width (image left, content right) ; (3) margin-top
   séparateur entre grid top et load-more, et entre load-more consécutifs.
*/

/* Featured image dans cv-blog-card-compact (sections cat /blog/) */
.cv-blog-card-compact .cv-blog-card-img,
.cv-blog-card-compact .wp-block-post-featured-image{
	margin: 0 0 14px 0;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 16/9;
}
.cv-blog-card-compact .cv-blog-card-img img,
.cv-blog-card-compact .wp-block-post-featured-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.cv-blog-card-compact .cv-blog-img-fallback{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Cards load-more : layout horizontal full-width */
.cv-blog-cat-section .cv-blog-card-loaded{
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
	padding: 18px !important;
	border-radius: 14px !important;
	background: rgba(255,255,255,.03);
	border: 1px solid rgba(255,255,255,.08);
	box-sizing: border-box !important;
	cursor: default !important;
	transition: transform .3s, box-shadow .3s, border-color .3s !important;
}
.cv-blog-cat-section .cv-blog-card-loaded:hover{
	transform: translateY(-2px);
	border-color: rgba(159,103,255,.35);
	box-shadow: 0 16px 40px -18px rgba(124,58,237,.25);
}

/* Image side load-more */
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-img-link{
	flex: 0 0 auto;
	width: 200px;
	display: block;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 16/9;
	margin: 0;
}
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-img-link img,
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-img-link .wp-block-post-featured-image{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
}
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-img{
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 0;
	aspect-ratio: auto;
}
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-img-fallback{
	width: 100%;
	height: 100%;
}

/* Body content side load-more */
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-body{
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: center;
}
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-title{
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
}
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-title a{
	color: var(--fg, #fff);
	text-decoration: none;
}
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-title a:hover{
	background: linear-gradient(90deg, #9F67FF, #6DD5ED);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-excerpt{
	margin: 0;
	font-size: 14px;
	color: var(--fg-mute, rgba(255,255,255,.7));
	line-height: 1.55;
}
.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-meta{
	margin: 0;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	color: var(--fg-mute, rgba(255,255,255,.55));
}

/* Gaps : séparation entre grid top et 1er load-more */
.cv-blog-cat-section .cv-blog-grid + .cv-blog-card-loaded,
.cv-blog-cat-section .wp-block-query + .cv-blog-card-loaded{
	margin-top: 40px !important;
}
/* Gap entre load-more consécutifs */
.cv-blog-cat-section .cv-blog-card-loaded + .cv-blog-card-loaded{
	margin-top: 16px !important;
}

/* Mobile : layout vertical (image top) */
@media (max-width: 640px){
	.cv-blog-cat-section .cv-blog-card-loaded{
		flex-direction: column !important;
		gap: 14px !important;
	}
	.cv-blog-cat-section .cv-blog-card-loaded .cv-blog-card-img-link{
		width: 100%;
	}
}

/* ============================================================
   FIX 1.57.8 — Featured image cards compact + séparateur load-more
   ============================================================
   Problème 1 : icône SVG fallback rendue ~64px au centre d'un espace
   vide → figure parent n'avait pas display:block + width:100% explicite,
   donc aspect-ratio 16/9 ne s'appliquait pas, figure restait à sa taille
   naturelle de contenu (l'icône).
   Problème 2 : margin-top entre grid top et load-more cards n'était pas
   appliqué — le selector + .cv-blog-grid ne match pas car les load-more
   sont APPENDÉES dans .cv-blog-grid (donc à l'intérieur), pas après lui.
   Bon selector : adjacent au <ul.wp-block-post-template>.
*/

/* === Featured image cards compact (sections cat /blog/ + archives) === */
.cv-blog-card-compact .cv-blog-card-img,
.cv-blog-card-compact .wp-block-post-featured-image,
.cv-blog-card-compact figure.cv-blog-card-img,
.cv-blog-card-compact figure.wp-block-post-featured-image{
	display: block !important;
	width: 100% !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	aspect-ratio: 16 / 9 !important;
	box-sizing: border-box !important;
}

.cv-blog-card-compact .cv-blog-card-img > img,
.cv-blog-card-compact .wp-block-post-featured-image > img,
.cv-blog-card-compact figure > img{
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
}

.cv-blog-card-compact .cv-blog-card-img > a,
.cv-blog-card-compact .wp-block-post-featured-image > a,
.cv-blog-card-compact figure > a{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.cv-blog-card-compact .cv-blog-img-fallback{
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

/* === Mêmes règles pour les cards non-compact (archives WP natives) === */
.cv-blog-card .cv-blog-card-img,
.cv-blog-card .wp-block-post-featured-image,
.cv-blog-card figure.cv-blog-card-img,
.cv-blog-card figure.wp-block-post-featured-image{
	display: block !important;
	width: 100% !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	border-radius: 14px 14px 0 0 !important;
	overflow: hidden !important;
	aspect-ratio: 16 / 9 !important;
	box-sizing: border-box !important;
}
.cv-blog-card .cv-blog-card-img > img,
.cv-blog-card .wp-block-post-featured-image > img,
.cv-blog-card figure > img{
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
}
.cv-blog-card .cv-blog-img-fallback{
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

/* === Séparateur entre 3 cards top et 1er load-more === */
/* Selector corrigé : .cv-blog-card-loaded adjacente au <ul.wp-block-post-template> */
.cv-blog-cat-section .wp-block-post-template + .cv-blog-card-loaded,
.cv-blog-cat-section ul.wp-block-post-template + .cv-blog-card-loaded{
	margin-top: 40px !important;
}

/* Sécurité : si .cv-blog-card-loaded est le PREMIER enfant après le post-template
   au sein du .cv-blog-grid (qui est en display:block selon v1.57.6) */
.cv-blog-grid > .wp-block-post-template + .cv-blog-card-loaded{
	margin-top: 40px !important;
}

/* ============================================================
   NEWSLETTER PAGE 1.58.0 — Landing dédiée /newsletter/
   ============================================================ */

body.page main.cv-nl-page{ padding:0; }
.cv-nl-section-eyebrow{
	display:inline-block; margin:0 0 14px;
	padding:5px 14px; border-radius:999px;
	background:rgba(109,213,237,.12);
	border:1px solid rgba(109,213,237,.32);
	font-family:'JetBrains Mono',monospace;
	font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700;
	color:#6DD5ED;
}
.cv-nl-section-title{
	font-size:clamp(28px,4vw,44px);
	line-height:1.15; letter-spacing:-.02em;
	font-weight:800;
	margin:0 0 36px;
	color:var(--fg,#fff);
}
.cv-nl-section-title mark{
	background:linear-gradient(90deg,#9F67FF,#6DD5ED);
	-webkit-background-clip:text; background-clip:text;
	-webkit-text-fill-color:transparent;
	color:transparent;
}

/* === Hero === */
.cv-nl-hero{
	position:relative;
	padding:clamp(64px,9vw,120px) clamp(16px,4vw,32px) clamp(48px,7vw,80px);
	overflow:hidden;
	text-align:center;
}
.cv-nl-hero-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.cv-nl-hero-bg .grid{
	position:absolute; inset:0;
	background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
	background-size:64px 64px;
	mask-image:radial-gradient(circle at 50% 0%,rgba(0,0,0,.9) 0%,rgba(0,0,0,0) 70%);
	-webkit-mask-image:radial-gradient(circle at 50% 0%,rgba(0,0,0,.9) 0%,rgba(0,0,0,0) 70%);
}
.cv-nl-hero-bg .glow-a,
.cv-nl-hero-bg .glow-b{
	position:absolute; width:600px; height:600px; border-radius:50%; filter:blur(140px); opacity:.30;
}
.cv-nl-hero-bg .glow-a{ background:#0EA5E9; top:-180px; left:40%; }
.cv-nl-hero-bg .glow-b{ background:#9F67FF; top:-100px; left:55%; opacity:.22; }

.cv-nl-hero-inner{
	position:relative; z-index:1; max-width:820px; margin:0 auto;
}
.cv-nl-eyebrow{
	display:inline-block; margin:0 0 18px;
	padding:6px 14px; border-radius:999px;
	background:rgba(109,213,237,.15);
	border:1px solid rgba(109,213,237,.4);
	font-family:'JetBrains Mono',monospace;
	font-size:11.5px; letter-spacing:1.6px; text-transform:uppercase; font-weight:700;
	color:#6DD5ED;
}
.cv-nl-title{
	font-size:clamp(36px,6vw,68px);
	line-height:1.05; letter-spacing:-.025em;
	font-weight:800; margin:0 0 22px;
	background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.86) 100%);
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.cv-nl-title mark{
	background:linear-gradient(90deg,#9F67FF,#6DD5ED);
	-webkit-background-clip:text; background-clip:text;
	-webkit-text-fill-color:transparent; color:transparent;
}
.cv-nl-lede{
	font-size:17.5px; line-height:1.6;
	color:var(--fg-mute,rgba(255,255,255,.78));
	max-width:680px; margin:0 auto 36px;
}
.cv-nl-hero-form{ max-width:560px; margin:0 auto 18px; }
.cv-nl-hero-form .fluentform{ margin:0 !important; }
.cv-nl-hero-trust{
	margin:18px 0 0;
	font-family:'JetBrains Mono',monospace;
	font-size:12.5px; letter-spacing:.4px;
	color:var(--fg-mute,rgba(255,255,255,.55));
}

/* === Sections génériques === */
.cv-nl-benefits, .cv-nl-format, .cv-nl-audience, .cv-nl-testimonials, .cv-nl-faq, .cv-nl-final{
	padding:clamp(56px,8vw,96px) clamp(16px,4vw,32px);
}
.cv-nl-benefits .wrap, .cv-nl-format .wrap, .cv-nl-audience .wrap, .cv-nl-testimonials .wrap, .cv-nl-faq .wrap, .cv-nl-final .wrap{
	max-width:1100px; margin-inline:auto;
	text-align:center;
}
.cv-nl-format, .cv-nl-testimonials, .cv-nl-final{
	background:linear-gradient(180deg,rgba(124,58,237,.02),rgba(109,213,237,.02));
	border-top:1px solid rgba(255,255,255,.05);
	border-bottom:1px solid rgba(255,255,255,.05);
}

/* === Benefits grid === */
.cv-nl-benefits-grid{
	display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
	margin-top:28px;
}
@media(max-width:960px){ .cv-nl-benefits-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .cv-nl-benefits-grid{ grid-template-columns:1fr; } }
.cv-nl-benefit-card{
	background:rgba(255,255,255,.03);
	border:1px solid rgba(255,255,255,.08);
	border-radius:16px;
	padding:24px 22px;
	text-align:left;
	transition:transform .3s, border-color .3s, box-shadow .3s;
}
.cv-nl-benefit-card:hover{
	transform:translateY(-3px);
	border-color:rgba(159,103,255,.35);
	box-shadow:0 18px 40px -22px rgba(124,58,237,.28);
}
.cv-nl-benefit-icon{
	width:46px; height:46px; border-radius:12px;
	background:linear-gradient(135deg,rgba(109,213,237,.18),rgba(124,58,237,.18));
	display:flex; align-items:center; justify-content:center;
	color:#6DD5ED; margin-bottom:16px;
}
.cv-nl-benefit-title{
	margin:0 0 8px; font-size:17px; font-weight:800; line-height:1.3;
	color:var(--fg,#fff);
}
.cv-nl-benefit-text{
	margin:0; font-size:14px; line-height:1.55;
	color:var(--fg-mute,rgba(255,255,255,.7));
}

/* === Format steps === */
.cv-nl-format-steps{
	display:flex; flex-direction:column; gap:18px;
	max-width:780px; margin:32px auto 0; text-align:left;
}
.cv-nl-format-step{
	display:flex; gap:20px; align-items:flex-start;
	padding:20px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:14px;
	background:rgba(255,255,255,.025);
}
.cv-nl-format-num{
	flex:0 0 auto;
	width:36px; height:36px; border-radius:50%;
	background:linear-gradient(135deg,#9F67FF,#6DD5ED);
	color:#0a0a1e;
	display:flex; align-items:center; justify-content:center;
	font-family:'JetBrains Mono',monospace;
	font-weight:800; font-size:15px;
}
.cv-nl-format-body{ flex:1 1 auto; min-width:0; }
.cv-nl-format-step-title{
	margin:0 0 6px; font-size:16.5px; font-weight:700;
	color:var(--fg,#fff);
}
.cv-nl-format-step-text{
	margin:0; font-size:14.5px; line-height:1.6;
	color:var(--fg-mute,rgba(255,255,255,.72));
}

/* === Audience grid === */
.cv-nl-audience-grid{
	display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
	margin-top:28px;
}
@media(max-width:880px){ .cv-nl-audience-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .cv-nl-audience-grid{ grid-template-columns:1fr; } }
.cv-nl-audience-card{
	background:rgba(255,255,255,.025);
	border:1px solid rgba(255,255,255,.07);
	border-radius:14px;
	padding:20px 22px;
	text-align:left;
	transition:border-color .3s;
}
.cv-nl-audience-card:hover{ border-color:rgba(109,213,237,.35); }
.cv-nl-audience-title{
	margin:0 0 6px; font-size:16px; font-weight:700;
	color:#6DD5ED;
}
.cv-nl-audience-text{
	margin:0; font-size:14px; line-height:1.5;
	color:var(--fg-mute,rgba(255,255,255,.72));
}

/* === Testimonials === */
.cv-nl-testimonials-grid{
	display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
	margin-top:32px;
}
@media(max-width:880px){ .cv-nl-testimonials-grid{ grid-template-columns:1fr; max-width:560px; margin-inline:auto; } }
.cv-nl-testimonial{
	background:rgba(255,255,255,.03);
	border:1px solid rgba(255,255,255,.08);
	border-radius:16px;
	padding:24px;
	margin:0;
	text-align:left;
	display:flex; flex-direction:column; gap:18px;
}
.cv-nl-testimonial-quote{
	margin:0; font-size:15.5px; line-height:1.65;
	color:var(--fg,#fff); font-style:italic;
}
.cv-nl-testimonial-meta{
	display:flex; align-items:center; gap:8px; flex-wrap:wrap;
	font-size:13px;
	color:var(--fg-mute,rgba(255,255,255,.65));
	border-top:1px solid rgba(255,255,255,.06);
	padding-top:12px;
}
.cv-nl-testimonial-author{ color:#9F67FF; font-weight:600; }
.cv-nl-testimonial-sep{ opacity:.5; }

/* === FAQ === */
.cv-nl-faq-list{
	display:flex; flex-direction:column; gap:12px;
	max-width:780px; margin:32px auto 0; text-align:left;
}
.cv-nl-faq-item{
	background:rgba(255,255,255,.025);
	border:1px solid rgba(255,255,255,.07);
	border-radius:12px;
	padding:0;
	overflow:hidden;
	transition:border-color .2s;
}
.cv-nl-faq-item[open]{ border-color:rgba(159,103,255,.3); }
.cv-nl-faq-q{
	cursor:pointer;
	padding:16px 20px;
	font-size:15.5px; font-weight:700;
	color:var(--fg,#fff);
	list-style:none;
	display:flex; align-items:center; justify-content:space-between;
	gap:16px;
}
.cv-nl-faq-q::-webkit-details-marker{ display:none; }
.cv-nl-faq-q::after{
	content:'+';
	flex:0 0 auto;
	font-size:22px; font-weight:300;
	color:#9F67FF;
	transition:transform .3s;
}
.cv-nl-faq-item[open] .cv-nl-faq-q::after{ content:'−'; transform:rotate(0); }
.cv-nl-faq-a{
	margin:0;
	padding:0 20px 18px;
	font-size:14.5px; line-height:1.65;
	color:var(--fg-mute,rgba(255,255,255,.78));
}

/* === Final form === */
.cv-nl-final{ position:relative; }
.cv-nl-final-bg{
	position:absolute; inset:0; z-index:0; pointer-events:none;
	background:radial-gradient(circle at 50% 0%,rgba(159,103,255,.18) 0%,rgba(0,0,0,0) 60%);
}
.cv-nl-final-inner{
	position:relative; z-index:1;
	max-width:760px; margin:0 auto; text-align:center;
}
.cv-nl-final-lede{
	font-size:16px; line-height:1.6;
	color:var(--fg-mute,rgba(255,255,255,.78));
	max-width:560px; margin:0 auto 28px;
}
.cv-nl-final-form{ max-width:520px; margin:0 auto 24px; }
.cv-nl-final-form .fluentform{ margin:0 !important; }
.cv-nl-final-badges{
	list-style:none; padding:0; margin:24px 0;
	display:flex; flex-wrap:wrap; justify-content:center; gap:12px;
}
.cv-nl-final-badges li{
	display:inline-flex; align-items:center; gap:6px;
	padding:7px 14px;
	border-radius:999px;
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,255,255,.1);
	font-family:'JetBrains Mono',monospace;
	font-size:12px; color:var(--fg-mute,rgba(255,255,255,.78));
}
.cv-nl-final-aside{
	margin-top:24px;
	font-size:13.5px;
	color:var(--fg-mute,rgba(255,255,255,.6));
}
.cv-nl-final-aside a{ color:#9F67FF; text-decoration:none; }
.cv-nl-final-aside a:hover{ color:#6DD5ED; text-decoration:underline; }

/* === Newsletter checkboxes consents (réutilise règles v1.57.4) === */
.cv-nl-hero-form .fluentform .ff-el-form-check,
.cv-nl-final-form .fluentform .ff-el-form-check{
	display:flex !important;
	align-items:flex-start !important;
	gap:10px !important;
	margin:0 !important;
	padding:0 !important;
	line-height:1.45 !important;
}
.cv-nl-hero-form .fluentform .ff-el-group:has(input[type="checkbox"]),
.cv-nl-final-form .fluentform .ff-el-group:has(input[type="checkbox"]){
	margin:0 !important;
	padding:0 !important;
}
.cv-nl-hero-form .fluentform .ff-el-group:has(input[type="checkbox"]) + .ff-el-group:has(input[type="checkbox"]),
.cv-nl-final-form .fluentform .ff-el-group:has(input[type="checkbox"]) + .ff-el-group:has(input[type="checkbox"]){
	margin-top:0 !important;
}
.cv-nl-hero-form .fluentform .ff-el-group:has(input[type="checkbox"]) + .ff-el-group:not(:has(input[type="checkbox"])),
.cv-nl-final-form .fluentform .ff-el-group:has(input[type="checkbox"]) + .ff-el-group:not(:has(input[type="checkbox"])){
	margin-top:20px !important;
}
.cv-nl-hero-form .fluentform fieldset,
.cv-nl-final-form .fluentform fieldset{ border:0 !important; margin:0 !important; padding:0 !important; }

/* ============================================================
   NEWSLETTER 1.58.4 — Mark gradient + form card premium + FAQ refonte
   ============================================================
   Bug v1.58.3 : règle legacy `main.cv-page mark { background:transparent !important; color:gold !important }`
   avait spécificité (0,1,2) qui battait mon `.cv-nl-page mark` (0,1,1).
   Fix : bump spécificité avec `main.cv-page.cv-nl-page mark` (0,2,2).
*/

/* === Mark gradient visible (override legacy) === */
main.cv-page.cv-nl-page mark,
main.cv-page.cv-nl-page h1 mark,
main.cv-page.cv-nl-page h2 mark,
main.cv-page.cv-nl-page h3 mark,
body .cv-nl-page mark {
	background: linear-gradient(90deg, #9F67FF 0%, #6DD5ED 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	padding: 0 0.1em !important;
	font-weight: inherit !important;
}

/* === Form FluentForm dans card premium (hero + final) === */
/* v1.58.5 : width 750px (+ wrapper) + padding 50px — override v1.58.4 (560px / 28px)
   Specificité bumpée avec main.cv-page.cv-nl-page pour battre toute règle FluentForm legacy. */
main.cv-page.cv-nl-page .cv-nl-hero-form,
main.cv-page.cv-nl-page .cv-nl-final-form,
.cv-nl-page .cv-nl-hero-form,
.cv-nl-page .cv-nl-final-form {
	max-width: 750px !important;
	width: 100% !important;
	margin: 0 auto !important;
}
main.cv-page.cv-nl-page .cv-nl-hero-form .fluentform,
main.cv-page.cv-nl-page .cv-nl-final-form .fluentform,
.cv-nl-page .cv-nl-hero-form .fluentform,
.cv-nl-page .cv-nl-final-form .fluentform,
.cv-nl-hero-form .fluentform,
.cv-nl-final-form .fluentform {
	background: linear-gradient(135deg, rgba(109,213,237,.08), rgba(124,58,237,.06)) !important;
	border: 1px solid rgba(109,213,237,.22) !important;
	border-radius: 18px !important;
	padding: 50px !important;
	box-shadow: 0 24px 60px -22px rgba(124,58,237,.25), inset 0 1px 0 rgba(255,255,255,.04) !important;
	backdrop-filter: blur(8px) !important;
	margin: 0 auto !important;
	max-width: 750px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
/* Responsive : réduire padding sur mobile pour pas exploser la card */
@media (max-width: 768px) {
	main.cv-page.cv-nl-page .cv-nl-hero-form .fluentform,
	main.cv-page.cv-nl-page .cv-nl-final-form .fluentform,
	.cv-nl-page .cv-nl-hero-form .fluentform,
	.cv-nl-page .cv-nl-final-form .fluentform {
		padding: 28px 22px !important;
		border-radius: 14px !important;
	}
}

/* === FAQ refonte premium (cards avec gradient + icône cercle gradient) === */
.cv-nl-faq-list,
.cv-nl-page .cv-nl-faq-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	max-width: 780px !important;
	margin: 32px auto 0 !important;
}
.cv-nl-faq-item,
.cv-nl-page .cv-nl-faq-item {
	background: linear-gradient(135deg, rgba(255,255,255,.03), rgba(124,58,237,.02)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 14px !important;
	padding: 0 !important;
	overflow: hidden !important;
	transition: all .3s cubic-bezier(.2,.6,.2,1) !important;
	margin: 0 !important;
}
.cv-nl-faq-item:hover {
	border-color: rgba(159,103,255,.32) !important;
	background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(124,58,237,.05)) !important;
	transform: translateY(-1px) !important;
}
.cv-nl-faq-item[open] {
	border-color: rgba(159,103,255,.5) !important;
	background: linear-gradient(135deg, rgba(124,58,237,.06), rgba(109,213,237,.04)) !important;
}
.cv-nl-faq-item > summary,
.cv-nl-faq-item summary {
	cursor: pointer !important;
	padding: 18px 22px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--fg, #fff) !important;
	list-style: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	position: relative !important;
}
.cv-nl-faq-item summary::-webkit-details-marker {
	display: none !important;
}
.cv-nl-faq-item > summary::after {
	content: "+" !important;
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #9F67FF, #6DD5ED) !important;
	color: #0a0a1e !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	transition: transform .3s !important;
}
.cv-nl-faq-item[open] > summary::after {
	content: "−" !important;
}
.cv-nl-faq-item .cv-nl-faq-a,
.cv-nl-faq-item > p {
	margin: 0 !important;
	padding: 0 22px 20px !important;
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: var(--fg-mute, rgba(255,255,255,.78)) !important;
}

/* ════════════════════════════════════════════════════════════
   MANIFESTE — Page récit fondateur Client Vault
   Namespace cv-manif-* (convention idem cv-devs-*)
   ════════════════════════════════════════════════════════════ */

/* HERO */
.cv-manif-hero{padding-block:clamp(100px,12vw,160px) clamp(60px,8vw,100px);position:relative;overflow:hidden}
.cv-manif-hero::before{content:"";position:absolute;inset:-50% 0 0 0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(201,162,75,.14),transparent 60%);pointer-events:none;z-index:0}
.cv-manif-hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line) 30%,var(--gold-line) 70%,transparent);z-index:0}
.cv-manif-hero > .wrap{position:relative;z-index:1}
.cv-manif-hero .section-title{font-size:clamp(36px,5.5vw,68px);line-height:1.05;letter-spacing:-.03em;max-width:980px;margin-inline:auto}
.cv-manif-hero .section-lede{font-size:clamp(17px,2vw,22px);line-height:1.55;max-width:760px;margin-inline:auto;color:var(--fg-mute);margin-top:24px}

/* PHOTO frames */
.cv-manif-photo{padding-block:clamp(32px,4vw,56px)}
.cv-manif-photo-frame{max-width:1100px !important;margin:0 auto !important;aspect-ratio:21/9;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,rgba(124,58,237,.10),rgba(109,213,237,.06)) !important;border:1px solid var(--gold-line) !important;display:grid;place-items:center;position:relative}
.cv-manif-photo-frame img{width:100% !important;height:100% !important;object-fit:cover;display:block;border-radius:22px}
.cv-manif-photo-frame:not(:has(img))::after{content:"📸 Photo à insérer (remplacez ce placeholder via la bibliothèque média)";font-family:'JetBrains Mono',monospace;color:var(--gold-2);font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.55;text-align:center;padding:0 24px}
@media (max-width:780px){.cv-manif-photo-frame{aspect-ratio:16/10;border-radius:16px}}

/* INTRO prose */
.cv-manif-intro{padding-block:clamp(80px,10vw,120px)}
.cv-manif-prose{max-width:760px;margin:48px auto 0 !important}
.cv-manif-prose p{font-size:17px !important;line-height:1.75 !important;color:var(--fg-mute) !important;margin-bottom:20px !important}
.cv-manif-prose strong{color:var(--fg);font-weight:600}
.cv-manif-prose em{color:var(--gold-2);font-style:normal;font-weight:500}
.cv-manif-prose .cv-manif-lead{font-size:20px !important;color:var(--fg) !important;font-weight:500;line-height:1.55 !important}

/* PULL quote */
.cv-manif-pull{margin:56px auto !important;max-width:880px;padding:40px 48px !important;border-radius:22px !important;background:linear-gradient(135deg,rgba(201,162,75,.07),rgba(124,58,237,.04)) !important;border:1px solid var(--gold-line) !important;position:relative}
.cv-manif-pull::before{content:"\201C";position:absolute;top:-8px;left:32px;font-family:'Cabinet Grotesk','Georgia',serif;font-size:96px;color:var(--gold-2);line-height:1;opacity:.4;font-weight:700;pointer-events:none}
.cv-manif-pull-text{font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:clamp(20px,2.6vw,28px) !important;font-weight:600 !important;line-height:1.4 !important;letter-spacing:-.015em;margin:0 !important;color:var(--fg) !important}
@media (max-width:600px){.cv-manif-pull{padding:28px 24px !important}.cv-manif-pull::before{font-size:64px;left:16px;top:-4px}}

/* BUG cards (constat) */
.cv-manif-bug{padding-block:clamp(80px,10vw,120px)}
.cv-manif-bugs-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:20px !important;margin-top:56px}
@media (max-width:980px){.cv-manif-bugs-grid{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:600px){.cv-manif-bugs-grid{grid-template-columns:1fr !important}}
.cv-manif-bug-card{padding:28px 26px !important;border-radius:18px !important;background:rgba(255,255,255,.03) !important;border:1px solid var(--gold-line) !important;transition:transform .25s var(--ease-out),border-color .25s,background .25s,box-shadow .25s;position:relative;overflow:hidden}
.cv-manif-bug-card::before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:linear-gradient(180deg,#EF4444,#DC2626);transition:height .3s var(--ease-out)}
.cv-manif-bug-card:hover{transform:translateY(-4px);border-color:rgba(239,68,68,.35) !important;background:rgba(255,255,255,.05) !important;box-shadow:0 16px 40px rgba(0,0,0,.3)}
.cv-manif-bug-card:hover::before{height:100%}
.cv-manif-bug-num{display:inline-block !important;font-family:'JetBrains Mono',monospace;font-size:11px !important;letter-spacing:.2em;color:#EF4444 !important;text-transform:uppercase;font-weight:600;background:rgba(239,68,68,.08);padding:5px 11px;border-radius:6px;margin-bottom:14px !important}
.cv-manif-bug-name{font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:19px !important;font-weight:700 !important;letter-spacing:-.015em;margin:0 0 10px !important;color:var(--fg) !important}
.cv-manif-bug-text{font-size:14.5px !important;color:var(--fg-mute) !important;line-height:1.65 !important;margin:0 !important}

/* REFUS section */
.cv-manif-refus{padding-block:clamp(100px,12vw,140px)}
.cv-manif-refus-list{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:18px !important;max-width:1000px;margin:56px auto 0 !important}
@media (max-width:780px){.cv-manif-refus-list{grid-template-columns:1fr !important}}
.cv-manif-refus-item{display:flex !important;align-items:flex-start;gap:16px;padding:20px 24px !important;background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.08) !important;border-radius:14px !important;font-size:15px !important;line-height:1.55 !important;color:var(--fg) !important;margin:0 !important;transition:all .25s}
.cv-manif-refus-item:hover{background:rgba(255,255,255,.06) !important;border-color:rgba(239,68,68,.25) !important;transform:translateX(3px)}
.cv-manif-refus-x{flex-shrink:0;width:32px;height:32px;border-radius:10px !important;background:linear-gradient(135deg,#EF4444,#DC2626) !important;color:#fff !important;display:grid !important;place-items:center;font-weight:700 !important;font-size:16px !important;font-style:normal;box-shadow:0 4px 12px rgba(239,68,68,.3)}

/* PRODUIT cards (4 piliers) */
.cv-manif-product{padding-block:clamp(80px,10vw,120px)}
.cv-manif-product-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:24px !important;margin-top:56px}
@media (max-width:780px){.cv-manif-product-grid{grid-template-columns:1fr !important}}
.cv-manif-product-card{padding:36px 32px !important;border-radius:22px !important;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)) !important;border:1px solid var(--gold-line) !important;position:relative;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .3s}
.cv-manif-product-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold-2),#7C3AED);opacity:.7}
.cv-manif-product-card:hover{transform:translateY(-4px);border-color:rgba(201,162,75,.4) !important;box-shadow:0 16px 40px rgba(0,0,0,.3)}
.cv-manif-product-key{font-family:'JetBrains Mono',monospace !important;font-size:11px !important;letter-spacing:.2em;color:var(--gold-2) !important;text-transform:uppercase;font-weight:600;margin-bottom:14px !important;display:inline-block !important;background:rgba(201,162,75,.08);padding:5px 11px;border-radius:6px}
.cv-manif-product-value{font-size:16px !important;color:var(--fg) !important;line-height:1.6 !important;margin:0 !important}

/* AUDIENCE cards (8 métiers) */
.cv-manif-audience{padding-block:clamp(80px,10vw,120px)}
.cv-manif-audience-grid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:16px !important;margin-top:56px}
@media (max-width:1023px){.cv-manif-audience-grid{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:560px){.cv-manif-audience-grid{grid-template-columns:1fr !important}}
.cv-manif-aud-card{padding:24px 22px !important;border-radius:16px !important;background:rgba(255,255,255,.03) !important;border:1px solid var(--gold-line) !important;transition:all .3s var(--ease-out);position:relative;overflow:hidden}
.cv-manif-aud-card::before{content:"";position:absolute;top:0;right:0;width:60px;height:60px;background:radial-gradient(circle at 100% 0%,rgba(201,162,75,.18),transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s}
.cv-manif-aud-card:hover{background:rgba(255,255,255,.055) !important;border-color:rgba(201,162,75,.4) !important;transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.25)}
.cv-manif-aud-card:hover::before{opacity:1}
.cv-manif-aud-title{font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:16px !important;font-weight:700 !important;letter-spacing:-.01em;margin:0 0 8px !important;color:var(--fg) !important}
.cv-manif-aud-text{font-size:13.5px !important;color:var(--fg-mute) !important;line-height:1.55 !important;margin:0 !important}

/* BENEFITS cards (5 gains) */
.cv-manif-benefits{padding-block:clamp(80px,10vw,120px)}
.cv-manif-benefits-grid{display:grid !important;grid-template-columns:repeat(5,1fr) !important;gap:16px !important;margin-top:56px}
@media (max-width:1023px){.cv-manif-benefits-grid{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:560px){.cv-manif-benefits-grid{grid-template-columns:1fr !important}}
.cv-manif-ben-card{padding:28px 22px !important;border-radius:18px !important;background:linear-gradient(180deg,rgba(124,58,237,.08),rgba(124,58,237,.02)) !important;border:1px solid rgba(124,58,237,.20) !important;text-align:center;transition:all .3s var(--ease-out);position:relative;overflow:hidden}
.cv-manif-ben-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(124,58,237,.20),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.cv-manif-ben-card:hover{transform:translateY(-4px);border-color:rgba(124,58,237,.4) !important;box-shadow:0 16px 36px rgba(124,58,237,.18)}
.cv-manif-ben-card:hover::before{opacity:1}
.cv-manif-ben-title{font-family:'Cabinet Grotesk','Inter',sans-serif;font-size:15px !important;font-weight:700 !important;letter-spacing:-.005em;margin:0 0 10px !important;color:var(--fg) !important;position:relative;z-index:1}
.cv-manif-ben-text{font-size:13px !important;color:var(--fg-mute) !important;line-height:1.55 !important;margin:0 !important;position:relative;z-index:1}

/* FINAL CTA section */
.cv-manif-final{padding-block:clamp(100px,12vw,160px) !important;position:relative;overflow:hidden}
.cv-manif-final::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(124,58,237,.12),transparent 70%);pointer-events:none;z-index:0}
.cv-manif-final > .wrap{position:relative;z-index:1}
.cv-manif-final-title{font-family:'Cabinet Grotesk','Inter',sans-serif !important;font-size:clamp(32px,4.8vw,56px) !important;font-weight:700 !important;letter-spacing:-.03em !important;line-height:1.1 !important;max-width:920px;margin:0 auto !important}
.cv-manif-signature{margin-top:32px !important;font-family:'JetBrains Mono',monospace;font-size:13px !important;letter-spacing:.06em !important;text-transform:uppercase;color:var(--fg-dim,rgba(255,255,255,.55)) !important;font-weight:500 !important}
.cv-manif-final .hero-ctas{margin-top:40px !important;justify-content:center}

/* LIGHT theme overrides */
html[data-theme="light"] .cv-manif-bug-card{background:#FAF7F0 !important;border-color:rgba(23,26,43,.06) !important}
html[data-theme="light"] .cv-manif-bug-card:hover{background:#fff !important;border-color:rgba(239,68,68,.3) !important}
html[data-theme="light"] .cv-manif-product-card{background:#fff !important;border-color:rgba(23,26,43,.08) !important}
html[data-theme="light"] .cv-manif-aud-card{background:#FAF7F0 !important;border-color:rgba(23,26,43,.06) !important}
html[data-theme="light"] .cv-manif-aud-card:hover{background:#fff !important}
html[data-theme="light"] .cv-manif-ben-card{background:linear-gradient(180deg,rgba(124,58,237,.07),rgba(124,58,237,.02)) !important}
html[data-theme="light"] .cv-manif-pull{background:linear-gradient(135deg,rgba(201,162,75,.10),rgba(124,58,237,.06)) !important}
html[data-theme="light"] .cv-manif-refus-item{background:rgba(0,0,0,.03) !important;border-color:rgba(23,26,43,.08) !important;color:#171a2b !important}
html[data-theme="light"] .cv-manif-photo-frame{background:linear-gradient(135deg,rgba(124,58,237,.06),rgba(109,213,237,.04)) !important}
html[data-theme="light"] .cv-manif-prose strong{color:#171a2b}
html[data-theme="light"] .cv-manif-prose .cv-manif-lead{color:#171a2b !important}

/* MANIFESTE — Section audience 3 strates (6 industries + 13 jobs + stat 200+) */
.cv-manif-aud-domains-head{margin:48px 0 24px;text-align:center}
.cv-manif-aud-domains-head h3{font-family:'JetBrains Mono',monospace !important;font-size:11px !important;letter-spacing:.22em;color:var(--gold-2) !important;text-transform:uppercase;font-weight:600 !important;margin:0 !important}

.cv-manif-aud-domains{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:18px !important;margin:0 0 24px !important}
@media (max-width:980px){.cv-manif-aud-domains{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:560px){.cv-manif-aud-domains{grid-template-columns:1fr !important}}

.cv-manif-aud-domain{padding:28px 26px !important;border-radius:18px !important;background:linear-gradient(180deg,rgba(201,162,75,.08),rgba(201,162,75,.02)) !important;border:1px solid rgba(201,162,75,.20) !important;transition:all .3s var(--ease-out);position:relative;overflow:hidden}
.cv-manif-aud-domain::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold-2),transparent);opacity:.6}
.cv-manif-aud-domain:hover{transform:translateY(-4px);border-color:rgba(201,162,75,.45) !important;background:linear-gradient(180deg,rgba(201,162,75,.12),rgba(201,162,75,.04)) !important;box-shadow:0 14px 32px rgba(0,0,0,.28)}
.cv-manif-aud-domain-num{display:inline-block !important;font-family:'JetBrains Mono',monospace !important;font-size:11px !important;letter-spacing:.2em;color:var(--gold-2) !important;text-transform:uppercase;font-weight:600 !important;background:rgba(201,162,75,.10);padding:5px 11px;border-radius:6px;margin-bottom:14px !important}
.cv-manif-aud-domain-name{font-family:'Cabinet Grotesk','Inter',sans-serif !important;font-size:18px !important;font-weight:700 !important;letter-spacing:-.015em;margin:0 !important;color:var(--fg) !important;line-height:1.3 !important}

.cv-manif-aud-jobs{display:flex !important;flex-wrap:wrap !important;justify-content:center;gap:10px !important;max-width:1100px;margin:0 auto 0 !important}
.cv-manif-aud-job{display:inline-block !important;padding:10px 18px !important;border-radius:10px !important;background:rgba(255,255,255,.04) !important;border:1px solid var(--gold-line) !important;font-size:14px !important;color:var(--fg) !important;font-weight:500;letter-spacing:-.005em;margin:0 !important;transition:all .25s;line-height:1.3 !important}
.cv-manif-aud-job:hover{background:rgba(201,162,75,.10) !important;border-color:rgba(201,162,75,.40) !important;transform:translateY(-2px);color:var(--gold-2) !important}

.cv-manif-aud-stat{margin-top:64px !important;text-align:center;padding:48px 24px !important;border-radius:22px;background:radial-gradient(ellipse 70% 100% at 50% 50%,rgba(124,58,237,.10),transparent 70%)}
.cv-manif-aud-stat-num{font-family:'Cabinet Grotesk','Inter',sans-serif !important;font-size:clamp(56px,9vw,104px) !important;font-weight:700 !important;letter-spacing:-.04em;line-height:1 !important;margin:0 !important;background:linear-gradient(135deg,var(--gold-2),#7C3AED 60%,#6DD5ED) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;color:transparent !important}
.cv-manif-aud-stat-label{font-family:'JetBrains Mono',monospace !important;font-size:13px !important;letter-spacing:.15em;color:var(--fg-mute) !important;text-transform:uppercase;font-weight:500 !important;margin:16px 0 0 !important}

html[data-theme="light"] .cv-manif-aud-domain{background:#FAF7F0 !important;border-color:rgba(201,162,75,.25) !important}
html[data-theme="light"] .cv-manif-aud-domain:hover{background:#fff !important;border-color:rgba(201,162,75,.45) !important}
html[data-theme="light"] .cv-manif-aud-job{background:#fff !important;border-color:rgba(23,26,43,.1) !important;color:#171a2b !important}
html[data-theme="light"] .cv-manif-aud-job:hover{background:rgba(201,162,75,.08) !important;color:#8B6B1F !important}
html[data-theme="light"] .cv-manif-aud-stat{background:radial-gradient(ellipse 70% 100% at 50% 50%,rgba(124,58,237,.08),transparent 70%) !important}

/* MANIFESTE v1.60.11 — Description industries + bénéfices vert succès + lede centrée */

/* Hero lede : force centrage (parfois écrasé par cascade) */
.cv-manif-hero .section-lede{text-align:center !important;margin-left:auto !important;margin-right:auto !important;max-width:780px !important}

/* Industries — description sous le nom */
.cv-manif-aud-domain-desc{font-size:14px !important;line-height:1.55 !important;color:var(--fg-mute) !important;margin:10px 0 0 !important;font-weight:400}
html[data-theme="light"] .cv-manif-aud-domain-desc{color:rgba(23,26,43,.65) !important}

/* BÉNÉFICES — refonte mode "réussite" : vert émeraude + checkmark */
.cv-manif-ben-card{
  padding:32px 22px !important;border-radius:20px !important;
  background:linear-gradient(180deg,rgba(16,185,129,.10),rgba(16,185,129,.02)) !important;
  border:1px solid rgba(16,185,129,.30) !important;
  text-align:center;
  transition:all .3s var(--ease-out);
  position:relative;overflow:hidden;
}
.cv-manif-ben-card::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 0%,rgba(16,185,129,.22),transparent 60%);
  opacity:0;transition:opacity .35s;pointer-events:none;
}
.cv-manif-ben-card::after{
  content:"";position:absolute;top:0;left:0;width:100%;height:3px;
  background:linear-gradient(90deg,#10B981,#34D399,#6EE7B7);
  opacity:.85;
}
.cv-manif-ben-card:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(16,185,129,.55) !important;
  box-shadow:0 18px 42px rgba(16,185,129,.22) !important;
}
.cv-manif-ben-card:hover::before{opacity:1}

/* Checkmark vert circulaire */
.cv-manif-ben-check{
  display:inline-flex !important;
  width:48px !important;height:48px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#10B981,#059669) !important;
  color:#fff !important;
  align-items:center;justify-content:center;
  font-size:24px !important;font-weight:700 !important;line-height:1 !important;
  margin:0 auto 18px !important;
  box-shadow:0 6px 18px rgba(16,185,129,.35),0 0 0 4px rgba(16,185,129,.10);
  text-align:center !important;position:relative;z-index:1;
}

.cv-manif-ben-title{
  position:relative;z-index:1;
  color:var(--fg) !important;
}
.cv-manif-ben-text{
  position:relative;z-index:1;
}

/* Light theme overrides bénéfices vert */
html[data-theme="light"] .cv-manif-ben-card{
  background:linear-gradient(180deg,rgba(16,185,129,.07),rgba(16,185,129,.02)) !important;
  border-color:rgba(16,185,129,.28) !important;
}
html[data-theme="light"] .cv-manif-ben-card:hover{
  background:#fff !important;
  border-color:rgba(16,185,129,.55) !important;
  box-shadow:0 18px 42px rgba(16,185,129,.20) !important;
}

/* v1.60.34 — Fix pastille drawer mobile : .cv-nav-drawer-tool--account doit être position:relative pour que .cv-nav-account-dot (position:absolute) se cale dessus au lieu du drawer entier. */
.cv-nav-drawer-tool--account { position: relative !important; }

/* ============================================================
   v1.60.50 — Tableaux Gutenberg en mode dark (fix lisibilité)
   Le style core `is-style-stripes` applique #f0f0f0 sur
   tr:nth-child(odd) → texte blanc sur blanc en mode dark.
   Cible les pages /cgv/, /pdc/ et toute page utilisant le bloc table.
   ============================================================ */

html[data-theme="dark"] .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.06);
}
html[data-theme="dark"] .wp-block-table.is-style-stripes th,
html[data-theme="dark"] .wp-block-table.is-style-stripes td {
  border-color: rgba(255, 255, 255, 0.12);
  color: #f1f5f9;
}
html[data-theme="dark"] .wp-block-table.is-style-stripes thead th {
  background-color: rgba(255, 255, 255, 0.08);
  font-weight: 600;
}
html[data-theme="dark"] .wp-block-table.is-style-stripes code {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fbbf24;
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 0.92em;
}

/* ============================================================
   v1.60.59 — Footer base : liens légaux à côté du copyright
   ============================================================ */

.footer-legal-links {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  opacity: 0.75;
}
.footer-legal-links a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: opacity .15s, border-color .15s;
}
.footer-legal-links a:hover {
  opacity: 1;
  border-bottom-color: currentColor;
}
.footer-legal-links .sep {
  opacity: 0.5;
  user-select: none;
}

/* Mobile : passer en colonne sous le copyright */
@media (max-width: 640px) {
  .footer-legal-links {
    margin-top: 8px;
    flex-wrap: wrap;
  }
}

/* ============================================================
   v1.60.64 — Footer : titres de colonnes collés aux menus
   ============================================================ */

.footer-col { gap: 6px; }
.footer-col-title { margin: 0 0 6px; }
.footer-col nav.wp-block-navigation,
.footer-col nav.footer-nav { margin: 0; }

/* ════════════════════════════════════════════════════════════════════════════
 * v1.60.85 — FIX MODE LIGHT : textes invisibles boutons + cartes méga-menu
 * ────────────────────────────────────────────────────────────────────────────
 * Bugs corrigés :
 *   1) Boutons .pv3-cta-primary / .pv3-cta-recommended / .pv3-cta-dfy
 *      perdaient leur gradient en mode light hors body.home (avatars v2,
 *      page-pricing, etc.) → fond ultra-clair + texte blanc = invisible.
 *      La règle html[data-theme="light"] .pv3-cta (spécificité 0,2,1)
 *      écrasait le background gradient des variantes (spécificité 0,1,0).
 *   2) Cartes Solo + Pro du méga-menu (cv-mega-feature dans
 *      cv-mega-feature-col-2) : titre + descriptif restaient en #fff /
 *      rgba(255,.62) sur fond light → invisibles.
 *      La règle ligne 7986 (spécificité 0,3,1) écrasait l'override light.
 *
 * Stratégie : overrides au même niveau de spécificité ou supérieur, scopés
 * html[data-theme="light"], avec !important sur les propriétés critiques.
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── 1) Boutons CTA gradient — fond + texte forcés sur TOUTES les pages ── */
html[data-theme="light"] .pv3-cta-primary {
  background: linear-gradient(135deg, #7C3AED, #10B981) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 6px 20px rgba(124, 58, 237, .35);
}
html[data-theme="light"] .pv3-cta-primary:hover {
  background: linear-gradient(135deg, #5a1fd1, #047857) !important;
  box-shadow: 0 8px 28px rgba(124, 58, 237, .45);
}
html[data-theme="light"] .pv3-cta-recommended {
  background: linear-gradient(135deg, #C9A84C, #B08E35) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 6px 20px rgba(201, 168, 76, .35);
}
html[data-theme="light"] .pv3-cta-recommended:hover {
  background: linear-gradient(135deg, #B08E35, #8E6B2B) !important;
  box-shadow: 0 8px 28px rgba(201, 168, 76, .45);
}
html[data-theme="light"] .pv3-cta-dfy {
  background: linear-gradient(135deg, #F97316, #EA580C) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 6px 20px rgba(249, 115, 22, .35);
}
html[data-theme="light"] .pv3-cta-dfy:hover {
  background: linear-gradient(135deg, #EA580C, #C2410C) !important;
  box-shadow: 0 10px 28px rgba(249, 115, 22, .5);
}

/* Filet de sécurité : même protection sur .cv-inline-cta-primary (gradient
   navy→gold, fond sombre) — texte blanc reste nécessaire en light. */
html[data-theme="light"] .cv-inline-cta-primary {
  background: linear-gradient(135deg, #0B1D3A 0%, #C9A84C 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(201, 168, 76, .35);
}

/* ── 2) Méga-menu : cartes feature dans grille à 2 colonnes ────────────── */
/* Spécificité (0,4,1) > règle dark (0,3,1) ligne 7986. */
html[data-theme="light"] .cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-title {
  color: var(--cv-light-fg) !important;
}
html[data-theme="light"] .cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-text {
  color: var(--cv-light-fg-mute) !important;
}
html[data-theme="light"] .cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-emoji-svg {
  color: var(--cv-light-accent-violet) !important;
}
/* Fond/bordure des cartes en light pour cohérence avec single-feature. */
html[data-theme="light"] .cv-mega-feature-col-2 > .cv-mega-feature {
  background: linear-gradient(180deg, rgba(109, 44, 228, .1) 0%, rgba(109, 44, 228, .03) 100%) !important;
  border: 1px solid rgba(109, 44, 228, .32) !important;
}
html[data-theme="light"] .cv-mega-feature-col-2 > .cv-mega-feature:hover {
  background: linear-gradient(180deg, rgba(109, 44, 228, .16) 0%, rgba(109, 44, 228, .06) 100%) !important;
  border-color: rgba(109, 44, 228, .5) !important;
}
html[data-theme="light"] .cv-mega-feature-col-2 > .cv-mega-feature .cv-mega-feature-img {
  background:
    radial-gradient(circle at 50% 50%, rgba(109, 44, 228, .16), transparent 70%),
    rgba(255, 255, 255, .6) !important;
  border-color: rgba(109, 44, 228, .2) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
 * v1.60.86 — FIX MODE LIGHT : titres hero avec mark / grad-gold invisibles
 * ────────────────────────────────────────────────────────────────────────────
 * Bug rapporté par Dragan 2026-05-21 : sur la page /pro/ (et toutes pages
 * éditées via Gutenberg en dehors des scopes .cv-homepage / .cv-avatar-page /
 * .cv-page), les <mark> dans les h1 hero affichaient un gradient gold avec
 * stop #fff au milieu → invisible sur fond ivoire light.
 *
 * Cause : les overrides light existants ciblent des scopes parents trop
 * restrictifs (.cv-homepage mark, .cv-avatar-page h1 mark, .cv-page
 * .section-title mark, .hero h1 .grad-gold...). Toute page hors de ces scopes
 * garde le gradient dark-mode (#F9D976 → #fff → #C9A84C ou similaire) qui
 * disparaît sur fond clair.
 *
 * Stratégie : override UNIVERSEL scopé html[data-theme="light"] qui force
 * un gradient gold-on-gold (sans stop blanc) sur :
 *   - tout <mark> dans un h1/h2/h3 (cv-page, hero, sections title)
 *   - tout .grad-gold dans h1/h2/h3 (sans contrainte de parent)
 *   - les classes h1 spécifiques (.cv-h1-answer-hero) sans scope avatar
 *
 * Palette retenue : #C9A24B 0% → #8E6B2B 50% → #C9A24B 100% (gradient or
 * tirant vers bronze foncé au centre, lisible sur ivoire).
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── 1) Override universel pour TOUT <mark> dans un h1/h2/h3 en light ── */
html[data-theme="light"] h1 mark,
html[data-theme="light"] h2 mark,
html[data-theme="light"] h3 mark,
html[data-theme="light"] .wp-block-heading mark,
html[data-theme="light"] .cv-h1-answer-hero mark,
html[data-theme="light"] .cv-h1-answer mark,
html[data-theme="light"] .hero h1 mark,
html[data-theme="light"] .section-title mark {
  background-image: linear-gradient(135deg, #C9A24B 0%, #8E6B2B 50%, #C9A24B 100%) !important;
  background-color: transparent !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  padding: 0 .05em !important;
}

/* ── 2) Override universel pour .grad-gold (toutes balises) ─────────── */
html[data-theme="light"] .grad-gold,
html[data-theme="light"] h1 .grad-gold,
html[data-theme="light"] h2 .grad-gold,
html[data-theme="light"] h3 .grad-gold,
html[data-theme="light"] .wp-block-heading .grad-gold {
  background-image: linear-gradient(135deg, #C9A24B 0%, #8E6B2B 50%, #C9A24B 100%) !important;
  background-color: transparent !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* ── 3) <strong> dans hero h1 (sert d'alias grad-gold via patterns) ──── */
html[data-theme="light"] .hero h1 strong,
html[data-theme="light"] .cv-h1-answer-hero strong,
html[data-theme="light"] h1.cv-h1-answer-hero strong {
  background-image: linear-gradient(135deg, #C9A24B 0%, #8E6B2B 50%, #C9A24B 100%) !important;
  background-color: transparent !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* ── 4) Override des gradients violet/cyan→#fff→violet/cyan (homepage, etc) ──
 * Sur fond light, le stop blanc central rend le texte illisible aussi pour
 * les gradients non-gold. On force violet→cyan sans stop blanc. */
html[data-theme="light"] .cv-homepage h1 mark,
html[data-theme="light"] .cv-homepage h2 mark,
html[data-theme="light"] .cv-homepage h3 mark,
html[data-theme="light"] .cv-produit-page h1 mark,
html[data-theme="light"] .cv-produit-page h2 mark,
html[data-theme="light"] .cv-produit-parcours h1 mark,
html[data-theme="light"] .cv-produit-parcours h2 mark {
  background-image: linear-gradient(95deg, #6D2CE4 0%, #5a1fd1 50%, #0E8FAC 100%) !important;
  background-color: transparent !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* ── 5) Filet WP default : <mark> sans aucune surcharge garde le fond ─
 * jaune browser (background:yellow) qui pète la mise en page. On neutralise. */
html[data-theme="light"] mark {
  background-color: transparent;
}

/* ── Page Vidéos de démonstration ────────────────────────────────────── */
.cv-vd-hero{padding-top:0;padding-bottom:32px;background:linear-gradient(180deg,#0A0F1C 0%,#0c1326 100%)}
.cv-vd-offer{background-color:var(--bg-soft)}
html[data-theme="light"] .cv-vd-hero{background:linear-gradient(180deg,#FAF7F0 0%,#F4EFE4 100%);border-bottom:1px solid rgba(23,26,43,.08)}
.cv-vd-hero,.cv-vd-videos,.cv-vd-offer,.cv-vd-demo{margin-block:0 !important}
.cv-vd-hero + *,.cv-vd-videos + *,.cv-vd-offer + *,.cv-vd-demo + *{margin-block-start:0 !important}

/* ── Hauteur des héros : compacte (haut 25 / bas 25) — .cv-page .section[class*=-hero] PRIORITAIRE sur .cv-page .section ── */
.hero,.cv-avatar-page .hero,.cv-account-hero,.cv-aff-hero,.cv-av-hero,.cv-chg-hero,.cv-cmp-hero,.cv-com-hero,.cv-ct-hero,.cv-devs-hero,.cv-faq-hero,.cv-feat-hero,.cv-ind-hero,.cv-manif-hero,.cv-rs-hero,.cv-vd-hero,.integ-hero,.sub-hero,.cv-blog-hero,.cv-category-hero,.cv-nl-hero,.cv-single-hero,.cv-page .section[class*="-hero"]{padding-top:25px!important;padding-bottom:25px!important}

/* ── Intégrations (sous-pages) : alternance de fonds entre grandes sections (ambiance du site) ── */
.cv-sub-integration{--wp--style--block-gap:0 !important}
.cv-sub-integration .section:nth-of-type(even){background-color:var(--bg-soft)}

/* ── Intégrations (sous-pages) : supprime le vide entre la dernière section et le footer ── */
main.cv-sub-integration{padding-bottom:0 !important}
.cv-sub-integration .section:last-of-type{padding-bottom:0 !important}

/* ── Pages contenu : restaure le padding-bottom des sections (override du cruft .cv-page .section 65/0) + alternance fonds FAQ ── */
.cv-faq .section:not([class*="-hero"]),.cv-nl-page .section:not([class*="-hero"]),.cv-developpeurs .section:not([class*="-hero"]),.cv-affiliation .section:not([class*="-hero"]),.cv-contact .section:not([class*="-hero"]),.cv-changelog .section:not([class*="-hero"]),.cv-rs .section:not([class*="-hero"]){padding-bottom:65px !important}
.cv-faq .section.pricing-v3{background-color:var(--bg-soft)}
.cv-faq .cv-faq-bottom-inner{background-color:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:clamp(24px,3vw,32px)}

/* ── Pages Industrie/Avatar (.cv-avatar-page, pas .cv-page) : supprime les bandes sombres inter-sections (block-gap 24px laissant voir le fond body) ── */
.cv-avatar-page{--wp--style--block-gap:0 !important}
.cv-avatar-page .section{margin-block:0 !important}

/* ════════════════════════════════════════════════════════════════════
   v1.60.115 — PRICING LANCEMENT (namespace cv-pl-*)
   Tableau de l'offre de lancement Lifetime (pattern pricing-lancement.php) :
   3 cartes Pro Team 3/30/100 sites (vedette always-dark + or charte),
   nombre de sites en héros, note après-lancement, bande Pro 1 site.
   Tokens locaux scoped .cv-pl (dark défaut + override light), aucune
   dépendance aux tokens --cv-* de body.home / cv-avatar.css.
   ──────────────────────────────────────────────────────────────────── */
.cv-pl{
  --plc-card-bg:rgba(255,255,255,.04);
  --plc-card-border:rgba(255,255,255,.08);
  --plc-card-border-hover:rgba(124,58,237,.4);
  --plc-text-strong:#fff;
  --plc-text:rgba(255,255,255,.85);
  --plc-text-mute:rgba(255,255,255,.62);
  --plc-text-dim:rgba(255,255,255,.4);
  --plc-divider:rgba(255,255,255,.1);
  --plc-ok:#34D399;
  --plc-ok-soft:rgba(16,185,129,.12);
  --plc-ok-line:rgba(16,185,129,.3);
  padding-block:clamp(48px,6vw,80px);
  position:relative;
}
html[data-theme="light"] .cv-pl{
  --plc-card-bg:#FFFFFF;
  --plc-card-border:rgba(23,26,43,.09);
  --plc-card-border-hover:rgba(124,58,237,.35);
  --plc-text-strong:#0F172A;
  --plc-text:#1E293B;
  --plc-text-mute:#475569;
  --plc-text-dim:#94a3b8;
  --plc-divider:rgba(23,26,43,.08);
  --plc-ok:#059669;
  --plc-ok-soft:rgba(5,150,105,.08);
  --plc-ok-line:rgba(5,150,105,.28);
}
.cv-pl .wrap{max-width:1120px}

/* ── Tête : pastille date + titre + lede ── */
.cv-pl-head{margin-bottom:12px}
.cv-pl-pill{
  display:inline-flex;align-items:center;gap:9px;margin:0 auto 22px;
  background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--r-chip);
  padding:9px 20px;font-size:13px;font-weight:650;color:var(--gold-2);
  font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:.02em;
}
html[data-theme="light"] .cv-pl-pill{color:#8a6d1f;background:rgba(201,162,75,.1)}
.cv-pl-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:cvPlPulse 1.6s infinite}
@keyframes cvPlPulse{0%,100%{opacity:1}50%{opacity:.25}}
.cv-pl-title{margin-bottom:14px}
.cv-pl .section-lede{margin-top:0}

/* ── Grille des 3 cartes ── */
.cv-pl-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;
  margin-top:clamp(28px,4vw,44px);
}
@media (max-width:940px){
  .cv-pl-grid{grid-template-columns:1fr;max-width:430px;margin-inline:auto}
}

.cv-pl-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--plc-card-bg);border:1px solid var(--plc-card-border);
  border-radius:20px;padding:32px 30px;
  box-shadow:var(--shadow-soft);
  transition:transform .25s var(--ease-spring),border-color .25s,box-shadow .25s;
}
.cv-pl-card:hover{transform:translateY(-4px);border-color:var(--plc-card-border-hover);box-shadow:0 16px 40px rgba(124,58,237,.12)}
.cv-pl-card::before{
  content:"";position:absolute;top:0;left:24px;right:24px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(124,58,237,.35),transparent);
}

.cv-pl-eyebrow{
  margin:0;
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--plc-text-dim);
}
.cv-pl h3.cv-pl-name{
  font-family:'Cabinet Grotesk','Inter',sans-serif;
  font-size:22px;font-weight:800;letter-spacing:-.015em;line-height:1.15;
  color:var(--plc-text-strong);margin:6px 0 0;
}
.cv-pl-desc{font-size:13.5px;line-height:1.55;color:var(--plc-text-mute);margin:6px 0 0;min-height:42px}

/* ── Le héros : nombre de sites ── */
.cv-pl-sites{display:flex;align-items:baseline;gap:11px;margin:24px 0 0}
.cv-pl-sites-num{
  font-family:'Cabinet Grotesk','Inter',sans-serif;
  font-size:72px;font-weight:800;letter-spacing:-.045em;line-height:.95;
  background:linear-gradient(135deg,var(--violet-2) 0%,var(--cyan) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
html[data-theme="light"] .cv-pl-sites-num{background:linear-gradient(135deg,#5a1fd1 0%,#2b6cb0 100%);-webkit-background-clip:text;background-clip:text}
.cv-pl-sites-lbl{font-size:17px;font-weight:750;line-height:1.15;color:var(--plc-text-strong)}
.cv-pl-sites-life{
  display:block;font-size:12px;font-weight:600;letter-spacing:.03em;
  color:var(--plc-text-mute);font-family:'JetBrains Mono',ui-monospace,monospace;
}

/* ── Pastille opération (×N / −50 %) ── */
.cv-pl-mult{
  align-self:flex-start;margin:14px 0 0;
  font-size:12.5px;font-weight:750;color:var(--plc-ok);
  background:var(--plc-ok-soft);border:1px solid var(--plc-ok-line);
  border-radius:9px;padding:6px 13px;
}

/* ── Prix ── */
.cv-pl-price{display:flex;align-items:baseline;gap:9px;margin:20px 0 0;flex-wrap:wrap}
.cv-pl-amount{
  font-family:'Cabinet Grotesk','Inter',sans-serif;
  font-size:32px;font-weight:800;letter-spacing:-.03em;color:var(--plc-text-strong);
}
.cv-pl-period{font-size:13px;font-weight:550;color:var(--plc-text-mute)}

/* ── CTA ── */
.cv-pl-cta-row{margin-top:22px}
.cv-pl-cta-row .wp-block-button{width:100%}
.cv-pl-cta .wp-block-button__link{
  display:block;width:100%;text-align:center;
  background:linear-gradient(135deg,#8a46f5,#6d2ce4);color:#fff;
  border:0;border-radius:14px;padding:15px 24px;
  font-size:15px;font-weight:700;text-decoration:none;
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 20px rgba(109,44,228,.35);
  transition:transform .2s var(--ease-spring),filter .15s,box-shadow .2s;
}
.cv-pl-cta .wp-block-button__link:hover{filter:brightness(1.08);transform:translateY(-2px)}
.cv-pl-cta-gold .wp-block-button__link{
  background:var(--gold-grad);color:#132540;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 10px 26px rgba(201,162,75,.4);
}

/* ── Features ── */
.cv-pl-feats{
  list-style:none;padding:22px 0 0;margin:26px 0 0;
  border-top:1px solid var(--plc-divider);
  display:flex;flex-direction:column;gap:9px;
}
.cv-pl-feats li{position:relative;padding-left:26px;font-size:13.5px;line-height:1.5;color:var(--plc-text)}
.cv-pl-feats li::before{
  content:'';position:absolute;left:0;top:4px;width:15px;height:15px;border-radius:50%;
  background:linear-gradient(135deg,#10B981,#7C3AED);
  box-shadow:0 0 0 2px var(--plc-card-bg);
}
.cv-pl-feats li::after{
  content:'';position:absolute;left:4.5px;top:7.5px;width:6px;height:4px;
  border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);
}

/* ── Vedette : Pro Team · 100 sites — always-dark navy + or ── */
.cv-pl-card-featured{
  --plc-card-bg:rgba(255,255,255,.05);
  --plc-card-border:transparent;
  --plc-text-strong:#fff;
  --plc-text:#c9d6e6;
  --plc-text-mute:#9db2cc;
  --plc-text-dim:#8ea6c4;
  --plc-divider:rgba(255,255,255,.13);
  --plc-ok:#8ce6ba;
  --plc-ok-soft:rgba(255,255,255,.08);
  --plc-ok-line:rgba(255,255,255,.16);
  background:linear-gradient(168deg,#22224e 0%,#141433 55%,#0C1120 100%);
  border:1px solid var(--gold-line);
  box-shadow:0 30px 70px rgba(10,15,28,.5),0 0 0 1px rgba(201,162,75,.18);
  transform:scale(1.04);z-index:2;
}
.cv-pl-card-featured:hover{transform:scale(1.04) translateY(-4px);border-color:rgba(201,162,75,.55);box-shadow:0 34px 80px rgba(10,15,28,.55),0 0 0 1px rgba(201,162,75,.3)}
.cv-pl-card-featured::before{background:linear-gradient(90deg,transparent,rgba(232,201,124,.6),transparent)}
.cv-pl-card-featured .cv-pl-sites-num,
html[data-theme="light"] .cv-pl-card-featured .cv-pl-sites-num{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cv-pl-card-featured .cv-pl-feats li::before{background:var(--gold-grad);box-shadow:0 0 0 2px #141433}
.cv-pl-card-featured .cv-pl-feats li::after{border-color:#132540}
@media (max-width:940px){
  .cv-pl-card-featured{transform:none}
  .cv-pl-card-featured:hover{transform:translateY(-4px)}
}
.cv-pl-badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#132540;background:var(--gold-grad);border-radius:var(--r-chip);
  padding:7px 18px;white-space:nowrap;
  box-shadow:0 6px 18px rgba(201,162,75,.5);
}

/* ── Note après-lancement ── */
.cv-pl-postnote{margin:48px 0 0;font-size:13.5px;color:var(--plc-text-mute)}
.cv-pl-postnote strong{color:var(--plc-text-strong);font-weight:700}

/* ── Bande Pro · 1 site ── */
.cv-pl-solo{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  max-width:680px;margin:34px auto 0;
  background:var(--plc-card-bg);border:1px solid var(--plc-card-border);
  border-radius:15px;padding:17px 24px;
}
.cv-pl-solo-txt{margin:0;font-size:14px;font-weight:650;color:var(--plc-text-strong)}
.cv-pl-solo-sub{display:block;font-size:12.5px;font-weight:500;color:var(--plc-text-mute);margin-top:2px}
.cv-pl-solo-price{margin:0;display:flex;align-items:center;gap:12px;font-size:17px;font-weight:750;color:var(--plc-text-strong)}
.cv-pl-solo-price s{font-size:12px;font-weight:500;color:var(--plc-text-dim)}
.cv-pl-solo-price strong{font-weight:750}
.cv-pl .cv-pl-solo-price a{font-size:13.5px;font-weight:650;color:var(--violet-2);text-decoration:none;white-space:nowrap}
html[data-theme="light"] .cv-pl .cv-pl-solo-price a{color:#5a1fd1}
.cv-pl .cv-pl-solo-price a:hover{text-decoration:underline}

/* ── Ligne de confiance ── */
.cv-pl-trust{
  margin:30px 0 0;font-size:12.5px;letter-spacing:.02em;color:var(--plc-text-dim);
  font-family:'JetBrains Mono',ui-monospace,monospace;
}

/* v1.60.117 — détails d'offres enrichis (strong/s dans les features) + 2e ligne de confiance */
.cv-pl-feats li strong{color:var(--plc-text-strong);font-weight:700}
.cv-pl-feats li s{color:var(--plc-text-dim);text-decoration-thickness:1.5px}
.cv-pl-trust + .cv-pl-trust{margin-top:8px}

/* v1.60.118 — recentrage viewport : le tableau reste centré même s'il est
   imbriqué dans le wrap d'une autre section (pose dans une page existante).
   Même mécanique 100vw que les sections de .cv-pricing-page (main.css). */
section.cv-pl, .cv-pl.alignfull{
  width:100vw !important; max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
}


/* v1.60.119 garde-fou marges laterales : un snippet FluentSnippets
   (fluent-snippet-storage/cached/1-theme.css) force .cv-page .wrap{padding:20px 0!important}
   -> padding horizontal a 0, texte bord a bord. Restauration du gutter (specificite superieure).
   Fix propre = corriger la regle dans le snippet. */
.cv-page .section > .wrap,
.cv-page .section .wrap {
  padding-left: var(--gutter) !important;
  padding-right: var(--gutter) !important;
}


/* ====================================================================
   v1.60.120 - Blog mode CLAIR : lisibilite
   1) CTA finale blog (.cv-blog-final = bloc avatar TOUJOURS SOMBRE)
      repassait en fond creme en clair -> texte blanc + boutons invisibles.
      On force le fond SOMBRE (comme sur les pages avatar).
   2) Bouton ghost du bloc promo (carte claire) : texte/bordure blancs
      invisibles -> texte fonce + bordure visible.
   3) Labels de categorie des cartes : blancs sur carte claire -> couleurs
      lisibles par categorie.
   ==================================================================== */
html[data-theme="light"] .cv-blog-final .fc-bg{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(124,58,237,.30) 0%,transparent 55%),
    radial-gradient(ellipse at 50% 100%,rgba(109,213,237,.22) 0%,transparent 55%),
    linear-gradient(180deg,#0A0F1C 0%,#1A1A3E 50%,#0A0F1C 100%) !important;
}
html[data-theme="light"] .cv-blog-final .fc-bg::after{
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) !important;
}
html[data-theme="light"] .cv-blog-final .fc-inner h2,
html[data-theme="light"] .cv-blog-final h2{ color:#fff !important; }
html[data-theme="light"] .cv-blog-final .fc-inner p,
html[data-theme="light"] .cv-blog-final p{ color:rgba(255,255,255,.72) !important; }
html[data-theme="light"] .cv-blog-promo-ctas .wp-block-button.btn-ghost > .wp-block-button__link{
  background:#FFFFFF !important; color:var(--fg) !important; border:1px solid rgba(23,26,43,.16) !important;
}
html[data-theme="light"] .cv-blog-promo-ctas .wp-block-button.btn-ghost > .wp-block-button__link:hover{
  background:#FAF7F0 !important; border-color:var(--gold-line) !important;
}
html[data-theme="light"] .cv-blog-card-cat{ color:#6d2ce4; }
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-conformite{ color:#0e7490; background:rgba(14,116,144,.10); }
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-productivite{ color:#6d2ce4; background:rgba(109,44,228,.10); }
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-cas{ color:#9a761f; background:rgba(201,162,75,.16); }
html[data-theme="light"] .cv-blog-card-cat.cv-blog-cat-tutos{ color:#15803d; background:rgba(34,197,94,.12); }
