/* ============================================================
   Annuaire des associations de Wasquehal (10/10/2026) : page d'ensemble [wv_associations] et pages
   /associations/<slug>/ (inc/associations.php). Repris de la maquette validée
   (donnees-enquetes/annuaire-associations/maquette/app.css), sélecteurs préfixés par .wva pour ne rien
   toucher ailleurs ; couleurs et polices = presets du thème (theme.json), aucune couleur hors palette.
   Les hauteurs --h-site (en-tête collant du site) et --h-haut (barre des onglets) sont mesurées par
   associations.js et posées sur <html>.
   ============================================================ */
.wva, .wva-tete {
  --wv-jaune: var(--wp--preset--color--jaune, #fef12b); --wv-orange: var(--wp--preset--color--orange, #f2a627);
  --wv-bleu: var(--wp--preset--color--bleu, #5891ea); --wv-corail: var(--wp--preset--color--corail, #ce5b53);
  --wv-vert: var(--wp--preset--color--vert, #7dbf30); --wv-rose: var(--wp--preset--color--rose, #e592df);
  --wv-violet: var(--wp--preset--color--violet, #79276b); --wv-rouge: var(--wp--preset--color--rouge, #d1183c);
  --wv-encre: var(--wp--preset--color--encre, #16302f); --wv-marine: var(--wp--preset--color--marine, #2b3a67);
  --wv-gris-900: #1c1c1c; --wv-gris-700: #3f3f3f; --wv-gris-500: #767676; --wv-gris-300: #c9c9c9; --wv-gris-200: #e4e4e4; --wv-gris-100: #f3f3f1;
  --wv-gradient-arc: linear-gradient(90deg, #5891ea 0%, #7dbf30 22%, #fef12b 42%, #f2a627 60%, #ce5b53 76%, #e592df 88%, #79276b 100%);
  --font-titre: var(--wp--preset--font-family--titre); --font-display: var(--wp--preset--font-family--display);
  --font-corps: var(--wp--preset--font-family--corps); --font-condensed: var(--wp--preset--font-family--condensed);
  --font-semicondensed: var(--wp--preset--font-family--semicondensed);
  --wv-skew: -6deg; --shadow-sm: 0 1px 2px rgba(22, 48, 47, 0.08); --container: 1180px; --gouttiere: clamp(16px, 4vw, 1.25rem);
}
/* base de la maquette (son body) : le corps des pages du thème est en Georgia et en taille fluide (14 px à 412 px) */
.wva { color: var(--wv-gris-900); font-family: var(--font-corps); font-size: 1rem; line-height: 1.55; overflow-wrap: break-word; }
/* intertitres : les styles globaux du thème (capitales, interlettrage serré) ne s'appliquent pas ; chaque titre de
   l'annuaire a sa règle plus bas (.bloc-titre garde capitales et italique, comme les intertitres du site) */
.wva :is(h1, h2, h3, h4, h5, h6) { text-transform: none; letter-spacing: normal; font-style: normal; }
.wva *, .wva *::before, .wva *::after { box-sizing: border-box; }
.wva img { max-width: 100%; height: auto; }
.wva a { color: var(--wv-encre); }
.wva a:focus-visible { outline: 3px solid var(--wv-bleu); outline-offset: 2px; }
/* mêmes bords que le reste du site : largeur large du thème (1180 px) et marge latérale de ses pages */
.wva .in { max-width: calc(var(--container) + 2 * var(--wp--style--root--padding-left, 1.25rem)); margin: 0 auto; padding-inline: var(--wp--style--root--padding-left, 1.25rem); }
/* pleine largeur hors du contenu étroit (760 px) de page.html, barre de défilement déduite (même motif que .wv-rues-app) ;
   collée sous l'en-tête de page quand elle ouvre le contenu (comme la maquette) */
.wva-app.alignfull { max-width: none !important; margin: 0 calc(50% - 50vw + var(--wv-sb, 0px) / 2) 0 !important; }
.wp-block-post-content:has(> .wva-app:first-child) { margin-top: 0 !important; }
html:has(.wva-app) { scroll-padding-top: calc(var(--h-site, 0px) + var(--h-haut, 112px) + 12px); }

.wva button, .wva input, .wva select, .wva textarea { font: inherit; color: inherit; }
.wva .vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.wva button:focus-visible, .wva input:focus-visible, .wva select:focus-visible, .wva textarea:focus-visible, .wva [tabindex]:focus-visible { outline: 3px solid var(--wv-bleu); outline-offset: 2px; }
/* barre de contrôles : onglets + recherche puis filtres = UN bloc, fond uni, un seul filet en bas (sous les filtres) */
.wva .barre-haut { position: sticky; top: var(--h-site, 0px); z-index: 60; background: #fff; }
.wva .barre-haut.est-seule { box-shadow: 0 1px 0 var(--wv-gris-200); } /* collée seule (mobile, ou onglets sans filtres) : son filet */
.wva .barre-haut .in { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.2rem; padding-block: 0.65rem; }
.wva .onglets { position: relative; display: flex; min-width: 0; gap: 0.3rem; padding: 0.3rem; border-radius: 999px; background: var(--wv-gris-100); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.wva .onglets::-webkit-scrollbar { display: none; }
.wva .onglet { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 0.4rem; border: 0; cursor: pointer; padding: 0.5rem 1rem; border-radius: 999px; background: transparent; font: 700 0.82rem/1 var(--font-semicondensed); text-transform: uppercase; letter-spacing: 0.05em; color: var(--wv-gris-700); white-space: nowrap; transition: background .15s, color .15s; }
.wva .onglet:hover { color: var(--wv-encre); background: #fff; }
.wva .onglet[aria-selected="true"] { background: var(--wv-encre); color: #fff; }
.wva .onglet .emo { font-size: 1rem; letter-spacing: 0; }
.wva .recherche { flex: 1 1 260px; min-width: 0; position: relative; }
.wva .recherche input { width: 100%; padding: 0.6rem 2.6rem 0.6rem 1.1rem; border: 2px solid var(--wv-encre); border-radius: 999px; background: #fff; font: 600 0.95rem var(--font-corps); color: var(--wv-encre); }
.wva .recherche input::placeholder { color: var(--wv-gris-500); font-weight: 400; }
.wva .recherche-vider { position: absolute; right: 6px; top: 50%; translate: 0 -50%; width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--wv-gris-100); cursor: pointer; font-size: 1.1rem; line-height: 1; }
.wva .recherche-vider[hidden] { display: none; }
body[data-vue="argent"] .wva .recherche, body[data-vue="chiffres"] .wva .recherche, body[data-vue="methode"] .wva .recherche { display: none; }
.wva .barre-filtres { background: #fff; border-bottom: 1px solid var(--wv-gris-200); }
@media (min-width: 900px) {
.wva .barre-filtres { position: sticky; top: calc(var(--h-site, 0px) + var(--h-haut, 112px)); z-index: 55; }
}
body[data-vue="argent"] .wva .barre-filtres, body[data-vue="chiffres"] .wva .barre-filtres, body[data-vue="methode"] .wva .barre-filtres { display: none; }
.wva .barre-filtres .in { display: flex; flex-direction: column; gap: 0.55rem; padding-block: 0.6rem 0.7rem; }
.wva .ligne-filtres { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; }
.wva .puces { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-width: 0; }
.wva .puce { display: inline-flex; align-items: center; gap: 6px; height: 32px; border: 2px solid var(--wv-encre); background: #fff; color: var(--wv-encre); border-radius: 999px; padding: 0 12px; font: 700 0.8rem/1 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; cursor: pointer; white-space: nowrap; }
.wva .puce i { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 1px rgba(22, 48, 47, 0.25); }
.wva .puce small { font-size: 0.74rem; opacity: 0.7; }
.wva .puce[aria-pressed="true"] { background: var(--wv-encre); color: #fff; }
.wva .puce[aria-pressed="true"] small { opacity: 0.85; }
.wva .puce:disabled { opacity: 0.4; cursor: default; }
.wva .puce[hidden] { display: none; }
.wva .puce-suite { border-style: dashed; color: var(--wv-violet); border-color: var(--wv-violet); }
.wva .segment { display: inline-flex; flex-wrap: wrap; gap: 2px; min-width: 0; max-width: 100%; padding: 3px; border-radius: 22px; background: var(--wv-gris-100); border: 0; margin: 0; }
.wva .segment label { position: relative; }
.wva .segment input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.wva .segment span { display: block; padding: 0.42rem 0.85rem; border-radius: 999px; font: 700 0.8rem/1.1 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; color: var(--wv-gris-700); }
.wva .segment input:checked + span { background: var(--wv-jaune); color: var(--wv-encre); box-shadow: inset 0 0 0 2px var(--wv-encre); }
.wva .segment input:focus-visible + span { outline: 3px solid var(--wv-bleu); outline-offset: 1px; }
.wva .tri { display: inline-flex; align-items: center; gap: 0.45rem; margin-left: auto; font: 700 0.78rem var(--font-semicondensed); text-transform: uppercase; letter-spacing: 0.05em; color: var(--wv-gris-700); }
.wva .tri select, .wva .outils select { border: 2px solid var(--wv-encre); border-radius: 999px; padding: 0.38rem 0.8rem; background: #fff; font: 600 0.88rem var(--font-corps); color: var(--wv-encre); text-transform: none; letter-spacing: 0; max-width: 100%; }
body[data-vue="carte"] .wva .tri { display: none; }
.wva .panneau { position: relative; padding-block: 1.6rem 3.4rem; }
.wva .panneau[hidden] { display: none; }
.wva .res-tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem 1.2rem; margin: 0 0 1.1rem; }
.wva .compte { margin: 0; font: 700 1rem var(--font-condensed); color: var(--wv-encre); }
.wva .compte b { font: 800 1.5rem/1 var(--font-condensed); margin-right: 0.15rem; }
.wva .compte-actifs { display: inline-flex; flex-wrap: wrap; gap: 0.4rem; margin-left: 0.6rem; vertical-align: 0.15em; }
.wva .pastille-filtre { display: inline-flex; align-items: center; gap: 0.35rem; border: 0; cursor: pointer; padding: 0.3rem 0.4rem 0.3rem 0.75rem; border-radius: 999px; background: var(--wv-jaune); color: var(--wv-encre); font: 700 0.78rem/1 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; }
.wva .pastille-filtre b { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--wv-encre); color: #fff; font-size: 0.75rem; }
.wva .bascule { display: inline-flex; align-items: center; gap: 0.55rem; cursor: pointer; font-size: 0.88rem; line-height: 1.3; color: var(--wv-gris-700); }
.wva .bascule input { appearance: none; -webkit-appearance: none; flex: 0 0 auto; position: relative; width: 38px; height: 22px; margin: 0; border-radius: 999px; background: var(--wv-gris-300); cursor: pointer; transition: background .15s; }
.wva .bascule input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s; box-shadow: var(--shadow-sm); }
.wva .bascule input:checked { background: var(--wv-encre); }
.wva .bascule input:checked::after { transform: translateX(16px); }
.wva .grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr)); gap: 16px; align-items: stretch; }
.wva .asso { position: relative; display: flex; flex-direction: column; gap: 0.45rem; min-width: 0; background: #fff; border: 1px solid var(--wv-gris-200); border-radius: 16px; padding: 16px 16px 14px 22px; box-shadow: 0 2px 8px rgba(22, 48, 47, 0.07); break-inside: avoid; transition: box-shadow .2s, transform .2s; }
.wva .asso::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 6px; border-radius: 0 4px 4px 0; background: var(--c); }
.wva .asso:hover { box-shadow: 0 10px 24px rgba(22, 48, 47, 0.14); transform: translateY(-2px); }
.wva .asso.is-eteinte { background: var(--wv-gris-100); }
.wva .tags { display: flex; flex-wrap: wrap; gap: 6px; }
.wva .tag { font: 700 0.72rem/1 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.04em; padding: 5px 9px; border-radius: 999px; background: var(--c); color: var(--fg, #fff); }
.wva .tag-statut { background: #fff; color: var(--wv-gris-700); box-shadow: inset 0 0 0 1px var(--wv-gris-300); }
.wva .asso-nom { margin: 0.1rem 0 0; font: 700 1.14rem/1.18 var(--font-display); color: var(--wv-encre); }
.wva .asso-nom a { color: inherit; text-decoration: none; }
.wva .asso-nom a::after { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.wva .asso-nom a:hover { text-decoration: underline; text-decoration-color: var(--c); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.wva .asso-nom a:focus-visible { outline: none; }
.wva .asso-nom a:focus-visible::after { outline: 3px solid var(--wv-bleu); outline-offset: 2px; }
.wva .asso-adr { margin: 0; font-size: 0.86rem; line-height: 1.35; color: var(--wv-gris-700); }
/* dates publiques : la date et sa nature, en texte secondaire (scripts/s12_chronologie.py) */
.wva .asso-dates { margin: 0; font: 600 0.82rem/1.35 var(--font-condensed); color: var(--wv-gris-700); }
.wva .asso-objet { margin: 0; font-size: 0.9rem; line-height: 1.5; color: var(--wv-gris-900); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wva .asso-bas { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.9rem; padding-top: 0.35rem; }
.wva .asso-liens { display: flex; flex-wrap: wrap; gap: 0.3rem 0.85rem; position: relative; z-index: 1; margin: 0; padding: 0; list-style: none; }
.wva .asso-liens a { font: 700 0.84rem var(--font-corps); color: var(--wv-encre); text-decoration: underline; text-decoration-color: var(--c); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.wva .asso-contact { position: relative; z-index: 1; margin: 0; font-size: 0.84rem; color: var(--wv-gris-700); }
.wva .asso-contact a { color: inherit; }
.wva .soutien { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.6rem; margin: 0.1rem 0 0.15rem; }
.wva .punch { display: inline-block; transform: skewX(var(--wv-skew)); padding: 0.28em 0.6em; background: var(--wv-jaune); color: var(--wv-encre); box-shadow: 3px 3px 0 rgba(22, 48, 47, 0.18); font: 900 0.74rem/1.1 var(--font-display); text-transform: uppercase; letter-spacing: 0.02em; }
.wva .punch > span { display: inline-block; transform: skewX(6deg); }
.wva .soutien-montant { font: 800 1.02rem/1 var(--font-condensed); color: var(--wv-encre); }
.wva .soutien-ancien { margin: 0; font: 600 0.82rem var(--font-condensed); color: var(--wv-gris-700); }
.wva .plus-wrap { display: flex; justify-content: center; margin-top: 1.6rem; }
.wva .bouton { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; border: 0; cursor: pointer; text-decoration: none; text-align: center; padding: 0.75rem 1.5rem; border-radius: 999px; font: 700 0.95rem/1.2 var(--font-corps); background: var(--wv-corail); color: #fff; transition: filter .15s, transform .05s; }
.wva .bouton:hover { filter: brightness(0.92); }
.wva .bouton:active { transform: scale(0.97); }
.wva .bouton-contour { background: #fff; color: var(--wv-encre); box-shadow: inset 0 0 0 2px var(--wv-encre); }
.wva .bouton-encre { background: var(--wv-encre); color: #fff; }
.wva .vide { padding: 2.4rem 1rem; text-align: center; color: var(--wv-gris-700); background: var(--wv-gris-100); border-radius: 16px; }
.wva .wv-fraicheur { margin: 2.4rem 0 0; padding: 0.7rem 1rem; border-left: 4px solid var(--wv-vert); background: var(--wv-gris-100); border-radius: 0 10px 10px 0; font-size: 0.875rem; line-height: 1.5; }
.wva .wv-fraicheur-pastille { display: inline-grid; place-items: center; width: 1.3em; height: 1.3em; margin-right: 0.2em; border-radius: 50%; background: var(--wv-vert); color: #fff; font-weight: 700; font-size: 0.85em; }
.wva .wv-fraicheur a { color: inherit; font-weight: 700; }
.wva .carte-tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.4rem 1rem; margin: 0 0 0.9rem; }
.wva .carte-tete p { margin: 0; }
.wva .carte-note { font-size: 0.88rem; color: var(--wv-gris-700); }
.wva .map { position: relative; z-index: 0; isolation: isolate; overflow: hidden; height: clamp(360px, calc(100vh - var(--h-site, 0px) - var(--h-haut, 112px) - 150px), 720px); min-height: 360px; background: var(--wv-gris-100); border-radius: 24px 6px 6px 6px; box-shadow: 0 0 0 1px var(--wv-gris-200), 8px 8px 0 rgba(22, 48, 47, 0.1); }
.wva .map .leaflet-tile-pane { filter: grayscale(1) contrast(0.85) brightness(1.08); }
.wva .map-etat { position: absolute; inset: 0; display: grid; place-items: center; padding: 1rem; text-align: center; color: var(--wv-gris-700); font-weight: 600; }
.wva .legende { display: flex; flex-wrap: wrap; gap: 0.35rem 1.1rem; margin: 0.9rem 0 0; padding: 0; list-style: none; font: 700 0.78rem/1.4 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; color: var(--wv-gris-700); }
.wva .legende i { display: inline-block; width: 12px; height: 12px; margin-right: 6px; border-radius: 50%; vertical-align: -1px; background: var(--c); box-shadow: 0 0 0 1.5px rgba(22, 48, 47, 0.6); }
.wva .pop { min-width: 0; max-width: 250px; font-family: var(--font-corps); }
.wva .pop .tag { display: inline-block; margin-bottom: 6px; }
.wva .pop b { display: block; font: 700 1rem/1.2 var(--font-display); color: var(--wv-encre); }
.wva .pop .pop-adr { display: block; margin-top: 3px; font-size: 0.8rem; color: var(--wv-gris-700); }
.wva .pop .pop-sout { display: block; margin-top: 6px; font: 700 0.82rem var(--font-condensed); color: var(--wv-encre); }
.wva .pop button { margin-top: 8px; border: 0; padding: 0.4rem 0.9rem; border-radius: 999px; background: var(--wv-encre); color: #fff; font: 700 0.8rem var(--font-corps); cursor: pointer; }
.wva .leaflet-container { font-family: var(--font-corps); }
.wva .bloc { margin: 0 0 3.2rem; }
.wva .bloc-titre { margin: 0 0 0.4rem; font: 700 italic clamp(1.4rem, 2.6vw, 1.95rem)/1.12 var(--font-titre); text-transform: uppercase; color: var(--wv-encre); text-decoration: underline; text-decoration-color: var(--wv-jaune); text-decoration-thickness: 0.36em; text-underline-offset: -0.2em; text-decoration-skip-ink: none; }
.wva .bloc-question { margin: 0.5rem 0 1.3rem; max-width: 68ch; font-size: 1.02rem; line-height: 1.55; color: var(--wv-gris-700); }
.wva .intro { max-width: 70ch; font-size: clamp(1.02rem, 1.5vw, 1.15rem); line-height: 1.6; margin: 0 0 1.8rem; color: var(--wv-encre); }
.wva .chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 14px; margin: 0 0 3rem; }
.wva .chiffres > div { position: relative; overflow: hidden; background: var(--wv-gris-100); border-radius: 16px; padding: 16px 18px 16px 22px; }
.wva .chiffres > div::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--c); }
.wva .chiffres b { display: block; font: 800 clamp(1.8rem, 3.6vw, 2.6rem)/1 var(--font-condensed); color: var(--wv-encre); font-variant-numeric: tabular-nums; }
.wva .chiffres span { display: block; margin-top: 6px; font-size: 0.9rem; line-height: 1.35; }
.wva .histo { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: clamp(4px, 1vw, 12px); align-items: end; height: 260px; padding: 0 0 0; border-bottom: 2px solid var(--wv-encre); }
.wva .histo-col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 0; }
.wva .histo-val { font: 700 clamp(0.62rem, 1.4vw, 0.84rem)/1.1 var(--font-condensed); color: var(--wv-encre); margin-bottom: 4px; text-align: center; white-space: nowrap; }
.wva .histo-barre { width: 100%; max-width: 64px; border-radius: 8px 8px 0 0; background: var(--wv-violet); min-height: 3px; }
.wva .histo-barre.is-nc { background: repeating-linear-gradient(-45deg, var(--wv-violet) 0 6px, #a46b9a 6px 12px); opacity: 0.55; }
.wva .histo-barre.is-mad { background: var(--wv-bleu); }
.wva .histo-barre.is-vide { background: none; border: 2px dashed var(--wv-gris-300); border-bottom: 0; height: 40px; }
.wva .histo-nr { font: 700 0.68rem/1.1 var(--font-condensed); color: var(--wv-gris-500); text-transform: uppercase; text-align: center; margin-bottom: 4px; }
.wva .histo-ans { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: clamp(4px, 1vw, 12px); margin-top: 6px; }
.wva .histo-ans span { text-align: center; font: 700 clamp(0.66rem, 1.4vw, 0.85rem) var(--font-condensed); color: var(--wv-gris-700); }
.wva .histo-ans sup { color: var(--wv-corail); }
.wva .histo.is-petit { height: 150px; }
.wva .notes { margin: 1rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.35rem; font-size: 0.84rem; line-height: 1.45; color: var(--wv-gris-700); max-width: 80ch; }
.wva .notes li { padding-left: 1.3em; text-indent: -1.3em; }
.wva .notes sup, .wva .appel { font-weight: 700; color: var(--wv-corail); }
.wva .duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 2rem 3rem; align-items: start; }
.wva .sous-titre { margin: 0 0 0.9rem; font: 700 1.08rem/1.25 var(--font-display); color: var(--wv-encre); }
.wva .hbarres { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.55rem; }
.wva .hbarres li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.15rem 0.8rem; align-items: baseline; }
.wva .hb-nom { font-size: 0.9rem; font-weight: 600; line-height: 1.3; color: var(--wv-encre); min-width: 0; }
.wva .hb-nom button, .wva .lien-bouton { border: 0; padding: 0; background: none; cursor: pointer; text-align: left; font: inherit; color: inherit; text-decoration: underline; text-decoration-color: var(--wv-gris-300); text-underline-offset: 3px; }
.wva .hb-nom button:hover, .wva .lien-bouton:hover { text-decoration-color: var(--wv-corail); }
.wva .hb-val { font: 700 0.9rem var(--font-condensed); color: var(--wv-encre); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wva .hb-piste { grid-column: 1 / -1; height: 10px; border-radius: 999px; background: var(--wv-gris-100); overflow: hidden; }
.wva .hb-piste i { display: block; height: 100%; border-radius: 999px; background: var(--wv-corail); }
.wva .hb-total { margin: 1rem 0 0; font-size: 0.92rem; color: var(--wv-encre); }
.wva .repart { display: flex; height: 54px; border-radius: 12px; overflow: hidden; box-shadow: inset 0 0 0 1px var(--wv-gris-200); }
.wva .repart div { display: grid; place-items: center; min-width: 0; font: 800 clamp(0.8rem, 1.8vw, 1.05rem)/1 var(--font-condensed); }
.wva .repart-leg { margin: 0.8rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.4rem; font-size: 0.9rem; }
.wva .repart-leg i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 8px; vertical-align: -1px; background: var(--c); }
.wva .outils { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.2rem; margin: 0 0 1rem; }
.wva .outils label { display: inline-flex; align-items: center; gap: 0.45rem; font: 700 0.78rem var(--font-semicondensed); text-transform: uppercase; letter-spacing: 0.05em; color: var(--wv-gris-700); }
.wva .tableau-wrap { position: relative; border: 1px solid var(--wv-gris-200); border-radius: 16px 6px 6px 6px; overflow: hidden; }
.wva .tableau { width: 100%; border-collapse: collapse; font: 600 0.92rem/1.35 var(--font-condensed); font-variant-numeric: tabular-nums; }
.wva .tableau caption { text-align: left; }
.wva .tableau th { padding: 0.65rem 0.8rem; text-align: left; background: var(--wv-marine); color: #fff; font: 700 0.76rem/1.2 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.04em; }
.wva .tableau td { padding: 0.6rem 0.8rem; border-top: 1px solid var(--wv-gris-200); vertical-align: top; }
.wva .tableau tbody tr:nth-child(even) td { background: var(--wv-gris-100); }
.wva .tableau .num { text-align: right; white-space: nowrap; }
.wva .tableau .rang { width: 2.6rem; color: var(--wv-gris-500); }
.wva .tableau .nom { font-family: var(--font-corps); font-weight: 600; font-size: 0.9rem; color: var(--wv-encre); }
.wva .tableau .nom small { display: block; margin-top: 2px; font: 600 0.76rem var(--font-condensed); color: var(--wv-gris-500); }
.wva .tableau a.pdf { font: 700 0.76rem var(--font-condensed); text-transform: uppercase; color: var(--wv-violet); white-space: nowrap; }
.wva .tableau .zero { color: var(--wv-gris-300); }
@media (max-width: 560px) {
.wva .tableau .rang, .wva .tableau .col-pdf { display: none; }
.wva .tableau th, .wva .tableau td { padding: 0.55rem 0.55rem; }
}
.wva .encart { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.6rem 1.8rem; align-items: center; padding: 1.7rem 1.9rem; border: 3px solid transparent; border-radius: 28px 8px 8px 8px; background: linear-gradient(#fff, #fff) padding-box, var(--wv-gradient-arc) border-box; box-shadow: 8px 8px 0 rgba(22, 48, 47, 0.1); }
.wva .encart-nombre { font: 800 clamp(3rem, 7vw, 4.6rem)/0.9 var(--font-condensed); color: var(--wv-encre); }
.wva .encart-nombre small { display: block; margin-top: 0.3rem; font: 700 0.85rem/1.2 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; color: var(--wv-gris-700); }
.wva .encart p { margin: 0 0 0.9rem; line-height: 1.55; }
@media (max-width: 600px) {
.wva .encart { grid-template-columns: 1fr; padding: 1.4rem 1.2rem; box-shadow: 5px 5px 0 rgba(22, 48, 47, 0.1); }
}
.wva .wv-note { position: relative; margin: 0 0 2.4rem; padding: 1.5rem 1.7rem 1.4rem; border: 3px solid transparent; border-radius: 28px 8px 8px 8px; background: linear-gradient(#fff, #fff) padding-box, var(--wv-gradient-arc) border-box; box-shadow: 8px 8px 0 rgba(22, 48, 47, 0.1); }
.wva .wv-note .wv-eyebrow { display: inline-block; margin: 0 0 0.6rem; padding: 0.25em 0.6em; background: var(--wv-jaune); color: var(--wv-encre); transform: skewX(var(--wv-skew)); }
.wva .wv-note p { margin: 0 0 0.6rem; line-height: 1.55; }
.wva .wv-note p:last-child { margin-bottom: 0; }
.wva .chevrons { list-style: none; margin: 0 0 1rem; padding: 0; max-width: 78ch; }
.wva .chevrons li { position: relative; padding-left: 1.45em; margin-bottom: 0.5em; line-height: 1.55; }
.wva .chevrons li::before { content: "›"; position: absolute; left: 0.25em; top: -0.12em; font-weight: 900; font-size: 1.3em; line-height: 1.4; color: var(--wv-corail); }
.wva .texte { max-width: 78ch; line-height: 1.6; }
.wva .texte p { margin: 0 0 0.9rem; }
.wva .sources-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 14px; margin: 0 0 1rem; }
.wva .source { position: relative; background: #fff; border: 1px solid var(--wv-gris-200); border-radius: 14px 4px 4px 4px; padding: 14px 16px 14px 20px; box-shadow: var(--shadow-sm); }
.wva .source::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 5px; border-radius: 0 4px 4px 0; background: var(--c); }
.wva .source h4 { margin: 0 0 0.2rem; font: 700 1rem/1.25 var(--font-display); color: var(--wv-encre); }
.wva .source .meta { display: block; font: 700 0.76rem/1.3 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; color: var(--wv-gris-500); margin-bottom: 0.4rem; }
.wva .source p { margin: 0; font-size: 0.9rem; line-height: 1.5; }
.wva .chiffre-ligne { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 10px; margin: 0 0 1.2rem; }
.wva .chiffre-ligne div { background: var(--wv-gris-100); border-radius: 12px; padding: 10px 12px; }
.wva .chiffre-ligne b { display: block; font: 800 1.5rem/1 var(--font-condensed); color: var(--wv-encre); }
.wva .chiffre-ligne span { font-size: 0.82rem; line-height: 1.3; display: block; margin-top: 4px; }
.wva .form { max-width: 680px; }
.wva .form-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 0 0.9rem; }
.wva .champ { display: block; margin: 0 0 0.9rem; }
.wva .champ > span { display: block; font-weight: 700; margin: 0 0 0.35rem; font-size: 0.95rem; color: var(--wv-encre); }
.wva .champ input, .wva .champ textarea { width: 100%; padding: 0.75rem 0.95rem; border: 2px solid var(--wv-encre); border-radius: 0.7rem; background: #fff; color: var(--wv-encre); }
.wva .champ textarea { resize: vertical; min-height: 7rem; line-height: 1.5; }
.wva .form-msg { margin: 0.8rem 0 0; font-weight: 700; color: var(--wv-encre); min-height: 1.2em; }
.wva .volet { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(600px, 100%); max-width: 100%; height: 100%; max-height: 100%; padding: 0; border: 0; background: #fff; color: var(--wv-gris-900); box-shadow: -16px 0 40px rgba(22, 48, 47, 0.25); overflow: hidden; }
.wva .volet[open] { display: flex; flex-direction: column; }
.wva .volet::backdrop { background: rgba(22, 48, 47, 0.45); }
@media (prefers-reduced-motion: no-preference) {
.wva .volet[open] { animation: volet-entre .22s cubic-bezier(.2,.7,.2,1); }
@keyframes volet-entre { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
}
.wva .volet-tete { position: relative; flex: 0 0 auto; padding: 1.3rem 4rem 1.2rem 1.6rem; background: var(--wv-marine); color: #fff; overflow: hidden; isolation: isolate; }
.wva .volet-tete::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--wv-gradient-arc); }
.wva .volet-tete .tags { margin-bottom: 0.6rem; }
.wva .volet-tete .tag-statut { background: rgba(255, 255, 255, 0.14); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35); }
.wva .volet-titre { margin: 0; font: 900 clamp(1.35rem, 3.6vw, 1.75rem)/1.1 var(--font-display); color: #fff; }
.wva .volet-sous { margin: 0.4rem 0 0; font-size: 0.86rem; color: rgba(255, 255, 255, 0.85); }
.wva .volet-fermer { position: absolute; top: 0.9rem; right: 0.9rem; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.14); color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.wva .volet-fermer:hover { background: rgba(255, 255, 255, 0.26); }
.wva .volet-corps { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 0.6rem 1.6rem 2rem; }
.wva .vsec { padding: 1.1rem 0; border-bottom: 1px solid var(--wv-gris-200); }
.wva .vsec:last-child { border-bottom: 0; }
.wva .vsec h3 { margin: 0 0 0.7rem; font: 700 0.8rem/1.2 var(--font-semicondensed); text-transform: uppercase; letter-spacing: 0.08em; color: var(--wv-corail); }
.wva .vsec p { margin: 0 0 0.5rem; line-height: 1.55; font-size: 0.95rem; }
.wva .vsec p:last-child { margin-bottom: 0; }
.wva .vliens { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.2rem 0 0.4rem; padding: 0; list-style: none; }
.wva .vliens a { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.45rem 0.9rem; border-radius: 999px; background: var(--wv-gris-100); color: var(--wv-encre); font: 700 0.86rem var(--font-corps); text-decoration: none; box-shadow: inset 0 0 0 1px var(--wv-gris-200); }
.wva .vliens a:hover { background: var(--wv-jaune); }
.wva .dl { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: 0.35rem 1rem; margin: 0; font-size: 0.92rem; }
.wva .dl dt { color: var(--wv-gris-700); font-weight: 600; }
.wva .dl dd { margin: 0; color: var(--wv-encre); min-width: 0; }
@media (max-width: 480px) {
.wva .dl { grid-template-columns: 1fr; gap: 0 0; }
.wva .dl dd { margin-bottom: 0.5rem; }
}
.wva .mini { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 5px; align-items: end; height: 92px; border-bottom: 2px solid var(--wv-encre); }
.wva .mini span { display: block; border-radius: 4px 4px 0 0; background: var(--wv-violet); min-height: 0; }
.wva .mini span.is-nc { background: repeating-linear-gradient(-45deg, var(--wv-violet) 0 4px, #a46b9a 4px 8px); opacity: 0.6; }
.wva .mini span.is-zero { height: 3px !important; background: var(--wv-gris-300); }
.wva .mini-ans { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 5px; margin-top: 4px; font: 700 0.66rem var(--font-condensed); color: var(--wv-gris-500); text-align: center; }
.wva .vtable { width: 100%; margin-top: 0.9rem; border-collapse: collapse; font: 600 0.88rem/1.35 var(--font-condensed); font-variant-numeric: tabular-nums; }
.wva .vtable td { padding: 0.4rem 0.3rem; border-top: 1px solid var(--wv-gris-200); vertical-align: top; }
.wva .vtable td:first-child { width: 3.2rem; color: var(--wv-gris-700); }
.wva .vtable .num { text-align: right; white-space: nowrap; color: var(--wv-encre); font-weight: 700; }
.wva .vtable a { color: var(--wv-violet); font-weight: 700; }
.wva .vtotal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.4rem 1rem; margin-top: 0.9rem; padding: 0.7rem 0.9rem; border-radius: 12px; background: var(--wv-gris-100); font: 700 0.95rem var(--font-condensed); color: var(--wv-encre); }
.wva .vtotal b { font-size: 1.15rem; font-weight: 800; }
.wva .vnote { font-size: 0.82rem !important; color: var(--wv-gris-700); }
.wva .signaux { display: flex; flex-wrap: wrap; gap: 6px; margin: 0.2rem 0 0.6rem; padding: 0; list-style: none; }
.wva .signaux li { padding: 0.3rem 0.65rem; border-radius: 999px; background: var(--wv-gris-100); font: 700 0.78rem/1.2 var(--font-condensed); color: var(--wv-encre); box-shadow: inset 0 0 0 1px var(--wv-gris-200); }
.wva .volet-pied { flex: 0 0 auto; padding: 0.8rem 1.6rem; border-top: 1px solid var(--wv-gris-200); background: var(--wv-gris-100); font-size: 0.82rem; line-height: 1.45; color: var(--wv-gris-700); }
.wva .volet-pied a { color: var(--wv-encre); font-weight: 700; }
@media (max-width: 600px) {
.wva .volet-tete { padding: 1.1rem 3.6rem 1rem 1.1rem; }
.wva .volet-corps { padding: 0.4rem 1.1rem 1.6rem; }
.wva .volet-pied { padding: 0.7rem 1.1rem; }
}
/* onglets compacts (sans pictogramme ni mot long) tant que les cinq libellés complets (767 px) ne tiennent pas */
@media (max-width: 820px) {
.wva .onglet { padding: 0.5rem 0.75rem; font-size: 0.76rem; }
.wva .onglet .emo { display: none; }
.wva .onglets .lg { display: none; }
}
@media (max-width: 640px) {
.wva .tri { margin-left: 0; }
.wva .segment span { padding: 0.42rem 0.62rem; font-size: 0.74rem; }
.wva .tri { min-width: 0; max-width: 100%; }
.wva .tri select { flex: 1 1 auto; min-width: 0; text-overflow: ellipsis; } /* options longues (« par dernière trace, plus ancienne d'abord ») : le menu rétrécit au lieu de sortir de l'écran */
}
/* petits écrans : les cinq onglets ne tiennent plus sur une ligne sous 460 px (416 px de libellés mesurés à 412 px) ;
   deux rangées (3 + 2) plutôt qu'un onglet coupé ou une barre qui défile */
@media (max-width: 480px) {
.wva .onglets { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.2rem; padding: 0.25rem; border-radius: 20px; overflow: visible; width: 100%; }
.wva .onglet { grid-column: span 2; justify-content: center; padding: 0.55rem 0.3rem; font-size: 0.72rem; letter-spacing: 0.02em; }
.wva .onglet:nth-child(n+4) { grid-column: span 3; }
}
.wva .cl-outils { display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem 1.2rem; margin: 0 0 1rem; }
.wva .cl-outils .segment { margin: 0; }
.wva .classement td, .wva .classement th { vertical-align: middle; }
.wva .classement th.rang { color: #fff; }
.wva .classement .nom a { color: var(--wv-encre); text-decoration: underline; text-decoration-color: var(--wv-jaune); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.wva .classement .nom a:hover { text-decoration-color: var(--wv-corail); }
.wva .classement td.rang { font: 800 1rem var(--font-condensed); color: var(--wv-encre); }
.wva .classement tbody tr:nth-child(-n+3) td.rang { color: var(--wv-corail); }
.wva .classement td.c-part { color: var(--wv-gris-700); }
.wva .marques { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.wva .marque { display: inline-block; padding: 2px 7px; border-radius: 999px; font: 700 0.68rem/1.3 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; background: #fff; color: var(--wv-gris-700); box-shadow: inset 0 0 0 1px var(--wv-gris-300); }
.wva .marque.is-na { background: var(--wv-jaune); color: var(--wv-encre); box-shadow: none; }
.wva .m-seul { display: none; margin-top: 3px; font: 600 0.76rem var(--font-condensed); color: var(--wv-gris-500); }
.wva .cl-mini { display: grid; grid-template-columns: repeat(10, 7px); gap: 2px; align-items: end; height: 26px; border-bottom: 1px solid var(--wv-gris-300); }
.wva .cl-mini span { display: block; min-height: 2px; border-radius: 2px 2px 0 0; background: var(--wv-violet); opacity: 0.75; }
.wva .cl-mini span.is-z { background: var(--wv-gris-300); height: 2px !important; opacity: 1; }
.wva .cl-mini span.is-nr { background: none; border: 1px dashed var(--wv-gris-300); height: 10px !important; }
.wva .cl-mini span.is-sel { background: var(--wv-corail); opacity: 1; }
.wva .cl-mad .cl-mini span { background: var(--wv-bleu); }
.wva .cl-mad .cl-mini span.is-sel { background: var(--wv-corail); }
.wva .classement tfoot td { background: var(--wv-gris-100); font-weight: 700; border-top: 2px solid var(--wv-encre); }
@media (max-width: 860px) {
.wva .classement .c-barres, .wva .classement .c-annees { display: none; }
.wva .m-seul { display: block; }
}
@media (max-width: 560px) {
.wva .classement .c-part, .wva .classement .c-2026 { display: none; }
.wva .classement .rang { display: table-cell; width: 2rem; padding-right: 0; }
}
.wva .pa-corps { padding-block: 1.4rem 3.4rem; }
.wva .pa-retours { display: flex; flex-wrap: wrap; gap: 0.5rem 0.7rem; margin: 0 0 1.6rem; }
.wva .pa-retours a { display: inline-block; padding: 0.42rem 0.9rem; border-radius: 999px; background: var(--wv-gris-100); color: var(--wv-encre); font: 700 0.84rem var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; text-decoration: none; }
.wva .pa-retours a:hover { background: var(--wv-jaune); }
.wva .pa-haut { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); gap: 16px; margin: 0 0 2.6rem; align-items: start; }
.wva .pa-carte { position: relative; min-width: 0; background: #fff; border: 1px solid var(--wv-gris-200); border-radius: 16px 4px 4px 4px; padding: 1.1rem 1.3rem 1.1rem 1.5rem; box-shadow: var(--shadow-sm); }
.wva .pa-carte::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 5px; border-radius: 0 4px 4px 0; background: var(--c, var(--wv-corail)); }
.wva .pa-carte h2 { margin: 0 0 0.7rem; font: 700 0.8rem/1.2 var(--font-semicondensed); text-transform: uppercase; letter-spacing: 0.08em; color: var(--wv-corail); }
.wva .pa-carte p { margin: 0 0 0.55rem; line-height: 1.55; font-size: 0.95rem; overflow-wrap: anywhere; }
.wva .pa-carte p:last-child, .wva .pa-carte ul:last-child { margin-bottom: 0; }
.wva .pa-adr { font-weight: 700; color: var(--wv-encre); }
.wva .pa-objet { color: var(--wv-gris-900); }
.wva .pa-large { grid-column: 1 / -1; }
.wva .pa-fin .chiffres { margin-bottom: 2rem; }
.wva .chiffres b small { font-size: 0.5em; font-weight: 700; color: var(--wv-gris-700); }
.wva .pb-leg { display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; margin: 0 0 0.6rem; font: 700 0.8rem var(--font-condensed); color: var(--wv-gris-700); }
.wva .pb-leg i { display: inline-block; width: 12px; height: 12px; margin-right: 6px; border-radius: 3px; vertical-align: -1px; }
.wva .pb-leg .l-f { background: var(--wv-violet); }
.wva .pb-leg .l-m { background: var(--wv-bleu); }
.wva .pa-barres { margin: 0 0 2.2rem; padding: 0; list-style: none; display: grid; gap: 0.45rem; max-width: 820px; }
.wva .pa-barres li { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr) minmax(6.5rem, auto); gap: 0.7rem; align-items: center; }
.wva .pb-an { font: 700 0.86rem var(--font-condensed); color: var(--wv-gris-700); }
.wva .pb-pistes { display: grid; gap: 3px; min-width: 0; }
.wva .pb-piste { display: block; height: 14px; border-radius: 999px; background: var(--wv-gris-100); overflow: hidden; }
.wva .pb-piste i { display: block; height: 100%; border-radius: 999px; background: var(--wv-violet); }
.wva .pb-piste i.is-nc { background: repeating-linear-gradient(-45deg, var(--wv-violet) 0 5px, #a46b9a 5px 10px); opacity: 0.7; }
.wva .pb-piste.is-mad { height: 8px; }
.wva .pb-piste.is-mad i { background: var(--wv-bleu); }
.wva .pb-val { font: 700 0.9rem/1.2 var(--font-condensed); color: var(--wv-encre); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wva .pb-val small { display: block; font-size: 0.74rem; color: var(--wv-bleu); }
.wva .pb-val .zero { color: var(--wv-gris-300); }
.wva .pa-lignes td small { display: block; margin-top: 2px; font: 600 0.74rem/1.3 var(--font-condensed); color: var(--wv-gris-500); }
.wva .pa-lignes tr.is-hors td { color: var(--wv-gris-500); }
.wva .pa-lignes a { color: var(--wv-violet); font-weight: 700; }
.wva .pa-lignes tfoot td { background: var(--wv-gris-100); border-top: 2px solid var(--wv-encre); font-family: var(--font-corps); }
@media (max-width: 640px) {
.wva .pa-lignes thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wva .pa-lignes, .wva .pa-lignes tbody, .wva .pa-lignes tfoot { display: block; }
.wva .pa-lignes tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.35rem 0.8rem; padding: 0.7rem 0.9rem; border-top: 1px solid var(--wv-gris-200); }
.wva .pa-lignes tbody tr:nth-child(even) { background: var(--wv-gris-100); }
.wva .pa-lignes td, .wva .pa-lignes td.num, .wva .pa-lignes tbody tr:nth-child(even) td { display: block; padding: 0; border: 0; background: none; text-align: left; white-space: normal; }
.wva .pa-lignes td::before { content: attr(data-l); display: block; font: 700 0.66rem var(--font-condensed); text-transform: uppercase; letter-spacing: 0.04em; color: var(--wv-gris-500); }
.wva .pa-lignes td[data-l="Nature"] { grid-column: 1 / -1; order: -1; font-family: var(--font-corps); font-weight: 700; }
.wva .pa-lignes td[data-l="Nature"]::before { display: none; }
.wva .pa-lignes tfoot tr { display: block; }
.wva .pa-lignes tfoot td { display: block; padding: 0.7rem 0.9rem; }
.wva .pa-barres li { grid-template-columns: 2.8rem minmax(0, 1fr) auto; gap: 0.5rem; }
}
.wva .pa-vide { max-width: 78ch; padding: 1.1rem 1.3rem; border-left: 5px solid var(--wv-gris-300); background: var(--wv-gris-100); border-radius: 0 12px 12px 0; }
.wva .pa-vide p { margin: 0 0 0.6rem; line-height: 1.55; }
.wva .pa-vide p:last-child { margin: 0; }
.wva .vlien-page { display: inline-block; margin-top: 0.3rem; font: 700 0.9rem var(--font-condensed); text-transform: uppercase; letter-spacing: 0.03em; }
@media print {
.wva .barre-haut, .wva .barre-filtres, .wva .plus-wrap { display: none; }
.wva .asso, .wva .source, .wva .hbarres li { break-inside: avoid; }
}
.wva .lien-rue { color: inherit; text-decoration: underline; text-decoration-color: var(--wv-jaune); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.wva .lien-rue:hover, .wva .lien-rue:focus-visible { text-decoration-thickness: 4px; }
.wva .pa-adr .lien-rue, .wva .pop-adr .lien-rue { text-decoration-color: var(--wv-orange); }
.wva .volet-sous a.lien-rue { color: #fff; }


/* ---- Liste de A à Z (rendue côté serveur : moteurs, sans JavaScript) ---- */
.wva .wva-az { margin: 1.6rem 0 0; padding-top: 1rem; border-top: 1px solid var(--wv-gris-200); }
.wva .wva-az summary { cursor: pointer; font: 700 0.86rem/1.3 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.04em; color: var(--wv-encre); }
.wva .wva-az ul { columns: 3 16rem; column-gap: 2rem; margin: 1rem 0 0; padding: 0; list-style: none; font-size: 0.88rem; line-height: 1.4; }
.wva .wva-az li { break-inside: avoid; margin: 0 0 0.35rem; }

/* ---- Page d'une association ---- */
.wva-page { margin-top: 1.4rem; }
.wva .pa-pied { margin-top: 2.6rem; padding-top: 1.2rem; border-top: 1px solid var(--wv-gris-200); font-size: 0.86rem; line-height: 1.5; color: var(--wv-gris-700); }
.wva .pa-pied p { max-width: 90ch; margin: 0 0 0.5rem; }
.wva .pa-pied a { color: var(--wv-encre); font-weight: 700; }
.wva .wva-libre { max-width: 78ch; }

/* en-tête de page (inc/pages.php) : thème, statut, rue du siège ; noms longs en Neulis Sans */
.wva-tete { margin-top: 0.9rem; }
.wva-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.wva-tag { font: 700 0.72rem/1 var(--font-condensed); text-transform: uppercase; letter-spacing: 0.04em; padding: 5px 9px; border-radius: 999px; background: var(--c); color: var(--fg, #fff); }
.wva-tag.is-statut { background: rgba(255, 255, 255, 0.14); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35); }
.wva-sous { margin: 0.7rem 0 0; font-size: 1rem; line-height: 1.45; color: rgba(255, 255, 255, 0.92); }
.wva-dates { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.45; color: rgba(255, 255, 255, 0.86); }
.wva-sous a.lien-rue { color: #fff; text-decoration: underline; text-decoration-color: var(--wv-jaune); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.single-wv_association .wv-page-titre { max-width: 28ch; font-family: var(--wp--preset--font-family--display); font-weight: 900; font-style: normal; text-transform: none; font-size: clamp(1.7rem, 4.6vw, 3rem); line-height: 1.05; overflow-wrap: anywhere; }

/* ---- Onglet « En chiffres » : graphiques en HTML et CSS, sans bibliothèque ----
   Une couleur de la palette par série, texte en encre ; filets de grille gris ; 2 px d'écart entre colonnes et entre
   segments empilés ; bulle au survol, au toucher et au clavier ; tableau des données sous chaque graphique. */
.wva .ch-bloc .sous-titre { margin: 1.4rem 0 0.7rem; }
.wva .ch-bloc .sous-titre small { font: 600 0.8rem var(--font-corps); color: var(--wv-gris-500); }
.wva .ch-fig { position: relative; margin: 0 0 1.2rem; }
.wva .ch-leg { display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; margin: 0 0 0.9rem; padding: 0; list-style: none; font: 700 0.82rem/1.3 var(--font-condensed); color: var(--wv-gris-700); }
.wva .ch-leg i { display: inline-block; width: 12px; height: 12px; margin-right: 6px; border-radius: 3px; vertical-align: -1px; }
.wva .ch-zone { position: relative; margin-left: 2.2rem; }
.wva .ch-grille { position: absolute; inset: 0; pointer-events: none; }
.wva .ch-grille span { position: absolute; left: 0; right: 0; border-top: 1px solid var(--wv-gris-200); }
.wva .ch-grille b { position: absolute; right: calc(100% + 6px); top: -0.5em; font: 600 0.72rem/1 var(--font-condensed); color: var(--wv-gris-700); font-variant-numeric: tabular-nums; white-space: nowrap; }
.wva .ch-cols { position: relative; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 2px; height: 100%; border-bottom: 1px solid var(--wv-gris-700); cursor: crosshair; touch-action: pan-y; }
.wva .ch-cols:focus-visible { outline: 3px solid var(--wv-bleu); outline-offset: 4px; }
.wva .ch-col { display: flex; flex-direction: column-reverse; align-items: center; height: 100%; min-width: 0; border-radius: 4px 4px 0 0; }
.wva .ch-col i { display: block; flex: 0 0 auto; width: min(100%, 18px); }
.wva .ch-col i:last-child { border-radius: 3px 3px 0 0; }
.wva .ch-col i + i { margin-bottom: 2px; }
.wva .ch-col.is-sur { background: var(--wv-gris-100); }
.wva .ch-col.is-sur i { filter: brightness(1.18); }
.wva .ch-x { position: relative; height: 1.3rem; margin: 0.35rem 0 0 2.2rem; }
.wva .ch-x span { position: absolute; top: 0; transform: translateX(-50%); font: 700 0.74rem/1 var(--font-condensed); color: var(--wv-gris-700); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wva .ch-x span.is-fin { left: auto !important; right: 0; transform: none; }
@media (max-width: 480px) { .wva .ch-x span.is-proche { display: none; } } /* à 320 px, 2020 et 2025 se chevauchent */
.wva .ch-bulle { position: absolute; z-index: 5; min-width: 8.5rem; padding: 0.45rem 0.7rem; border-radius: 8px; background: #fff; box-shadow: 0 6px 18px rgba(22, 48, 47, 0.16), 0 0 0 1px var(--wv-gris-200); font-size: 0.82rem; line-height: 1.4; pointer-events: none; }
.wva .ch-bulle[hidden] { display: none; }
.wva .ch-bulle b { display: block; font: 700 0.8rem var(--font-condensed); color: var(--wv-gris-700); }
.wva .ch-bulle span { display: block; white-space: nowrap; color: var(--wv-gris-700); }
.wva .ch-bulle i { display: inline-block; width: 12px; height: 3px; margin-right: 6px; border-radius: 2px; vertical-align: middle; }
.wva .ch-bulle strong { color: var(--wv-encre); font-weight: 800; }
.wva .ch-h { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.4rem; max-width: 760px; }
.wva .ch-bloc > .bloc-titre { margin-bottom: 1.3rem; }
.wva .ch-h li { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: 0.6rem; align-items: center; }
.wva .ch-h-x { font: 700 0.84rem var(--font-condensed); color: var(--wv-gris-700); font-variant-numeric: tabular-nums; }
.wva .ch-h-piste { display: flex; align-items: center; gap: 6px; min-width: 0; height: 14px; }
.wva .ch-h-piste i { display: block; flex: 0 0 auto; height: 100%; min-width: 2px; border-radius: 0 4px 4px 0; background: var(--c); }
.wva .ch-h-piste i.is-nc { background: repeating-linear-gradient(-45deg, var(--c) 0 5px, color-mix(in srgb, var(--c) 50%, #fff) 5px 10px); }
.wva .ch-h-val { flex: 0 0 auto; font: 700 0.86rem/1 var(--font-condensed); color: var(--wv-encre); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wva .ch-h-x .appel { font-size: 0.75em; }
.wva .duo .ch-h li { grid-template-columns: 3.2rem minmax(0, 1fr); }
.wva .ch-cles { margin: 1.4rem 0 1rem; }
.wva .ch-source { margin: 0 0 0.9rem; max-width: 80ch; font-size: 0.86rem; line-height: 1.5; color: var(--wv-gris-700); }
.wva .ch-source a { color: var(--wv-encre); font-weight: 700; }
.wva .ch-reserve { max-width: 80ch; padding: 0.9rem 1.1rem 0.3rem; border-left: 5px solid var(--wv-jaune); background: var(--wv-gris-100); border-radius: 0 12px 12px 0; }
.wva .ch-reserve > p { margin: 0 0 0.55rem; font: 700 0.78rem var(--font-semicondensed); text-transform: uppercase; letter-spacing: 0.06em; color: var(--wv-encre); }
.wva .ch-reserve .chevrons li { font-size: 0.9rem; }
.wva .ch-donnees { margin: 0.9rem 0 0; }
.wva .ch-donnees summary { cursor: pointer; font: 700 0.8rem var(--font-condensed); text-transform: uppercase; letter-spacing: 0.04em; color: var(--wv-violet); }
.wva .ch-donnees .tableau-wrap { margin-top: 0.6rem; max-width: 560px; overflow-x: auto; }
.wva .ch-donnees .tableau th { white-space: normal; } /* en-têtes longs : retour à la ligne plutôt qu'un tableau plus large que l'écran */
.wva .ch-avant { margin: 0 0 0.8rem; font-size: 0.88rem; color: var(--wv-gris-700); }
@media (max-width: 480px) {
.wva .ch-h li { grid-template-columns: 4.6rem minmax(0, 1fr); gap: 0.45rem; }
.wva .duo .ch-h li { grid-template-columns: 2.8rem minmax(0, 1fr); }
}
