/* sepasdelia – feuille de style du site (utilise les variables du template : --theme-color, --title-font...) */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background:#fff;position:relative}
img,svg{max-width:100%}
[hidden]{display:none!important}
:root{--ok:#16a34a;--warn:#f59e0b;--bad:#dc2626}

/* ---------- Header ---------- */
.sp-header{display:flex;justify-content:center;align-items:center;padding:22px 15px;position:relative;z-index:5}
.sp-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--title-font);font-size:30px;font-weight:600;color:var(--title-color);letter-spacing:-.5px}
.sp-logo:hover{color:var(--title-color)}
.sp-logo svg{width:38px;height:38px;flex:none}
.sp-logo b{color:var(--theme-color);font-weight:700}

/* ---------- Hero (accueil) ---------- */
body.home{background:
  radial-gradient(circle at 88% 12%,rgba(102,0,255,.11),transparent 42%),
  radial-gradient(circle at 8% 70%,rgba(102,0,255,.06),transparent 38%),#fff}
.sp-hero{position:relative;flex:1;display:flex;align-items:center;padding:20px 0 70px}
.sp-hero .auto-container{width:100%;max-width:1120px}
.sp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.sp-hero h1{font-size:clamp(34px,4.7vw,56px);line-height:1.08;letter-spacing:-1.8px;margin-bottom:22px}
.sp-hero h1 .hl{color:var(--theme-color)}
.nw{white-space:nowrap}
.sp-hero .lead{font-size:18px;line-height:30px;max-width:500px;margin-bottom:28px}
.sp-trust{display:flex;flex-wrap:wrap;gap:12px 22px}
.sp-trust li{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--title-color)}
.sp-trust svg{width:18px;height:18px;stroke:var(--theme-color);flex:none}
.sub-title-three{margin-bottom:20px}

/* ---------- Carte upload ---------- */
.sp-card{position:relative;background:#fff;border-radius:30px;padding:16px;border:1px solid #ece6fb;box-shadow:0 30px 70px rgba(102,0,255,.13)}
.sp-card::before{content:"";position:absolute;z-index:-1;left:-22px;top:-22px;width:120px;height:120px;background-image:radial-gradient(var(--title-color) 1.4px,transparent 1.6px);background-size:24px 24px;opacity:.4}
.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:340px;
  border:2px dashed rgba(102,0,255,.35);border-radius:22px;background:rgba(102,0,255,.04);padding:28px 20px;cursor:pointer;transition:all .3s}
