/* ============ Pages guides — mise en page article ============ */
.guide-page{background:var(--white);}
.g-hero{padding:132px 0 40px;background:linear-gradient(180deg,var(--canvas) 0%,var(--white) 100%);border-bottom:1px solid var(--line);}
.g-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--grey);margin-bottom:22px;}
.g-crumbs a{color:var(--grey-deep);text-decoration:none;}
.g-crumbs a:hover{color:var(--gold-deep);}
.g-hero h1{font-family:var(--display);font-weight:300;font-size:46px;line-height:1.08;letter-spacing:-0.042em;color:var(--ink);margin:0 0 18px;max-width:900px;text-wrap:balance;}
.g-hero h1 strong{font-weight:600;}
.g-lead{font-size:19px;font-weight:300;line-height:1.55;color:var(--grey-deep);max-width:820px;margin:0 0 18px;text-wrap:pretty;}
.g-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13.5px;color:var(--grey);margin-bottom:22px;}
.g-meta strong{color:var(--ink);font-weight:600;}
.g-hero .answer{margin:0;max-width:900px;}
.g-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;padding:48px 32px 96px;align-items:start;}
.g-toc{position:sticky;top:96px;border:1px solid var(--line);border-radius:12px;background:var(--paper-warm);padding:18px 18px 16px;}
.g-toc-title{font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;}
.g-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:toc;}
.g-toc li{counter-increment:toc;}
/* :not(.btn) : sans cela, ces règles de lien l emportaient sur .btn-primary
   et repeignaient le bouton du sommaire en texte sombre sur fond sombre, en lui
   ajoutant au passage un numéro de compteur. */
.g-toc a:not(.btn){display:block;padding:7px 8px 7px 30px;position:relative;font-size:13.5px;line-height:1.35;color:var(--grey-deep);text-decoration:none;border-radius:6px;}
.g-toc a:not(.btn)::before{content:counter(toc);position:absolute;left:8px;top:8px;font-family:var(--mono);font-size:10.5px;color:var(--gold-deep);}
.g-toc a:not(.btn):hover,.g-toc a:not(.btn).active{background:var(--gold-wash);color:var(--ink);}
.g-toc-cta{width:100%;justify-content:center;margin-top:14px;}
.g-article{min-width:0;max-width:820px;}
.g-article section{margin-bottom:44px;}
.g-article h2{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.15;letter-spacing:-0.03em;color:var(--ink);margin:0 0 14px;scroll-margin-top:96px;}
.g-article h3{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-0.02em;color:var(--ink);margin:26px 0 10px;scroll-margin-top:96px;}
.g-article p{font-size:16.5px;line-height:1.68;color:var(--grey-deep);margin:0 0 14px;}
.g-article p strong{color:var(--ink);font-weight:600;}
/* Les liens de corps de texte sont dorés et soulignés, mais pas les boutons :
   cette règle l'emportait sur .btn-copper et .btn-ghost-light (un élément et une
   classe contre une seule classe), ce qui peignait le texte des boutons du bloc
   CTA en doré, sur un fond doré, donc illisible. */
