.seo-intro,.city-guide,.faq,.place-faq{max-width:1200px;margin:100px auto;padding:0 24px}.seo-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:65px;align-items:start}.seo-intro>div>p{max-width:760px;color:var(--muted);font-size:16px}.seo-intro aside{background:#F2EDE2;border-radius:16px;padding:28px}.seo-intro h3{font-size:20px;margin-bottom:16px}.seo-intro ul{list-style:none;padding:0;margin:0}.seo-intro li{border-top:1px solid #E3DCCD;padding:13px 0;color:var(--muted);font-size:13px}.seo-intro li b{color:var(--ink);display:block}.city-guide{background:#fff;border:1px solid var(--line);border-radius:20px;padding:42px}.city-guide h2,.faq h2,.place-faq h2{font-size:clamp(1.8rem,3vw,2.65rem);max-width:700px}.city-lead{color:var(--muted);max-width:680px}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.city-grid a{border:1px solid var(--line);border-radius:13px;padding:18px;position:relative;transition:.25s}.city-grid a:hover{border-color:#0F7C8A;transform:translateY(-2px)}.city-grid span{font:500 10px var(--font-body);color:#0F7C8A;letter-spacing:.05em}.city-grid h3{font-size:17px;margin:8px 25px 7px 0}.city-grid p{font-size:12px;color:var(--muted);margin:0}.city-grid svg{width:16px;position:absolute;right:16px;top:20px;color:#0F7C8A}.faq{margin-top:0;margin-bottom:105px}.place-faq{padding:0;margin:0 0 85px}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.faq details{border:1px solid var(--line);background:#fff;border-radius:12px;padding:17px 18px}.faq summary{cursor:pointer;font-weight:800;font-size:14px;list-style:none;padding-right:24px;position:relative}.faq summary:after{content:'+';position:absolute;right:0;color:#0F7C8A;font-size:20px;top:-5px}.faq details[open] summary:after{content:'–'}.faq details p{font-size:13px;color:var(--muted);margin:13px 0 0}.text-link{color:#0F7C8A;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.journal-context{display:grid;grid-template-columns:1.15fr .85fr;gap:35px;background:#fff;border:1px solid var(--line);padding:28px;border-radius:16px;max-width:950px}.journal-context h2{font-size:25px;margin-bottom:8px}.journal-context h3{font-size:15px;margin:0 0 7px}.journal-context p{margin:0;color:var(--muted);font-size:13px}.journal-context>div+div{border-left:1px solid var(--line);padding-left:35px}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #0B6672;outline-offset:3px;border-radius:4px}.button:focus-visible{outline-color:#17302B}.filter-toggle.active{background:#0F7C8A;border-color:#0F7C8A}.tag.orange{color:#9f3d14}@media(max-width:800px){.seo-intro{display:block;margin:70px auto}.seo-intro aside{margin-top:30px}.city-guide{margin:70px 16px;padding:28px 20px}.city-grid,.faq-grid{grid-template-columns:1fr}.faq,.place-faq{margin:70px auto}.place-faq{margin-bottom:60px}.journal-context{grid-template-columns:1fr;padding:22px}.journal-context>div+div{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}}
/* === Outils L'Aire Azureenne (05-tools) — tokens du :root, aucune couleur en dur === */
.tool-page{max-width:1200px;margin:0 auto;padding:35px 24px 90px}
.tool-hero{padding:40px 0 30px;max-width:780px}
.tool-hero h1{font-size:clamp(2.4rem,5vw,4rem)}
.tool-lead{font-size:17px;color:var(--muted);max-width:700px}
.tool-form{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:30px}
.tool-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tool-fields label{display:flex;flex-direction:column;gap:7px;font:600 13px var(--font-body);color:var(--ink)}
.tool-fields label>span{font:500 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tool-fields select{border:1px solid var(--line);background:var(--white);min-height:48px;border-radius:9px;padding:0 12px;font:600 14px var(--font-body);color:var(--ink);max-width:420px}
.tool-actions{display:flex;align-items:center;gap:18px;margin-top:22px}
.tool-results{margin-bottom:70px}
.tool-empty{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:24px;color:var(--muted);font-size:15px}
.tool-why{list-style:none;margin:14px 0 18px;padding:0;border-top:1px solid var(--line)}
.tool-why li{font-size:12px;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--line)}
.tool-page .place-card h2{font-size:20px;margin:18px 0 8px}
.tool-method{max-width:760px;margin-top:20px}
.tool-method h2{font-size:23px;margin:32px 0 10px}
.tool-method p{color:var(--muted)}
.map-sector{margin:34px 0}
.map-sector h2{font-size:24px;margin-bottom:14px}
.map-sector h2 small{font:500 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:10px}
.map-points{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.map-points li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto auto;gap:18px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line)}
.map-point-name{font-weight:800;font-size:15px;color:var(--blue)}
.map-point-meta{font-size:12px;color:var(--muted)}
.map-point-date{font:500 11px var(--font-body);color:var(--muted);white-space:nowrap}
.table-scroll{overflow-x:auto}
.compare-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line);border-radius:16px;font-size:14px}
.compare-table caption{text-align:left;font:500 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:12px}
.compare-table th,.compare-table td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare-table thead th{font-size:15px;color:var(--ink)}
.compare-table tbody th{font:600 12px var(--font-body);color:var(--muted);width:190px}
.compare-table tr.differe td{background:var(--fill);font-weight:700}
.compare-links{margin-top:18px;font-size:13px}
@media(max-width:800px){
.tool-fields{grid-template-columns:1fr}
.map-points li{grid-template-columns:1fr;gap:5px}
.compare-table tbody th{width:auto}
}

