/* ============================================================
   STYLE NEUTRE des pages SEO.
   Remplace ces couleurs/typos par celles de ta charte pour
   un rendu identique au reste du site.
   ============================================================ */
:root{
  --bleu:#1559b3;
  --bleu-fonce:#0d3c7a;
  --texte:#1d2433;
  --gris:#5b6478;
  --bg-clair:#f5f7fb;
  --bord:#e2e7f0;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--texte);line-height:1.65;background:#fff}
.wrap{max-width:880px;margin:0 auto;padding:0 20px}
a{color:var(--bleu);text-decoration:none}
a:hover{text-decoration:underline}

/* Header */
.site-header{border-bottom:1px solid var(--bord);background:#fff}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:1080px}
.brand{font-weight:700;font-size:1.15rem;color:var(--bleu-fonce)}
.main-nav a{margin-left:18px;color:var(--texte);font-weight:500}
.main-nav .cta{margin-left:22px}

/* CTA */
.cta{display:inline-block;background:var(--bleu);color:#fff!important;padding:11px 20px;border-radius:8px;font-weight:600;text-decoration:none!important}
.cta:hover{background:var(--bleu-fonce)}
.cta-inline{margin:28px 0}

/* Fil d'Ariane */
.breadcrumb{font-size:.85rem;color:var(--gris);padding:14px 20px 0}
.breadcrumb .sep{margin:0 7px;color:var(--bord)}

/* Contenu */
main.wrap{padding-top:14px;padding-bottom:50px}
h1{font-size:2rem;line-height:1.25;color:var(--bleu-fonce);margin:.4em 0 .5em}
h2{font-size:1.35rem;margin:1.8em 0 .5em;color:var(--texte)}
.lead{font-size:1.12rem;color:var(--gris)}
ul.facts,ul.related,ul.city-grid,ul.guide-list{list-style:none;padding:0}
ul.facts li{padding:7px 0;border-bottom:1px solid var(--bord)}

/* FAQ */
.faq details{border:1px solid var(--bord);border-radius:8px;padding:4px 16px;margin:10px 0;background:var(--bg-clair)}
.faq summary{cursor:pointer;font-weight:600;padding:10px 0}

/* Grilles hub */
ul.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
ul.city-grid a{display:block;border:1px solid var(--bord);border-radius:10px;padding:16px;background:#fff}
ul.city-grid a:hover{border-color:var(--bleu);text-decoration:none}
ul.city-grid strong{display:block;color:var(--bleu-fonce)}
ul.city-grid span{font-size:.85rem;color:var(--gris)}
ul.guide-list li{border:1px solid var(--bord);border-radius:10px;margin:12px 0}
ul.guide-list a{display:block;padding:16px}
ul.guide-list a:hover{text-decoration:none;background:var(--bg-clair)}
ul.guide-list strong{display:block;color:var(--bleu-fonce);margin-bottom:4px}
ul.guide-list span{font-size:.9rem;color:var(--gris)}
ul.related li{margin:6px 0}

/* Footer */
.site-footer{border-top:1px solid var(--bord);background:var(--bg-clair);margin-top:40px;padding:30px 0}
.footer-cta{font-weight:600;font-size:1.1rem}
.footer-cta .cta{margin-left:14px}
.footer-meta,.footer-links{color:var(--gris);font-size:.9rem}

@media(max-width:600px){
  h1{font-size:1.6rem}
  .main-nav a{margin-left:12px;font-size:.9rem}
}
