/*
Theme Name: Comparateur-Banques.biz
Description: Thème voyanceenligne-ch.biz — comparatif des banques en ligne : charte bleu nuit & or, breadcrumbs schema.org, fiches notées, grilles de silos.
Version: 1.1
Author: voyanceenligne-ch.biz
Text Domain: voyanceenligne-ch
*/

:root{
  /* Violet profond : la teinte que partagent presque tous les sites du domaine */
  --primary:#3E2A5B; --primary-700:#523A76; --primary-900:#241539;
  /* Rose poudre : l'accent doux, celui qui adoucit le violet */
  --rose:#C4649A; --rose-700:#A44A7D; --rose-bg:#F7E9F1;
  /* Or pale : pour les details, sans clinquant */
  --or:#C9A227; --or-700:#96770F;
  /* Fond : un blanc tres legerement lilas, jamais gris */
  --bg:#FBF8FC; --bg-2:#F1E9F5; --card:#FFFFFF;
  /* Textes et bordures */
  --ink:#241B2E; --muted:#6A5F76; --border:#E2D6EA;
  --r:14px; --shadow:0 14px 34px rgba(36,21,57,.13);
  --font-h:'Newsreader',Georgia,serif;
  --font-b:'Public Sans',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-b);font-size:17px;line-height:1.7;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto}
