
:root{
  --faq-bg:#06101e;
  --faq-bg2:#0a1830;
  --faq-card:#ffffff;
  --faq-ink:#16263b;
  --faq-muted:#34495f;
  --faq-blue:#1677ff;
  --faq-blue2:#075ecf;
  --faq-line:#dce7f2;
  --faq-green:#1bb978;
  --faq-shadow:0 18px 55px rgba(7,27,53,.10);
}
body.faq-page{background:#f5f8fc;color:var(--faq-ink)}
.faq-hero{
  position:relative;
  overflow:hidden;
  padding:78px 20px 68px;
  background:
    radial-gradient(circle at 82% 10%,rgba(22,119,255,.34),transparent 31%),
    radial-gradient(circle at 16% 80%,rgba(54,119,255,.16),transparent 30%),
    linear-gradient(145deg,var(--faq-bg2),var(--faq-bg));
  color:#fff;
}
.faq-hero: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:34px 34px;
  mask-image:linear-gradient(to bottom,#000,transparent);
}
.faq-shell{width:min(1160px,calc(100% - 30px));margin:auto;position:relative}
.faq-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);gap:40px;align-items:center}
.faq-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(108,183,255,.28);border-radius:999px;background:rgba(9,28,52,.62);color:#a9d3ff;font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.faq-hero h1{font-size:clamp(2.35rem,6vw,4.8rem);line-height:.98;margin:18px 0 17px;letter-spacing:-.045em}
.faq-hero h1 span{color:#5cabff}
.faq-hero p{max-width:720px;color:#b8c9db;font-size:clamp(1rem,2vw,1.18rem);line-height:1.7}
.faq-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.faq-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:14px;font-weight:900;text-decoration:none}
.faq-btn.primary{background:linear-gradient(145deg,#1886ff,#0760d1);color:#fff;box-shadow:0 12px 26px rgba(22,119,255,.25)}
.faq-btn.ghost{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff}
.faq-price-card{border:1px solid rgba(131,191,255,.26);border-radius:26px;padding:22px;background:linear-gradient(155deg,rgba(16,39,70,.94),rgba(5,15,28,.93));box-shadow:0 30px 80px rgba(0,0,0,.27)}
.faq-price-card h2{font-size:1rem;margin:0 0 13px;color:#d8eaff}
.faq-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.faq-price-chip{padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.05)}
.faq-price-chip span{display:block;color:#8fa8c4;font-size:.68rem;font-weight:800}
.faq-price-chip strong{display:block;margin-top:3px;color:#fff;font-size:1.04rem}
.faq-tax-note{margin-top:12px;padding:10px 12px;border-radius:13px;background:rgba(28,190,124,.09);color:#a9dfc6;font-size:.7rem;line-height:1.45}

.faq-toolbar-wrap{margin-top:-28px;position:relative;z-index:4}
.faq-toolbar{padding:16px;background:#fff;border:1px solid var(--faq-line);border-radius:20px;box-shadow:var(--faq-shadow)}
.faq-search{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #d6e2ee;border-radius:15px;background:#f9fbfd}
.faq-search i{color:#7b8fa6}
.faq-search input{width:100%;height:50px;border:0!important;outline:0!important;background:transparent!important;color:#21384f!important;box-shadow:none!important;margin:0!important;padding:0!important;font-size:.9rem!important}
.faq-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.faq-filter{border:1px solid #d9e5f0;border-radius:999px;padding:8px 12px;background:#fff;color:#556b82;font-weight:900;font-size:.7rem;cursor:pointer}
.faq-filter.active{background:#13233a;color:#fff;border-color:#13233a}

.faq-content{padding:44px 0 82px}
.faq-section-title{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}
.faq-section-title h2{margin:0;font-size:clamp(1.65rem,3vw,2.25rem);letter-spacing:-.025em}
.faq-section-title p{margin:4px 0 0;color:var(--faq-muted)}
.faq-count{color:#75889d;font-size:.76rem;font-weight:850;white-space:nowrap}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.faq-item{border:1px solid var(--faq-line);border-radius:19px;background:#fff;box-shadow:0 8px 25px rgba(17,53,91,.05);overflow:hidden}
.faq-item.hidden{display:none}
.faq-question{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:#fff;padding:17px 18px;color:#1b3047;font:inherit;font-weight:920;cursor:pointer}
.faq-question .ico{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:#eaf4ff;color:#1677ff}
.faq-question .chev{margin-left:auto;color:#7f91a5;transition:.18s ease}
.faq-item.open .chev{transform:rotate(180deg)}
.faq-answer{display:none;padding:0 18px 18px 64px;color:#5c7085;font-size:.86rem;line-height:1.68}
.faq-item.open .faq-answer{display:block}
.faq-answer strong{color:#1c3651}
.faq-answer .mini-cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.faq-answer .mini-cta a{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:#eef5fc;color:#245271;text-decoration:none;font-size:.7rem;font-weight:900}
.faq-answer .mini-cta a.primary{background:#1677ff;color:#fff}

.faq-highlight{margin:34px 0;padding:22px;border:1px solid #cfe0ef;border-radius:22px;background:linear-gradient(145deg,#eef7ff,#fff);display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center}
.faq-highlight-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#1677ff;color:#fff;font-size:1.25rem}
.faq-highlight h3{margin:0 0 4px}.faq-highlight p{margin:0;color:#657990;line-height:1.55}
.faq-empty{display:none;padding:32px;text-align:center;border:1px dashed #c9d8e7;border-radius:18px;color:#71859a;background:#fff}
.faq-empty.show{display:block}

.faq-legal{margin-top:38px;padding:20px;border-radius:20px;background:#101f34;color:#d7e4f2}
.faq-legal h3{margin:0 0 8px;color:#fff}
.faq-legal p{margin:0;color:#afc1d5;line-height:1.65;font-size:.82rem}
.faq-legal a{color:#7fc0ff}
.faq-legal small{display:block;margin-top:9px;color:#8198b0;line-height:1.5}

@media(max-width:860px){
  .faq-hero{padding-top:52px}
  .faq-hero-grid{grid-template-columns:1fr}
  .faq-price-card{max-width:620px}
  .faq-list{grid-template-columns:1fr}
}
@media(max-width:700px){
  .faq-shell{width:min(100% - 18px,1160px)}
  .faq-hero{padding:36px 0 58px}
  .faq-hero h1{font-size:2.55rem}
  .faq-price-grid{grid-template-columns:1fr 1fr}
  .faq-toolbar-wrap{margin-top:-20px}
  .faq-toolbar{padding:11px;border-radius:17px}
  .faq-content{padding-top:30px;padding-bottom:110px}
  .faq-section-title{display:block}
  .faq-count{display:block;margin-top:6px}
  .faq-question{padding:14px 13px;font-size:.82rem}
  .faq-answer{padding:0 13px 15px 59px;font-size:.8rem}
  .faq-highlight{grid-template-columns:auto 1fr}
  .faq-highlight .faq-btn{grid-column:1/-1}
  .faq-legal{padding:16px}
}


/* ==========================================================
   FAQ — CONTRASTE RENFORCÉ SUR FOND CLAIR
   ========================================================== */
.faq-section-title p,
.faq-count,
.faq-question,
.faq-answer,
.faq-highlight p,
.faq-empty,
.faq-search i,
.faq-filter:not(.active){
  color:#26394d !important;
}

.faq-answer{
  color:#273c51 !important;
  font-weight:550;
}

.faq-answer strong,
.faq-question span:not(.ico),
.faq-section-title h2,
.faq-highlight h3{
  color:#111f2e !important;
}

.faq-count{
  color:#465b70 !important;
}

.faq-filter:not(.active){
  background:#fff !important;
  border-color:#c9d7e4 !important;
}

.faq-search input::placeholder{
  color:#5f7184 !important;
  opacity:1 !important;
}

/* Les zones sombres gardent volontairement des textes clairs. */
.faq-hero,
.faq-price-card,
.faq-legal{
  color:#fff;
}


/* ==========================================================
   CORRECTIF FAQ — FOND / CONTRASTE
   ========================================================== */
body.faq-page,
.faq-content{
  background:#f5f8fc !important;
  color:#16283b !important;
}
.faq-item,
.faq-toolbar,
.faq-highlight{
  background:#ffffff !important;
}
.faq-question,
.faq-answer,
.faq-section-title p,
.faq-highlight p{
  color:#263b50 !important;
}
.faq-question strong,
.faq-question span,
.faq-section-title h2,
.faq-highlight h3{
  color:#132538 !important;
}
