/* Rachat3a.ch — identité : bleu nuit, vert menthe, fond sable */
:root{
  --nuit:#0b2545;--nuit-2:#13315c;--encre:#1d2b3a;--doux:#5c6b7a;
  --menthe:#14b88a;--menthe-fonce:#0e8f6b;--menthe-clair:#e3f7f0;
  --sable:#faf7f2;--sable-2:#f2ece2;--blanc:#fff;--bord:#e7e1d6;
  --soleil:#ffc94d;--soleil-clair:#fff6dc;--rouge:#d9475b;--rouge-clair:#fdecee;
  --ombre:0 1px 2px rgba(11,37,69,.05),0 8px 24px rgba(11,37,69,.07);
  --ombre-forte:0 2px 4px rgba(11,37,69,.06),0 20px 50px rgba(11,37,69,.14);
  --font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sable);color:var(--encre);font-family:var(--font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--menthe-fonce)}
h1,h2,h3,h4{font-weight:800;line-height:1.12;margin:0;color:var(--nuit);letter-spacing:-.02em;text-wrap:balance}
p{margin:0 0 1rem}
::selection{background:var(--soleil)}
:focus-visible{outline:3px solid var(--menthe);outline-offset:3px;border-radius:6px}
.wrap{max-width:1140px;margin:0 auto;padding:0 max(16px,1.25rem)}
.etroit{max-width:780px}