/* === Complement 05c : fil d'ariane, ancre de resultat, legende === */
.breadcrumb{font:500 12px var(--font-body);color:var(--muted);display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.breadcrumb svg{width:14px}
.breadcrumb a{color:var(--blue)}
#resultat{display:block;height:0;scroll-margin-top:96px}
html:has(#resultat[autofocus]){scroll-behavior:auto}
.map-legend{background:var(--callout-bg);color:var(--callout-text);border:1px solid var(--callout-border);border-radius:12px;padding:16px 18px;font-size:13px;margin:18px 0 26px}
.tool-method .faq-grid{margin-top:14px}
.tool-method details{border:1px solid var(--line);background:var(--white);border-radius:12px;padding:15px 17px}
.tool-method summary{cursor:pointer;font-weight:700;font-size:14px}
.tool-method details p{font-size:13px;color:var(--muted);margin:11px 0 0}

/* === Pages pilier (06) === */
.pilier-page{max-width:1200px;margin:0 auto;padding:35px 24px 90px}
.pilier-toc{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 40px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:14px}
.pilier-toc a{font:600 13px var(--font-body);color:var(--blue);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.pilier-toc a:hover{background:var(--fill)}
.pilier-section{max-width:860px;margin:0 0 42px}
.pilier-section h2{font-size:27px;margin:0 0 12px}
.pilier-section p{color:var(--muted);font-size:16px}
.pilier-section .table-scroll{max-width:none;margin:18px 0}
.pilier-section .button{margin-top:8px}
.pilier-next{list-style:none;margin:14px 0 18px;padding:0;border-top:1px solid var(--line)}
.pilier-next li{font-size:14px;color:var(--ink);padding:11px 0;border-bottom:1px solid var(--line)}
@media(max-width:800px){.pilier-toc{gap:8px}.pilier-section h2{font-size:23px}}

/* === Avis de provenance des fiches (jeu de démonstration) === */
.provenance-note{background:var(--callout-bg);color:var(--callout-text);border:1px solid var(--callout-border);border-left-width:4px;border-radius:12px;padding:16px 18px;font-size:13.5px;line-height:1.6;margin:0 0 26px}
.place-page .provenance-note,.journal-page .provenance-note{margin-top:18px}

/* === Bloc gestionnaire + bloc « à relever » (fiche de lieu) === */
.admin-block,.todo-block{max-width:1200px;margin:0 auto 55px;padding:0 24px}
.admin-block h2,.todo-block h2{font-size:26px;margin-bottom:14px}
.admin-list{margin:0;border-top:1px solid var(--line)}
.admin-list>div{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:15px 0;border-bottom:1px solid var(--line)}
.admin-list dt{font:600 12px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.admin-list dd{margin:0;font-size:15px;color:var(--ink)}
.admin-sources{margin-top:16px;font-size:12.5px;color:var(--muted);line-height:1.7}
.admin-sources a{color:var(--blue);font-weight:600}
.admin-empty{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px;color:var(--muted);font-size:14px}
.todo-block{background:var(--fill);border-radius:16px;padding:26px 24px;max-width:1152px}
.todo-block p{color:var(--muted);font-size:14px;max-width:760px}
.todo-block ul{margin:14px 0 0;padding-left:20px;columns:2;column-gap:38px}
.todo-block li{font-size:14px;color:var(--ink);margin:6px 0;break-inside:avoid}
@media(max-width:800px){.admin-list>div{grid-template-columns:1fr;gap:5px}.todo-block ul{columns:1}}

/* ===== LARGEUR UNIFIÉE — application au markup réel de ce front =====
 *
 * Référence = la home : `max-width:1200px` + gouttière de 24 px
 * (cf. `.directory,.method,.related` et `.seo-intro,.city-guide,.faq`).
 *
 * Le bloc générique posé par 05c dans styles.css vise `.guide-narrow`,
 * `.article-narrow`, `.wrap`… — des classes que CE builder n'emploie pas :
 * il est donc inerte ici, posé et validé sans effet. Les règles ci-dessous
 * visent le markup réellement servi.
 *
 * Pas de `!important` : ce bloc est en fin de `seo.css`, la dernière feuille
 * chargée par header.php, donc il gagne à spécificité égale. Seule exception,
 * le plan du site, dont la feuille est inline DANS la page et passe donc
 * après toute feuille externe.
 */

/* Pages qui étaient plus étroites que la home. */
.legal,
.notfound{max-width:1200px}

/* Colonnes de lecture : plus de plafond interne, elles suivent leur conteneur. */
.tool-hero,
.tool-lead,
.tool-method,
.pilier-section,
.journal-hero,
.timeline,
.journal-context,
.source-list,
.detail-layout article{max-width:none}

/* Le bloc « à relever » gardait 1152 px : il s'aligne sur les autres. */
.todo-block{max-width:1200px}

/* Les CONTRÔLES de formulaire restent plafonnés : un select étiré sur 1200 px
 * n'est pas une préférence de style, c'est une régression d'usage. */
.tool-fields select,
.tool-fields input{max-width:420px}

/* Plan du site : sa feuille est inline dans la page, donc postérieure à seo.css. */
.psm-wrap{max-width:1200px!important;padding-left:24px!important;padding-right:24px!important}

/* (marque en image : règle déplacée dans styles.css, partagée avec le thème) */

/* === Photos de contenu (piliers) === */
.pilier-hero-img,.pilier-illu{margin:0 0 26px}
.pilier-hero-img img,.pilier-illu img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line)}
.pilier-hero-img{margin:0 0 34px}
.pilier-hero-img img{aspect-ratio:16/9;object-fit:cover}
.pilier-illu img{aspect-ratio:16/9;object-fit:cover}
@media(max-width:800px){.pilier-hero-img img,.pilier-illu img{border-radius:12px}}

/* === Portrait de l'auteur (bloc de pied de page du front) === */
.author-card{display:flex;gap:20px;align-items:flex-start}
.author-avatar{flex:0 0 auto}
.author-img{display:block;width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.author-monogram{display:inline-grid;place-items:center;border-radius:50%;background:var(--secondary);color:var(--white);font-family:var(--font-heading);font-weight:700;font-size:34px;letter-spacing:.5px;flex:0 0 auto}
@media(max-width:800px){.author-card{gap:14px}.author-img,.author-monogram{width:72px!important;height:72px!important}.author-monogram{font-size:26px}}

/* === Bloc de signalement (fiche de lieu) === */
.signal-block{max-width:1200px;margin:0 auto 60px;padding:28px 24px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:16px}
.signal-block h2{font-size:24px;margin:0 0 12px}
.signal-block p{color:var(--muted);font-size:15px;max-width:820px}
.signal-indep{border-top:1px solid var(--line);padding-top:14px;font-size:13.5px}
.signal-block .button{margin-top:6px}
.signal-alt{font-size:13px;margin-top:14px}
.signal-alt a{color:var(--blue);font-weight:600}
@media(max-width:800px){.signal-block{padding:22px 18px;margin-bottom:44px}.signal-block h2{font-size:21px}}

/* === Formulaire de signalement === */
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.tool-textarea{display:flex;flex-direction:column;gap:7px;margin-top:16px;font:600 13px var(--font-body);color:var(--ink)}
.tool-textarea>span{font:500 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tool-textarea textarea,.tool-textarea input{border:1px solid var(--line);background:var(--white);border-radius:9px;padding:12px;font:400 15px var(--font-body);color:var(--ink);max-width:820px}
.tool-fields input{border:1px solid var(--line);background:var(--white);min-height:48px;border-radius:9px;padding:0 12px;font:600 14px var(--font-body);color:var(--ink);max-width:420px}
