/*
  Ajouts au template NovaPay : uniquement ce que le template n'avait pas
  (sections éditoriales, tableaux, code promo, embeds, CTA collant).
  Même grammaire : variables, --silk, cartes bg2/border, Outfit pour les chiffres.
*/

/* Le template stylise toute balise <nav> : seul le menu principal en est une. */
nav:not(#mainNav){position:static;transform:none;height:auto;padding:0;background:none;border:0;z-index:auto}

.nav-logo-sub{color:var(--sky);font-weight:700}
.hero h1{font-size:clamp(38px,4.4vw,60px)}
.hero-meta{font-size:12px;color:var(--text3);margin-top:20px;letter-spacing:.02em}

/* Liens-boutons (le template utilise <button>) */
a.price-btn{display:block;text-align:center;text-decoration:none}
.price-amount sup{font-size:20px}
.price-features li{align-items:flex-start;line-height:1.5}
.price-features li svg{margin-top:3px}
.price-features li svg.x-mark{stroke:var(--red)}

/* Sections ajoutées : même rythme que les sections du template */
.verdict-section,.rules-section,.payout-section,.code-section,.alt-section,.score-section,.final-section{
  padding:100px max(48px, calc((100vw - var(--max-w)) / 2));
}
.verdict-section{border-top:1px solid var(--border)}
.verdict-grid{margin-top:56px;align-items:start}
.verdict-grid .price-card.featured .price-amount{font-size:56px}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:960px;margin:16px auto 0}
.proscons .price-features{margin:8px 0 0}
.section-note{max-width:760px;margin:40px auto 0;text-align:center;font-size:14px;color:var(--text2);font-weight:300;line-height:1.7}

/* Prose éditoriale sur fond sombre */
.np-prose{max-width:760px;margin:40px auto 0}
.np-prose p,.np-prose-p{font-size:16px;color:var(--text2);line-height:1.8;font-weight:300;margin-bottom:18px}
.np-prose p strong,.np-prose-p strong{color:var(--text);font-weight:500}
.np-prose-tight{margin:0}
.np-prose-tight p{font-size:15px;margin-bottom:14px}
.np-prose-p{margin-top:20px}
.np-prose-p em{color:var(--text)}

