/* Polices auto-hébergées (mêmes familles que docs/mirath-maquette.html) : Tajawal (interface), Reem Kufi (logo, titres), Amiri (versets).
   Sous-ensembles arabe et latin seulement ; source : Google Fonts (licence SIL OFL), fichiers woff2 dans /assets/fonts. */
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/amiri-400-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/amiri-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/amiri-700-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/amiri-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Reem Kufi';font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/reem-kufi-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Reem Kufi';font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/reem-kufi-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/tajawal-400-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/tajawal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/tajawal-500-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/tajawal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/tajawal-700-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/tajawal-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/tajawal-800-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/tajawal-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --green:#0F5A41; --green-2:#156B4E; --deep:#0B3D2E; --gold:#C9A24B; --gold-2:#E9C97A;
  --cream:#FAF6EC; --paper:#FFFDF7; --ink:#1E2A25; --muted:#5B6B63; --line:#E6DDC7;
  --pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23C9A24B' stroke-width='1' opacity='.35'%3E%3Crect x='22' y='22' width='36' height='36'/%3E%3Crect x='22' y='22' width='36' height='36' transform='rotate(45 40 40)'/%3E%3Ccircle cx='40' cy='40' r='8'/%3E%3Cpath d='M0 0L22 22M80 0L58 22M0 80L22 58M80 80L58 58'/%3E%3C/g%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Tajawal',system-ui,'Segoe UI',Tahoma,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;min-block-size:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:var(--green)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.skip{position:absolute;inset-inline-start:0;inset-block-start:0;transform:translateY(-120%);background:var(--gold);color:var(--deep);padding:.5rem 1rem;z-index:100}
.skip:focus{transform:none}

