:root{
  --ssf-bg:#070b18;
  --ssf-card:rgba(255,255,255,.08);
  --ssf-border:rgba(255,255,255,.16);
  --ssf-text:#F3F7FF;
  --ssf-muted:rgba(243,247,255,.82);
  --ssf-soft:rgba(243,247,255,.70);
  --ssf-shadow:0 28px 70px rgba(0,0,0,.55);
  --ssf-radius:22px;
  --ssf-max:1100px;
}

/* Force readability even if the theme overrides typography */
.ssf-wrap, .ssf-hero, .ssf-sec, .ssf-foot{color:var(--ssf-text);}
.ssf-wrap p, .ssf-sec p, .ssf-foot p, .ssf-faq-a{color:var(--ssf-muted);}
.ssf-wrap a, .ssf-sec a, .ssf-foot a{color:var(--ssf-text);text-decoration:none;}
.ssf-sec strong, .ssf-wrap strong{color:#FFFFFF;font-weight:900;}

.ssf-wrap{max-width:var(--ssf-max);margin:0 auto;padding:0 18px 24px;}
.ssf-hero{max-width:var(--ssf-max);margin:18px auto 0;border-radius:var(--ssf-radius);overflow:hidden;background:var(--ssf-bg);box-shadow:var(--ssf-shadow);border:1px solid rgba(255,255,255,.10);display:grid;grid-template-columns:1.2fr .9fr;}
.ssf-hero-left{padding:26px 24px 22px;}
.ssf-hero h1{margin:0 0 10px;font-size:clamp(26px,3vw,44px);line-height:1.08;letter-spacing:-.02em;}
.ssf-lead{margin:0 0 10px;color:var(--ssf-muted);line-height:1.65;}
.ssf-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--ssf-soft);font-size:13px;margin:10px 0 0;}
.ssf-hero-right{padding:18px;display:flex;align-items:center;justify-content:center;background:
  radial-gradient(900px 380px at 92% 0%, rgba(34,197,94,.14), transparent 55%),
  radial-gradient(1200px 450px at 15% 0%, rgba(14,165,233,.14), transparent 55%);}
.ssf-illus{width:100%;height:auto;max-width:520px;border-radius:18px;display:block;box-shadow:0 18px 50px rgba(0,0,0,.35);}

.ssf-sec{background:var(--ssf-bg);margin:14px auto 0;max-width:var(--ssf-max);border-radius:var(--ssf-radius);box-shadow:var(--ssf-shadow);border:1px solid rgba(255,255,255,.10);}
.ssf-sec h2{margin:0;padding:18px 18px 0;font-size:20px;letter-spacing:-.01em;color:#FFFFFF;}
.ssf-sec > *:not(h2){padding:0 18px 18px;}

.ssf-ul{margin:12px 0 0;padding-left:18px;color:var(--ssf-muted);line-height:1.75;}
.ssf-ul li{margin:7px 0;}
.ssf-ul li::marker{color:rgba(34,197,94,.9);}

.ssf-note{color:var(--ssf-soft);font-size:13px;margin-top:10px;}

.ssf-table{margin-top:12px;border:1px solid var(--ssf-border);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.05);}
.ssf-tr{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;border-top:1px solid rgba(255,255,255,.12);}
.ssf-tr>div{padding:12px 12px;color:var(--ssf-muted);}
.ssf-th{background:rgba(255,255,255,.08);border-top:none;}
.ssf-th>div{color:#FFFFFF;font-weight:900;}

.ssf-cta{margin-top:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.ssf-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:14px;font-weight:900;border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg, rgba(34,197,94,.95), rgba(14,165,233,.95));
  color:#061018 !important;text-decoration:none;}
.ssf-cta-sub{font-size:13px;color:var(--ssf-soft);}

.ssf-faq{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:10px 12px;margin-top:10px;background:rgba(255,255,255,.06);}
.ssf-faq summary{cursor:pointer;font-weight:900;color:#FFFFFF;list-style:none;}
.ssf-faq summary::-webkit-details-marker{display:none;}
.ssf-faq summary:before{content:"▸";display:inline-block;margin-right:8px;color:rgba(14,165,233,.95);transform:translateY(-1px);}
.ssf-faq[open] summary:before{content:"▾";}
.ssf-faq-a{margin-top:10px;color:var(--ssf-muted);line-height:1.75;}

.ssf-foot{max-width:var(--ssf-max);margin:14px auto 44px;border-radius:var(--ssf-radius);background:rgba(7,11,24,.98);border:1px solid rgba(255,255,255,.10);box-shadow:var(--ssf-shadow);display:grid;grid-template-columns:1.2fr .8fr;gap:14px;overflow:hidden;}
.ssf-foot-left{padding:18px;}
.ssf-foot-left h2{margin:0 0 8px;color:#FFFFFF;}
.ssf-foot-left p{margin:0;color:var(--ssf-muted);line-height:1.65;}
.ssf-foot-right{padding:18px;border-left:1px solid rgba(255,255,255,.12);}
.ssf-foot-right h3{margin:0 0 10px;color:#FFFFFF;}
.ssf-links{display:flex;flex-wrap:wrap;gap:10px;}
.ssf-links a{display:inline-flex;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);text-decoration:none;color:#FFFFFF;font-weight:900;font-size:13px;}
.ssf-links a:hover{border-color:rgba(255,255,255,.24);transform:translateY(-1px);}

@media (max-width:980px){
  .ssf-hero{grid-template-columns:1fr;}
  .ssf-hero-right{padding:14px;}
  .ssf-foot{grid-template-columns:1fr;}
  .ssf-foot-right{border-left:none;border-top:1px solid rgba(255,255,255,.12);}
  .ssf-tr{grid-template-columns:1fr;}
  .ssf-th{display:none;}
}


/* ===== Hotfix lisibilité (themes override) ===== */
.ssf-hero, .ssf-hero *{text-shadow:none;}
.ssf-hero .ssf-hero-left, 
.ssf-hero .ssf-hero-left *{
  color: var(--ssf-text) !important;
}
.ssf-hero .ssf-lead{
  color: var(--ssf-muted) !important;
  opacity: 1 !important;
}
.ssf-hero .ssf-meta{
  color: rgba(243,247,255,.84) !important;
  opacity: 1 !important;
}
.ssf-hero .ssf-meta strong{
  color: #FFFFFF !important;
}
.ssf-hero h1{
  color: #FFFFFF !important;
}
