/* Correctifs communs : aucun changement de données ou de logique métier. */
:root{--mute:#596477}
:focus-visible{outline:3px solid #15314f!important;outline-offset:3px!important;box-shadow:0 0 0 6px #fff!important}
.skip-link{position:fixed;left:12px;top:8px;z-index:10000;padding:12px 16px;background:#fff;color:#15314f;transform:translateY(-180%);border:2px solid #15314f;border-radius:8px}
.skip-link:focus{transform:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.field-label{display:block;flex-basis:100%;font-size:15px;font-weight:600;margin:4px 0}
input[type=text],input[type=search],select,.ac-picker input{border-color:#778397!important;max-width:100%;min-width:0}
input::placeholder{color:#596477;opacity:1}
.ac-msg{color:#596477!important}
button,summary{touch-action:manipulation}
.site,.row,.choice,.c{min-width:0}
.c>span:not(.e):not(.go){min-width:0}
a,button,summary,p,.msg{overflow-wrap:anywhere}
.nm{font-size:inherit;margin:0}
.map-alternative{font-size:15px;padding:8px 0}
.map-alternative:not(:focus-within){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important}button[aria-pressed=true]{border:3px solid ButtonText!important}}
.leaflet-control-attribution a{text-decoration:underline!important}

/* Logo sur une ligne, même sur les petits téléphones (10/10/2026). */
.site b{white-space:nowrap}
/* Icônes des cinq outils (commun/icones.svg) : trait de la couleur du texte, point orange. */
.ico{width:1.2em;height:1.2em;vertical-align:-.24em;flex:none;overflow:visible}
.c .e .ico{width:44px;height:44px;vertical-align:middle}
/* Liens : une seule couleur, même déjà visités (jamais le bleu du navigateur). */
a,a:visited{color:var(--acc,#2a4f7c)}
a{text-underline-offset:3px}
/* Choix fait : bien visible (fond bleu marine, coche), puis liste repliée avec « Changer ». */
.dom[aria-pressed=true]{background:var(--ink,#15314f);border-color:var(--ink,#15314f)}
.dom[aria-pressed=true] b,.dom[aria-pressed=true] span{color:#fff}
.dom[aria-pressed=true] b::before{content:"✓ "}
.doms.choix-fait{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.doms .changer{align-self:flex-start;font:inherit;font-weight:600;padding:10px 20px;min-height:44px;border:2px solid var(--ink,#15314f);border-radius:12px;background:var(--card,#fff);color:var(--ink,#15314f);cursor:pointer}
.chip[aria-pressed=true]{border-color:var(--ink,#15314f)}
.chip[aria-pressed=true]::before{content:"✓ ";font-weight:700}
/* En-tête commun : le logo ramène toujours à l’accueil des outils ; à droite, un lien séparé. */
header.entete{display:flex;align-items:center;gap:10px;background:var(--card,#fff);border-bottom:1px solid var(--line,#e4e9ee);padding-right:16px}
header.entete .site{flex:1 1 auto;display:flex;align-items:center;gap:10px;padding:8px 0 8px 16px;min-height:44px;border:0;background:none;text-decoration:none;color:var(--ink,#15314f)}
header.entete .site .lg{width:34px;height:34px;background:none;border-radius:0;flex:none;display:block}
header.entete .nom{display:flex;flex-direction:column;line-height:1.15;min-width:0}
header.entete .nom b{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:17px;white-space:nowrap}
header.entete .nom small{font-size:13px;color:var(--mute,#667085)}
header.entete a.r{flex:none;display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--mute,#667085);text-decoration:none;white-space:nowrap}
header.entete a.r:hover,header.entete .site:hover b{text-decoration:underline}
header.entete{max-width:none;margin:0;padding:0 16px 0 0}
/* Cibles tactiles d'au moins 44 px sur téléphone (relecture du 10/10/2026). */
@media (max-width:600px){.chip,.btn,.ac-bar button,.lieu button{min-height:44px}.autre{display:inline-flex;align-items:center;min-height:44px}}
.leaflet-popup-close-button{width:44px!important;height:44px!important;font-size:28px!important;line-height:44px!important}
.pop .btn{min-height:44px}
.ac-picker .ac-annuler{background:#fff;border:2px solid #15314f;color:#15314f;font-weight:600;cursor:pointer}
/* Panne de chargement des données : message clair et bouton Réessayer (audit F01). */
.panne{margin:12px 0;padding:14px 16px;border-radius:14px;background:#fff4e6;border-left:4px solid #e8590c;color:var(--ink,#15314f)}
.panne[hidden]{display:none}
.panne p{margin:0 0 10px}
.panne .btn{min-height:44px}