/* ===== En-tête ===== */
.s-head{background:#fff;border-block-end:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;padding:12px 32px;gap:12px 28px}
.s-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.s-logo img{inline-size:44px;block-size:44px;display:block}
.s-logo b{display:block;font-family:'Reem Kufi',serif;font-size:28px;color:var(--green);line-height:1}
.s-logo small{display:block;font-size:10px;letter-spacing:4px;color:#8f6f26;font-weight:700;direction:ltr;text-align:end}
.s-nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-weight:500}
.s-nav a{color:var(--ink);text-decoration:none}
.s-nav a.on{color:var(--green);border-block-end:2px solid var(--gold);padding-block-end:3px}
.s-nav a:hover{color:var(--green)}
.lang{margin-inline-start:auto;display:flex;border:1px solid var(--line);border-radius:20px;overflow:hidden;font-size:13px}
.lang a,.lang span{padding:4px 12px;text-decoration:none;color:var(--ink)}
.lang .on{background:var(--green);color:#fff}

/* ===== Héros ===== */
.s-hero{background:var(--deep) var(--pattern);color:#fff;text-align:center;padding:40px 20px 80px;position:relative}
.s-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,61,46,.6),rgba(11,61,46,.92))}
.s-hero>*{position:relative;z-index:1}
.ayah{font-family:'Amiri',serif;font-size:24px;color:var(--gold-2);direction:rtl}
.ayah-ref{font-size:12px;color:#BFB59A;margin-block-end:12px}
.s-hero h1{font-size:34px;font-weight:800;line-height:1.3}
.s-hero p{color:#D8D0B8}

/* ===== Contenu ===== */
.s-main{max-inline-size:1120px;margin-inline:auto;padding:24px 24px 30px}
.s-main.over{margin-block-start:-56px;position:relative;z-index:2}
.panel{background:#fff;border-radius:16px;border:1px solid var(--line);box-shadow:0 12px 30px -14px rgba(11,61,46,.25);overflow:hidden}
.panel-h{display:flex;align-items:center;gap:10px;padding:14px 20px;border-block-end:1px solid var(--line);background:linear-gradient(90deg,#fff,#FBF7EC)}
.panel-h .ic{inline-size:30px;block-size:30px;border-radius:8px;background:var(--green);display:grid;place-items:center;color:var(--gold-2);font-weight:800}
.panel-h h2{font-size:17px}
.panel-b{padding:18px 20px}
.art{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.art .k{font-size:12px;color:#8f6f26;font-weight:700}
.art h3{font-size:16px;margin-block:4px}
.art p{font-size:13px;color:var(--muted)}
.ad{background:repeating-linear-gradient(45deg,#f3efe3,#f3efe3 10px,#ece6d4 10px,#ece6d4 20px);border:1px dashed #c8bc9a;color:#8b7f60;display:grid;place-items:center;font-size:12px;border-radius:8px;min-block-size:90px;margin-block-start:14px}
.ad b{display:block;font-size:11px;letter-spacing:.1em;direction:ltr}
.ad-hero{max-inline-size:728px;block-size:90px;margin:18px auto 0;background:rgba(255,255,255,.08);border-color:rgba(233,201,122,.4);color:#D8CFB0}
.sr{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Calculateur (maquette : formulaire / résultat) ===== */
.calc{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:start}
.fs{border:none;margin-block-end:14px}
.fs legend,.fs summary{font-weight:700;color:var(--green);font-size:14px;margin-block-end:8px;display:flex;align-items:center;gap:6px}
.fs legend::before,.fs summary::before{content:"۞";color:var(--gold)}
details.fs summary{cursor:pointer;list-style:none}
details.fs summary::-webkit-details-marker{display:none}
details.fs summary::after{content:"▾";color:var(--gold);margin-inline-start:auto}
details[open].fs summary::after{content:"▴"}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.row3.pre{margin-block-end:8px}
label.f{display:block;font-size:13px;color:var(--muted)}
label.check{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-block-start:8px}
.calc input[type=text],.calc input[type=number],.calc select{inline-size:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font:inherit;font-size:15px;background:var(--paper);color:var(--ink)}
.calc input[type=text]{direction:ltr;text-align:end}
.calc input:focus-visible,.calc select:focus-visible{outline:2px solid var(--gold);border-color:transparent}
.seg{display:flex;background:#F3EEDF;border-radius:12px;padding:4px}
.seg label{flex:1;text-align:center;border-radius:9px;cursor:pointer;font-weight:500;position:relative}
.seg input{position:absolute;opacity:0;inline-size:1px;block-size:1px}
.seg span{display:block;padding:7px;border-radius:8px}
.seg input:checked+span{background:#fff;color:var(--green);box-shadow:0 2px 6px rgba(0,0,0,.08);font-weight:700}
.seg input:focus-visible+span{outline:3px solid var(--gold)}
.heir{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--paper)}
.heir>label{font-weight:500;font-size:14px}
.heir[hidden]{display:none}
.step{display:flex;align-items:center;gap:6px}
.step button{inline-size:28px;block-size:28px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--green);font-size:18px;cursor:pointer;line-height:1}
.step button:hover{background:var(--green);color:#fff}
.calc .step input{inline-size:3.2em;padding:4px;text-align:center;font-weight:800;direction:ltr}
.tg{position:relative;inline-size:42px;block-size:24px;flex:none}
.tg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.tg i{position:absolute;inset:0;background:#D9D2BF;border-radius:20px;transition:.2s}
.tg i::before{content:"";position:absolute;inline-size:18px;block-size:18px;border-radius:50%;background:#fff;inset-block-start:3px;inset-inline-start:3px;transition:.2s}
.tg input:checked+i{background:var(--green)}
.tg input:checked+i::before{inset-inline-start:21px}
.tg input:focus-visible+i{outline:3px solid var(--gold);outline-offset:2px}
.hint{font-size:12px;color:var(--muted);margin-block-end:8px}
.btn{inline-size:100%;margin-block-start:6px;border:none;border-radius:12px;padding:13px;font:inherit;font-weight:800;font-size:16px;color:#fff;background:linear-gradient(90deg,var(--green-2),var(--deep));cursor:pointer;box-shadow:0 8px 18px -8px rgba(11,61,46,.6)}
.btn span{color:var(--gold-2)}
.btn[aria-busy=true]{opacity:.7;cursor:progress}
.sumbox{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-block-end:14px}
.sumbox div{background:#F6F1E2;border-radius:12px;padding:10px;text-align:center}
.sumbox small{color:var(--muted);font-size:12px;display:block}
.sumbox b{font-size:17px;direction:ltr;display:block}
.sumbox .main{background:var(--green);color:#fff}
.sumbox.one{grid-template-columns:1fr}
[data-amounts][hidden]{display:none}
.sumbox .main small{color:#CFE3D8}
.mas{font-size:13px;color:var(--muted);margin-block-end:6px}
.mas b{color:var(--green);direction:ltr;display:inline-block}
.bar-viz{display:flex;block-size:16px;border-radius:10px;overflow:hidden;margin:6px 0 14px;background:#eee}
.table-wrap{overflow-x:auto}
table.res{inline-size:100%;border-collapse:collapse;font-size:14px}
table.res th{background:#F6F1E2;color:var(--green);font-weight:700;padding:8px;text-align:start;font-size:13px}
table.res td{padding:9px 8px;border-block-end:1px solid #F0EAD9;vertical-align:top}
table.res td small{display:block;color:var(--muted);font-size:12px;margin-block-start:2px}
table.res td.num{direction:ltr;text-align:end;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
table.res tr.blocked td{color:#999}
table.res tr.blocked td:first-child{text-decoration:line-through}
table.res tr.blocked td small{text-decoration:none}
table.res tr.bequest td{background:#FFFBF0}
.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:10px;background:#EAF3EE;color:var(--green);font-weight:700;white-space:nowrap}
.tag.as{background:#FBF1D9;color:#7a5c14}.tag.bl{background:#f1f1f1;color:#777}.tag.wq{background:#EFE7F7;color:#5b3d7a}
.swatch{display:inline-block;inline-size:10px;block-size:10px;border-radius:3px;margin-inline-end:6px;vertical-align:middle}
.notes{margin-block-start:12px;display:grid;gap:6px}
.note{font-size:13px;background:#FFF8E6;border-inline-start:3px solid var(--gold);padding:7px 10px;border-radius:6px}
.alert{background:#FDECEA;border-inline-start:3px solid #B3261E;color:#7a1712;padding:10px 12px;border-radius:8px}
.empty{color:var(--muted)}
.disclaimer{font-size:12px;color:var(--muted);margin-block-start:10px}
@media(max-width:1000px){.calc{grid-template-columns:1fr}}
@media(max-width:600px){table.res thead{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0)}table.res,table.res tbody,table.res tr,table.res td{display:block}table.res tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;padding:10px 0;border-block-end:1px solid #F0EAD9}table.res td{border:none;padding:2px 0}table.res td:first-child{grid-column:1/-1;font-weight:700}table.res td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:500;color:var(--muted)}table.res td.num{text-align:start;direction:inherit}}@media(max-width:520px){.row,.row3{grid-template-columns:1fr}.sumbox{gap:6px}.sumbox div{padding:8px 4px}.sumbox b{font-size:14px}}


/* ===== Pages de contenu (cas, règles, FAQ, méthodologie) ===== */
.page-hero{padding-block:22px 76px}
.page-hero h1{font-size:30px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;font-size:13px;margin-block-end:10px;color:#BFB59A}
.crumbs li+li::before{content:"›";margin-inline-end:4px;color:var(--gold)}
[dir=rtl] .crumbs li+li::before{content:"‹"}
.crumbs a{color:var(--gold-2)}
.s-main.two{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
a.art{display:block;text-decoration:none;color:var(--ink);box-shadow:0 12px 30px -18px rgba(11,61,46,.35)}
a.art:hover{border-color:var(--gold)}
a.art h2{font-size:17px;margin-block:4px;color:var(--green)}
.prose{line-height:1.8}
.prose h2{font-size:20px;color:var(--green);margin-block:22px 8px}
.prose h3,.prose h4{font-size:17px;color:var(--green);margin-block:16px 6px}
.prose p,.prose ul,.prose ol{margin-block-end:10px}
.prose ul,.prose ol{padding-inline-start:22px}
.prose blockquote{border-inline-start:3px solid var(--gold);background:#FFF8E6;padding:8px 12px;border-radius:6px;margin-block-end:10px}
.meta-line{font-size:12px;color:var(--muted);border-block-end:1px dashed var(--line);padding-block-end:8px;margin-block-end:12px}
.qa{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-block-end:8px;background:var(--paper)}
.qa summary{font-weight:700;cursor:pointer;color:var(--green)}
.qa p{margin-block:8px 0}
.btn-inline{display:inline-block;inline-size:auto;padding:10px 18px;text-decoration:none;font-size:15px}
.foot-links{margin-block-start:6px}
@media(max-width:1000px){.s-main.two{grid-template-columns:1fr}}
/* ===== Pied de page ===== */
.s-foot{background:var(--deep);color:#CFC6AB;font-size:13px;text-align:center;padding:16px;border-block-start:3px solid var(--gold)}
.s-foot a{color:#E9DFC4}

@media(max-width:700px){
  .s-head{padding:10px 16px}
  .s-hero{padding:28px 16px 64px}
  .s-hero h1{font-size:26px}
  .ayah{font-size:20px}
}

/* ===== Back-office ===== */
.adm .adm-head{gap:12px 24px}
.adm-logout{margin-inline-start:auto;display:flex;align-items:center;gap:8px;font-size:13px}
.adm-logout button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 10px;cursor:pointer}
.adm-main{max-inline-size:1200px;margin-inline:auto;padding:20px 16px 40px;display:grid;gap:16px}
.adm-main h1{color:var(--green);font-size:24px}
.adm-main h2{color:var(--green);font-size:18px}
.adm-narrow{max-inline-size:420px;margin-inline:auto;inline-size:100%}
.adm-form{display:grid;gap:12px}
.adm-form label,.adm-field{display:grid;gap:4px;font-size:13px;color:var(--muted)}
.adm-form input[type=text],.adm-form input[type=email],.adm-form input[type=password],.adm-form textarea,.adm-field input,.adm-rules input,.adm-rules select,.adm-rules textarea{inline-size:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;background:var(--paper);color:var(--ink)}
.adm-form textarea.mono{font-family:ui-monospace,Consolas,monospace;font-size:13px}
.adm-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.adm-kpis div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.adm-kpis small{display:block;color:var(--muted);font-size:12px}
.adm-kpis b{font-size:26px;color:var(--green)}
.adm-bars{display:flex;align-items:flex-end;gap:3px;block-size:160px}
.adm-bars span{flex:1;background:var(--green);border-radius:3px 3px 0 0;min-block-size:2px}
.adm-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.adm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adm-table{inline-size:100%;border-collapse:collapse;font-size:13px;background:#fff}
.adm-table th{background:#F6F1E2;color:var(--green);text-align:start;padding:6px 8px}
.adm-table td{border-block-end:1px solid #F0EAD9;padding:6px 8px;vertical-align:top}
.adm-table td small{display:block;color:var(--muted)}
.adm-table td.num{text-align:end;font-weight:700}
.adm-rules tr.tov td{background:#FFF8E6}
.adm-list{list-style:none;display:grid;gap:6px;margin-block-end:12px}
.adm-diff{background:#1E2A25;color:#ddd;padding:10px;border-radius:8px;font-size:12px;overflow:auto;max-block-size:420px;direction:ltr;text-align:left}
.adm-diff span{display:block;white-space:pre-wrap}
.adm-diff .add{color:#9BE29B}.adm-diff .del{color:#F29A9A}
.adm-flash{padding:10px 12px;border-radius:8px;background:#EAF3EE;color:var(--green)}
.adm-flash-error{background:#FDECEA;color:#7a1712}
.adm-flash-info{background:#FFF8E6;color:#7a5c14}
.adm-actions{display:flex;gap:12px;flex-wrap:wrap}
.adm-ok{color:var(--green);font-weight:700}
.adm-inline{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:900px){.adm-kpis,.adm-grid3,.adm-grid2{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.adm-kpis,.adm-grid3,.adm-grid2{grid-template-columns:1fr}}

.pdf-box{margin-block-start:14px;border:1px dashed var(--gold);border-radius:10px;padding:10px 14px;background:#FFFDF7}
.pdf-box summary{cursor:pointer;font-weight:700;color:var(--green)}
.pdf-form{display:grid;gap:8px;margin-block-start:10px}
.pdf-form input[type=text]{inline-size:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}
