/* Mawarith Maroc — feuille de style (FR / AR) */
:root{
  --green:#0d7a4c; --green-d:#09593a; --green-l:#e8f5ee; --green-ll:#f3faf6;
  --gold:#c9932b; --red:#c8312f; --red-l:#fdecec; --blue:#1f5fa8; --orange:#d9731a; --brown:#8a5a33;
  --ink:#1b2620; --muted:#5b6a62; --line:#dfe7e2; --bg:#ffffff; --card:#ffffff; --soft:#f6f8f7;
  --shadow:0 1px 2px rgba(16,40,28,.06),0 4px 14px rgba(16,40,28,.06);
  --shadow-h:0 6px 24px rgba(16,40,28,.14);
  --radius:14px; --maxw:1180px;
  --font:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
html[data-theme="dark"]{
  --green:#35b67b; --green-d:#5fd39c; --green-l:#13291f; --green-ll:#0f1f18;
  --red:#ef6b68; --red-l:#3a1c1c; --blue:#6fa3e6; --orange:#f0a050; --brown:#c9976b; --gold:#e3b456;
  --ink:#e6eee9; --muted:#9db0a6; --line:#26372f; --bg:#0c1511; --card:#121e18; --soft:#101b15;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.3); --shadow-h:0 6px 24px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--green)}
a:hover{color:var(--green-d)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.skip{position:absolute;inset-inline-start:-999px;top:0;background:var(--green);color:#fff;padding:8px 14px;z-index:100}
.skip:focus{inset-inline-start:10px;top:10px}
h1,h2,h3{line-height:1.25;margin:0 0 .5em}
h1{font-size:clamp(1.8rem,4vw,2.7rem)}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}
h3{font-size:1.15rem}
.muted{color:var(--muted)}

/* En-tête */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.6) blur(10px);-webkit-backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:18px;height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:1.12rem;letter-spacing:-.01em;white-space:nowrap}
.brand img{width:36px;height:36px}
.brand span b{color:var(--green)}
.menu{display:flex;gap:4px;margin-inline-start:auto;align-items:center}
.menu a{color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:9px;font-weight:600;font-size:.95rem}
.menu a:hover,.menu a[aria-current="page"]{background:var(--green-l);color:var(--green-d)}
.theme-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);width:38px;height:38px;border-radius:10px;cursor:pointer;font-size:1.05rem;display:grid;place-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;text-decoration:none;font-weight:700;border-radius:11px;padding:11px 20px;font-size:1rem;font-family:inherit;transition:transform .15s,box-shadow .15s,background .15s}
.btn-green{background:var(--green);color:#fff}
html[data-theme="dark"] .btn-green{color:#06140d}
.btn-green:hover{background:var(--green-d);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-h)}
html[data-theme="dark"] .btn-green:hover{color:#06140d}
.btn-ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--green);color:var(--green)}
.nav .btn{padding:9px 16px}
@media (max-width:860px){
  .menu .hide-m{display:none}
  .nav{gap:8px}
  .brand{font-size:1rem}
}
@media (max-width:520px){
  .menu a{padding:7px 8px;font-size:.88rem}
  .brand span{display:none}
  .nav .btn{padding:8px 12px;font-size:.9rem}
}

/* Bannière d'accueil */
.hero{position:relative;background:var(--green-l);overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' viewBox='0 0 88 88'%3E%3Cg fill='none' stroke='%230d7a4c' stroke-width='1.6'%3E%3Crect x='26' y='26' width='36' height='36'/%3E%3Crect x='26' y='26' width='36' height='36' transform='rotate(45 44 44)'/%3E%3Ccircle cx='44' cy='44' r='7'/%3E%3C/g%3E%3C/svg%3E");background-size:88px}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:56px}
.hero .kicker{display:inline-block;background:var(--card);color:var(--green-d);font-weight:700;font-size:.85rem;padding:5px 12px;border-radius:99px;border:1px solid var(--line);margin-bottom:14px}
.hero p.lead{font-size:1.12rem;color:var(--muted);max-width:620px}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 28px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:600px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.stat b{display:block;font-size:1.35rem;color:var(--green-d)}
.stat span{font-size:.85rem;color:var(--muted)}
.hero-art{width:100%;max-width:440px;justify-self:center}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;padding-top:36px;padding-bottom:36px}.hero-art{max-width:210px;order:-1}}
@media (max-width:480px){.stats{grid-template-columns:1fr 1fr}.stats .stat:last-child{grid-column:1/-1}}

