/* ════════════════════════════════
   PRICING — Tarifs page
════════════════════════════════ */

/* ─── Shared ─── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;font-family:var(--font-body);font-size:14px;font-weight:500;color:#fff;background:var(--ncp-primary);border:none;border-radius:8px;text-decoration:none;cursor:pointer;letter-spacing:.01em;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(28,42,58,.2)}
.btn-primary--large{padding:12px 28px;font-size:15px}
.btn-primary--large:hover{box-shadow:0 12px 40px rgba(28,42,58,.3)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--text);background:transparent;border:1px solid rgba(28,42,58,.25);border-radius:8px;text-decoration:none;cursor:pointer;letter-spacing:.01em;transition:background .2s var(--ease),border-color .2s var(--ease)}
.btn-outline:hover{background:rgba(28,42,58,.04);border-color:rgba(28,42,58,.4)}
.btn-outline--light{border-color:rgba(28,42,58,.2)}

.section-label{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--ncp-primary);border-radius:100px;margin-bottom:24px;letter-spacing:.02em;position:relative;background:#fff;z-index:0}
.section-label::before{content:'';position:absolute;inset:-1px;border-radius:100px;background:conic-gradient(from var(--label-angle,0deg),var(--ncp-secondary),var(--ncp-primary),var(--ncp-secondary),var(--ncp-primary),var(--ncp-secondary));z-index:-2;animation:labelGlow 4s linear infinite}
.section-label::after{content:'';position:absolute;inset:1px;border-radius:100px;background:#fff;z-index:-1}
@property --label-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes labelGlow{to{--label-angle:360deg}}
.section-label svg{width:14px;height:14px;stroke:var(--ncp-primary);fill:none;stroke-width:2}

[data-reveal]{opacity:0;transform:translateY(24px)}


/* ════════════════════════════════
   SECTION 1 — HERO (compact)
════════════════════════════════ */
.pricing-hero{position:relative;min-height:auto;padding:clamp(50px,0vw,160px) 0 clamp(40px,5vw,64px);display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}
.pricing-hero-mesh{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%,rgba(216,225,234,.5),transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(28,42,58,.08),transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(216,225,234,.3),transparent 60%),#F7F8FA;animation:heroMeshMove 16s ease infinite}
@keyframes heroMeshMove{0%,100%{background-position:0% 0%,100% 100%,50% 50%}25%{background-position:10% 20%,90% 80%,40% 60%}50%{background-position:5% 10%,95% 90%,55% 45%}75%{background-position:15% 5%,85% 85%,45% 55%}}

.pricing-hero-inner{position:relative;z-index:1;max-width:800px;margin:0 auto;padding:0 var(--container-pad)}
.pricing-hero-headline{font-family:var(--font-heading);font-size:clamp(32px,calc(26px + 2vw),52px);font-weight:700;color:var(--text);line-height:1.15;letter-spacing:-.02em;margin-bottom:20px}
.pricing-hero-headline .word{display:inline-block;opacity:0;transform:translateY(12px)}
.pricing-hero-sub{font-family:var(--font-body);font-size:clamp(16px,calc(14px + .3vw),19px);font-weight:400;color:var(--text-muted);line-height:1.7;max-width:560px;margin:0 auto 28px;opacity:0;transform:translateY(20px)}

.pricing-hero-pills{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;opacity:0;transform:translateY(16px)}
.pricing-hero-pill{padding:6px 16px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-muted);background:rgba(28,42,58,.04);border:1px solid rgba(28,42,58,.08);border-radius:100px}


/* ════════════════════════════════
   SECTION 2 — PLANS
════════════════════════════════ */
.plans{position:relative;padding:clamp(32px,4vw,56px) 0 clamp(48px,6vw,96px);background:#fff;overflow:hidden}
.plans-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(216,225,234,.35),transparent 65%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;filter:blur(100px)}
.plans-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 var(--container-pad)}

/* Switcher */
.plans-switcher{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:48px}
.plans-switcher-label{font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--text-muted);transition:color .2s}
.plans-switcher-label.active{color:var(--text);font-weight:600}
.plans-switcher-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;color:#22C55E;background:rgba(34,197,94,.1);border-radius:100px;margin-left:4px}
.plans-toggle{position:relative;width:48px;height:28px;background:var(--ncp-secondary);border:none;border-radius:14px;cursor:pointer;padding:0;transition:background .2s}
.plans-toggle[aria-pressed="true"]{background:var(--ncp-primary)}
.plans-toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .2s var(--ease);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.plans-toggle[aria-pressed="true"] .plans-toggle-knob{transform:translateX(20px)}

