/* Compléments des pages générées (le reste vient de style.css, inchangé) */
.breadcrumb-nav{list-style:none;display:flex;gap:8px;flex-wrap:wrap;font-size:.83rem;color:rgba(255,255,255,.7);padding:0;margin:0 0 18px}
.breadcrumb-nav a{color:rgba(255,255,255,.8);text-decoration:none}
.breadcrumb-nav a:hover{color:#fff;text-decoration:underline}
.egf-ariane-clair,.egf-ariane-clair a{color:var(--text-light)}
.egf-hero-puces{margin-top:22px}
.egf-hero-puces li span{color:#fff}
.egf-gris{background:var(--gray)}
.about-inner--inverse .about-img-wrap{order:2}
.about-inner--sans-image{grid-template-columns:1fr}
.egf-qui{max-width:760px;margin:24px auto 0;padding-left:20px;line-height:1.8}
.egf-quartiers{margin-top:14px}
.egf-consentement input{margin-top:3px;flex-shrink:0}
@media (max-width:992px){.about-inner--inverse .about-img-wrap{order:0}}
.egf-texte{max-width:820px;line-height:1.8}
.egf-texte h1{margin-bottom:24px}
.egf-texte h2{font-size:1.25rem;margin:32px 0 12px}
.egf-texte ul{padding-left:20px}
.egf-etapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin-top:40px}
.egf-etape{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:32px 26px;text-align:center}
.egf-etape-num{display:inline-flex;width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-size:1.4rem;align-items:center;justify-content:center;margin-bottom:16px}
.egf-etape h3{font-size:1.1rem;margin-bottom:10px}
.egf-etape p{color:var(--text-light);line-height:1.7;font-size:.93rem}
.egf-zones-accueil{justify-content:center;margin-top:28px}
.egf-categorie{font-size:.72rem;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.service-card-body h3 a{color:inherit;text-decoration:none}

/* ---- FAQ : cartes blanches, numéro arrondi, carte ouverte mise en avant ---- */
.faq-section{padding:84px 0 92px}
.faq-section .faq-list{gap:12px}
.faq-section .faq-item,.faq-section .faq-item:first-child{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.faq-section .faq-item:hover{border-color:#fca5a5}
.faq-section .faq-item:has(.faq-question[aria-expanded="true"]){border-color:#fca5a5;box-shadow:0 10px 28px rgba(220,38,38,.09)}
.faq-section .faq-question{padding:20px 24px}
.faq-section .faq-q-num{border-radius:8px;border-color:transparent;background:#fef2f2;opacity:1}
.faq-section .faq-answer p{padding:0 24px 24px 64px}
.faq-section--seule .faq-header{max-width:860px;margin:0 auto 36px}
.faq-section--seule .faq-grid{grid-template-columns:minmax(0,860px);justify-content:center}

/* ---- Sources et pages liées : deux blocs, pastilles de liens ---- */
.egf-sources{background:#fff;border-top:1px solid var(--border)}
.egf-sources-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.egf-bloc-sources{background:var(--gray);border-radius:14px;padding:28px 30px}
.egf-sources h2{font-size:1.05rem;margin:0 0 16px;color:var(--text-dark)}
.egf-bloc-liens h2:not(:first-child){margin-top:30px}
.egf-sources ol{list-style:none;counter-reset:src;padding:0;margin:0}
.egf-sources ol li{counter-increment:src;position:relative;padding:0 0 14px 36px;font-size:.88rem;line-height:1.6;color:var(--text-light)}
.egf-sources ol li:last-child{padding-bottom:0}
.egf-sources ol li::before{content:counter(src);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--border);color:var(--primary);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.egf-sources a{color:var(--primary);font-weight:600;text-decoration:none}
.egf-sources a:hover{text-decoration:underline}
.egf-ressources{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.egf-ressources a{display:inline-flex;align-items:center;padding:8px 16px;background:#fff;border:1px solid var(--border);border-radius:999px;font-size:.88rem;font-weight:600;color:var(--text-dark);text-decoration:none;transition:border-color .2s,color .2s,background .2s}
.egf-ressources a:hover{border-color:var(--primary);color:var(--primary);background:#fef2f2;text-decoration:none}
.egf-auteur{margin-top:36px;padding-top:20px;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-light)}

/* ---- Formulaire de contact : carte centrée, champs en boîtes ---- */
.contact-section:has(.contact-layout--seul){background:var(--gray)}
.contact-layout--seul{grid-template-columns:minmax(0,680px)}
.contact-layout--seul .formulaire{background:#fff;border:1px solid var(--border);border-radius:18px;padding:38px 38px 34px;box-shadow:0 12px 40px rgba(17,24,39,.07)}
.contact-section .formulaire .egf-champs-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.contact-section .formulaire .form-group-spaced{margin-bottom:18px}
.contact-section .formulaire .form-label{display:block;margin-bottom:8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dark)}
.contact-section .formulaire .form-input{background:var(--gray);border:1px solid var(--border);border-radius:10px;padding:13px 15px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}
.contact-section .formulaire .form-input:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px rgba(220,38,38,.13)}
.contact-section .formulaire .form-textarea{min-height:112px;resize:vertical}
.egf-consentement{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;line-height:1.55;margin:4px 0 20px;padding:14px 16px;background:var(--gray);border-radius:10px;color:var(--text-light)}
.egf-consentement input{margin-top:3px;flex-shrink:0;accent-color:var(--primary);width:16px;height:16px}
.contact-section .btn-envoyer{border-radius:10px;padding:17px;transition:background .2s,transform .15s}
.contact-section .btn-envoyer:hover{transform:translateY(-1px)}
@media (max-width:768px){.egf-sources-grille{grid-template-columns:1fr;gap:28px}.egf-bloc-sources{padding:22px 20px}}
@media (max-width:576px){
 .faq-section{padding:60px 0 66px}
 .faq-section .faq-question{padding:16px 16px}
 .faq-section .faq-answer p{padding:0 16px 20px 16px}
 .contact-layout--seul .formulaire{padding:26px 20px}
 .contact-section .formulaire .egf-champs-2{grid-template-columns:1fr}
}