/* Tableaux */
.rules-section{background:var(--bg2);border-top:1px solid var(--border)}
.rules-inner{max-width:1000px;margin:0 auto}
.np-table-wrap{overflow-x:auto;margin-top:40px;border:1px solid var(--border);border-radius:16px;background:var(--bg)}
.np-table{width:100%;border-collapse:collapse;font-size:14px}
.np-table th{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);text-align:left;padding:14px 18px;background:var(--bg2);border-bottom:1px solid var(--border);white-space:nowrap}
.np-table td{padding:14px 18px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:top;line-height:1.55}
.np-table tr:last-child td{border-bottom:0}
.np-table td:first-child{color:var(--text);font-weight:500}
.np-table tbody tr{transition:background .4s var(--silk)}
.np-table tbody tr:hover{background:rgba(74,158,232,.04)}
.np-table tr.hl td{background:rgba(74,158,232,.06)}
.np-table tr.hl td:first-child{color:var(--sky)}
.np-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}
.np-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.np-status.ok{color:var(--green);background:rgba(61,204,142,.1);border:1px solid rgba(61,204,142,.2)}
.np-status.warn{color:#F0A030;background:rgba(240,160,48,.1);border:1px solid rgba(240,160,48,.2)}
.np-status.no{color:var(--red);background:rgba(232,90,90,.1);border:1px solid rgba(232,90,90,.2)}

/* Statuts des badges */
.sec-badge-status.warn,.pm-sec-status.warn{color:#F0A030}
.sec-badge-status.warn::before{background:#F0A030}
.sec-badge-status.bad,.pm-sec-status.bad{color:var(--red)}
.sec-badge-status.bad::before{background:var(--red)}
a.sec-badge{text-decoration:none;color:inherit}

/* Panneaux des règles */
.pm-risk{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px 12px}
.pm-risk-head{display:flex;justify-content:space-between;font-size:12px;color:var(--text2)}
.pm-risk-head span:last-child{font-weight:600;color:var(--text)}
.pm-spark-bar.over{background:rgba(232,90,90,.25);border-top-color:var(--red)}

/* Barres du dashboard des prix : prix au survol */
.dp-bar{position:relative}
.dp-bar-price{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:10px;color:var(--text2);white-space:nowrap;opacity:0;transition:opacity .4s var(--silk)}
.dp-bar:hover .dp-bar-price{opacity:1}
.dp-chart-period{flex-wrap:wrap}

.choose-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1100px;margin:40px auto 0}
.choose-grid.two{grid-template-columns:1fr 1fr;max-width:960px}
.choose-grid .sec-badge-desc{font-size:13px}

/* Trustpilot : écran du téléphone */
.tp-history{display:flex;flex-direction:column;gap:10px;margin-top:24px;max-width:460px}
.tp-n{color:var(--text3)!important;min-width:70px;text-align:right}
.tp-screen{border-radius:34px;overflow:hidden;aspect-ratio:9/19.5;background:var(--bg);padding:34px 16px 18px;display:flex;flex-direction:column;gap:12px}
.tp-head{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--text);text-align:center}
.tp-stars{display:flex;justify-content:center;gap:4px}
.tp-stars span{width:22px;height:22px;border-radius:4px;background:var(--bg4);border:1px solid var(--border2)}
.tp-count{text-align:center;font-size:12px;color:var(--text2)}
.tp-count small{color:var(--text3);font-size:10px}
.tp-warn,.tp-box{border-radius:10px;padding:12px;font-size:11px;line-height:1.5}
.tp-warn{background:rgba(240,160,48,.08);border:1px solid rgba(240,160,48,.3);color:var(--text2)}
.tp-box{background:var(--bg3);border:1px solid var(--border);color:var(--text2)}
.tp-warn-title{font-weight:600;color:var(--text);margin-bottom:4px;font-size:11px}
.tp-warn .tp-warn-title{color:#F0A030}
.tp-caption{margin-top:auto;text-align:center;font-size:10px;color:var(--sky);text-decoration:none}

/* Payout */
.payout-section{border-top:1px solid var(--border)}
.payout-inner{display:grid;grid-template-columns:3fr 2fr;gap:64px;align-items:start;max-width:1100px;margin:0 auto}

/* Avis */
.testi-card{text-decoration:none;display:block;transition:border-color .6s var(--silk),transform .6s var(--silk)}
.testi-card:hover{border-color:var(--border2);transform:translateY(-3px)}
.testi-stars span{display:inline-flex}
.testi-stars span.off svg{fill:var(--bg4)}
.testi-stars .testi-x{width:14px;height:14px;fill:var(--text2)}
.opinions-body{max-width:1100px;margin:64px auto 0}
.complaints-card{max-width:720px;margin:0 auto}
.sub-title{font-family:'Outfit',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.02em;margin:56px 0 20px;text-align:center}
.tweet-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.tweet-grid .twitter-tweet{margin:0!important}
blockquote.twitter-tweet{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:20px;font-size:13px;color:var(--text2);overflow-wrap:anywhere}
blockquote.twitter-tweet a{color:var(--sky)}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.yt-card{margin:0;background:var(--bg2);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.yt-card iframe,.yt-lite{width:100%;aspect-ratio:16/9;border:0;display:block}
.yt-lite{background-size:cover;background-position:center;cursor:pointer;position:relative}
.yt-play{position:absolute;inset:0;margin:auto;width:64px;height:44px;border-radius:12px;background:rgba(15,19,25,.8);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;transition:background .4s var(--silk),transform .4s var(--silk)}
.yt-lite:hover .yt-play{background:var(--sky);transform:scale(1.06)}
.yt-play svg{width:20px;height:20px;fill:var(--text)}
.yt-card figcaption{padding:14px 18px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text3)}
.yt-card figcaption strong{color:var(--text);font-weight:500;font-size:14px}
.reddit-p{max-width:760px;margin:48px auto 0;text-align:center}
.experts-grid{grid-template-columns:repeat(3,1fr)}
.expert-score{font-family:'Outfit',sans-serif;color:var(--sky);margin-left:6px}

/* Code promo */
.code-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.code-section::before{
  content:'';position:absolute;top:0;right:0;width:100%;height:100%;
  background-image:
    repeating-linear-gradient(45deg,transparent 0,transparent 119px,rgba(74,158,232,.35) 119px,rgba(74,158,232,.35) 120px),
    repeating-linear-gradient(-45deg,transparent 0,transparent 119px,rgba(74,158,232,.35) 119px,rgba(74,158,232,.35) 120px);
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 0%,#000 0%,transparent 70%);
  mask-image:radial-gradient(ellipse 100% 100% at 100% 0%,#000 0%,transparent 70%);
  pointer-events:none;z-index:0;
}
.code-section > *{position:relative;z-index:1}
.code-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1100px;margin:0 auto}
.code-steps{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:8px}
.code-steps li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--text2);line-height:1.6}
.code-step-n{flex-shrink:0;width:28px;height:28px;border-radius:8px;background:rgba(74,158,232,.1);border:1px solid rgba(74,158,232,.25);color:var(--sky);font-family:'Outfit',sans-serif;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.code-card{padding-top:40px}
.code-copy{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);border:1px dashed var(--sky3);border-radius:12px;padding:16px 18px;cursor:pointer;margin-bottom:12px;transition:border-color .5s var(--silk),background .5s var(--silk)}
.code-copy:hover,.code-copy.copied{border-color:var(--sky);background:var(--sky4)}
.code-value{font-family:'Outfit',sans-serif;font-size:32px;font-weight:800;letter-spacing:.04em;color:var(--text)}
.code-copy-label{font-size:13px;font-weight:600;color:var(--sky)}
.code-others{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.code-others .dp-alloc-name{line-height:1.5}
.code-others strong{color:var(--text)}

/* Voto */
.score-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1100px;margin:0 auto}
.score-big{font-size:clamp(56px,7vw,96px)}
.score-w{color:var(--text3)}

