/* Thème « violette » (jeanbrun-toulouse.immo) : violette de Toulouse + brique rose, rendu éditorial orienté données.
   Chargé après site.css, ne fait que surcharger. */
:root{
  --bg:#fbf7f2;--bg-soft:#f4ede6;--bg-softer:#fffdfa;--line:#e5dcd2;--line-soft:#eee6dd;
  --text:#2a1d33;--text-2:#43374b;--muted:#5d5163;--muted-2:#7a6e7f;
  --rose:#d9826d;--rose-soft:#fbe8e1;
  --radius:10px;--radius-sm:999px;--shadow:0 22px 44px -26px rgba(42,29,51,.35);
}
body{background:var(--bg);font-feature-settings:"tnum" 1}

/* en-tête sombre */
.topbar{background:var(--rose);color:var(--ink);font-weight:600}
.header{background:var(--ink);border-bottom:0}
.logo,.logo:hover{color:#fff}
.logo-mark{background:var(--rose);color:var(--ink);border-radius:50%;min-width:34px;height:34px;font-weight:800}
.logo-txt{font-family:var(--serif);font-weight:700;font-size:17px}
.nav>ul>li>a{color:#e6dcea}
.nav>ul>li>a:hover,.nav>ul>li>a[aria-current]{color:#fff;background:rgba(255,255,255,.08)}
.nav-cta.btn{background:var(--rose);border-color:var(--rose);color:var(--ink)}
.nav-cta.btn:hover{background:#fff;border-color:#fff;color:var(--ink)}
.nav-toggle{border-color:rgba(255,255,255,.3)}.nav-toggle span{background:#fff}
.sub{background:#fff;border-radius:8px}
@media (max-width:1180px){
  .nav{background:var(--ink);border-bottom:0}
  .nav>ul>li>a{border-bottom-color:rgba(255,255,255,.1)}
  .sub a{color:#d8cde0}.sub a:hover{background:rgba(255,255,255,.06);color:#fff}
}

/* boutons en pilule */
.btn{background:var(--accent);border-color:var(--accent);border-radius:999px;font-weight:700}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}

/* titres */
h1,h2,h3,.aside-title,.cta-title,.prog-title{font-family:var(--serif)}
.prose h2{font-weight:700;letter-spacing:-.025em;position:relative;padding-top:18px}
.prose h2::before{content:"";position:absolute;top:0;left:0;width:36px;height:4px;border-radius:2px;background:var(--rose)}
.prose h3{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}
.lead{color:var(--text-2)!important}

/* bandeau de page sombre */
.page-head{background:var(--ink);border-bottom:0;padding:34px 0 46px;color:#fff;position:relative;overflow:hidden}
.page-head::after{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(106,63,168,.55),transparent 65%)}
.page-head .wrap{position:relative;z-index:1}
.page-head h1{font-weight:800;letter-spacing:-.035em;color:#fff}
.page-intro{color:#d9cfe0}
.crumbs ol,.crumbs a{color:#bba9c6}.crumbs a:hover{color:#fff}

/* accueil */
.hero{background:var(--ink);color:#fff;border-bottom:0;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;left:-200px;bottom:-260px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(217,130,109,.28),transparent 62%)}
.hero-grid{position:relative}
.hero h1{font-weight:800;letter-spacing:-.04em;color:#fff}
.hero-intro{color:#d9cfe0}
.hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}.hero .btn-ghost:hover{background:#fff;color:var(--ink)}
.badge{background:rgba(255,255,255,.1);color:#fff}
.badge-alt{background:var(--rose);color:var(--ink)}
.checks{color:#e6dcea}.checks li::before{background:var(--rose);color:var(--ink)}
.hero-card{border:0;border-radius:14px;color:var(--text)}
.hero-form-head span{color:var(--accent)}

/* blocs éditoriaux */
.callout{background:var(--rose-soft);border-left:4px solid var(--rose);border-radius:0 8px 8px 0}
.formula{font:600 15.5px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--ink);color:#f3ecf7;border:0;border-radius:8px;padding:18px 22px}
.table-wrap{border:1.5px solid var(--ink);border-radius:8px;background:#fff}
.table-wrap thead th{background:var(--ink);color:#fff;border-bottom:0}
.table-wrap tbody tr:nth-child(even) td,.table-wrap tbody tr:nth-child(even) th{background:#faf6fc}
table.compare thead th:last-child{background:var(--accent);color:#fff}
.card{border:1.5px solid var(--ink);border-radius:8px;box-shadow:5px 5px 0 var(--accent-soft);background:#fff}
.card h3 a{color:var(--text);text-decoration:none}.card h3 a:hover{color:var(--accent)}
.stats{border:1.5px solid var(--ink);border-radius:8px}
.stat strong{color:var(--accent);font-weight:800}
.steps li{border-top:3px solid var(--rose)}
details.faq{border-radius:8px;background:#fff}
details.faq[open]{border-color:var(--ink)}
.aside-box{border-radius:8px;border:1.5px solid var(--ink);background:#fff}
.aside-soft{background:var(--accent-soft);border-color:var(--accent-soft)}
.cta-block{border-radius:10px;background:var(--accent)}
.cta-block p{color:#efe6f7!important}
.cta-block .btn{background:#fff;color:var(--ink);border-color:#fff}.cta-block .btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.prog-card{border-radius:10px;border:1.5px solid var(--line)}
.prog-card:hover{border-color:var(--ink)}
.prose .lead-form,.sim-form,.sim-result{border-radius:10px;background:#fff}
.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea,.sim input[type=number],.sim select{border-radius:8px}
.cocon{background:#fff;border:0;border-top:4px solid var(--ink);border-radius:0 0 8px 8px}
.cocon-pilier{border-top:0;background:none}
.footer{background:#1d1424}
.sticky-cta{background:var(--rose);color:var(--ink)}.sticky-cta:hover{background:var(--ink);color:#fff}

/* calculateurs */
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);border:1.5px solid var(--ink);border-radius:10px;overflow:hidden;margin:22px 0 30px;background:#fff;max-width:880px}
.calc-form{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
.calc-form label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;color:var(--text-2)}
.calc-form .opt{font-size:11.5px}
.calc-form input,.calc-form select{height:46px;border:1px solid #d9cfdf;border-radius:8px;padding:0 12px;font-size:15px;background:#fff;width:100%}
.calc-form input:focus,.calc-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.calc-out{background:var(--ink);color:#fff;padding:24px;display:flex;flex-direction:column;gap:12px}
.calc-kicker{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:#cbbcd6;font-weight:600}
.calc-big,.prose .calc-big{font:800 clamp(34px,4vw,46px)/1 var(--serif);letter-spacing:-.03em;color:var(--rose)}
.calc-steps{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.calc-steps dt{font-size:12px;color:#bba9c6}.calc-steps dd{margin:2px 0 0;font-weight:700;font-size:15px}
.calc-note{margin:0!important;font-size:12.5px!important;color:#cbbcd6!important;line-height:1.5}
.calc-levels{list-style:none;margin:0;padding:0!important;display:flex;flex-direction:column;gap:8px}
.calc-levels li{margin:0!important;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:8px;background:rgba(255,255,255,.07);color:#fff!important;font-size:15px!important;font-weight:600}
.calc-levels em{font-style:normal;font-size:13px;font-weight:600}
.calc-levels li.is-ok{background:rgba(143,209,168,.16)}.calc-levels li.is-ok em{color:#9fe0b5}
.calc-levels li.is-ko{opacity:.75}.calc-levels li.is-ko em{color:#f3b3a3}
table.communes td a{font-weight:700}
@media (max-width:760px){
  .calc{grid-template-columns:1fr}
  .calc-form{grid-template-columns:1fr}
}