/* En-tête */
.entete{position:sticky;top:0;z-index:50;background:rgba(250,247,242,.9);backdrop-filter:blur(10px) saturate(1.4);border-bottom:1px solid var(--bord)}
.entete .wrap{display:flex;align-items:center;gap:1.2rem;height:68px}
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--nuit);font-weight:800;font-size:1.25rem;letter-spacing:-.03em}
.logo svg{width:34px;height:34px;flex:none}
.logo .ch{color:var(--menthe-fonce)}
.entete nav{display:flex;gap:.2rem;margin-left:auto}
.entete nav a{text-decoration:none;color:var(--encre);font-weight:600;font-size:.95rem;padding:.45rem .75rem;border-radius:10px}
.entete nav a:hover,.entete nav a[aria-current="page"]{background:var(--sable-2);color:var(--nuit)}
.menu-btn{display:none;margin-left:auto;background:none;border:0;padding:.5rem;cursor:pointer;font:700 .95rem var(--font);color:var(--nuit)}
@media (max-width:900px){
  .entete nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--blanc);flex-direction:column;padding:.8rem 1rem 1.2rem;border-bottom:1px solid var(--bord);box-shadow:var(--ombre)}
  .entete nav.ouvert{display:flex}
  .entete nav a{padding:.8rem .6rem;font-size:1.05rem}
  .menu-btn{display:block}
  .entete .cta-entete{display:none}
}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 1.02rem var(--font);padding:.95rem 1.5rem;border-radius:14px;border:0;background:var(--menthe);color:#fff;cursor:pointer;text-decoration:none;line-height:1.2;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s}
.btn:hover{background:var(--menthe-fonce);transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,184,138,.3)}
.btn:active{transform:translateY(1px) scale(.98)}
.btn-petit{padding:.6rem 1rem;font-size:.92rem;border-radius:11px}
.btn-jaune{background:var(--soleil);color:var(--nuit)}
.btn-jaune:hover{background:#ffbe2e;box-shadow:0 10px 22px rgba(255,201,77,.4)}
.btn.ghost{background:none;color:var(--menthe-fonce);padding:.4rem;text-decoration:underline;text-underline-offset:3px;box-shadow:none}
.btn.ghost:hover{transform:none;background:none;box-shadow:none}

/* Hero */
.hero{background:var(--nuit);color:#fff;padding:clamp(2.6rem,6vw,4.6rem) 0 clamp(7.5rem,11vw,9rem);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,138,.35),transparent 65%)}
.hero .wrap{position:relative}
.hero h1{color:#fff;font-size:clamp(2.1rem,5.4vw,3.6rem);max-width:820px}
.hero h1 em{font-style:normal;color:var(--soleil)}
.hero .lead{font-size:clamp(1.05rem,2vw,1.22rem);color:#c3d2e6;max-width:62ch;margin:1.1rem 0 0}
.pastille{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);color:#fff;font-size:.85rem;font-weight:700;padding:.4rem .85rem;border-radius:999px;margin-bottom:1.1rem}
.pastille i{width:8px;height:8px;border-radius:50%;background:var(--soleil);box-shadow:0 0 0 4px rgba(255,201,77,.25)}
.coches{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}
.coches li{display:flex;gap:.55rem;font-weight:600;color:#e6eef8}
.coches li::before{content:"✓";color:var(--menthe);font-weight:800}
.hero-page{padding-bottom:clamp(2.6rem,6vw,4rem)}
.fil{font-size:.88rem;color:#9fb3cc;margin-bottom:1rem}
.fil a{color:#c3d2e6}

/* Outil */
.tool{margin-top:-6rem;position:relative;z-index:2}
.card{background:#fff;border-radius:24px;box-shadow:var(--ombre-forte);border:1px solid var(--bord)}
.tool .card{padding:clamp(1.3rem,3vw,2.2rem);max-width:860px;margin:0 auto}
.tool-head h2{font-size:clamp(1.25rem,2.6vw,1.55rem)}
.progression{display:flex;align-items:center;gap:.8rem;margin:1rem 0 1.7rem}
.progression .barre{flex:1;height:10px;background:var(--sable-2);border-radius:999px;overflow:hidden}
.progression .barre i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--menthe),var(--nuit-2));border-radius:999px;transition:width .45s cubic-bezier(.34,1.56,.64,1)}
.progression b{font-size:.9rem;color:var(--nuit);white-space:nowrap}
.q{display:none}
.q.active{display:block;animation:apparait .4s ease both}
@keyframes apparait{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes pop{from{transform:scale(.93);opacity:0}to{transform:none;opacity:1}}
.q h3{font-size:clamp(1.25rem,3vw,1.6rem);margin:0 0 .5rem;line-height:1.25}
.q .hint{color:var(--doux);font-size:.96rem;margin:0 0 1.3rem}
.choices{display:grid;gap:.6rem}
.choice{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;font:600 1.02rem var(--font);padding:1rem 1.1rem;border:2px solid var(--bord);border-radius:14px;background:#fff;cursor:pointer;color:var(--encre);transition:all .15s}
.choice:hover{border-color:var(--menthe);background:var(--menthe-clair);transform:translateX(3px)}
.choice .dot{width:22px;height:22px;border-radius:50%;border:3px solid var(--sable-2);flex:none;transition:all .15s}
.choice:hover .dot{border-color:var(--menthe);background:var(--menthe)}
.field{margin-bottom:1rem}
.field label{display:block;font-weight:700;font-size:.92rem;margin-bottom:.35rem}
.money{display:flex;align-items:stretch;border:2px solid var(--bord);border-radius:12px;overflow:hidden;background:#fff}
.money:focus-within{border-color:var(--menthe)}
.money span{padding:0 1rem;color:var(--doux);font-weight:700;background:var(--sable);display:flex;align-items:center}
.money input{border:0;outline:0;font:600 1.1rem var(--font);color:var(--encre);padding:.85rem 1rem;width:100%;min-width:0}
.nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;gap:1rem}
.err{background:var(--rouge-clair);color:#8c2235;padding:.8rem 1rem;border-radius:12px;font-size:.95rem;margin:.5rem 0 0;display:none}
.result{display:none}
.result.active{display:block;animation:apparait .4s ease both}
.verdict{border-radius:18px;padding:1.3rem 1.4rem;margin-bottom:1.2rem;animation:pop .35s cubic-bezier(.34,1.56,.64,1)}
.verdict.ok{background:var(--menthe-clair);border:2px solid #b4e9d7}
.verdict.no{background:var(--rouge-clair);border:2px solid #f5c6cd}
.verdict.wait{background:var(--soleil-clair);border:2px solid #f6df9c}
.verdict h3{font-size:clamp(1.25rem,3vw,1.6rem);margin:0 0 .4rem}
.verdict.ok h3{color:var(--menthe-fonce)}.verdict.no h3{color:var(--rouge)}.verdict.wait h3{color:#8a6400}
.verdict p{margin:0}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1.2rem}
.kpi{background:var(--sable);border-radius:14px;padding:.9rem 1rem;text-align:center}
.kpi small{display:block;font-size:.8rem;color:var(--doux);font-weight:600}
.kpi b{font-size:clamp(1.3rem,3vw,1.6rem);font-variant-numeric:tabular-nums;color:var(--nuit)}
.kpi.hl{background:var(--nuit)}
.kpi.hl small{color:#a9bcd6}.kpi.hl b{color:var(--soleil)}
.rate{background:#fff;border:1px solid var(--bord);border-radius:16px;padding:1.1rem 1.2rem;margin-bottom:1.2rem}
.rate-top{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;gap:1rem}
.rate-top output{white-space:nowrap;color:var(--menthe-fonce);font-size:1.6rem;font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:6px;background:linear-gradient(to right,var(--menthe) var(--p,43%),var(--sable-2) var(--p,43%));outline:none;margin:1rem 0 .8rem;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2);border:3px solid var(--menthe);cursor:grab}
input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid var(--menthe)}
.rate p{margin:0;font-size:.85rem;color:var(--doux)}
.reasons{margin:0 0 1rem;padding-left:1.2rem}
.reasons li{margin-bottom:.45rem}
.detail{font-size:.9rem;color:var(--doux);background:var(--soleil-clair);border-radius:14px;padding:.9rem 1.1rem;margin-bottom:1rem}
.lead-box{background:var(--nuit);color:#fff;border-radius:22px;padding:clamp(1.4rem,3vw,2rem);margin-top:1.4rem}
.lead-box h4{margin:0 0 .3rem;font-size:1.4rem;color:#fff}
.lead-box p{margin:0 0 1rem;color:#c3d2e6}
.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.lead-grid input{font:500 1rem var(--font);color:var(--encre);padding:.85rem 1rem;border-radius:12px;border:2px solid transparent;width:100%}
.lead-grid input:focus{outline:none;border-color:var(--soleil)}
.lead-grid .full{grid-column:1/-1}
.lead-box .btn{width:100%;margin-top:.8rem}
.lead-ok{display:none;background:rgba(255,255,255,.1);border-radius:14px;padding:.9rem 1rem;margin-top:.8rem;animation:pop .35s ease}
.lead-ok a{color:var(--soleil)}
.legal{font-size:.78rem;color:#9fb3cc;margin:.8rem 0 0}

/* Contenu */
section.bloc{padding:clamp(3rem,7vw,5rem) 0}
section.bloc.blanc{background:#fff}
.titre-section{font-size:clamp(1.7rem,3.6vw,2.4rem);margin:0 0 1rem}
.sous{color:var(--doux);font-size:1.1rem;max-width:62ch}
.prose h2{font-size:clamp(1.5rem,3.2vw,2rem);margin:2.4rem 0 .8rem}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.2rem;margin:1.8rem 0 .5rem}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li{margin-bottom:.45rem}
.grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:2.5rem;align-items:start}
.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin:1.4rem 0}
.rule{background:#fff;border:1px solid var(--bord);border-radius:18px;padding:1.2rem 1.3rem;transition:transform .2s,box-shadow .2s}
.rule:hover{transform:translateY(-3px);box-shadow:var(--ombre-forte)}
.rule .n{width:38px;height:38px;border-radius:12px;background:var(--nuit);color:var(--soleil);font-weight:800;display:grid;place-items:center;margin-bottom:.7rem}
.rule b{display:block;font-size:1.05rem;color:var(--nuit)}
.rule span{font-size:.96rem;color:var(--doux)}
.table-wrap{overflow-x:auto;border-radius:18px;margin:1rem 0}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--bord);font-size:.97rem}
th,td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--bord);vertical-align:top}
thead th{background:var(--nuit);color:#fff}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:0}
.exemple{background:#fff;border-left:5px solid var(--soleil);border-radius:14px;padding:1.1rem 1.3rem;box-shadow:var(--ombre);margin:1rem 0}
.exemple p:last-child{margin:0}
.alerte{background:var(--menthe-clair);border-radius:14px;padding:1rem 1.2rem;margin:1rem 0}
.alerte p:last-child{margin:0}
.guides{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.6rem}
.guide{display:block;background:#fff;border:1px solid var(--bord);border-radius:20px;padding:1.4rem;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.guide:hover{transform:translateY(-5px);box-shadow:var(--ombre-forte)}
.guide .emo{font-size:1.8rem;display:block;margin-bottom:.5rem}
.guide b{display:block;font-size:1.08rem;color:var(--nuit);margin-bottom:.3rem}
.guide span{font-size:.93rem;color:var(--doux)}
.guide .fl{display:block;margin-top:.7rem;font-weight:700;color:var(--menthe-fonce);font-size:.93rem}
aside .card{padding:1.5rem;position:sticky;top:90px}
aside h3{font-size:1.2rem;margin:0 0 .8rem}
aside ul{list-style:none;padding:0;margin:0 0 1.2rem}
aside li{display:flex;gap:.55rem;margin-bottom:.55rem;font-size:.97rem}
aside li::before{content:"✓";color:var(--menthe-fonce);font-weight:800}
aside .btn{width:100%}
.faq details{background:#fff;border:1px solid var(--bord);border-radius:16px;margin-bottom:.8rem}
.faq details[open]{box-shadow:var(--ombre)}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 3.2rem 1.15rem 1.4rem;font-weight:700;font-size:1.05rem;position:relative;color:var(--nuit)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--sable);color:var(--nuit);display:grid;place-items:center;font-size:1.3rem;transition:transform .25s,background .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);background:var(--menthe);color:#fff}
.faq details p{padding:0 1.4rem 1.2rem;margin:0;color:var(--doux)}
.cta-bande{background:linear-gradient(135deg,var(--nuit),var(--nuit-2));border-radius:28px;padding:clamp(2rem,5vw,3.2rem);text-align:center;color:#fff}
.cta-bande h2{color:#fff;max-width:24ch;margin:0 auto 1rem;font-size:clamp(1.6rem,3.4vw,2.3rem)}
.cta-bande p{color:#c3d2e6;max-width:52ch;margin:0 auto 1.4rem}
.maj{font-size:.85rem;color:var(--doux);margin-top:1.5rem}

/* Pied */
.pied{background:var(--nuit);color:#a9bcd6;padding:3rem 0 2rem;font-size:.92rem}
.pied a{color:#fff;text-decoration:none}
.pied a:hover{text-decoration:underline}
.pied .grille{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem}
.pied h4{color:#fff;font-size:1rem;margin-bottom:.7rem}
.pied ul{list-style:none;padding:0;margin:0}
.pied li{margin-bottom:.4rem}
.pied .logo{color:#fff;margin-bottom:.8rem}
.pied .bas{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1.2rem;font-size:.8rem}
.flottant{display:none}
@media (max-width:900px){.guides{grid-template-columns:1fr 1fr}}
@media (max-width:820px){
  .grid2{grid-template-columns:1fr}
  aside .card{position:static}
  .kpis,.rules,.lead-grid{grid-template-columns:1fr}
  .pied .grille{grid-template-columns:1fr}
}
@media (max-width:760px){
  .flottant{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:45}
  .flottant .btn{flex:1;box-shadow:var(--ombre-forte)}
  body{padding-bottom:80px}
}
@media (max-width:520px){.guides{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.guides-blog{grid-template-columns:repeat(3,1fr)}
.pill-date{display:inline-block;font-size:.78rem;font-weight:700;color:var(--menthe-fonce);background:var(--menthe-clair);padding:.2rem .6rem;border-radius:999px;margin-bottom:.6rem}
@media (max-width:900px){.guides-blog{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.guides-blog{grid-template-columns:1fr}}
.entete nav a{white-space:nowrap}

/* Ajouts production */
.hidden{display:none!important}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;line-height:1.45;margin:.8rem 0}
.consent input{width:18px;height:18px;margin-top:2px;flex:none}
.form-card{background:#fff;border:1px solid var(--bord);border-radius:18px;padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--ombre)}
.form-card .grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.form-card label{display:block;font-weight:600;font-size:.92rem;color:var(--nuit)}
.form-card input,.form-card select,.form-card textarea{width:100%;margin-top:.35rem;font:inherit;font-size:1rem;padding:.75rem .9rem;border:1.5px solid var(--bord);border-radius:12px;background:var(--sable)}
.form-card textarea{min-height:110px}
.form-card .full{grid-column:1/-1}
.form-card label.consent{display:flex;font-weight:500;color:var(--encre)}
.form-card label.consent input{width:18px;margin-top:2px}
@media (max-width:640px){.form-card .grid{grid-template-columns:1fr}}
.lead-box .consent{color:#fff}.lead-box .consent a{color:#fff}
.sources{font-size:.9rem}.sources li{margin:.3rem 0}
.toc{background:#fff;border:1px solid var(--bord);border-radius:14px;padding:1rem 1.2rem;margin:0 0 1.6rem}
.toc ol{margin:.4rem 0 0;padding-left:1.2rem}
.article-meta{font-size:.9rem;color:var(--doux);margin-top:.6rem}
.prose table{min-width:520px}
.grid2>*{min-width:0}