a{color:var(--muted);text-decoration:underline;text-decoration-color:#FFC9A8;text-underline-offset:3px}
a:hover{color:var(--or-700);text-decoration-color:var(--rose)}
h1,h2,h3,h4{font-family:var(--font-h);color:var(--primary);line-height:1.28;margin:1.4em 0 .5em;font-weight:600}
h1{font-size:clamp(29px,4.2vw,42px)}h2{font-size:clamp(22px,3vw,29px)}h3{font-size:clamp(19px,2.2vw,22px)}
.vch-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.vch-narrow{max-width:860px;margin:0 auto;padding:0 22px}

/* ── header ── */
.vch-header{background:var(--primary);position:sticky;top:0;z-index:60;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.vch-header__in{display:flex;align-items:center;gap:22px;min-height:66px}
.vch-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:var(--font-h);font-size:22px}
.vch-logo b{font-weight:600}.vch-logo span{color:var(--rose)}
.vch-burger{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:22px;border-radius:8px;padding:2px 10px;cursor:pointer}
.vch-nav{margin-left:auto}
.vch-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex-wrap:wrap}
.vch-nav a{display:block;color:#EAF1F7;text-decoration:none;padding:22px 11px;font-size:15px;font-weight:500}
.vch-nav a:hover{color:var(--rose)}
.vch-nav .menu-item-cta a{background:var(--rose);color:#fff;border-radius:999px;padding:9px 18px;margin:12px 0 12px 8px;font-weight:600}
.vch-nav .menu-item-cta a:hover{background:var(--or-700);color:#fff}
.vch-nav .sub-menu{display:none;position:absolute;background:#fff;box-shadow:var(--shadow);border-radius:10px;padding:8px;min-width:250px}
.vch-nav li{position:relative}
.vch-nav li:hover>.sub-menu{display:block}
.vch-nav .sub-menu a{color:var(--ink);padding:9px 12px;border-radius:7px}
.vch-nav .sub-menu a:hover{background:var(--bg-2);color:var(--or-700)}
@media(max-width:980px){
  .vch-burger{display:block}
  .vch-nav{display:none;position:absolute;left:0;right:0;top:66px;background:var(--primary);padding:8px 16px 18px}
  .vch-nav.open{display:block}
  .vch-nav ul{flex-direction:column;gap:0}
  .vch-nav a{padding:11px 6px;border-bottom:1px solid rgba(255,255,255,.08)}
  .vch-nav .sub-menu{display:block;position:static;background:transparent;box-shadow:none;padding:0 0 0 16px}
  .vch-nav .sub-menu a{color:#C8D6E2}
  .vch-nav .menu-item-cta a{margin:10px 0 0}
}

/* ── hero ── */
.vch-hero{background:var(--primary-900) url('img/hero.jpg') center/cover no-repeat}
@media(max-width:760px){.vch-hero{background-position:72% center}}
.vch-hero::after{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 85% 15%,rgba(255,122,60,.16),transparent 40%);pointer-events:none}
.vch-hero h1{color:#fff;margin-top:0;max-width:760px}
.vch-hero h1 em{color:var(--rose);font-style:normal}
.vch-hero p{max-width:640px;font-size:19px;color:#D7E3EE}
.vch-hero__badges{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-size:14.5px;color:#BFD2E2}
.vch-hero__badges b{color:#fff}
.vch-trail{position:absolute;right:-40px;top:34px;width:420px;opacity:.5;pointer-events:none}
.vch-searchbox{background:#fff;border-radius:var(--r);box-shadow:0 10px 34px rgba(0,0,0,.25);padding:18px;margin-top:30px;position:relative;z-index:2}
.vch-searchbox .vch-search-note{font-size:13px;color:var(--muted);margin:8px 2px 0}
.vch-cta-neutral{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--ink)}
.vch-cta-neutral p{margin:0;font-size:15.5px;color:var(--ink)}

/* ── boutons ── */
.vch-btn{display:inline-block;background:var(--rose);color:#fff!important;text-decoration:none;font-weight:600;padding:12px 24px;border-radius:999px;border:0;cursor:pointer;font-size:16px}
.vch-btn:hover{background:var(--or-700)}
.vch-btn--ghost{background:transparent;border:2px solid var(--rose);color:var(--rose)!important}
.vch-btn--ghost:hover{background:var(--bg-2)}

/* ── sections landing ── */
.vch-sec{padding:52px 0}
.vch-sec--alt{background:#fff}
.vch-sec h2{margin-top:0}
.vch-lead{color:var(--muted);max-width:720px}
.vch-grid{display:grid;gap:20px}
.vch-grid--3{grid-template-columns:repeat(3,1fr)}
.vch-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:920px){.vch-grid--3,.vch-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.vch-grid--3,.vch-grid--4{grid-template-columns:1fr}}
.vch-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.vch-sec--alt .vch-card{background:var(--bg)}
.vch-card .ico{font-size:30px}
.vch-card h3{margin:10px 0 6px;font-size:19px}
.vch-card p{margin:0 0 14px;color:var(--muted);font-size:15px;flex:1}
.vch-card a.more{font-weight:600;text-decoration:none;color:var(--or-700)}
.vch-dest{position:relative;border-radius:var(--r);overflow:hidden;background:var(--primary);color:#fff;padding:26px 20px;min-height:130px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none}
.vch-dest b{font-family:var(--font-h);font-size:20px}
.vch-dest span{font-size:13.5px;color:#CFE0EE}
.vch-dest:hover{outline:3px solid var(--rose)}

/* ── prose éditoriale ── */
.vch-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;padding:26px 0 60px}
@media(max-width:980px){.vch-layout{grid-template-columns:1fr}}
.vch-prose{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:34px clamp(20px,4vw,44px) 42px}
.vch-prose h1{margin-top:0}
.vch-prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15.5px}
.vch-prose th{background:var(--primary);color:#fff;padding:10px 12px;text-align:left}
.vch-prose td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.vch-prose tr:nth-child(even) td{background:var(--bg)}
.vch-prose img{border-radius:10px}

/* encadrés */
.vch-tip,.vch-info,.vch-warn,.vch-law,.vch-tool{border-radius:10px;padding:16px 18px;margin:22px 0;font-size:15.8px}
.vch-tip{background:var(--bg-2);border-left:5px solid var(--primary)}
.vch-info{background:var(--bg-2);border-left:5px solid var(--muted)}
.vch-warn{background:var(--bg-2);border-left:5px solid var(--rose)}
.vch-law{background:var(--bg-2);border-left:5px solid #C9A227}
.vch-tool{background:var(--primary);color:#fff;border-radius:var(--r);padding:22px}
.vch-tool a{color:var(--rose)}

/* fiches notées (Review) */
.vch-score{display:inline-flex;align-items:baseline;gap:3px;background:var(--primary);color:#fff;border-radius:10px;padding:6px 13px;font-family:var(--font-h)}
.vch-score b{font-size:26px;color:var(--rose)}
.vch-verdict{display:flex;gap:16px;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;margin:20px 0}
.vch-verdict p{margin:0;font-size:15.5px}
.vch-crit td:last-child{white-space:nowrap;font-weight:600;color:var(--primary)}

/* enfants / liés / faq */
.vch-children{background:var(--bg-2);border-radius:var(--r);padding:18px 22px;margin:22px 0}
.vch-children h3{margin:0 0 10px}
.vch-children ul{margin:0;padding:0;list-style:none;columns:2;gap:26px}
@media(max-width:640px){.vch-children ul{columns:1}}
.vch-children li{margin:7px 0;break-inside:avoid}
.vch-related{border-top:2px solid var(--border);margin-top:38px;padding-top:18px}
.vch-related h3{margin-top:0}
.vch-related ul{margin:0;padding-left:20px}
.vch-related li{margin:7px 0}
.vch-faq__item{border:1px solid var(--border);border-radius:10px;background:#fff;margin:10px 0;overflow:hidden}
.vch-faq__item summary{cursor:pointer;font-weight:600;padding:14px 18px;color:var(--primary);list-style:none;position:relative}
.vch-faq__item summary::after{content:"+";position:absolute;right:16px;color:var(--rose);font-size:22px;line-height:1}
.vch-faq__item[open] summary::after{content:"–"}
.vch-faq__a{padding:0 18px 14px;font-size:15.5px}

/* sidebar */
.vch-side{display:flex;flex-direction:column;gap:20px}
.vch-widget{background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}
.vch-widget h4{margin:0 0 10px;font-size:17px}
.vch-widget ul{margin:0;padding:0;list-style:none}
.vch-widget li{margin:8px 0;font-size:15px}
.vch-widget--tools{background:var(--primary);color:#E7F0F8;border:0}
.vch-widget--tools h4{color:#fff}
.vch-widget--tools p{font-size:14.5px}
.vch-widget--search{border-top:4px solid var(--rose)}

/* blog listings */
.vch-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:920px){.vch-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.vch-cards{grid-template-columns:1fr}}
.vch-post-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.vch-post-card img{aspect-ratio:16/9;object-fit:cover;width:100%;border-radius:0}
.vch-post-card .in{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.vch-post-card .cat{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--or-700)}
.vch-post-card h3{margin:6px 0 8px;font-size:18px}
.vch-post-card h3 a{text-decoration:none;color:var(--primary)}
.vch-post-card p{font-size:14.5px;color:var(--muted);margin:0;flex:1}

/* pubs neutres */
.vch-ad{margin:18px auto;text-align:center}
.vch-ad__label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:4px}

/* footer */
.vch-footer{background:var(--primary);color:#C9D8E5;margin-top:60px;padding:46px 0 26px}
.vch-footer h4{color:#fff;margin:0 0 12px;font-size:17px}
.vch-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px}
@media(max-width:820px){.vch-footer__grid{grid-template-columns:1fr}}
.vch-footer ul{margin:0;padding:0;list-style:none}
.vch-footer li{margin:7px 0}
.vch-footer a{color:#DCE8F2;text-decoration:none}
.vch-footer a:hover{color:var(--rose)}
.vch-disclaimer{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:18px;font-size:13px;color:#9FB4C6}
.vch-footer__legal{margin-top:14px;font-size:13.5px;color:#8CA3B7}

/* crumb + divers */
.vch-crumb{font-size:13.5px;color:var(--muted);padding:16px 0 0}
.vch-crumb a{color:var(--muted)}
.vch-crumb .sep{margin:0 7px;color:#B3C2CF}
.vch-404{text-align:center;padding:90px 20px}

/* ── Ajustements banque : contraste or ──
   Le texte bleu nuit ne vaut que pour le bouton PLEIN, dont le fond est doré.
   Sur un bouton ghost le fond est transparent : lui imposer la même couleur
   le rendait invisible dans les blocs sombres (contraste 1:1). */
.vch-btn:not(.vch-btn--ghost),
.vch-btn:not(.vch-btn--ghost):visited { color: var(--primary) !important; font-weight: 700; }
.vch-btn:not(.vch-btn--ghost):hover   { color: #fff !important; }

/* Ghost sur fond clair : bleu nuit (14.5:1), l'or seul y serait illisible (2.3:1). */
.vch-btn--ghost, .vch-btn--ghost:visited { color: var(--primary) !important; border-color: var(--rose); font-weight: 700; }
.vch-btn--ghost:hover { background: var(--bg-2) !important; color: var(--primary) !important; }

/* Ghost dans un bloc sombre : blanc (15.4:1). Un seul endroit à tenir à jour
   si un nouveau conteneur sombre apparaît. */
.vch-hero .vch-btn--ghost,
.vch-dest .vch-btn--ghost,
.vch-tool .vch-btn--ghost,
.vch-widget--tools .vch-btn--ghost,
.vch-footer .vch-btn--ghost,
.vch-header .vch-btn--ghost,
.vch-tools3 .vch-btn--ghost {
  color: #fff !important; border-color: #fff !important;
}
.vch-hero .vch-btn--ghost:hover,
.vch-dest .vch-btn--ghost:hover,
.vch-tool .vch-btn--ghost:hover,
.vch-widget--tools .vch-btn--ghost:hover,
.vch-footer .vch-btn--ghost:hover,
.vch-header .vch-btn--ghost:hover,
.vch-tools3 .vch-btn--ghost:hover {
  background: rgba(255,255,255,.14) !important; color: #fff !important;
}

/* Filet de sécurité : un lien de bloc produit qui n'aurait aucune classe connue
   reste visible au lieu de se fondre dans le texte. */
.vch-prose a.vch-btn { text-decoration: none; }
/* Avertissement AMF */
.vch-amf { background:#FBF3DC; border-left:4px solid var(--rose); border-radius:8px; padding:12px 16px; margin:18px 0; font-size:.92em; }

/* ── Front banques : parcours, outils vedettes, titres de section ── */
.vch-h2{margin-top:0}
.vch-paths,.vch-tools3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:8px 0}
.vch-path,.vch-tools3 .vch-tool{display:block;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:22px;color:var(--ink);text-decoration:none;transition:box-shadow .15s,transform .15s}
.vch-tools3 .vch-tool{background:var(--primary);color:#fff}
.vch-tools3 .vch-tool b{color:var(--rose);display:block;margin-bottom:6px;font-family:var(--font-h);font-size:17px}
.vch-tools3 .vch-tool p{margin:0;opacity:.88;font-size:14.5px}
.vch-path:hover,.vch-tools3 .vch-tool:hover{box-shadow:0 6px 18px rgba(42,30,51,.14);transform:translateY(-2px)}
.vch-path__ico{font-size:30px;display:block;margin-bottom:8px}
.vch-path b{display:block;font-family:var(--font-h);font-size:17.5px;margin-bottom:6px;color:var(--primary)}
.vch-path p{margin:0;color:var(--muted);font-size:14.5px}
@media(max-width:860px){.vch-paths,.vch-tools3{grid-template-columns:1fr}}

/* Section éditoriale : la voix de l'auteur, un peu plus lisible que le reste. */
.vch-editorial{max-width:760px}
.vch-editorial p{font-size:17px;line-height:1.72;margin:0 0 16px}
.vch-editorial p:last-child{margin-bottom:0}

/* Image a la une des pages et articles. */
.vch-postimg{margin:0 0 22px}
.vch-postimg img{width:100%;height:auto;border-radius:10px;display:block}

/* Menu mobile : le panneau est hors flux (position:absolute). Sans hauteur
   maximale ni defilement, l'ouverture d'un sous-menu long repousse les
   entrees suivantes hors de l'ecran, sans moyen de les atteindre.
   NOTE : ce theme utilise .open, pas .is-open. Les deux sont couvertes. */
@media(max-width:900px){
  .vch-nav.open, .vch-nav.is-open{
    max-height:calc(100vh - 66px);
    max-height:calc(100dvh - 66px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
}

/* Decor du hero : 420 px en position absolue, il recouvrait le titre sur
   mobile. On le repousse en bas, on le reduit et on l'efface fortement ;
   le texte passe au-dessus par z-index. */
@media(max-width:760px){
  .vch-trail{
    width:210px; right:-24px; top:auto; bottom:8px;
    opacity:.13;
  }
  .vch-hero .vch-wrap{position:relative; z-index:1;}
}
@media(max-width:420px){
  .vch-trail{display:none;}
}

/* Retour en haut. Apparait apres un ecran, respecte prefers-reduced-motion. */
.vch-totop{position:fixed;right:18px;bottom:18px;z-index:60;width:46px;height:46px;
  display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;
  background:var(--card);color:var(--primary);box-shadow:var(--shadow);cursor:pointer;
  opacity:0;transform:translateY(10px);pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,background .18s ease}
.vch-totop.is-on{opacity:1;transform:none;pointer-events:auto}
.vch-totop:hover{background:#fff;color:var(--primary-900)}
.vch-totop:focus-visible{outline:3px solid var(--rose);outline-offset:2px}
@media(max-width:640px){.vch-totop{right:12px;bottom:12px;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.vch-totop{transition:none}}

/* ── Accueil : les cantons, coeur de l'annuaire ── */
.vch-cantons{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:22px 0}
.vch-canton{display:flex;flex-direction:column;gap:5px;background:var(--card);
  border:1px solid var(--border);border-left:4px solid var(--rose);border-radius:var(--r);
  padding:16px 18px;text-decoration:none;color:var(--ink);
  transition:transform .15s,box-shadow .15s,border-color .15s}
.vch-canton:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-left-color:var(--or)}
.vch-canton b{font-family:var(--font-h);font-size:19px}
.vch-canton__prix{color:var(--rose);font-weight:700;font-size:15px}
.vch-canton__note{color:var(--muted);font-size:14px;line-height:1.5}
.vch-canton:focus-visible{outline:3px solid var(--rose);outline-offset:2px}

/* Les trois criteres */
.vch-crit{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:20px}
.vch-crit__i{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:18px 20px}
.vch-crit__i b{display:block;font-family:var(--font-h);font-size:17px;margin-bottom:6px;color:var(--primary)}
.vch-crit__i p{margin:0;font-size:15px;line-height:1.6}

/* Bloc auteur */
.vch-auteur{max-width:760px}
.vch-auteur p{font-size:16.5px;line-height:1.7}

.vch-note-inline{color:var(--muted);font-size:14.5px;margin-top:16px}
.vch-lead{font-size:17px;color:var(--muted);max-width:720px;margin:0 0 6px}

/* ── Le selecteur de langue ── */
.vch-langs{display:flex;gap:2px;align-items:center;margin-left:14px}
.vch-lang{display:grid;place-items:center;min-width:34px;height:30px;padding:0 7px;
  font-size:12.5px;font-weight:700;letter-spacing:.04em;border-radius:6px;
  color:var(--muted);text-decoration:none;transition:background .15s,color .15s}
.vch-lang:hover{background:var(--bg-2);color:var(--primary)}
.vch-lang.is-on{background:var(--primary);color:#fff}
.vch-lang:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
@media(max-width:720px){.vch-langs{margin-left:auto;order:3}}

/* ── Sections et hero de l'accueil ── */
.vch-section{padding:52px 0}
.vch-section--alt{background:var(--bg-2)}
.vch-hero__in{padding:56px 0 50px;max-width:820px}
.vch-hero__kicker{text-transform:uppercase;letter-spacing:.09em;font-size:13px;
  font-weight:700;color:var(--or);margin:0 0 10px}
.vch-hero__sub{font-size:17.5px;line-height:1.65;color:#C6CEDA;max-width:640px;margin:14px 0 0}
.vch-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.vch-btn--go{background:var(--rose);color:#fff;border-color:var(--rose)}
.vch-btn--go:hover{background:var(--or-700);border-color:var(--or-700);color:#fff}
.vch-path__go{color:var(--rose);font-weight:700;font-size:14.5px;margin-top:auto}

/* Les articles en pied d'accueil */
.vch-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:20px}
.vch-post{display:flex;flex-direction:column;gap:7px;background:var(--card);
  border:1px solid var(--border);border-radius:var(--r);padding:0 0 16px;overflow:hidden;
  text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.vch-post:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.vch-post__img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg-2)}
.vch-post__img img{width:100%;height:100%;object-fit:cover;display:block}
.vch-post b{font-family:var(--font-h);font-size:17px;padding:12px 16px 0;line-height:1.35}
.vch-post__x{color:var(--muted);font-size:14.5px;padding:0 16px;line-height:1.55}
.vch-post:focus-visible{outline:3px solid var(--rose);outline-offset:2px}
@media(max-width:640px){.vch-section{padding:38px 0}.vch-hero__in{padding:40px 0 36px}}

.vch-meta{color:var(--muted);font-size:14.5px;margin:0 0 18px}
.vch-meta a{color:var(--primary)}

/* ── Classes des gabarits secondaires (categorie, blog, 404) ── */
.vch-sec__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:16px}
.vch-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;
  font-weight:700;color:var(--or)}
.vch-card__body{padding:14px 16px 16px}
.vch-card__body p{margin:6px 0 0;color:var(--muted);font-size:14.5px;line-height:1.55}
.vch-btn--nuit{background:var(--primary);color:#fff;border-color:var(--primary)}
.vch-btn--nuit:hover{background:var(--primary-900);border-color:var(--primary-900);color:#fff}
.vch-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.vch-filters a{padding:7px 14px;border:1px solid var(--border);border-radius:20px;
  background:var(--card);color:var(--muted);text-decoration:none;font-size:14.5px}
.vch-filters a:hover,.vch-filters a[aria-current]{background:var(--primary);color:#fff;
  border-color:var(--primary)}
.vch-pagination{display:flex;justify-content:center;gap:8px;margin:34px 0 0}
.vch-pagination .page-numbers{display:grid;place-items:center;min-width:38px;height:38px;
  padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);
  color:var(--primary);text-decoration:none;font-size:15px}
.vch-pagination .current{background:var(--primary);color:#fff;border-color:var(--primary)}
.vch-pagination a:hover{background:var(--bg-2)}

/* Le hero : la photo porte, le voile assure la lisibilite */
.vch-hero{position:relative;background:var(--primary-900) center/cover no-repeat}
.vch-hero__in{position:relative;z-index:2;padding:70px 0 64px;max-width:760px}
.vch-hero h1{color:#fff;font-size:clamp(30px,4.4vw,46px);line-height:1.18;margin:0}
.vch-hero h1 em{color:var(--or);font-style:normal}
.vch-hero__kicker{text-transform:uppercase;letter-spacing:.11em;font-size:13px;
  font-weight:700;color:var(--or);margin:0 0 14px}
.vch-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.vch-btn--go{background:var(--or);color:var(--primary-900);border-color:var(--or);font-weight:700}
.vch-btn--go:hover{background:var(--or-700);border-color:var(--or-700);color:#fff}
.vch-btn--ghost{color:#fff;border-color:rgba(255,255,255,.45);background:transparent}
.vch-btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
@media(max-width:640px){.vch-hero__in{padding:44px 0 40px}}

/* La liste d articles d une page de blog */
.vch-posts--blog{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:6px}
.vch-post__cat{display:inline-block;align-self:flex-start;margin:12px 16px 0;
  font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;
  color:var(--rose-700);background:var(--rose-bg);padding:3px 10px;border-radius:20px}
.vch-posts--blog .vch-post b{padding-top:8px}

.vch-h2 a{color:inherit;text-decoration:none}
.vch-h2 a:hover{color:var(--rose-700);text-decoration:underline}

/* ── Le tirage : la section la plus visible de l accueil ── */
.vch-outil{background:linear-gradient(140deg,var(--primary-900) 0%,var(--primary) 62%,var(--primary-700) 100%);
  color:#fff;padding:46px 0}
.vch-outil__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px}
.vch-outil__t{max-width:560px}
.vch-outil__t .vch-h2{color:#fff;margin:0 0 10px}
.vch-outil__t p{color:#D6C9E0;font-size:16.5px;line-height:1.6;margin:0 0 22px}
.vch-outil__c{display:flex;gap:12px;flex-shrink:0}
.vch-outil__lame{display:grid;place-items:center;width:74px;height:118px;
  background:#F8F2FA;border:2px solid var(--rose);border-radius:9px;
  font-family:var(--font-h);font-size:21px;color:var(--or-700);
  box-shadow:0 10px 26px rgba(0,0,0,.3);transform:rotate(-7deg)}
.vch-outil__lame:nth-child(3){transform:rotate(7deg)}
.vch-outil__lame--m{transform:none;width:84px;height:134px;font-size:24px;
  border-color:var(--or);z-index:2}
@media(max-width:720px){.vch-outil{padding:34px 0}.vch-outil__c{margin:0 auto}}

/* L encart de colonne */
.vch-widget--tirage{background:var(--primary);color:#fff;border-color:var(--primary)}
.vch-widget--tirage h4{color:#fff !important;border-color:rgba(255,255,255,.25)}
.vch-widget--tirage p{color:#D6C9E0;font-size:14.5px;margin:0 0 12px}
.vch-widget__go{display:inline-block;background:var(--rose);color:#fff;
  padding:9px 16px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14.5px}
.vch-widget__go:hover{background:var(--rose-700);color:#fff}
.vch-widget__go:focus-visible{outline:3px solid var(--or);outline-offset:2px}
