/* Carte de vigilance — public */
.dfci-vigilance { --v1:#4caf50; --v2:#ffd54f; --v3:#ff9800; --v4:#e53935; --encre:#1f2a1b; --trait:#2f3d2a; }
.dfci-maj { font-size: .95rem; color: #555; margin: 0 0 12px; }
.dfci-carte-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 24px; align-items: start; }
@media (max-width: 720px) { .dfci-carte-wrap { grid-template-columns: 1fr; } }
.dfci-carte { width: 100%; height: auto; max-width: 620px; display: block; }
.dfci-dept path { stroke: var(--trait); stroke-width: 1.5; stroke-linejoin: round; transition: filter .15s ease; }
.dfci-dept--niveau-1 path { fill: var(--v1); }
.dfci-dept--niveau-2 path { fill: var(--v2); }
.dfci-dept--niveau-3 path { fill: var(--v3); }
.dfci-dept--niveau-4 path { fill: var(--v4); }
.dfci-dept text { font: 700 28px system-ui, sans-serif; fill: var(--encre); pointer-events: none; paint-order: stroke; stroke: rgba(255,255,255,.7); stroke-width: 4px; }
.dfci-dept--niveau-1 text, .dfci-dept--niveau-3 text, .dfci-dept--niveau-4 text { fill: #fff; stroke: rgba(0,0,0,.35); }
a.dfci-dept-lien:hover path, a.dfci-dept-lien:focus path { filter: brightness(1.08); stroke-width: 3; }
a.dfci-dept-lien:focus { outline: none; }
a.dfci-dept-lien:focus-visible path { stroke: #1976d2; stroke-width: 4; }
.dfci-dept--ici path { stroke: #1976d2; stroke-width: 5; stroke-dasharray: 8 5; }

.dfci-legende { list-style: none; margin: 0; padding: 14px 16px; border: 1.5px solid var(--trait); border-radius: 10px; background: #fff; font-size: .92rem; }
.dfci-legende li { display: flex; align-items: center; gap: 10px; padding: 5px 0; }
.dfci-pastille { display: inline-block; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--trait); flex-shrink: 0; }
.dfci-pastille--1 { background: var(--v1); } .dfci-pastille--2 { background: var(--v2); }
.dfci-pastille--3 { background: var(--v3); } .dfci-pastille--4 { background: var(--v4); }

/* Me localiser */
.dfci-localiser { margin-top: 14px; }
.dfci-localiser__btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1.5px solid var(--trait); border-radius: 999px; background: #fff; font: 600 .95rem system-ui, sans-serif; color: var(--encre); cursor: pointer; min-height: 44px; }
.dfci-localiser__btn:hover { background: var(--encre); color: #fff; }
.dfci-localiser__btn:focus-visible { outline: 2px solid #1976d2; outline-offset: 2px; }
.dfci-localiser__resultat { margin: 10px 0 0; padding: 12px 16px; border-radius: 10px; border: 1.5px solid var(--trait); background: #fff; font-size: 1rem; }
.dfci-localiser__resultat[hidden] { display: none; }
.dfci-localiser__resultat--1 { border-color: var(--v1); } .dfci-localiser__resultat--2 { border-color: var(--v2); }
.dfci-localiser__resultat--3 { border-color: var(--v3); } .dfci-localiser__resultat--4 { border-color: var(--v4); }
.dfci-localiser__aide { font-size: .8rem; color: #666; margin: 6px 0 0; }

/* Liste textuelle — l'information sans la couleur */
.dfci-liste-titre { margin: 28px 0 10px; font-size: 1.15rem; }
.dfci-liste { list-style: none; margin: 0; padding: 0; }
.dfci-liste__item { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 11px 0; border-bottom: 1px solid #e4e4e4; }
.dfci-liste__niveau { color: #333; }
.dfci-liste__date, .dfci-liste__note { color: #666; font-size: .92rem; }
.dfci-liste__lien { margin-left: auto; font-weight: 600; text-decoration: underline; }
@media (max-width: 600px) { .dfci-liste__lien { margin-left: 0; width: 100%; } }