.drop:hover,.drop.drag{border-color:var(--theme-color);background:rgba(102,0,255,.09)}
.drop:focus-visible{outline:3px solid var(--theme-color);outline-offset:3px}
.drop .ico{width:70px;height:70px;border-radius:50%;background:var(--theme-color);display:grid;place-items:center;margin-bottom:8px;box-shadow:0 12px 28px rgba(102,0,255,.35)}
.drop .ico svg{width:30px;height:30px;stroke:#fff}
.drop strong{font-family:var(--title-font);font-size:24px;font-weight:600;color:var(--title-color)}
.drop small{font-size:14px;color:var(--text-color)}
input[type=file]{display:none}
.sp-error{background:#fee2e2;color:#991b1b;font-size:15px;padding:12px 16px;border-radius:14px;text-align:center;margin-bottom:12px}

.sp-panel{display:flex;flex-direction:column;gap:16px;min-height:340px}
.preview{position:relative;border-radius:22px;overflow:hidden;background:#f1eaff;height:260px;display:flex;align-items:center;justify-content:center;padding:14px;isolation:isolate}
.preview .blur{position:absolute;inset:-30px;z-index:-1;background-size:cover;background-position:center;filter:blur(28px) saturate(1.3);transform:scale(1.15);opacity:.85}
.preview img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:14px;box-shadow:0 12px 32px rgba(40,10,90,.35),0 0 0 3px rgba(255,255,255,.85)}
.scan{position:absolute;z-index:2;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--theme-color),transparent);box-shadow:0 0 24px 6px rgba(102,0,255,.7);animation:scan 1.8s ease-in-out infinite}
@keyframes scan{0%{top:0}50%{top:calc(100% - 4px)}100%{top:0}}
.loading{text-align:center}
.bar{height:10px;background:rgba(102,0,255,.1);border-radius:10px;overflow:hidden;margin:6px 0 12px}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--theme-color),#a066ff);border-radius:10px;transition:width .25s}
.bar.indeterminate i{width:40%;animation:ind 1.2s ease-in-out infinite}
@keyframes ind{0%{margin-left:-40%}100%{margin-left:100%}}
.status{font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px}
.spin{width:18px;height:18px;border:3px solid #d9c8ff;border-top-color:var(--theme-color);border-radius:50%;animation:rot .8s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}

.result{display:flex;align-items:center;gap:22px;background:rgba(102,0,255,.05);border-radius:22px;padding:18px}
.gauge{position:relative;width:112px;height:112px;flex:none}
.gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.gauge circle{fill:none;stroke-width:12;stroke-linecap:round}
.gauge .bg{stroke:#e3d8ff}
.gauge .fg{stroke:var(--c,var(--theme-color));stroke-dasharray:314;stroke-dashoffset:314;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1)}
.gauge .pct{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--title-font);font-weight:700;font-size:28px;color:var(--title-color)}
.verdict{font-family:var(--title-font);font-size:22px;font-weight:600;line-height:1.25;color:var(--c)}
.verdict-sub{font-size:14px;line-height:22px;margin-top:4px}
.signals{font-size:14px;color:var(--title-color);padding-left:18px;margin-top:8px}
.signals li{list-style:disc}
.demo{background:#fff4d6;color:#7a5200;font-size:13px;font-weight:500;padding:8px 12px;border-radius:12px;text-align:center;margin-bottom:12px}
.note{font-size:12.5px;text-align:center;margin-top:12px}
.actions{margin-top:14px}

/* ---------- Pages intérieures ---------- */
.sp-page-title{position:relative;text-align:center;padding:46px 15px 54px;background:
  radial-gradient(circle at 50% 0,rgba(102,0,255,.12),transparent 60%),#faf7ff;border-bottom:1px solid #efe8fd}
.sp-page-title h1{font-size:clamp(32px,5vw,52px);line-height:1.12;letter-spacing:-1.2px;max-width:820px;margin:0 auto 10px}
.sp-page-title p{max-width:620px;margin:0 auto;font-size:17px}
.sp-crumbs{display:flex;justify-content:center;gap:8px;font-size:14px;margin-bottom:16px;color:var(--text-color)}
.sp-crumbs a{color:var(--theme-color);font-weight:500}
.sp-layout{flex:1;width:100%}
.sp-doc{width:100%;max-width:780px;margin:0 auto;padding:48px 15px 40px}
.sp-doc h2{font-size:28px;line-height:36px;margin:40px 0 14px;display:flex;align-items:center;gap:12px}
.sp-doc h2:first-child{margin-top:0}
.sp-doc h2 .n{flex:none;width:38px;height:38px;border-radius:50%;background:var(--theme-color);color:#fff;font-size:17px;display:grid;place-items:center}
.sp-doc p{margin-bottom:16px;font-size:17px;line-height:30px}
.sp-doc ul.dots{margin:0 0 18px}
.sp-doc ul.dots li{position:relative;padding-left:30px;margin-bottom:12px;font-size:17px;line-height:28px}
.sp-doc ul.dots li::before{content:"";position:absolute;left:0;top:8px;width:12px;height:12px;border-radius:50%;background:rgba(102,0,255,.15);border:3px solid var(--theme-color)}
.sp-doc ul.dots li strong{color:var(--title-color);font-weight:600}
.sp-doc a:not(.theme-btn){color:var(--theme-color);text-decoration:underline;text-underline-offset:3px}
.sp-info{background:#faf7ff;border:1px solid #efe8fd;border-radius:22px;padding:8px 26px;margin:6px 0 20px}
.sp-info div{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid #efe8fd;font-size:16px}
.sp-info div:last-child{border:0}
.sp-info dt{flex:0 0 170px;font-family:var(--title-font);font-weight:600;color:var(--title-color)}
.sp-info dd{flex:1;margin:0;word-break:break-word}
.todo{background:#fff4d6;color:#7a5200;padding:1px 8px;border-radius:6px;font-size:14px}
.sp-cta{margin:40px 0 10px;background:var(--secondary-color);border-radius:26px;padding:38px 30px;text-align:center;position:relative;overflow:hidden}
.sp-cta::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(102,0,255,.55),transparent 70%)}
.sp-cta h3{color:#fff;font-size:28px;line-height:36px;margin-bottom:8px;position:relative}
.sp-cta p{color:rgba(255,255,255,.8);margin-bottom:22px!important;position:relative}
.sp-cta .theme-btn{position:relative}
.sp-contact-card{display:flex;align-items:center;gap:18px;background:#faf7ff;border:1px solid #efe8fd;border-radius:22px;padding:24px}
.sp-contact-card .ico{flex:none;width:56px;height:56px;border-radius:50%;background:var(--theme-color);display:grid;place-items:center}
.sp-contact-card .ico svg{width:26px;height:26px;stroke:#fff}
.sp-contact-card small{display:block;font-size:14px}
.sp-contact-card a{font-family:var(--title-font);font-size:22px;font-weight:600;color:var(--title-color);text-decoration:none!important;word-break:break-all}
.sp-contact-card a:hover{color:var(--theme-color)}

/* FAQ (accordéon sans JavaScript) */
.sp-faq{margin:10px 0 0}
.sp-faq details{background:#fff;border:1px solid #ece6fb;border-radius:18px;margin-bottom:12px;transition:all .3s}
.sp-faq details[open]{border-color:var(--theme-color);box-shadow:0 14px 34px rgba(102,0,255,.10)}
.sp-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 22px;font-family:var(--title-font);font-size:19px;font-weight:600;color:var(--title-color)}
.sp-faq summary::-webkit-details-marker{display:none}
.sp-faq summary::before{content:"+";flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--title-color);display:grid;place-items:center;font-size:18px;line-height:1;transition:all .3s}
.sp-faq details[open] summary::before{content:"–";background:var(--theme-color);border-color:var(--theme-color);color:#fff}
.sp-faq details p{padding:0 22px 20px 62px;margin:0;font-size:16px;line-height:27px}

/* ---------- Pubs ---------- */
.ad-label{display:block;font-size:11px;color:#9a9a9a;text-align:center;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}
.rail{display:none}
.ad-content{margin:30px 0;text-align:center}
.ad-bottom{width:100%;max-width:728px;margin:0 auto;padding:0 15px 30px}
@media (min-width:1200px){
  .sp-layout.has-rails{display:grid;grid-template-columns:160px minmax(0,780px) 160px;gap:24px;justify-content:center;align-items:start}
  .sp-layout.has-rails .sp-doc{margin:0}
  .rail{display:block;position:sticky;top:20px;min-height:600px;padding-top:48px}
  .ad-bottom{display:none}
}
.rail-abs{display:none;position:absolute;top:150px;width:160px;min-height:600px}
.rail-abs.l{left:calc(50% - 716px)}.rail-abs.r{right:calc(50% - 716px)}
.ad-inline{width:100%;max-width:728px;margin:0 auto;padding:0 15px 30px}
@media (min-width:1480px){.rail-abs{display:block}.ad-inline{display:none}}

/* ---------- Footer (style du template) ---------- */
.main-footer.sp-footer{margin-top:auto}
.sp-footer .widget-section{padding:56px 0 44px}
.sp-footer .row-flex{display:flex;flex-wrap:wrap;justify-content:space-between;gap:34px 50px}
.sp-footer .brand{max-width:340px}
.sp-footer .brand .sp-logo{color:#fff;margin-bottom:16px;font-size:28px}
.sp-footer .brand p{color:rgba(255,255,255,.75);font-size:15px;line-height:25px}
.sp-footer h3{font-size:20px;color:#fff;margin-bottom:12px}
.sp-footer ul li a{display:inline-block;color:rgba(255,255,255,.8);line-height:38px;font-size:15.5px}
.sp-footer ul li a:hover{color:#fff;padding-left:4px}
.footer-bottom{text-align:center;padding:22px 15px!important}
.footer-bottom p{font-size:14px}

/* ---------- Tablette / mobile ---------- */
@media (max-width:991px){
  .sp-grid{grid-template-columns:1fr;gap:44px;text-align:center}
  .sp-hero .lead{margin-left:auto;margin-right:auto}
  .sp-trust{justify-content:center}
  .sp-card::before{display:none}
  .sp-hero{padding-bottom:40px}
}
@media (max-width:575px){
  .sp-logo{font-size:26px}.sp-logo svg{width:34px;height:34px}
  .sp-hero .lead{font-size:16px;line-height:27px}
  .drop{min-height:285px;padding:22px 14px}
  .sp-card{padding:12px;border-radius:24px}
  .preview{height:220px}
  .result{flex-direction:column;text-align:center}
  .signals{text-align:left}
  .theme-btn{width:100%}
  .sp-doc{padding-top:34px}
  .sp-doc h2{font-size:23px;line-height:30px}
  .sp-doc p,.sp-doc ul.dots li{font-size:16px;line-height:27px}
  .sp-info div{flex-direction:column;gap:4px}
  .sp-info dt{flex:none}
  .sp-contact-card{flex-direction:column;text-align:center}
  .sp-faq summary{font-size:17px;padding:16px}
  .sp-faq details p{padding:0 16px 18px}
  .sp-footer .row-flex{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* =====================================================
   ACCUEIL : sections sous l'outil
   ===================================================== */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
html.js .rv.in{opacity:1;transform:none}
html.js .rv.d1{transition-delay:.1s}html.js .rv.d2{transition-delay:.2s}html.js .rv.d3{transition-delay:.3s}

/* pastilles flottantes autour de la carte */
.sp-card-wrap{position:relative}
.sp-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ece6fb;border-radius:50px;padding:10px 18px 10px 10px;font-family:var(--title-font);font-size:15px;font-weight:600;color:var(--title-color);box-shadow:0 16px 40px rgba(40,10,90,.14);animation:floaty 5s ease-in-out infinite}
.sp-chip i{width:30px;height:30px;border-radius:50%;background:var(--theme-color);display:grid;place-items:center;flex:none}
.sp-chip svg{width:16px;height:16px;stroke:#fff}
.sp-chip.c1{left:34px;bottom:-26px;animation-delay:-1s}
.sp-chip.c2{right:-26px;top:-18px;animation-delay:-2.2s}
.sp-card-wrap.busy .sp-chip{opacity:0;visibility:hidden;transition:all .3s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media (max-width:1199px){.sp-chip.c2{right:-10px}}
@media (max-width:991px){.sp-chip{display:none}}

/* sections génériques */
.sp-sec{padding:92px 0}
.sp-sec.alt{background:#faf7ff}
.sp-sec .auto-container{max-width:1120px}
.sp-head{text-align:center;max-width:680px;margin:0 auto 54px}
.sp-head h2{font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-1px;margin-bottom:14px}
.sp-head p{font-size:17px;line-height:28px}
.sp-ico{width:62px;height:62px;border-radius:20px;background:rgba(102,0,255,.09);display:grid;place-items:center;margin-bottom:20px;transition:all .4s}
.sp-ico svg{width:28px;height:28px;stroke:var(--theme-color);transition:all .4s}

/* étapes */
.sp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.sp-step{position:relative;background:#fff;border:1px solid #ece6fb;border-radius:26px;padding:36px 30px 32px;overflow:hidden;transition:all .4s}
.sp-step:hover{transform:translateY(-8px);box-shadow:0 26px 60px rgba(102,0,255,.14);border-color:rgba(102,0,255,.35)}
.sp-step:hover .sp-ico{background:var(--theme-color)}
.sp-step:hover .sp-ico svg{stroke:#fff}
.sp-step .num{position:absolute;right:22px;top:6px;font-family:var(--title-font);font-size:92px;font-weight:700;line-height:1;color:rgba(102,0,255,.07)}
.sp-step h3{font-size:23px;line-height:30px;margin-bottom:10px}
.sp-step p{font-size:16px;line-height:26px}

/* avantages */
.sp-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.sp-feat{background:#fff;border:1px solid #ece6fb;border-radius:24px;padding:30px 26px;transition:all .4s}
.sp-feat:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(102,0,255,.12)}
.sp-feat:hover .sp-ico{background:var(--theme-color)}
.sp-feat:hover .sp-ico svg{stroke:#fff}
.sp-feat h3{font-size:20px;line-height:27px;margin-bottom:8px}
.sp-feat p{font-size:15.5px;line-height:25px}

/* lecture du score */
.sp-scale{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sp-level{position:relative;background:#fff;border:1px solid #ece6fb;border-radius:24px;padding:30px 28px;overflow:hidden}
.sp-level::before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:var(--lc)}
.sp-level .rng{display:inline-block;font-family:var(--title-font);font-weight:700;font-size:15px;color:var(--lc);background:color-mix(in srgb,var(--lc) 12%,#fff);padding:5px 14px;border-radius:40px;margin-bottom:16px}
.sp-level h3{font-size:22px;line-height:30px;margin-bottom:8px}
.sp-level p{font-size:15.5px;line-height:25px}
.sp-level.ok{--lc:var(--ok)}.sp-level.mid{--lc:var(--warn)}.sp-level.bad{--lc:var(--bad)}

/* FAQ accueil */
.sp-faq-wrap{max-width:820px;margin:0 auto}

/* bandeau final */
.sp-final{padding:0 0 92px}
.sp-final .box{position:relative;overflow:hidden;background:var(--secondary-color);border-radius:34px;padding:64px 30px;text-align:center}
.sp-final .box::before{content:"";position:absolute;left:-80px;bottom:-110px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(102,0,255,.6),transparent 70%)}
.sp-final .box::after{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(160,102,255,.4),transparent 70%)}
.sp-final h2{position:relative;z-index:1;color:#fff;font-size:clamp(28px,4vw,42px);line-height:1.18;letter-spacing:-1px;max-width:640px;margin:0 auto 14px}
.sp-final p{position:relative;z-index:1;color:rgba(255,255,255,.8);font-size:17px;max-width:520px;margin:0 auto 28px}
.sp-final .theme-btn{position:relative;z-index:1}

@media (max-width:1100px){.sp-feats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:991px){
  .sp-sec{padding:70px 0}
  .sp-steps,.sp-scale{grid-template-columns:1fr}
  .sp-head{margin-bottom:38px}
  .sp-final{padding-bottom:70px}
  .sp-final .box{padding:48px 22px;border-radius:26px}
}
@media (max-width:575px){.sp-feats{grid-template-columns:1fr}}