/* Projet Chez Vous — feuille de style des guides (partagée par toutes les pages /guides/) */
:root{
  --ink:#13273c; --text:#33475b; --muted:#5f6e7c; --line:#dde7e1;
  --green:#306b51; --green-d:#245640; --green-t:#e8f3eb; --green-l:#bfdac9;
  --blue:#2563a8; --blue-d:#173f6d; --blue-t:#e8f0fa;
  --bg:#fbfdfb; --card:#f1f6f3; --white:#fff;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:var(--green);text-underline-offset:3px;}
a:hover{color:var(--green-d);}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px;}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;z-index:50;}
.skip:focus{left:8px;}
.wrap{width:100%;max-width:760px;margin:0 auto;padding:0 20px;}
.wrap--wide{max-width:1040px;}

/* en-tête */
.site-h{background:var(--white);border-bottom:1px solid var(--line);}
.site-h .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;max-width:1040px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);min-width:0;}
.brand-logo{flex:none;width:40px;height:40px;border-radius:12px;background:var(--green);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px -8px rgba(48,107,81,.7);}
.brand-logo svg{width:60%;height:60%;}
.brand-w{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:16px;letter-spacing:.04em;line-height:1.1;white-space:nowrap;}
.site-h nav{display:flex;align-items:center;gap:6px;}
.nav-link{padding:10px 12px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-radius:10px;}
.nav-link:hover{background:var(--card);color:var(--ink);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;border-radius:100px;font-weight:700;font-size:15.5px;line-height:1.2;text-decoration:none;border:2px solid var(--green);background:var(--green);color:#fff;transition:transform .12s,background .15s;}
.btn:hover{background:var(--green-d);border-color:var(--green-d);color:#fff;}
.btn:active{transform:scale(.985);}
.btn--sm{min-height:42px;padding:9px 16px;font-size:14.5px;white-space:nowrap;gap:0;}
.btn--blue{background:var(--blue);border-color:var(--blue);}
.btn--blue:hover{background:var(--blue-d);border-color:var(--blue-d);}
.btn--ghost{background:#fff;color:var(--green);}
.btn--ghost:hover{background:var(--green-t);color:var(--green-d);}
@media (max-width:520px){ .nav-link{display:none;} .brand-w{font-size:14.5px;} .rng-top{flex-direction:column;gap:0;} }
@media (max-width:440px){ .xs-hide{display:none;} }
@media (max-width:360px){ .brand-w{display:none;} }

/* haut d'article */
.crumbs{margin:26px 0 0;font-size:14px;color:var(--muted);}
.crumbs a{color:var(--muted);text-decoration:none;}
.crumbs a:hover{color:var(--green);text-decoration:underline;}
.crumbs span{margin:0 6px;opacity:.6;}
h1{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;color:var(--ink);font-size:clamp(31px,6.4vw,48px);line-height:1.08;letter-spacing:-.025em;margin:16px 0 14px;text-wrap:balance;}
.lede{font-size:clamp(18px,2.6vw,20.5px);line-height:1.55;color:var(--text);margin:0 0 16px;max-width:60ch;}
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--muted);margin:0 0 28px;}
.meta b{color:var(--ink);font-weight:600;}

/* réponse rapide */
.answer{background:var(--ink);color:#fff;border-radius:22px;padding:24px 22px 26px;margin:0 0 30px;position:relative;overflow:hidden;}
.answer::after{content:"";position:absolute;right:-50px;top:-70px;width:200px;height:200px;border-radius:50%;border:1px solid rgba(255,255,255,.12);pointer-events:none;}
.answer h2{margin:0 0 8px;font-family:'Inter Tight','Inter',sans-serif;font-size:19px;font-weight:700;color:#fff;letter-spacing:-.01em;}
.answer p{margin:0;font-size:17px;line-height:1.6;color:rgba(255,255,255,.9);}
.answer p+p{margin-top:10px;}
.answer strong{color:#fff;}

/* graphique des fourchettes */
.rng{list-style:none;margin:20px 0 4px;padding:0;}
.rng li{margin:0 0 16px;}
.rng-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.rng-name{font-weight:700;color:var(--ink);font-size:15.5px;}
.rng-val{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;color:var(--green);font-size:16.5px;letter-spacing:-.01em;white-space:nowrap;}
.rng-track{position:relative;height:14px;border-radius:100px;background:#e9efeb;}
.rng-bar{position:absolute;top:0;bottom:0;border-radius:100px;background:linear-gradient(90deg,#4a8267,#306b51);}
.rng-scale{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-top:2px;padding:0 1px;}
.rng-note{font-size:13.5px;color:var(--muted);margin:10px 0 0;}
.card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:22px 20px 20px;margin:0 0 30px;box-shadow:0 14px 30px -24px rgba(19,39,60,.35);}
.card h2{margin-top:0;}

/* table des matières */
.toc{background:var(--card);border-radius:18px;padding:18px 22px 14px;margin:0 0 36px;}
.toc p{margin:0 0 8px;font-weight:700;color:var(--ink);font-size:15.5px;}
.toc ol{margin:0;padding-left:20px;font-size:15.5px;line-height:1.5;}
.toc li{margin:0 0 7px;padding-left:2px;}
.toc a{text-decoration:none;color:var(--text);}
.toc a:hover{color:var(--green);text-decoration:underline;}

/* corps */
article h2{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;color:var(--ink);font-size:clamp(25px,4.4vw,31px);line-height:1.15;letter-spacing:-.02em;margin:46px 0 14px;scroll-margin-top:16px;text-wrap:balance;}
article h3{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;color:var(--ink);font-size:20px;line-height:1.25;margin:28px 0 8px;}
article p{margin:0 0 16px;}
article ul,article ol{margin:0 0 18px;padding-left:22px;}
article li{margin:0 0 8px;}
article li::marker{color:var(--green);}
.checks{list-style:none;padding-left:0;}
.checks li{position:relative;padding-left:32px;}
.checks li::before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat;}
.note{background:var(--green-t);border-left:4px solid var(--green);border-radius:6px 16px 16px 6px;padding:14px 18px;margin:22px 0;font-size:16px;line-height:1.6;}
.note p{margin:0;}
.note p+p{margin-top:8px;}
.warn{background:#fff6e5;border-left-color:#d98a00;}

/* tableaux */
.tbl{margin:18px 0 8px;border:1px solid var(--line);border-radius:16px;background:var(--white);overflow:hidden;}
table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.45;}
caption{caption-side:bottom;text-align:left;padding:10px 14px 12px;font-size:13.5px;color:var(--muted);}
th,td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);}
thead th{background:var(--card);color:var(--ink);font-size:14px;font-weight:700;}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0;}
tbody th{font-weight:600;color:var(--ink);}
td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
@media (max-width:420px){ table{font-size:14.5px;} th,td{padding:10px 10px;} }
@media (max-width:560px){
  .tbl--stack thead{position:absolute;left:-9999px;}
  .tbl--stack table,.tbl--stack tbody,.tbl--stack tr,.tbl--stack th,.tbl--stack td{display:block;}
  .tbl--stack tr{padding:14px 16px 12px;border-bottom:1px solid var(--line);}
  .tbl--stack tbody tr:last-child{border-bottom:0;}
  .tbl--stack th,.tbl--stack td{border:0;padding:2px 0;text-align:left;}
  .tbl--stack td.num{white-space:normal;}
  .tbl--stack td::before{content:attr(data-label) " : ";color:var(--muted);font-size:14px;font-weight:500;}
  .tbl--stack td.num{font-weight:700;color:var(--ink);}
  .tbl--stack caption{display:block;}
}

/* appels à l'action */
.cta-mid{background:var(--green-t);border:1px solid var(--green-l);border-radius:20px;padding:20px 20px 22px;margin:34px 0;}
.cta-mid p{margin:0 0 14px;color:var(--ink);font-weight:600;font-size:17px;line-height:1.5;}
.cta-end{display:grid;gap:14px;margin:48px 0 10px;}
@media (min-width:700px){ .cta-end{grid-template-columns:1fr 1fr;} }
.cta-box{border-radius:22px;padding:24px 22px 24px;color:#fff;position:relative;overflow:hidden;}
.cta-box::after{content:"";position:absolute;right:-40px;top:-60px;width:170px;height:170px;border-radius:50%;border:1px solid rgba(255,255,255,.14);pointer-events:none;}
.cta-box--p{background:linear-gradient(135deg,#34745a 0%,#245640 100%);}
.cta-box--e{background:linear-gradient(135deg,#2a6bb3 0%,#173f6d 100%);}
.cta-box h2{margin:0 0 8px;color:#fff;font-size:23px;line-height:1.15;}
.cta-box p{margin:0 0 18px;color:rgba(255,255,255,.88);font-size:15.5px;line-height:1.55;}
.cta-box .btn{background:#fff;color:var(--green-d);border-color:#fff;}
.cta-box--e .btn{color:var(--blue-d);}
.cta-box .btn:hover{background:#f1f6f3;}

/* FAQ */
.faq details{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:0 18px;margin:0 0 10px;}
.faq summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;font-weight:700;color:var(--ink);font-size:16.5px;line-height:1.4;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:500;color:var(--green);}
.faq details[open] summary::after{content:"−";}
.faq details p{margin:0 0 16px;font-size:16px;}

.sources{font-size:14.5px;color:var(--muted);line-height:1.6;}
.sources li{margin-bottom:6px;}
.sources a{color:var(--muted);}
.disclaimer{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:30px;}

/* page index des guides */
.hero-i{padding:34px 0 10px;}
.glist{list-style:none;margin:20px 0 40px;padding:0;display:grid;gap:16px;}
.gcard{display:block;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:22px 22px 20px;text-decoration:none;color:var(--text);box-shadow:0 14px 30px -24px rgba(19,39,60,.35);transition:transform .15s,box-shadow .15s;}
.gcard:hover{transform:translateY(-2px);box-shadow:0 20px 34px -22px rgba(19,39,60,.45);color:var(--text);}
.gtag{display:inline-block;font-size:13px;font-weight:700;color:var(--green);background:var(--green-t);padding:4px 11px;border-radius:100px;margin-bottom:10px;}
.gcard h2{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;color:var(--ink);font-size:23px;line-height:1.2;letter-spacing:-.015em;margin:0 0 8px;}
.gcard p{margin:0 0 10px;font-size:16px;line-height:1.55;}
.gmeta{font-size:13.5px;color:var(--muted);}

/* pied de page */
.site-f{margin-top:60px;border-top:1px solid var(--line);background:var(--white);}
.site-f .wrap{max-width:1040px;padding-top:26px;padding-bottom:34px;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;font-size:14.5px;color:var(--muted);}
.site-f nav{display:flex;flex-wrap:wrap;gap:4px 18px;}
.site-f a{color:var(--muted);text-decoration:none;font-weight:600;}
.site-f a:hover{color:var(--green);text-decoration:underline;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{transition:none !important;} }
@media print{ .site-h,.cta-end,.cta-mid,.site-f,.toc{display:none;} body{font-size:12pt;background:#fff;} }
