/*
Theme Name: Redressement SASU IR
Theme URI: https://redressement-sasu.fr
Author: Zapcom
Description: Thème sur mesure du site redressement-sasu.fr – défense fiscale des dirigeants de SASU à l'IR. Palette encre nuit & or, typographies Fraunces et Manrope.
Version: 1.2
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: redressement-sasu
*/

  :root{
    --encre:#0c2340; --encre-2:#132f52; --or:#c9a24a; --or-t:#f4ecd8; --ivoire:#f5f1e8; --blanc:#fff;
    --texte:#141c27; --muted:#55657a; --filet:#e4dfd4; --bleu-t:#e8edf4; --alerte:#b5452f; --vert:#2f7a5a;
    --serif:'Fraunces',Georgia,serif; --sans:'Manrope',system-ui,sans-serif;
    --r-s:8px; --r-m:14px; --r-l:20px; --max:1120px;
  }
  *{box-sizing:border-box} html{scroll-behavior:smooth}
  body{margin:0;font-family:var(--sans);color:var(--texte);background:var(--ivoire);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
  a{color:inherit} img,svg{display:block;max-width:100%}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
  h1,h2,h3,.serif{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0}
  h2{font-size:clamp(32px,4.2vw,46px);color:var(--encre)}
  h3{font-size:24px;color:var(--encre)}
  h2 em,h1 em,.or{font-style:italic;color:var(--or)}
  .kicker{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin:0 0 14px}
  p.lead{font-size:19px;color:var(--muted);max-width:640px}
  section{padding:96px 0}
  .btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px;padding:15px 24px;border-radius:var(--r-s);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s;font-family:var(--sans)}
  .btn:hover{transform:translateY(-1px)}
  .btn-p{background:var(--encre);color:var(--ivoire)} .btn-or{background:var(--or);color:var(--encre)} .btn-or:hover{background:#d6b25c}
  .btn-s{background:transparent;color:var(--encre);border-color:var(--filet)} .btn-ghost{background:transparent;color:var(--ivoire);border-color:rgba(245,241,232,.3)}
  .btn-a{background:var(--alerte);color:var(--ivoire)}
  .badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;background:var(--or-t);border:1px solid var(--or);color:var(--encre)}
  .badge .dot{width:8px;height:8px;border-radius:50%;background:var(--or)}
  .badge.alerte{background:var(--alerte);border-color:var(--alerte);color:var(--ivoire)} .badge.alerte .dot{background:var(--ivoire)}

  /* NAV */
  header{position:sticky;top:0;z-index:50;background:rgba(245,241,232,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--filet)}
  nav{display:flex;align-items:center;justify-content:space-between;height:76px}
  .logo{display:flex;align-items:center;gap:12px;text-decoration:none}
  .logo svg{width:44px;height:44px}
  .logo .l1{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.02em;color:var(--encre);line-height:1}
  .logo .l2{font-size:10.5px;font-weight:800;letter-spacing:.3em;color:var(--or);margin-top:3px;line-height:1}
  nav ul{display:flex;gap:32px;list-style:none;margin:0;padding:0}
  nav ul a{text-decoration:none;font-weight:600;font-size:15px;color:var(--texte)} nav ul a:hover{color:var(--encre)}
  @media(max-width:900px){nav ul{display:none}nav .btn{padding:11px 14px;font-size:14px;white-space:nowrap}.logo .l1{font-size:19px}}

  /* HERO */
  .hero{background:var(--encre);color:var(--ivoire);padding:110px 0 90px;position:relative;overflow:hidden}
  .hero .bg{position:absolute;right:-8%;top:-20%;width:62%;opacity:.07;pointer-events:none}
  .hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
  .hero h1{font-size:clamp(38px,4.9vw,58px);color:var(--ivoire)}
  .hero p{font-size:19px;color:#b9c6d6;max-width:560px;margin:26px 0 34px}
  .hero .cta{display:flex;gap:14px;flex-wrap:wrap}
  .hero .alert-line{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--or);margin-bottom:22px}
  .hero .alert-line i{width:28px;height:2px;background:var(--or);display:block}
  .stats{display:grid;gap:14px}
  .stat{background:rgba(255,255,255,.04);border:1px solid rgba(245,241,232,.12);border-radius:var(--r-m);padding:26px 28px}
  .stat b{font-family:var(--serif);font-weight:500;font-size:44px;letter-spacing:-.02em;color:var(--ivoire);display:block;line-height:1}
  .stat b.or{font-style:normal;color:var(--or)}
  .stat span{color:#b9c6d6;font-size:14.5px;display:block;margin-top:8px}
  @media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero{padding:70px 0}}

  /* GRID cards */
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
  @media(max-width:900px){.grid3{grid-template-columns:1fr}}
  .card{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r-m);padding:34px 30px}
  .card .num{font-family:var(--serif);font-size:15px;color:var(--or);font-weight:600;letter-spacing:.05em;margin-bottom:18px;display:flex;align-items:center;gap:10px}
  .card .num:after{content:"";height:1px;flex:1;background:var(--filet)}
  .card h3{margin-bottom:12px;font-size:22px} .card p{color:var(--muted);font-size:16px;margin:0}

  /* SIMULATEUR */
  .simu{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r-l);padding:44px;max-width:760px;margin:44px auto 0;box-shadow:0 20px 60px rgba(12,35,64,.06)}
  .simu .prog{display:flex;gap:6px;margin-bottom:26px} .simu .prog i{height:4px;flex:1;border-radius:2px;background:var(--filet)} .simu .prog i.on{background:var(--or)}
  .simu .q{font-family:var(--serif);font-size:26px;color:var(--encre);margin-bottom:22px;line-height:1.2}
  .simu .opts{display:grid;gap:10px}
  .simu .opt{text-align:left;background:var(--ivoire);border:1px solid var(--filet);border-radius:var(--r-s);padding:16px 18px;font:inherit;font-weight:600;cursor:pointer;transition:.15s}
  .simu .opt small{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}
  .simu .opt:hover{border-color:var(--encre);background:var(--bleu-t)}
  .simu .res{display:none} .simu .res.show{display:block}
  .simu .res .tag{margin-bottom:14px}
  .simu .back{background:none;border:0;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;margin-top:18px;padding:0;text-decoration:underline}

  /* FORMULES */
  .formules{background:var(--blanc)}
  .plan{position:relative;display:flex;flex-direction:column}
  .plan.hl{border-color:var(--encre);box-shadow:0 24px 70px rgba(12,35,64,.10)}
  .plan .for{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
  .plan ul{list-style:none;padding:0;margin:20px 0 26px;flex:1} .plan li{padding:9px 0 9px 26px;position:relative;font-size:15.5px;color:var(--texte);border-top:1px solid var(--filet)}
  .plan li:before{content:"";position:absolute;left:0;top:16px;width:10px;height:10px;border-radius:50%;background:var(--or)}
  .plan .prix{font-family:var(--serif);font-size:38px;color:var(--encre);letter-spacing:-.02em;line-height:1} .plan .prix small{font-family:var(--sans);font-size:13px;color:var(--muted);letter-spacing:0;display:block;margin-top:6px}
  .plan .btn{margin-top:22px;justify-content:center}

  /* POURQUOI */
  .pourquoi{background:var(--encre);color:var(--ivoire)}
  .pourquoi h2{color:var(--ivoire)} .pourquoi p.lead{color:#b9c6d6}
  .pourquoi .args{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
  @media(max-width:800px){.pourquoi .args{grid-template-columns:1fr}}
  .arg{border-top:1px solid rgba(245,241,232,.18);padding:26px 0 8px}
  .arg h3{color:var(--ivoire);font-size:21px;margin-bottom:10px} .arg p{color:#b9c6d6;font-size:15.5px;margin:0}
  .arg .m{width:28px;height:28px;margin-bottom:16px}

  /* FAQ */
  .faq details{border-top:1px solid var(--filet);padding:22px 0} .faq details:last-child{border-bottom:1px solid var(--filet)}
  .faq summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:21px;color:var(--encre);display:flex;justify-content:space-between;gap:20px;align-items:center}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary:after{content:"+";font-family:var(--sans);font-size:26px;color:var(--or);transition:.2s;line-height:1}
  .faq details[open] summary:after{transform:rotate(45deg)}
  .faq details p{color:var(--muted);margin:14px 0 0;max-width:800px}

  /* CONTACT */
  .contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
  @media(max-width:900px){.contact .wrap{grid-template-columns:1fr}}
  form{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r-l);padding:36px}
  label{display:block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
  input,select,textarea{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1px solid var(--filet);border-radius:var(--r-s);background:var(--ivoire);color:var(--texte)}
  input:focus,select:focus,textarea:focus{outline:2px solid var(--or);outline-offset:1px;border-color:var(--or)}
  .seg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px} .seg input{display:none}
  .seg span{display:block;text-align:center;font-size:13.5px;font-weight:600;padding:12px 8px;border:1px solid var(--filet);border-radius:var(--r-s);cursor:pointer;background:var(--ivoire)}
  .seg input:checked+span{background:var(--encre);color:var(--ivoire);border-color:var(--encre)}
  .coord{display:flex;flex-direction:column;gap:14px;margin-top:28px;font-size:16px} .coord a{text-decoration:none;font-weight:700;color:var(--encre)}
  .fine{font-size:13px;color:var(--muted);margin-top:14px}

  footer{background:var(--encre);color:#b9c6d6;padding:60px 0 30px;font-size:14px}
  footer .top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(245,241,232,.14)}
  @media(max-width:800px){footer .top{grid-template-columns:1fr}}
  footer h4{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--or);margin:0 0 14px}
  footer a{color:#dfe6ee;text-decoration:none} footer a:hover{color:var(--or)}
  footer ul{list-style:none;padding:0;margin:0} footer li{margin-bottom:8px}
  footer .legal{padding-top:22px;font-size:12.5px;color:#8ea0b5;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .reveal{opacity:0;transform:translateY(14px);transition:.6s ease} .reveal.in{opacity:1;transform:none}

/* ---- pages secondaires ---- */
.page{padding:72px 0 96px} .page .wrap{max-width:820px}
.page h1{font-size:clamp(34px,4.6vw,52px);color:var(--encre);margin:12px 0 18px}
.page h2{font-size:26px;margin:44px 0 12px} .page h3{font-size:19px;margin:26px 0 8px}
.page p,.page li{color:var(--texte);font-size:16.5px} .page ul{padding-left:20px}
.page .meta{color:var(--muted);font-size:14px}
.page table{width:100%;border-collapse:collapse;font-size:15px;margin:18px 0}
.page th{text-align:left;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:2px solid var(--encre)}
.page td{padding:12px;border-bottom:1px solid var(--filet);vertical-align:top}
.page .pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--bleu-t);color:var(--encre)}
.page .pill.or{background:var(--or-t);color:var(--encre);font-style:normal} .page .pill.rouge{background:#f6e3df;color:var(--alerte)}
.encadre{background:var(--blanc);border:1px solid var(--filet);border-left:3px solid var(--or);border-radius:var(--r-s);padding:20px 24px;margin:22px 0}
.timeline{list-style:none;padding:0;margin:22px 0} .timeline li{position:relative;padding:0 0 26px 30px;border-left:1px solid var(--filet);margin-left:6px}
.timeline li:before{content:"";position:absolute;left:-6px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--or)}
.timeline .d{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--or)} .timeline b{display:block;color:var(--encre);font-size:17px;margin:2px 0 4px}
/* ---- rdv / calendly ---- */
.rdv{background:var(--blanc)} .rdv .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
@media(max-width:900px){.rdv .wrap{grid-template-columns:1fr}}
.cal{border:1px solid var(--filet);border-radius:var(--r-l);overflow:hidden;background:var(--ivoire);min-height:700px}
.steps{list-style:none;padding:0;margin:26px 0 0} .steps li{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--filet)}
.steps li span{font-family:var(--serif);color:var(--or);font-size:18px;min-width:28px} .steps li div{font-size:15.5px;color:var(--muted)} .steps li div b{color:var(--texte);display:block}
.urgent{display:none;background:#f6e3df;border:1px solid var(--alerte);color:var(--alerte);border-radius:var(--r-s);padding:12px 16px;font-weight:700;font-size:14px;margin-bottom:18px}
.urgent.show{display:block}

/* ---- WordPress ---- */
.page .entry-content > *:first-child{margin-top:0}
.page .entry-content a{color:var(--encre);text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px}
.page .entry-content img{border-radius:var(--r-m)}
.page .entry-content blockquote{border-left:3px solid var(--or);margin:22px 0;padding:6px 0 6px 20px;font-family:var(--serif);font-size:20px;color:var(--encre)}
.menu-principal{display:flex;gap:26px;white-space:nowrap;list-style:none;margin:0;padding:0}
.menu-principal a{text-decoration:none;font-weight:600;font-size:14.5px;color:var(--texte)} .menu-principal a:hover{color:var(--encre)}
@media(max-width:1060px){.menu-principal{display:none}}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wpcf7 form,.wpforms-container form{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r-l);padding:36px}