/* FAQ : réponses plus longues que celles du template */
.faq-item.open .faq-a{max-height:420px}
h3.faq-q{font:inherit}

/* Verdict final */
.final-section{text-align:center;border-top:1px solid var(--border);position:relative;overflow:hidden}
.final-section::before{
  content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:600px;
  background:radial-gradient(circle,rgba(74,158,232,.08) 0%,transparent 70%);pointer-events:none;
}
.final-inner{max-width:760px;margin:0 auto;position:relative}
.legal-box{max-width:900px;margin:64px auto 0;padding:24px;background:var(--bg2);border:1px solid var(--border);border-radius:16px;text-align:left;position:relative}
.legal-box p{font-size:12px;color:var(--text3);line-height:1.7}
.legal-box p + p{margin-top:12px}
.legal-box strong{color:var(--text2);font-weight:500}

/* CTA collant */
.sticky-cta{
  position:fixed;left:50%;bottom:20px;transform:translate(-50%,140%);z-index:90;
  display:flex;align-items:center;gap:16px;
  background:rgba(20,25,32,.92);backdrop-filter:blur(20px);
  border:1px solid var(--border2);border-radius:14px;padding:10px 10px 10px 20px;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
  transition:transform .6s var(--silk);
}
.sticky-cta.show{transform:translate(-50%,0)}
.sticky-cta-text{font-size:14px;color:var(--text2);white-space:nowrap}
.sticky-cta-text strong{color:var(--text);font-family:'Outfit',sans-serif;letter-spacing:.04em}

/* Pages annexes */
.legal-page{padding:calc(36px + var(--nav-h) + 60px) max(48px, calc((100vw - var(--max-w)) / 2)) 100px;max-width:900px}

@media(max-width:900px){
  .verdict-section,.rules-section,.payout-section,.code-section,.alt-section,.score-section,.final-section{padding:60px 24px}
  .proscons,.payout-inner,.code-inner,.score-inner,.tweet-grid,.video-grid{grid-template-columns:1fr;gap:32px}
  .choose-grid,.choose-grid.two,.experts-grid{grid-template-columns:1fr 1fr}
  .dp-topbar{flex-direction:column;align-items:flex-start;gap:12px}
  .legal-page{padding:calc(36px + var(--nav-h) + 40px) 24px 60px}
}
@media(max-width:600px){
  .choose-grid,.choose-grid.two,.experts-grid{grid-template-columns:1fr}
  .sticky-cta{left:12px;right:12px;transform:translateY(140%);justify-content:space-between;padding:8px 8px 8px 14px}
  .sticky-cta.show{transform:translateY(0)}
  .sticky-cta-text{font-size:12px;white-space:normal}
  .code-value{font-size:26px}
  .np-table{font-size:13px}
}
.verdict-grid .price-card.featured .price-amount sup{font-size:22px;margin:10px 0 0 6px;color:var(--text2)}
#taglie .dp-chart-area{display:flex;flex-direction:column}
#dpBars{flex:1;height:auto!important;min-height:200px;padding-top:28px!important}
.dp-bar-price{opacity:.85}
.dp-bar:hover .dp-bar-price{color:var(--text)}
@media(max-width:600px){.hero h1 br{display:none}}