.g-article a:not(.btn){color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px;}
.g-article ul,.g-article ol:not(.steps){padding-left:22px;margin:0 0 16px;font-size:16px;line-height:1.65;color:var(--grey-deep);}
.g-article li{margin-bottom:6px;}
.g-article .answer{margin:14px 0 22px;}
.g-article .answer p{margin:0;}
.g-article .tbl-wrap{margin:16px 0 22px;}
.g-article .steps{margin:12px 0 22px;}
.g-note{border:1px solid var(--line);border-left:3px solid var(--emerald);border-radius:10px;background:var(--emerald-wash);padding:16px 20px;margin:16px 0 22px;font-size:15px;line-height:1.55;color:var(--ink);}
.g-note.warn{border-left-color:var(--warn);background:var(--warn-bg);}
.g-note strong{font-weight:600;}
.g-check{list-style:none;padding:0;margin:12px 0 22px;display:grid;gap:8px;}
.g-check li{position:relative;padding:12px 16px 12px 46px;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:15px;line-height:1.5;color:var(--grey-deep);margin:0;}
.g-check li::before{content:'';position:absolute;left:16px;top:14px;width:16px;height:16px;border:1.5px solid var(--gold-deep);border-radius:4px;}
.g-check li strong{color:var(--ink);font-weight:600;}
.g-sources ul{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px;}
.g-sources li{font-size:14.5px;}
.g-fine{font-size:13px;color:var(--grey);line-height:1.5;}
.g-fine.light{color:rgba(255,255,255,0.6);}
.g-author{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;border:1px solid var(--line);border-radius:12px;background:var(--paper-warm);padding:22px 24px;}
.g-author-glyph{width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--gold);display:grid;place-items:center;font-family:var(--mono);font-weight:700;letter-spacing:0.08em;}
.g-author-name{font-size:17px;font-weight:600;color:var(--ink);}
.g-author-role{font-size:13px;color:var(--grey);margin:2px 0 8px;}
.g-author p{font-size:14.5px;margin:0;}
.g-cta{background:var(--ink-strong);color:var(--white);border-radius:14px;padding:36px 40px;}
.g-cta h2{color:var(--white);font-size:28px;margin-bottom:10px;}
.g-cta p{color:rgba(255,255,255,0.78);margin-bottom:20px;}
.g-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;}
.g-related{border-top:1px solid var(--line);padding-top:22px;}
.g-related-title{font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;}
.g-related ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;}
.g-related a{font-size:14.5px;color:var(--ink);text-decoration:none;}
.g-related a:hover{color:var(--gold-deep);text-decoration:underline;}
@media(max-width:980px){.g-layout{grid-template-columns:1fr;gap:28px;padding:32px 20px 120px;}.g-toc{position:static;}.g-hero{padding:110px 0 28px;}.g-hero h1{font-size:34px;}.g-lead{font-size:16.5px;}.g-article h2{font-size:26px;}.g-cta{padding:26px 22px;}.g-related ul{grid-template-columns:1fr;}}
@media print{nav,.mobile-bottom-nav,.g-toc,.g-cta,.g-related,footer,.skip-link{display:none !important;}.g-hero{padding:0 0 16px;background:none;}.g-layout{display:block;padding:0;}body{background:#fff;color:#000;}.g-article a[href^="http"]::after{content:" (" attr(href) ")";font-size:11px;color:#555;}.g-article h2{page-break-after:avoid;}.tbl{page-break-inside:avoid;}}

/* ============ Fiches métier + pages collection ============ */
.qf.fiche{grid-template-columns:repeat(2,1fr);margin:6px 0 8px;}
.qf.fiche .qf-cell{padding:14px 16px;}
.qf.fiche .qf-v{font-size:14.5px;}
.collection-body{padding:40px 32px 96px;}
.collection-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.collection-jump a{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 14px;text-decoration:none;}
.collection-jump a:hover{border-color:var(--gold);color:var(--gold-deep);}
.collection-group{margin-bottom:44px;scroll-margin-top:96px;}
.collection-group h2{font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:-0.03em;color:var(--ink);margin:0 0 6px;}
.collection-group .prose{margin-bottom:18px;}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.metier-card .guide-card-tag{color:var(--emerald-deep);}
.metier-card-regime{font-size:12.5px;color:var(--grey);margin-top:-4px;}
@media(max-width:980px){.collection-grid{grid-template-columns:1fr 1fr;}.collection-body{padding:28px 20px 120px;}.qf.fiche{grid-template-columns:1fr;}}
@media(max-width:640px){.collection-grid{grid-template-columns:1fr;}}

/* ---------- Cas types : bandeau de portée et carte ---------- */
.cas-disclaimer{border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--gold-wash);border-radius:10px;padding:16px 18px;margin:28px 0 4px;}
.cas-disclaimer-title{font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;}
.cas-disclaimer p{font-size:13.5px;line-height:1.6;color:var(--grey-deep);margin:0 0 8px;}
.cas-disclaimer p:last-child{margin-bottom:0;}

/* ---------- Claim -> Proof : source rattachee a chaque donnee de la fiche ---------- */
.qf-src{margin-top:8px;padding-top:7px;border-top:1px dashed var(--line-soft);font-size:11.5px;line-height:1.45;color:var(--grey-deep);}
.qf-src a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px;}
#modifie ul{margin-top:6px;}

/* ---------- Annuaire des autorisations d etablissement ---------- */
.annuaire{margin-top:56px;padding-top:36px;border-top:1px solid var(--line);}
.annuaire-index{margin:18px 0 8px;}
.annuaire-famille{margin-top:34px;}
.annuaire-famille h3{display:flex;align-items:baseline;gap:12px;}
.annuaire-n{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--grey-deep);border:1px solid var(--line);border-radius:999px;padding:2px 10px;}
.annuaire-groupe{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-deep);margin:22px 0 6px;font-weight:500;}
.annuaire-list{list-style:none;margin:0 0 6px;padding:0;columns:2;column-gap:36px;}
.annuaire-list li{break-inside:avoid;padding:6px 0;border-bottom:1px dashed var(--line-soft);font-size:14.5px;line-height:1.45;color:var(--ink);}
.annuaire-list a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px;font-weight:600;}
@media (max-width:760px){.annuaire-list{columns:1;}}
