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

:root{
  --nuit:#0B2545; --nuit2:#4E6E8E; --promo:#C9A227; --promo-h:#A88418; --promo-bg:#F7EFD8;
  --nuage:#F6F8FB; --blanc:#FFFFFF;
  --ink:#1C2733; --muted:#64748B; --line:#E2E8F0;
  --vert:#2E7D5B; --vert-bg:#E9F5F0;
  --rouge:#B3452F; --rouge-bg:#FBEFEB;
  --bleu-bg:#EBF2F9; --jaune-bg:#FFF8E5;
  --r:14px; --shadow:0 2px 14px rgba(14,58,93,.09);
  --ff-t:'Outfit',system-ui,Segoe UI,Arial,sans-serif;
  --ff-b:'Inter',system-ui,Segoe UI,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ff-b);font-size:17px;line-height:1.7;color:var(--ink);background:var(--nuage)}
img{max-width:100%;height:auto}
a{color:var(--nuit2);text-decoration:underline;text-decoration-color:#FFC9A8;text-underline-offset:3px}
a:hover{color:var(--promo-h);text-decoration-color:var(--promo)}
h1,h2,h3,h4{font-family:var(--ff-t);color:var(--nuit);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)}
.cb-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.cb-narrow{max-width:860px;margin:0 auto;padding:0 22px}

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

/* ── hero ── */
.cb-hero{background:linear-gradient(96deg,rgba(11,37,69,.96) 0%,rgba(11,37,69,.90) 40%,rgba(11,37,69,.62) 72%,rgba(11,37,69,.42) 100%),url('img/hero.jpg') center 62%/cover no-repeat;color:#fff;padding:56px 0 70px;position:relative;overflow:hidden}
@media(max-width:760px){.cb-hero{background:linear-gradient(180deg,rgba(11,37,69,.94) 0%,rgba(11,37,69,.82) 60%,rgba(11,37,69,.60) 100%),url('img/hero.jpg') center 55%/cover no-repeat}}
.cb-hero::after{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 85% 15%,rgba(255,122,60,.16),transparent 40%);pointer-events:none}
.cb-hero h1{color:#fff;margin-top:0;max-width:760px}
.cb-hero h1 em{color:var(--promo);font-style:normal}
.cb-hero p{max-width:640px;font-size:19px;color:#D7E3EE}
.cb-hero__badges{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-size:14.5px;color:#BFD2E2}
.cb-hero__badges b{color:#fff}
.cb-trail{position:absolute;right:-40px;top:34px;width:420px;opacity:.5;pointer-events:none}
.cb-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}
.cb-searchbox .cb-search-note{font-size:13px;color:var(--muted);margin:8px 2px 0}
.cb-cta-neutral{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--ink)}
.cb-cta-neutral p{margin:0;font-size:15.5px;color:var(--ink)}

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

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

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

/* encadrés */
.cb-tip,.cb-info,.cb-warn,.cb-law,.cb-tool{border-radius:10px;padding:16px 18px;margin:22px 0;font-size:15.8px}
.cb-tip{background:var(--vert-bg);border-left:5px solid var(--vert)}
.cb-info{background:var(--bleu-bg);border-left:5px solid var(--nuit2)}
.cb-warn{background:var(--promo-bg);border-left:5px solid var(--promo)}
.cb-law{background:var(--jaune-bg);border-left:5px solid #C9A227}
.cb-tool{background:var(--nuit);color:#fff;border-radius:var(--r);padding:22px}
.cb-tool a{color:var(--promo)}
.cb-saison{display:flex;gap:10px;align-items:flex-start;background:var(--jaune-bg);border:1px dashed #C9A227;border-radius:10px;padding:11px 14px;font-size:14px;color:#6B5B15;margin:0 0 22px}

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

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

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

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

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

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

/* crumb + divers */
.cb-crumb{font-size:13.5px;color:var(--muted);padding:16px 0 0}
.cb-crumb a{color:var(--muted)}
.cb-crumb .sep{margin:0 7px;color:#B3C2CF}
.cb-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). */
.cb-btn:not(.cb-btn--ghost),
.cb-btn:not(.cb-btn--ghost):visited { color: var(--nuit) !important; font-weight: 700; }
.cb-btn:not(.cb-btn--ghost):hover   { color: #fff !important; }

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

/* Ghost dans un bloc sombre : blanc (15.4:1). Un seul endroit à tenir à jour
   si un nouveau conteneur sombre apparaît. */
.cb-hero .cb-btn--ghost,
.cb-dest .cb-btn--ghost,
.cb-tool .cb-btn--ghost,
.cb-widget--tools .cb-btn--ghost,
.cb-footer .cb-btn--ghost,
.cb-header .cb-btn--ghost,
.cb-tools3 .cb-btn--ghost {
  color: #fff !important; border-color: #fff !important;
}
.cb-hero .cb-btn--ghost:hover,
.cb-dest .cb-btn--ghost:hover,
.cb-tool .cb-btn--ghost:hover,
.cb-widget--tools .cb-btn--ghost:hover,
.cb-footer .cb-btn--ghost:hover,
.cb-header .cb-btn--ghost:hover,
.cb-tools3 .cb-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. */
.cb-prose a.cb-btn { text-decoration: none; }
/* Avertissement AMF */
.cb-amf { background:#FBF3DC; border-left:4px solid var(--promo); border-radius:8px; padding:12px 16px; margin:18px 0; font-size:.92em; }

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