/* Grid */
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:center}

/* Card */
.plan-card{background:#fff;border:1px solid var(--border-light);border-radius:20px;padding:36px 28px;display:flex;flex-direction:column;box-shadow:0 4px 20px rgba(28,42,58,.04);transition:transform .3s var(--ease),box-shadow .3s var(--ease);position:relative}
.plan-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(28,42,58,.08)}

/* Popular */
.plan-card--popular{border:2px solid var(--ncp-primary);transform:translateY(-12px);background:linear-gradient(180deg,rgba(216,225,234,.08) 0%,#fff 40%);box-shadow:0 8px 40px rgba(28,42,58,.1)}
.plan-card--popular:hover{transform:translateY(-16px);box-shadow:0 12px 48px rgba(28,42,58,.14)}

/* Prestige */
.plan-card--prestige{background:#FAFBFC}

/* Badges */
.plan-card-badges{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.plan-badge{padding:4px 12px;font-family:var(--font-body);font-size:11px;font-weight:600;color:#fff;background:var(--ncp-primary);border-radius:100px;letter-spacing:.02em}
.plan-badge--alt{background:var(--ncp-accent);color:var(--text)}

/* Header */
.plan-card-header{margin-bottom:24px}
.plan-card-name{font-family:var(--font-heading);font-size:clamp(22px,calc(20px + .4vw),26px);font-weight:700;color:var(--text);margin-bottom:8px}
.plan-card-subtitle{font-family:var(--font-body);font-size:14px;color:var(--text-muted);line-height:1.5;margin-bottom:20px}
.plan-card-price{display:flex;align-items:baseline;gap:4px}
.plan-amount{font-family:var(--font-heading);font-size:clamp(36px,calc(32px + 1vw),48px);font-weight:700;color:var(--text);line-height:1;letter-spacing:-.02em;transition:opacity .3s}
.plan-period{font-family:var(--font-body);font-size:16px;color:var(--text-muted);font-weight:400}

/* Features */
.plan-features{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px;flex:1}
.plan-feature{display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:14px;line-height:1.5;padding:6px 8px;border-radius:8px}
.plan-feature svg{width:16px;height:16px;flex-shrink:0;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
.plan-feature--yes{color:var(--text)}
.plan-feature--yes svg{stroke:#22C55E}
.plan-feature--no{color:rgba(220,38,38,.5);background:rgba(220,38,38,.05)}
.plan-feature--no svg{stroke:rgba(220,38,38,.4)}

/* Footer */
.plan-card-footer{margin-top:auto;display:flex;flex-direction:column;gap:16px}
.plan-upsell{font-family:var(--font-body);font-size:13px;color:var(--text-muted);line-height:1.5;padding:12px;background:rgba(28,42,58,.03);border-radius:10px}
.plan-upsell strong{color:var(--ncp-primary)}
.plan-market-value{font-family:var(--font-body);font-size:13px;color:var(--text-muted);line-height:1.5;padding:12px;background:rgba(28,42,58,.03);border-radius:10px}
.plan-market-value strong{color:var(--text);white-space:nowrap}
.plan-mention{font-family:var(--font-body);font-size:13px;color:var(--text-muted);font-style:italic;line-height:1.5}
.plan-cta{width:100%;justify-content:center}


/* ════════════════════════════════
   SECTION 3 — COMPARATIF
════════════════════════════════ */
.compare{position:relative;padding:clamp(48px,6vw,96px) 0;background:var(--bg-light);overflow:hidden}
.compare-inner{position:relative;z-index:1;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.compare-header{text-align:center;margin-bottom:56px}
.compare-title{font-family:var(--font-heading);font-size:var(--fs-h2);font-weight:700;color:var(--text);line-height:1.25;letter-spacing:-.01em;margin-bottom:16px;max-width:600px;margin-left:auto;margin-right:auto}
.compare-subtitle{font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-muted);line-height:1.6;max-width:500px;margin:0 auto}

/* ─── Comparison blocks ─── */
.cmp-block{background:#fff;border:1px solid var(--border-light);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(28,42,58,.04);margin-bottom:24px}
.cmp-block--market{background:rgba(28,42,58,.03);border:none;box-shadow:none}

.cmp-block-title{display:flex;align-items:center;gap:8px;padding:14px 24px;font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;background:rgba(28,42,58,.02);border-bottom:1px solid var(--border-light)}
.cmp-block-title svg{width:14px;height:14px;stroke:var(--ncp-primary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.6}

/* Grid header (Essentiel / Avancé / Prestige) */
.cmp-grid-header{display:grid;grid-template-columns:30% 1fr 1fr 1fr;border-bottom:1px solid var(--border-light)}
.cmp-gh-label{padding:12px 24px}
.cmp-gh{padding:12px 16px;font-family:var(--font-heading);font-size:14px;font-weight:600;color:var(--text);text-align:center}
.cmp-gh--pop{background:rgba(28,42,58,.04)}

/* Grid rows */
.cmp-grid-row{display:grid;grid-template-columns:30% 1fr 1fr 1fr}
.cmp-grid-row:nth-child(odd){background:rgba(0,0,0,.02)}
.cmp-grid-row > div{padding:14px 24px;font-family:var(--font-body);font-size:14px;color:var(--text);text-align:center;display:flex;align-items:center;justify-content:center}
.cmp-grid-row > div:first-child{text-align:left;justify-content:flex-start;font-weight:500}

/* Popular column */
.cmp-pop{background:rgba(28,42,58,.04)}

/* SVG icons */
.cmp-ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}
.cmp-ico svg{width:20px;height:20px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.cmp-ico--yes svg{stroke:#22C55E;fill:rgba(34,197,94,.1)}
.cmp-ico--no svg{stroke:rgba(220,38,38,.35);fill:rgba(220,38,38,.05)}

/* Text values */
.cmp-val{font-weight:500;color:var(--text-muted)}
.cmp-val--bold{font-weight:700;color:var(--ncp-primary)}

/* Market value */
.cmp-grid-row--market > div{padding:20px 24px;font-weight:600}
.cmp-grid-row--market > div:first-child{color:var(--text)}
.cmp-market-val{font-weight:600;color:var(--text)}
.cmp-market-val--bold{font-weight:700;color:var(--ncp-primary)}

/* CTA text */
.compare-cta-text{font-family:var(--font-body);font-size:16px;color:var(--text-muted);text-align:center;margin-top:32px;line-height:1.6}
.compare-cta-text strong{color:var(--text)}


/* ════════════════════════════════
   SECTION 4 — FAQ
════════════════════════════════ */
.faq-section{position:relative;padding:clamp(40px,5vw,72px) 0;background:#fff;overflow:hidden}
.faq-section-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(216,225,234,.3),transparent 65%);top:-100px;left:50%;transform:translateX(-50%);pointer-events:none;filter:blur(120px)}
.faq-section-inner{position:relative;z-index:1;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);display:flex;gap:80px;align-items:flex-start}
.faq-left{flex:0 0 35%;position:sticky;top:120px}
.faq-left-title{font-family:var(--font-heading);font-size:clamp(28px,calc(24px + 1vw),36px);font-weight:700;color:var(--text);line-height:1.3;margin-bottom:16px}
.faq-decorative{display:block;font-family:var(--font-heading);font-size:200px;font-weight:700;color:var(--ncp-primary);opacity:.04;line-height:1;margin-top:24px;pointer-events:none;user-select:none}
.faq-right{flex:1}
.faq-item{border-bottom:1px solid var(--border-light)}
.faq-item-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 0;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:17px;font-weight:600;color:var(--text);text-align:left;gap:16px;transition:color .2s}
.faq-item-header:hover{color:var(--ncp-primary)}
.faq-item-icon{font-size:22px;font-weight:300;color:var(--text-muted);flex-shrink:0;transition:transform .35s var(--ease);line-height:1}
.faq-item.open .faq-item-icon{transform:rotate(45deg)}
.faq-item-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-item-body{max-height:300px}
.faq-item-answer{padding:0 0 24px;font-family:var(--font-body);font-size:15px;color:var(--text-muted);line-height:1.7;background:rgba(216,225,234,.08);padding:16px;border-radius:12px}


/* ════════════════════════════════
   SECTION 5 — CTA FINAL
════════════════════════════════ */
.final-cta{position:relative;padding:clamp(48px,6vw,96px) 0;overflow:hidden;text-align:center}
.final-cta-mesh{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%,rgba(216,225,234,.6),transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(28,42,58,.1),transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(216,225,234,.3),transparent 60%),#F7F8FA;animation:meshMove 12s ease infinite}
@keyframes meshMove{0%,100%{background-position:0% 0%,100% 100%,50% 50%}33%{background-position:10% 20%,90% 80%,40% 60%}66%{background-position:5% 10%,95% 90%,55% 45%}}
.final-cta-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.particle{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(28,42,58,.12);animation:particleFloat 8s ease-in-out infinite}
.particle:nth-child(1){top:20%;left:15%;animation-duration:9s}
.particle:nth-child(2){top:60%;left:75%;animation-delay:-2s;animation-duration:7s;width:3px;height:3px}
.particle:nth-child(3){top:35%;left:85%;animation-delay:-4s;animation-duration:11s;width:5px;height:5px}
.particle:nth-child(4){top:75%;left:25%;animation-delay:-1s;animation-duration:8s}
.particle:nth-child(5){top:15%;left:55%;animation-delay:-3s;animation-duration:10s;width:3px;height:3px}
@keyframes particleFloat{0%,100%{transform:translate(0,0);opacity:.3}25%{transform:translate(15px,-20px);opacity:.6}50%{transform:translate(-10px,-35px);opacity:.4}75%{transform:translate(20px,-15px);opacity:.5}}
.final-cta-inner{position:relative;z-index:1;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.final-cta-title{font-family:var(--font-heading);font-size:clamp(36px,calc(28px + 2.5vw),56px);font-weight:700;color:var(--text);line-height:1.15;letter-spacing:-.02em;margin-bottom:20px;max-width:700px;margin-left:auto;margin-right:auto}
.final-cta-subtitle{font-family:var(--font-body);font-size:clamp(16px,calc(14px + .3vw),20px);color:var(--text-muted);line-height:1.6;margin-bottom:40px;max-width:560px;margin-left:auto;margin-right:auto}
.final-cta-actions{display:flex;justify-content:center;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.final-cta-reassurance{font-family:var(--font-body);font-size:14px;color:var(--text-muted);letter-spacing:.01em}


/* ════════════════════════════════
   RESPONSIVE
════════════════════════════════ */
@media(max-width:1024px){
    .plans-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}
    .plan-card--popular{transform:none}
    .plan-card--popular:hover{transform:translateY(-4px)}
}

@media(max-width:768px){
    .pricing-hero{padding:50px 0 48px}
    .pricing-hero-pills{flex-direction:column;align-items:center}

    /* Compare blocks — stacked cards */
    .cmp-grid-header{display:none}
    .cmp-grid-row,.cmp-grid-row--market{display:flex;flex-direction:column;background:#fff;border-radius:12px;border:1px solid var(--border-light);margin:8px 12px;overflow:hidden}
    .cmp-grid-row > div{padding:10px 16px;text-align:left;justify-content:flex-start;font-size:13px}
    .cmp-grid-row > div:first-child{background:var(--bg-light);font-weight:600;padding:10px 16px;border-bottom:1px solid var(--border-light)}
    .cmp-grid-row > div:nth-child(2)::before,.cmp-grid-row > div:nth-child(3)::before,.cmp-grid-row > div:nth-child(4)::before{font-family:var(--font-body);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-right:8px;flex-shrink:0}
    .cmp-grid-row > div:nth-child(2)::before{content:'Essentiel :';color:var(--text-muted)}
    .cmp-grid-row > div:nth-child(3)::before{content:'Avancé :';color:var(--ncp-primary)}
    .cmp-grid-row > div:nth-child(4)::before{content:'Prestige :';color:var(--text-muted)}
    .cmp-grid-row > div:nth-child(3){background:rgba(28,42,58,.02);border-left:2px solid var(--ncp-primary)}
    .cmp-block{margin-bottom:16px}
    .cmp-block-title{padding:12px 16px;font-size:10px}
    .cmp-block--market{background:transparent}
    .cmp-grid-row--market{margin:0 12px}
    .cmp-grid-row:nth-child(odd){background:#fff}

    /* FAQ */
    .faq-section-inner{flex-direction:column;gap:40px}
    .faq-left{position:static;flex:none}
    .faq-decorative{display:none}

    /* Final CTA */
    .final-cta-actions{flex-direction:column;align-items:center}
    .final-cta-actions .btn-primary,.final-cta-actions .btn-outline{width:100%;max-width:360px;justify-content:center}
}

@media(max-width:480px){
    .pricing-hero-headline{font-size:clamp(26px,calc(22px + 2vw),36px)}
}