/* Sections */
section.block{padding:60px 0}
section.alt{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.sec-head p{margin:0;color:var(--muted);max-width:640px}

/* Simulateur */
.tabs{display:flex;gap:6px;background:var(--soft);border:1px solid var(--line);padding:5px;border-radius:12px;width:max-content;max-width:100%;margin-bottom:18px;flex-wrap:wrap}
.tabs button{border:0;background:transparent;padding:9px 16px;border-radius:9px;font-weight:700;color:var(--muted);cursor:pointer;font-family:inherit;font-size:.95rem}
.tabs button[aria-selected="true"]{background:var(--card);color:var(--green-d);box-shadow:var(--shadow)}
.sim{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media (max-width:900px){.sim{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.panel h3{display:flex;align-items:center;gap:8px}
.field{margin-bottom:14px}
.field label{display:block;font-weight:650;font-size:.93rem;margin-bottom:5px}
.field .hint{font-size:.8rem;color:var(--muted);margin-top:3px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:460px){.row2{grid-template-columns:1fr}}
input[type=number],input[type=text],select{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:1rem;background:var(--bg);color:var(--ink);font-family:inherit}
input:focus,select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent)}
.inline{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.93rem;cursor:pointer}
.inline input{width:18px;height:18px;accent-color:var(--green)}
input[type=range]{width:100%;accent-color:var(--green)}
.big{background:var(--green);color:#fff;border-radius:12px;padding:18px 20px;margin-bottom:16px}
html[data-theme="dark"] .big{background:#0f3a28;color:var(--ink)}
.big small{display:block;opacity:.85;font-size:.88rem}
.big b{font-size:2rem;letter-spacing:-.02em}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.kpi{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.kpi small{display:block;color:var(--muted);font-size:.8rem}
.kpi b{font-size:1.08rem}
.lines{width:100%;border-collapse:collapse;font-size:.94rem}
.lines td{padding:8px 4px;border-bottom:1px solid var(--line)}
.lines td:last-child{text-align:end;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.lines tr.total td{font-weight:800;border-bottom:0;border-top:2px solid var(--ink);font-size:1.02rem}
.lines .tag{font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:99px;margin-inline-start:6px;vertical-align:middle}
.tag.ok{background:var(--green-l);color:var(--green-d)}
.tag.ind{background:#fff3df;color:#8a5600}
html[data-theme="dark"] .tag.ind{background:#3a2c12;color:#f0c070}
.bar{display:flex;height:12px;border-radius:99px;overflow:hidden;margin:12px 0 6px;background:var(--line)}
.bar i{display:block;height:100%}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;color:var(--muted)}
.legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:5px;background:var(--c);vertical-align:-1px}
.alert{border-radius:10px;padding:10px 14px;font-size:.9rem;margin:12px 0;border:1px solid}
.alert.warn{background:var(--red-l);border-color:color-mix(in srgb,var(--red) 35%,transparent);color:var(--ink)}
.alert.info{background:var(--green-ll);border-color:var(--line)}
details.amort{margin-top:14px}
details.amort summary{cursor:pointer;font-weight:700;color:var(--green-d)}
.tbl-wrap{overflow-x:auto;margin-top:10px}
table.data{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}
table.data th,table.data td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:end}
table.data th:first-child,table.data td:first-child{text-align:start}
table.data thead th{background:var(--soft);font-weight:700;color:var(--muted);font-size:.85rem}
.note{font-size:.84rem;color:var(--muted)}

/* Barèmes */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media (max-width:900px){.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid3,.grid2{grid-template-columns:1fr}}

/* Cartes */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);color:inherit}
.card img{aspect-ratio:1200/630;object-fit:cover;width:100%;background:var(--soft)}
.card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{margin:0;font-size:1.07rem}
.card p{margin:0;color:var(--muted);font-size:.93rem}
.card .meta{margin-top:auto;font-size:.8rem;color:var(--muted);padding-top:6px}
.badge{display:inline-block;font-size:.74rem;font-weight:800;padding:3px 10px;border-radius:99px;width:max-content;letter-spacing:.01em}
.badge.reforme{background:var(--red);color:#fff}
.badge.credit{background:var(--green-l);color:var(--green-d)}
.badge.frais{background:#fdeedd;color:#9a4d07}
.badge.mre{background:#e3eefb;color:#174a86}
.badge.achat{background:#f3e8dd;color:#6d4322}
html[data-theme="dark"] .badge.frais{background:#3b2410;color:#f2b06b}
html[data-theme="dark"] .badge.mre{background:#14273f;color:#8dbbf0}
html[data-theme="dark"] .badge.achat{background:#33241a;color:#dcb08a}
.feature{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:24px;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}
.feature:hover{box-shadow:var(--shadow-h);transform:translateY(-2px);color:inherit}
.feature img{height:100%;object-fit:cover;aspect-ratio:1200/630}
.feature .body{padding:26px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.feature h3{font-size:1.4rem;margin:0}
.feature p{margin:0;color:var(--muted)}
@media (max-width:800px){.feature{grid-template-columns:1fr}}

/* Filtres */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filters button{border:1.5px solid var(--line);background:var(--card);color:var(--ink);padding:7px 14px;border-radius:99px;font-weight:650;cursor:pointer;font-family:inherit;font-size:.9rem}
.filters button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
html[data-theme="dark"] .filters button[aria-pressed="true"]{color:#06140d}

/* FAQ */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--green)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:.7em 0 0;color:var(--muted)}

/* Article */
.progress{position:fixed;top:0;inset-inline-start:0;height:3px;background:var(--green);width:0;z-index:60}
.crumbs{font-size:.86rem;color:var(--muted);padding:18px 0 0}
.crumbs a{color:var(--muted)}
.art-head{padding:14px 0 10px;max-width:820px}
.art-head .meta{color:var(--muted);font-size:.9rem;display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:8px}
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:44px;padding-bottom:60px}
@media (max-width:980px){.art-layout{grid-template-columns:1fr}.toc-col{display:none}}
.cover{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin:8px 0 24px}
.prose{font-size:1.06rem;max-width:760px}
.prose h2{margin-top:1.8em;font-size:1.5rem;scroll-margin-top:84px}
.prose h3{margin-top:1.4em;scroll-margin-top:84px}
.prose p,.prose li{color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:start}
.prose th{background:var(--soft)}
.prose blockquote,.prose .box{margin:1.3em 0;padding:14px 18px;background:var(--green-ll);border-inline-start:4px solid var(--green);border-start-end-radius:10px;border-end-end-radius:10px}
.prose .box.warn{background:var(--red-l);border-inline-start-color:var(--red)}
.cta-box{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--green-l);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin:26px 0}
.cta-box p{margin:0;font-weight:650}
.toc{position:sticky;top:86px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.toc h4{margin:0 0 10px;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.toc ol{list-style:none;padding:0;margin:0 0 16px;font-size:.92rem}
.toc li a{display:block;padding:5px 10px;border-inline-start:2px solid var(--line);color:var(--muted);text-decoration:none}
.toc li a.active{border-inline-start-color:var(--green);color:var(--green-d);font-weight:700;background:var(--green-ll)}
.toc .btn{width:100%;justify-content:center}
.sources{font-size:.88rem;color:var(--muted);border-top:1px solid var(--line);margin-top:2em;padding-top:1em}
.author{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:28px;background:var(--soft)}
.author .av{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}

/* Pages simples */
.page{max-width:820px;padding:40px 20px 70px}
.page h2{margin-top:1.6em;font-size:1.35rem}

/* Pied de page */
.site-footer{background:#0b1a13;color:#c9d6cf;padding:46px 0 26px;margin-top:0}
html[data-theme="dark"] .site-footer{background:#060d0a;border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
@media (max-width:760px){.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}
.site-footer a{color:#c9d6cf;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer h4{color:#fff;margin:0 0 10px;font-size:.95rem}
.site-footer ul{list-style:none;padding:0;margin:0;font-size:.93rem;line-height:2}
.site-footer .brand{color:#fff}
.site-footer .brand span b{color:#5fd39c}
.foot-bottom{border-top:1px solid #1f3328;margin-top:30px;padding-top:18px;font-size:.84rem;color:#8fa59a;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Arabe */
html[lang="ar"] body{font-family:"Noto Naskh Arabic","Noto Sans Arabic","Segoe UI",Tahoma,"Geeza Pro","Arial",sans-serif;font-size:17.5px;line-height:1.85}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{line-height:1.45}
.lang{font-weight:700;font-size:.9rem;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--card);white-space:nowrap}
.lang:hover{border-color:var(--green);color:var(--green)}
/* Calculateur d'héritage */
fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 14px 4px;margin:0 0 14px}
legend{font-weight:800;padding:0 6px;color:var(--green-d)}
.heirs{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
@media (max-width:520px){.heirs{grid-template-columns:1fr}}
.heir{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);margin-bottom:6px}
.heir label{font-weight:600;font-size:.93rem}
.stepper{display:flex;align-items:center;gap:4px;flex:none}
.stepper input{width:52px;text-align:center;padding:6px 4px}
.step{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--soft);color:var(--ink);font-weight:800;cursor:pointer;font-size:1rem;line-height:1}
.step:hover{border-color:var(--green);color:var(--green)}
.heir input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}
#r-body td{vertical-align:top}
#r-body small{font-weight:500}
.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:6px}
#r-excl ul{padding-inline-start:20px;font-size:.92rem;color:var(--muted)}
#r-excl h3{font-size:1rem;margin-top:16px}
.share-table td:last-child,.share-table th:last-child{text-align:end}
details.more>summary{cursor:pointer;font-weight:700;color:var(--green-d);margin:4px 0 10px}
.badge.parts{background:var(--green-l);color:var(--green-d)}
.badge.cas{background:#fdeedd;color:#9a4d07}
.badge.testament{background:#e3eefb;color:#174a86}
.badge.demarches{background:#f3e8dd;color:#6d4322}
html[data-theme="dark"] .badge.cas{background:#3b2410;color:#f2b06b}
html[data-theme="dark"] .badge.testament{background:#14273f;color:#8dbbf0}
html[data-theme="dark"] .badge.demarches{background:#33241a;color:#dcb08a}
.menu a{white-space:nowrap}
@media (max-width:440px){.menu{display:none}.lang{margin-inline-start:auto}}
