/*
Theme Name: Vigie Atlas
Theme URI: https://salysenegal.net
Author: Vigie Afrique
Description: Thème code-pur écrit de zéro pour salysenegal.net (« Vigie Afrique ») — une porte de médina qui s'ouvre sur un lieu. Frise de zellige, billet perforé, chaux bleutée + Majorelle.
Version: 1.0.0
Text Domain: vigieafrique
*/

/* ===================================================================
   0. FONTS — self-hosted (P-086)
   =================================================================== */
@font-face{ font-family:'Alexandria'; font-weight:500; font-style:normal; font-display:swap; src:url('assets/fonts/alexandria-500.woff2') format('woff2'); }
@font-face{ font-family:'Alexandria'; font-weight:600; font-style:normal; font-display:swap; src:url('assets/fonts/alexandria-600.woff2') format('woff2'); }
@font-face{ font-family:'Alexandria'; font-weight:700; font-style:normal; font-display:swap; src:url('assets/fonts/alexandria-700.woff2') format('woff2'); }
@font-face{ font-family:'Alegreya'; font-weight:400; font-style:normal; font-display:swap; src:url('assets/fonts/alegreya-400.woff2') format('woff2'); }
@font-face{ font-family:'Alegreya'; font-weight:400; font-style:italic; font-display:swap; src:url('assets/fonts/alegreya-400-italic.woff2') format('woff2'); }
@font-face{ font-family:'Alegreya'; font-weight:600; font-style:normal; font-display:swap; src:url('assets/fonts/alegreya-600.woff2') format('woff2'); }
/* Pas de fichier 600-italic fourni : le navigateur synthétise le gras depuis le 400 italique
   pour le « deuxième ton » des titres (clair, assumé — repère pour une passe ultérieure). */

/* ===================================================================
   1. VARIABLES — palette, rayons, ombres (P-116 : 1 fond neutre + 1 accent)
   =================================================================== */
:root{
	--va-chaux:#F5F7FA;
	--va-blanc:#FFFFFF;
	--va-encre:#141B33;
	--va-majorelle:#4A3CCB;
	--va-majorelle-fonce:#3A2EA0;
	--va-safran:#F4B223;
	--va-safran-clair:#F7D98A;
	--va-rose:#E8577A;
	--va-bleu-chaux:#E6EAF7;
	--va-vert:#0F7B5F;
	--va-rouge:#C62E2E;
	--va-doux:#5A6177;
	--va-filet:rgba(20,27,51,.12);
	--va-filet-clair:rgba(255,255,255,.18);

	--va-ombre:0 18px 40px -18px rgba(20,27,51,.35), 0 2px 6px rgba(20,27,51,.08);
	--va-ombre-forte:0 30px 60px -20px rgba(20,27,51,.45), 0 4px 12px rgba(20,27,51,.10);

	--va-r-carte:18px; --va-r-carte-form:22px; --va-r-photo:20px; --va-r-bouton:12px; --va-r-pilule:999px; --va-r-pastille:8px;

	--va-f-titre:'Alexandria', system-ui, sans-serif;
	--va-f-texte:'Alegreya', Georgia, serif;

	--va-conteneur:1312px;

	/* Jetons des blocs figés (sb-kit) — SEULE façon autorisée de les habiller. */
	--sb-conteneur:var(--va-conteneur);
	--sb-lecture:680px;
	--sb-rail:340px;
	--sb-gouttiere:24px;
	--sb-accent:var(--va-majorelle);
	--sb-accent-clair:var(--va-safran);
	--sb-encre:var(--va-encre);
	--sb-doux:var(--va-doux);
	--sb-filet:var(--va-filet);
	--sb-fond-carte:var(--va-blanc);
	--sb-surf:var(--va-bleu-chaux);
	--sb-rayon:var(--va-r-carte);
	--sb-rayon-grand:var(--va-r-carte-form);
	--sb-ombre:var(--va-ombre);
	--sb-ombre-forte:var(--va-ombre-forte);
	--sb-titre:var(--va-f-titre);
	--sb-texte:var(--va-f-texte);
	--sb-fonce:var(--va-encre);
	--sb-sur-fonce:var(--va-chaux);

	/* Pont pour les mu-plugins qui injectent du HTML visible (sb-auteur-bloc.php) :
	   ils consomment --surf/--doux/--accent/--encre/--titre/--fond/--filet génériques,
	   on les alimente ici au lieu de toucher à leur code (cf. va_variables_pont()). */
	--surf:var(--va-bleu-chaux);
	--doux:var(--va-doux);
	--accent:var(--va-majorelle);
	--encre:var(--va-encre);
	--titre:'Alexandria', sans-serif;
	--fond:var(--va-chaux);
	--filet:var(--va-filet);
}

/* ===================================================================
   2. RESET / BASE
   =================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:auto; }
body{
	margin:0; background:var(--va-chaux); color:var(--va-encre);
	font-family:var(--va-f-texte); font-size:17px; line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:var(--va-majorelle); }
h1,h2,h3,h4{ font-family:var(--va-f-titre); color:var(--va-encre); line-height:1.15; margin:0; }
button{ font-family:inherit; }
.va-sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.va-acces-rapide{ position:absolute; left:-9999px; top:0; background:var(--va-encre); color:#fff; padding:10px 16px; z-index:200; }
.va-acces-rapide:focus{ left:8px; top:8px; }
ul{ margin:0; padding:0; }
*:focus-visible{ outline:2.5px solid var(--va-majorelle); outline-offset:2px; }

@media (prefers-reduced-motion: reduce){ *{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; } }

/* Boutons / pilules communes */
.va-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:14px 26px; border-radius:var(--va-r-bouton); font-family:var(--va-f-titre); font-weight:600; font-size:.9375rem;
	text-decoration:none; border:0; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease;
	white-space:nowrap;
}
.va-btn--safran{ background:var(--va-safran); color:var(--va-encre); }
.va-btn--safran:hover{ transform:translateY(-2px); box-shadow:var(--va-ombre); }
.va-btn--majorelle{ background:var(--va-majorelle); color:#fff; }
.va-pilule{
	display:inline-flex; align-items:center; gap:6px; padding:11px 18px; border-radius:var(--va-r-pilule);
	background:var(--va-blanc); border:1.5px solid var(--va-filet); color:var(--va-encre);
	font-family:var(--va-f-titre); font-weight:600; font-size:.875rem; text-decoration:none; cursor:pointer;
	transition:border-color .15s ease, background .15s ease;
}
.va-pilule:hover{ border-color:var(--va-majorelle); }
.va-pilule--alerte{ color:var(--va-rouge); }
.va-pilule.est-actif{ background:var(--va-majorelle); color:#fff; border-color:var(--va-majorelle); }
.va-pastille{
	display:inline-block; background:var(--va-safran); color:var(--va-encre); font-family:var(--va-f-titre);
	font-weight:700; font-size:.75rem; padding:5px 12px; border-radius:var(--va-r-pastille); margin-bottom:10px;
}

.va-entete-section{ display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:16px; max-width:var(--va-conteneur); margin:0 auto 32px; padding-inline:32px; }
.va-entete-section__titre{ font-size:clamp(1.75rem,1.4rem + 1.4vw,2.75rem); }
.va-entete-section__titre em{ font-family:var(--va-f-texte); font-style:italic; font-weight:600; color:var(--va-majorelle); }
.va-entete-section__lien{ font-family:var(--va-f-titre); font-weight:600; font-size:.9375rem; text-decoration:none; color:var(--va-majorelle); white-space:nowrap; }

/* ===================================================================
   3. EN-TÊTE
   =================================================================== */
.entete-vigie{
	position:sticky; top:0; z-index:100; background:var(--va-chaux); border-bottom:1px solid var(--va-bleu-chaux);
	transition:box-shadow .2s ease;
}
.entete-vigie.est-descendu{ box-shadow:0 4px 20px rgba(20,27,51,.08); }
.entete-vigie__interieur{
	max-width:var(--va-conteneur); margin:0 auto; padding:0 32px; height:72px;
	display:flex; align-items:center; gap:28px;
}
.entete-vigie.est-descendu .entete-vigie__interieur{ height:60px; }
.entete-vigie__marque{ display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.entete-vigie__etoile{ width:32px; height:32px; color:var(--va-majorelle); flex-shrink:0; }
.entete-vigie__nom{ font-family:var(--va-f-titre); font-weight:800; font-size:1.25rem; color:var(--va-encre); white-space:nowrap; }
.entete-vigie__nom em{ font-family:var(--va-f-texte); font-style:italic; font-weight:600; color:var(--va-majorelle); }

.entete-vigie__bascule{ display:none; flex-direction:column; gap:4px; width:38px; height:38px; border:0; background:none; cursor:pointer; align-items:center; justify-content:center; }
.entete-vigie__bascule span{ width:20px; height:2px; background:var(--va-encre); border-radius:2px; }

.barre-destinations{ flex:1; display:flex; align-items:center; gap:4px; }
.barre-destinations__liste{ display:flex; list-style:none; gap:2px; flex-wrap:nowrap; margin:0; padding:0; }
.barre-destinations__liste > li{ list-style:none; }
.barre-destinations__item{ list-style:none; }
.barre-destinations__lien, .barre-destinations__liste > li > a{
	display:inline-block; padding:9px 14px; border-radius:var(--va-r-pilule); color:var(--va-encre);
	font-family:var(--va-f-titre); font-weight:600; font-size:.9375rem; text-decoration:none; transition:background .15s ease;
}
.barre-destinations__liste > li > a:hover, .barre-destinations__liste > li.current-menu-item > a, .barre-destinations__lien:hover{ background:var(--va-bleu-chaux); }
.entete-vigie__pastille-alertes{
	margin-left:4px; padding:7px 13px; border-radius:var(--va-r-pilule); background:var(--va-rouge); color:#fff;
	font-family:var(--va-f-titre); font-weight:700; font-size:.8125rem; text-decoration:none;
}

.entete-vigie__actions{ display:flex; align-items:center; gap:14px; flex-shrink:0; }
.entete-vigie__loupe{ width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:var(--va-encre); }
.entete-vigie__loupe:hover{ background:var(--va-bleu-chaux); }
.entete-vigie__loupe svg{ width:20px; height:20px; }

/* ===================================================================
   4. PIED DE PAGE (habillage des classes .sbt-footer figées)
   =================================================================== */
.sbt-footer.va-footer{ background:var(--va-encre); position:relative; }
.sbt-footer.va-footer::before{
	content:""; position:absolute; top:-16px; left:0; right:0; height:32px; z-index:1; pointer-events:none;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 168 56'%3E%3Cpath d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%234A3CCB'/%3E%3Cpath transform='translate(56 0)' d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%23F4B223'/%3E%3Cpath transform='translate(112 0)' d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%23E8577A'/%3E%3C/svg%3E") left center / 96px 32px repeat-x;
}
.sbt-footer.va-footer > .sbt-conteneur{ padding-top:64px; }
.va-footer .sbt-btn.va-btn--safran{ background:var(--va-safran); color:var(--va-encre); font-family:var(--va-f-titre); font-weight:700; }
.va-footer-logo{ height:42px; width:auto; margin-bottom:6px; }
.va-footer-domaine{ font-family:var(--va-f-titre); font-weight:600; color:#8f94c0 !important; }
.va-footer-compte{ opacity:.6; font-size:.8em; }
.va-footer-bas{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.va-footer-credits a{ color:inherit; }
.va-cookies{ font-family:var(--va-f-texte); }

/* PASSE 2 (03/10) — CORRECTION : ces règles de mise en page (grille 4 colonnes, labels,
   couleur des liens) manquaient du bloc assets/css/blocs/footer.css (qui ne porte QUE les
   utilitaires .sbt-btn/cookies/popup) : le pied retombait en une seule colonne empilée,
   liens indigo illisibles sur encre (verdict passe 1). Posées ici, dans le fichier garanti
   chargé, avec le double sélecteur .va-footer pour gagner sur toute règle générique. */
.va-footer .sbt-footer-grille{
	display:grid; grid-template-columns:1.3fr repeat(3, 1fr); gap:28px;
	padding-bottom:32px; margin-bottom:24px; border-bottom:1px solid rgba(255,255,255,.14);
	align-items:start;
}
.va-footer .sbt-footer-colonne{ min-width:0; }
.va-footer .sbt-t4{
	font-family:var(--va-f-titre); font-weight:600; font-size:.8125rem; letter-spacing:.02em;
	color:rgba(245,247,250,.55); margin:0 0 14px;
}
.va-footer .sbt-footer-colonne ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.va-footer .sbt-footer-colonne ul a, .va-footer .sbt-footer-bas a{
	color:var(--va-chaux); opacity:.85; text-decoration:none; font-size:.9375rem;
}
.va-footer .sbt-footer-colonne ul a:hover{ opacity:1; text-decoration:underline; }
.va-footer .sbt-footer-desc{ color:rgba(245,247,250,.65); }
.va-footer .sbt-footer-cta{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:28px; margin-bottom:28px; border-bottom:1px solid rgba(255,255,255,.14); }
.va-footer .sbt-footer-cta .sbt-t3{ color:#fff; margin:0 0 4px; font-family:var(--va-f-titre); font-weight:700; font-size:1.125rem; }
.va-footer .sbt-footer-cta p{ color:rgba(245,247,250,.7); margin:0; }
@media (max-width:980px){ .va-footer .sbt-footer-grille{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .va-footer .sbt-footer-grille{ grid-template-columns:1fr; gap:24px; } }

/* ===================================================================
   5. ACCUEIL — 5.1 Héros
   =================================================================== */
.accueil-vigie{ overflow:hidden; }

/* PASSE 3 (03/10, correcteur) — héros reconstruit. Cause du premier écran cassé : la frise
   (colonne 2) était déclarée AVANT le texte (colonne 1) ; l'auto-placement CSS Grid poussait
   alors le texte et la photo sur une 2e rangée, sous le pli. Désormais 4 pistes explicites
   (gouttière / texte / frise / photo jusqu'au bord droit de l'écran), tout sur la rangée 1. */
.va-hero{
	--va-hero-h:clamp(600px, calc(100vh - 72px), 700px);
	--va-gout:max(32px, calc((100% - var(--va-conteneur)) / 2 + 32px));
	position:relative; display:grid;
	grid-template-columns:var(--va-gout) minmax(0,560px) 56px minmax(0,1fr);
	grid-template-rows:var(--va-hero-h); height:var(--va-hero-h);
	background:var(--va-chaux);
}
.va-hero__gauche{ grid-column:2; grid-row:1; align-self:center; padding:0 56px 0 0; display:flex; flex-direction:column; align-items:flex-start; gap:18px; position:relative; z-index:1; }
.va-hero__accroche{ font-family:var(--va-f-texte); font-style:italic; font-size:1.1875rem; line-height:1.35; color:var(--va-doux); margin:0; text-wrap:balance; }
.va-hero__titre{ font-size:clamp(2.25rem, 1rem + 2.5vw, 3.5rem); line-height:1.04; letter-spacing:-.015em; margin:0; text-wrap:balance; }
.va-hero__titre em{ font-family:var(--va-f-texte); font-style:italic; font-weight:600; color:var(--va-majorelle); letter-spacing:0; }
.va-hero__recherche{
	display:flex; align-items:center; gap:10px; background:#fff; border:1.5px solid rgba(20,27,51,.25);
	border-radius:var(--va-r-pilule); padding:6px 6px 6px 20px; width:100%; height:56px; box-shadow:0 10px 24px -16px rgba(20,27,51,.35);
}
.va-hero__recherche:focus-within{ border-color:var(--va-majorelle); }
.va-hero__recherche svg{ width:18px; height:18px; color:var(--va-majorelle); flex-shrink:0; }
.va-hero__recherche input{ flex:1; border:0; outline:0; font:inherit; font-family:var(--va-f-titre); font-size:.9375rem; background:none; min-width:0; }
.va-hero__recherche button{ background:var(--va-majorelle); color:#fff; border:0; border-radius:var(--va-r-pilule); padding:0 22px; height:44px; font-family:var(--va-f-titre); font-weight:600; font-size:.9375rem; cursor:pointer; flex-shrink:0; }
.va-hero__recherche button:hover{ background:var(--va-majorelle-fonce); }
.va-hero__cta-mobile{ display:none; }
.va-hero__pilules{ display:flex; gap:10px; flex-wrap:wrap; }
.va-hero__pilules .va-pilule{ min-height:44px; display:inline-flex; align-items:center; }
.va-hero__preuves{ display:flex; flex-wrap:wrap; gap:6px 20px; list-style:none; margin:0; padding:0; font-family:var(--va-f-titre); font-size:.875rem; font-weight:600; color:var(--va-encre); }
.va-hero__preuves li{ padding-left:22px; position:relative; }
.va-hero__preuves li::before{ content:""; position:absolute; left:0; top:.2em; width:15px; height:15px; border-radius:50%; background:var(--va-vert) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat; }

/* Photo du Lieu du jour : de l'axe de la frise jusqu'au bord droit de l'écran, toute la hauteur. */
.va-hero__droite{ grid-column:3 / -1; grid-row:1; position:relative; margin-left:28px; }
.va-hero__photo{ position:relative; height:100%; margin:0; }
.va-hero__photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.va-hero__photo::after{ content:""; position:absolute; inset:45% 0 0 0; background:linear-gradient(to bottom, transparent, rgba(20,27,51,.82)); pointer-events:none; }
/* Pastille « Lieu du jour » = une étoile rose qui déborde sur la frise. */
.va-hero__pastille-jour{ position:absolute; top:28px; left:-44px; z-index:4; margin:0; display:flex; align-items:center; gap:0; }
.va-hero__pastille-etoile{ width:88px; height:88px; flex-shrink:0; filter:drop-shadow(0 8px 14px rgba(20,27,51,.3)); animation:va-etoile-pose .7s .5s cubic-bezier(.2,.8,.2,1) both; }
.va-hero__pastille-etoile path{ fill:var(--va-rose); stroke:#fff; stroke-width:2.5; stroke-linejoin:round; }
.va-hero__pastille-jour span{ margin-left:-18px; background:#fff; color:var(--va-encre); border-radius:0 var(--va-r-pilule) var(--va-r-pilule) 0; padding:8px 16px 8px 24px; font-family:var(--va-f-texte); font-style:italic; font-size:.9375rem; line-height:1.15; box-shadow:var(--va-ombre); display:flex; flex-direction:column; }
.va-hero__pastille-jour span strong{ font-family:var(--va-f-titre); font-style:normal; font-weight:700; font-size:.875rem; color:var(--va-rose); }
@keyframes va-etoile-pose{ from{ transform:rotate(-45deg) scale(.6); opacity:0; } to{ transform:rotate(0) scale(1); opacity:1; } }
/* Légende : en bas à DROITE, dans l'espace que la carte du formulaire ne couvre pas. */
.va-hero__photo figcaption{
	position:absolute; right:0; bottom:0; left:400px; z-index:2; padding:0 40px 36px 24px; color:#fff;
	display:flex; flex-direction:column; align-items:flex-start; gap:4px;
}
.va-hero__photo figcaption strong{ font-family:var(--va-f-titre); font-size:1.875rem; font-weight:700; line-height:1.1; }
.va-hero__photo figcaption span{ font-family:var(--va-f-texte); font-size:1.0625rem; line-height:1.35; opacity:.95; }
.va-hero__photo figcaption a{ color:var(--va-safran-clair); font-family:var(--va-f-titre); font-weight:600; font-size:.9375rem; text-decoration:none; margin-top:6px; }
.va-hero__photo figcaption a:hover{ text-decoration:underline; }

/* Frise : une colonne d'étoiles de zellige serrées, centrée sur la lisière de la photo. */
.va-hero__frise{ grid-column:3; grid-row:1; z-index:2; display:flex; flex-direction:column; align-items:center; overflow:hidden; pointer-events:none; }
.va-hero__etoile{ width:56px; height:56px; flex:none; margin-bottom:-6px; opacity:0; animation:va-etoile-entree .4s ease forwards; animation-delay:calc(var(--i) * 40ms); filter:drop-shadow(0 2px 3px rgba(20,27,51,.18)); }
.va-hero__etoile path{ stroke:var(--va-chaux); stroke-width:1.5; stroke-linejoin:round; }
.va-hero__etoile:nth-child(3n+1) path{ fill:var(--va-majorelle); }
.va-hero__etoile:nth-child(3n+2) path{ fill:var(--va-safran); }
.va-hero__etoile:nth-child(3n+3) path{ fill:var(--va-rose); }
@keyframes va-etoile-entree{ from{ opacity:0; transform:translateY(-10px); } to{ opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce){ .va-hero__etoile, .va-hero__pastille-etoile{ animation:none; opacity:1; } }

/* Carte du formulaire : à cheval sur la frise, commence APRÈS la colonne de texte. */
.va-carte-form{
	position:absolute; top:128px; left:calc(var(--va-gout) + 548px); width:400px; z-index:3;
	background:#fff; border-radius:var(--va-r-carte-form); box-shadow:var(--va-ombre-forte); padding:24px;
}
.va-carte-form .sblf{ --sblf-a:var(--va-majorelle); --sblf-b:#EEF0FB; margin:0; max-width:none; font-family:var(--va-f-titre); font-size:.9375rem; color:var(--va-encre); }
.va-carte-form .sblf-bar{ margin-bottom:18px; }
.va-carte-form .sblf h3{ font-family:var(--va-f-titre); font-size:1.3125rem; font-weight:700; }
.va-carte-form .sblf .sblf-aide{ font-family:var(--va-f-texte); font-size:.9375rem; color:var(--va-doux); margin-bottom:14px; }
/* Jamais de puce devant un choix (le plugin met « • » faute d'icône). */
.sblf-c span.i{ display:none; }
.va-carte-form .sblf-choix{ grid-template-columns:1fr 1fr; gap:10px; }
.va-carte-form .sblf-c{ min-height:64px; padding:10px 12px; gap:10px; border-radius:14px; font-weight:600; line-height:1.2; position:relative; }
.va-carte-form .sblf-c:hover, .va-carte-form .sblf-c.on{ border-color:var(--va-majorelle); }
/* Étape 1 : mini-photo ronde du pays dans chaque tuile. */
.va-carte-form .sblf-e[data-e="0"] .sblf-c::before{ content:""; width:40px; height:40px; border-radius:50%; flex:none; background:var(--va-bleu-chaux) center/cover no-repeat; }
.va-carte-form .sblf-e .sblf-c[data-v="maroc"]::before{ background-image:url('assets/photos/menu-maroc-800.webp'); }
.va-carte-form .sblf-e .sblf-c[data-v="tunisie"]::before{ background-image:url('assets/photos/menu-tunisie-800.webp'); }
.va-carte-form .sblf-e .sblf-c[data-v="senegal"]::before{ background-image:url('assets/photos/menu-senegal-800.webp'); }
.va-carte-form .sblf-e .sblf-c[data-v="autre"]::before, .va-carte-form .sblf-e .sblf-c[data-v="hesite"]::before{ background:var(--va-bleu-chaux) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%234A3CCB'/%3E%3C/svg%3E") center/24px no-repeat; }
.va-carte-form .sblf-e .sblf-c[data-v="hesite"]::before{ background-color:#FDF1D3; }
.va-carte-form .sblf-e[data-e="0"] .sblf-c:last-child:nth-child(odd){ grid-column:1 / -1; min-height:52px; }
/* Étape 2 (mois) : pastilles 4 × 3 + « flexibles » pleine largeur. */
.va-carte-form .sblf-e[data-e="1"] .sblf-choix{ grid-template-columns:repeat(4,1fr); gap:8px; }
.va-carte-form .sblf-e[data-e="1"] .sblf-c{ min-height:44px; padding:6px 4px; justify-content:center; text-align:center; font-size:.8125rem; border-radius:var(--va-r-pilule); }
.va-carte-form .sblf-e[data-e="1"] .sblf-c:last-child{ grid-column:1 / -1; }
.va-carte-form .sblf-nav{ margin-top:12px; }
.va-carte-form .sblf-b1{ min-height:56px; width:100%; border-radius:var(--va-r-bouton); background:var(--va-safran); color:var(--va-encre); font-family:var(--va-f-titre); white-space:nowrap; font-size:1rem; }
/* Dernière étape (coordonnées), compacte : nom + e-mail côte à côte, téléphone + précision côte à côte. */
.va-carte-form .sblf-e[data-e="3"].on{ display:grid; grid-template-columns:1fr 1fr; column-gap:12px; }
.va-carte-form .sblf-e[data-e="3"] > *{ grid-column:1 / -1; }
.va-carte-form .sblf-e[data-e="3"] label.f{ margin:8px 0 4px; font-size:.8125rem; }
.va-carte-form .sblf-e[data-e="3"] label[for$="-n"]{ grid-column:1; grid-row:4; }
.va-carte-form .sblf-e[data-e="3"] input[name="name"]{ grid-column:1; grid-row:5; }
.va-carte-form .sblf-e[data-e="3"] label[for$="-e"]{ grid-column:2; grid-row:4; }
.va-carte-form .sblf-e[data-e="3"] input[name="email"]{ grid-column:2; grid-row:5; }
.va-carte-form .sblf-e[data-e="3"] label[for$="-t"]{ grid-column:1; grid-row:6; }
.va-carte-form .sblf-e[data-e="3"] input[name="phone"]{ grid-column:1; grid-row:7; }
.va-carte-form .sblf-e[data-e="3"] label[for$="-m"]{ grid-column:2; grid-row:6; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.va-carte-form .sblf-e[data-e="3"] label[for$="-m"] span{ display:none; }
.va-carte-form .sblf-e[data-e="3"] textarea[name="message"]{ grid-column:2; grid-row:7; min-height:0; height:48px; resize:none; }
.va-carte-form .sblf-e[data-e="3"] .sblf-nav{ grid-row:8; flex-direction:column; align-items:stretch; gap:6px; }
.va-carte-form .sblf-e[data-e="3"] [data-err]{ grid-row:9; }
.va-carte-form .sblf input[type=text], .va-carte-form .sblf input[type=email], .va-carte-form .sblf input[type=tel], .va-carte-form .sblf textarea{ padding:11px 12px; }
/* Formulaires du site hors héros : mêmes couleurs que la marque, jamais le vert du plugin. */
.sblf.sblf{ --sblf-a:var(--va-majorelle); --sblf-b:#EEF0FB; }
.sblf-choix{ list-style:none; padding-left:0; }
.sblf-c{ min-height:52px; }
.sblf-b1{ min-height:52px; border-radius:var(--va-r-bouton); font-family:var(--va-f-titre); white-space:normal; }

/* Tablette et mobile : photo en haut, frise horizontale, texte, bouton, puis la carte. */
@media (max-width:1180px){
	.va-hero{ display:flex; flex-direction:column; height:auto; padding:0 32px 40px; }
	.va-hero__droite{ order:1; margin:0 -32px; }
	.va-hero__photo{ height:340px; }
	.va-hero__photo figcaption{ left:0; padding:0 24px 34px; }
	.va-hero__pastille-jour{ left:12px; top:14px; }
	.va-hero__pastille-etoile{ width:64px; height:64px; }
	.va-hero__frise{ order:2; flex-direction:row; height:44px; margin:-22px -32px 0; justify-content:center; }
	.va-hero__etoile{ width:44px; height:44px; margin:0 -3px 0 0; }
	.va-hero__gauche{ order:3; padding:20px 0 0; align-self:stretch; }
	.va-hero__cta-mobile{ display:flex; width:100%; justify-content:center; min-height:52px; }
	.va-carte-form{ order:4; position:relative; top:auto; left:auto; width:100%; max-width:560px; margin:28px auto 0; scroll-margin-top:80px; }
}
@media (max-width:620px){
	.va-hero{ padding:0 16px 32px; }
	.va-hero__droite, .va-hero__frise{ margin-inline:-16px; }
	.va-hero__photo{ height:220px; }
	.va-hero__photo figcaption{ padding:0 16px 28px; }
	.va-hero__photo figcaption strong{ font-size:1.375rem; }
	.va-hero__photo figcaption span{ display:none; }
	.va-hero__frise{ height:40px; margin-top:-20px; }
	.va-hero__etoile{ width:40px; height:40px; }
	.va-hero__gauche{ padding-top:14px; gap:12px; }
	.va-hero__accroche, .va-hero__preuves{ display:none; }
	.va-hero__titre{ font-size:2rem; }
	.va-hero__recherche{ height:52px; }
	.va-hero__recherche button{ padding:0 16px; }
}

/* ===================================================================
   5.2 Trois pays
   =================================================================== */
.va-pays{ padding:56px 0 64px; background:linear-gradient(to bottom, #fff 0 52%, var(--va-bleu-chaux) 52% 100%); }
.va-pays__grille{ max-width:var(--va-conteneur); margin:0 auto; padding:0 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.va-pays__carte{
	position:relative; display:flex; flex-direction:column; justify-content:flex-end; aspect-ratio:20/21; background:var(--va-encre);
	border-radius:var(--va-r-carte); overflow:hidden; box-shadow:var(--va-ombre); text-decoration:none; isolation:isolate;
}
.va-pays__carte img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.va-pays__carte::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,27,51,.8), transparent 55%); z-index:-1; }
.va-pays__nom{ color:#fff; font-family:var(--va-f-titre); font-weight:700; font-size:1.75rem; padding:0 20px; }
.va-pays__compte{ color:#fff; opacity:.85; font-family:var(--va-f-titre); font-size:.875rem; padding:0 20px 20px; }
@media (max-width:760px){ .va-pays__grille{ grid-template-columns:1fr; } }

/* ===================================================================
   5.3 Lieux à voir
   =================================================================== */
.va-lieux{ padding:72px 0; background:var(--va-chaux); }
.va-lieux__grille{ max-width:var(--va-conteneur); margin:0 auto; padding:0 32px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.va-lieux__carte{ background:#fff; border-radius:var(--va-r-carte); overflow:hidden; box-shadow:var(--va-ombre); transition:transform .2s ease; }
.va-lieux__carte:hover{ transform:translateY(-4px); }
.va-lieux__visuel{ position:relative; display:block; aspect-ratio:3/2; overflow:hidden; }
.va-lieux__visuel img{ width:100%; height:100%; object-fit:cover; }
.va-lieux__pastille{ position:absolute; top:12px; left:12px; background:#fff; color:var(--va-encre); font-family:var(--va-f-titre); font-weight:700; font-size:.6875rem; padding:5px 10px; border-radius:var(--va-r-pastille); }
.va-lieux__carte h3{ font-size:1.125rem; padding:16px 16px 4px; }
.va-lieux__carte h3 a{ color:inherit; text-decoration:none; }
.va-lieux__carte p{ font-size:.9375rem; color:var(--va-doux); padding:0 16px; margin:0 0 10px; }
.va-lieux__auteur{ display:flex; align-items:center; gap:8px; padding:0 16px 16px; font-size:.8125rem; color:var(--va-doux); }
.va-lieux__auteur img{ border-radius:50%; width:28px; height:28px; }
@media (max-width:980px){ .va-lieux__grille{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .va-lieux__grille{ grid-template-columns:1fr 1fr; gap:14px; } }

/* ===================================================================
   5.4 La vigie, aujourd'hui
   =================================================================== */
.va-veille{ padding:44px 32px; background:var(--va-bleu-chaux); box-shadow:0 0 0 100vmax var(--va-bleu-chaux); clip-path:inset(0 -100vmax); display:grid; grid-template-columns:minmax(0,300px) 1fr; gap:40px; max-width:var(--va-conteneur); margin:0 auto; align-items:center; }
.va-veille .va-entete-section{ padding-inline:0; margin-bottom:20px; }
.va-veille__tuiles{ display:flex; flex-direction:column; gap:16px; }
.va-veille__tuile{ background:#fff; border-radius:var(--va-r-carte); padding:16px 22px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:20px; align-items:center; box-shadow:var(--va-ombre); border-left:5px solid var(--va-vert); }
.va-veille__tuile:has(.va-veille__statut--alerte){ border-left-color:var(--va-rouge); }
.va-veille__tuile .va-veille__nombre{ grid-row:1 / 3; line-height:1; }
.va-veille__tuile .va-veille__pays{ font-family:var(--va-f-titre); font-weight:700; font-size:1.125rem; color:var(--va-encre); grid-column:2; grid-row:1; align-self:end; }
.va-veille__tuile .va-veille__statut{ grid-column:2; grid-row:2; align-self:start; }
.va-veille__nombre{ font-family:var(--va-f-titre); font-weight:700; font-size:4rem; font-variant-numeric:tabular-nums; min-width:1.3em; }
.va-veille__statut{ font-family:var(--va-f-titre); font-weight:700; font-size:.8125rem; }
.va-veille__statut--alerte{ color:var(--va-rouge); }
.va-veille__statut--ok{ color:var(--va-vert); }
.va-veille__pays{ color:var(--va-doux); font-size:.9375rem; }
.va-veille__horodatage{ display:flex; align-items:center; gap:8px; font-size:.875rem; color:var(--va-doux); margin:0; }
.va-veille__point{ width:8px; height:8px; border-radius:50%; background:var(--va-rouge); animation:va-pulse 2s ease-in-out infinite; }
@keyframes va-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }
.va-veille__billets{ list-style:none; display:flex; flex-direction:column; gap:12px; margin:0 0 20px; padding:0; }
.va-billet{ position:relative; background:#fff; border-radius:var(--va-r-carte); padding:14px 20px 14px 112px; min-height:92px; box-shadow:var(--va-ombre); }
.va-billet .va-billet__resume{ display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; margin:0; }
.va-billet .va-billet__lire{ display:none; } /* le titre est déjà le lien : pas de 2e lien qui fait passer le titre sur 2 lignes */
.va-billet .va-billet__titre{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.va-billet:hover{ box-shadow:var(--va-ombre-forte); }
.va-billet::before, .va-billet::after{ content:""; position:absolute; width:16px; height:16px; background:var(--va-bleu-chaux); border-radius:50%; left:92px; }
.va-billet{ background-image:linear-gradient(var(--va-filet) 50%, transparent 50%); background-size:1px 8px; background-repeat:repeat-y; background-position:99px 0; }
.va-billet::before{ top:-8px; } .va-billet::after{ bottom:-8px; }
.va-billet__photo{ position:absolute; left:14px; top:50%; transform:translateY(-50%); width:68px; height:68px; border-radius:12px; object-fit:cover; background:var(--va-bleu-chaux); }
.va-billet__statut{ font-family:var(--va-f-titre); font-weight:700; font-size:.6875rem; text-transform:uppercase; }
.va-billet__statut--alerte{ color:var(--va-rouge); }
.va-billet__date{ color:var(--va-doux); font-size:.8125rem; margin-left:8px; }
.va-billet__titre{ font-size:1.0625rem; margin:4px 0; }
.va-billet__titre a{ color:inherit; text-decoration:none; }
.va-billet__resume{ color:var(--va-doux); font-size:.9375rem; margin:0 0 6px; }
.va-billet__lire{ font-family:var(--va-f-titre); font-weight:600; font-size:.875rem; text-decoration:none; }
.va-veille__vide{ color:var(--va-doux); font-style:italic; }
@media (max-width:980px){ .va-veille{ grid-template-columns:1fr; } }
@media (max-width:560px){ .va-billet{ padding-left:18px; } .va-billet__photo{ display:none; } }

/* ===================================================================
   5.5 Préparer le départ
   =================================================================== */
.va-preparer{ padding:56px 32px; background:#fff; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); max-width:var(--va-conteneur); margin:0 auto; }
.va-preparer .va-entete-section{ padding-inline:0; margin-bottom:20px; }
.va-preparer__onglets{ display:flex; gap:10px; margin-bottom:24px; }
.va-preparer__phare{ display:grid; grid-template-columns:minmax(0,560px) 1fr; gap:40px; align-items:center; margin-bottom:28px; }
.va-preparer__phare img{ height:auto; border-radius:var(--va-r-photo); aspect-ratio:16/8.5; background:var(--va-bleu-chaux); object-fit:cover; width:100%; box-shadow:var(--va-ombre); }
.va-preparer__phare-texte h3{ font-size:1.875rem; margin:10px 0; }
.va-preparer__phare-texte h3 a{ color:inherit; text-decoration:none; }
.va-preparer__phare-texte p{ color:var(--va-doux); }
.va-preparer__relu{ display:flex; align-items:center; gap:8px; font-size:.875rem; color:var(--va-doux); }
.va-preparer__relu img{ border-radius:50%; width:28px; height:28px; }
.va-preparer__grille{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.va-carte-mini{ display:grid; grid-template-columns:96px 1fr; grid-template-rows:auto 1fr; column-gap:14px; align-items:start; }
.va-carte-mini > a{ grid-row:1 / 3; }
.va-carte-mini img{ border-radius:12px; aspect-ratio:1; object-fit:cover; width:96px; height:96px; background:var(--va-bleu-chaux); display:block; }
.va-carte-mini h4{ font-size:.9375rem; font-weight:600; margin:0 0 4px; }
.va-carte-mini h4 a{ color:inherit; text-decoration:none; }
.va-carte-mini time{ font-size:.8125rem; color:var(--va-doux); }
@media (max-width:980px){ .va-preparer__phare{ grid-template-columns:1fr; } .va-preparer__grille{ grid-template-columns:repeat(2,1fr); } }

/* ===================================================================
   5.6 Bande saisonnière
   =================================================================== */
.va-saison{ position:relative; background:var(--va-encre); display:grid; grid-template-columns:1fr 1fr; align-items:stretch; overflow:hidden; min-height:300px; }
.va-saison__texte{ align-self:center; justify-self:end; max-width:600px; padding:48px 56px 48px 32px; text-align:left; z-index:1; }
.va-saison__texte h2{ font-family:var(--va-f-texte); font-style:italic; font-weight:600; font-size:clamp(1.5rem,1.2rem + 1vw,2.25rem); color:var(--va-safran); margin:0 0 10px; }
.va-saison__texte p{ color:var(--va-chaux); margin:0 0 20px; }
.va-saison__photo{ margin:0; position:relative; min-height:300px; }
.va-saison__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.va-saison__photo::before{ content:""; position:absolute; left:-20px; top:0; bottom:0; width:40px; z-index:1; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%23F4B223'/%3E%3C/svg%3E") center top / 40px 40px repeat-y; }
@media (max-width:760px){ .va-saison{ grid-template-columns:1fr; } .va-saison__photo{ order:-1; min-height:200px; } .va-saison__photo::before{ display:none; } .va-saison__texte{ justify-self:stretch; padding:32px 16px; } }

/* ===================================================================
   5.7 Ceux qui vérifient
   =================================================================== */
.va-preuve{ padding:64px 32px; background:var(--va-chaux); box-shadow:0 0 0 100vmax var(--va-chaux); clip-path:inset(0 -100vmax); max-width:var(--va-conteneur); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.va-preuve__chiffres{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.va-chiffre{ background:#fff; border-radius:var(--va-r-carte); padding:22px; border-top:4px solid var(--va-majorelle); box-shadow:var(--va-ombre); }
.va-chiffre__nombre{ display:block; font-family:var(--va-f-titre); font-weight:700; font-size:3.5rem; line-height:1.05; font-variant-numeric:tabular-nums; }
.va-chiffre__nombre--date{ font-size:3.5rem; white-space:nowrap; }
.va-chiffre__libelle{ color:var(--va-doux); font-size:.9375rem; }
.va-preuve__legende{ font-family:var(--va-f-titre); font-weight:700; letter-spacing:.02em; font-size:.9375rem; color:var(--va-encre); margin:0 0 16px; }
.va-preuve__auteurs ul{ list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-bottom:16px; }
.va-preuve__auteurs a{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; text-decoration:none; color:var(--va-encre); }
.va-preuve__auteurs img{ border-radius:50%; width:88px; height:88px; object-fit:cover; }
.va-preuve__auteurs span{ font-size:.8125rem; color:var(--va-doux); }
@media (max-width:980px){ .va-preuve{ grid-template-columns:1fr; } }
@media (max-width:480px){ .va-preuve__chiffres{ grid-template-columns:1fr 1fr; } }

/* ===================================================================
   5.8 Point avant départ (inscription)
   =================================================================== */
.point-avant-depart{
	position:relative; max-width:calc(var(--va-conteneur) - 64px); margin:0 auto 72px;
	display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); grid-template-rows:auto 1fr; align-items:start; min-height:400px;
	border-radius:28px; overflow:hidden; background:var(--va-majorelle); color:#fff;
}
/* Passe 3 : la photo occupe TOUTE la hauteur du bloc (avant : « 1 / -1 » ne couvrait que la 1re rangée → grand vide violet). */
.point-avant-depart > div, .point-avant-depart__formulaire{ grid-column:1; }
.point-avant-depart::after{
	content:""; display:block; grid-column:2; grid-row:1 / 3; align-self:stretch; min-height:220px;
	background:url('assets/photos/inscription-pirogues.webp') center / cover, var(--va-majorelle-fonce);
}
/* Frise d'étoiles chaux sur la lisière de la photo. */
.point-avant-depart::before{
	content:""; grid-column:2; grid-row:1 / 3; align-self:stretch; justify-self:start; width:40px; margin-left:-20px; z-index:1;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%23F5F7FA'/%3E%3C/svg%3E") center top / 40px 40px repeat-y;
}
.point-avant-depart__titre{ color:#fff; font-size:clamp(1.75rem,1.3rem + 1vw,2.25rem); padding:44px 56px 0; margin:0 0 10px; }
.point-avant-depart__promesse{ color:rgba(255,255,255,.9); padding:0 56px; max-width:52ch; margin:0 0 20px; font-size:1.0625rem; }
.point-avant-depart__confirmation{ background:rgba(255,255,255,.15); margin:0 56px 16px; padding:10px 14px; border-radius:10px; }
.point-avant-depart__erreur{ background:rgba(198,46,46,.25); margin:0 56px 16px; padding:10px 14px; border-radius:10px; }
.point-avant-depart__formulaire{ padding:0 56px 44px; max-width:600px; }
.point-avant-depart__etape{ border:0; padding:0; margin:0; min-width:0; display:flex; flex-direction:column; gap:14px; }
.point-avant-depart__etape[hidden]{ display:none; }
.point-avant-depart__etape > legend.point-avant-depart__legende{ float:left; width:100%; margin-bottom:2px; font-family:var(--va-f-titre); font-weight:600; letter-spacing:.01em; }
.point-avant-depart__piege{ position:absolute; left:-9999px; }
.point-avant-depart__champ{ display:flex; flex-direction:column; gap:6px; margin:0; }
.point-avant-depart__champ label, .point-avant-depart__label{ font-family:var(--va-f-titre); font-size:.8125rem; font-weight:600; color:rgba(255,255,255,.85); }
.point-avant-depart__champ input[type=text], .point-avant-depart__champ input[type=email]{ border:0; border-radius:var(--va-r-pilule); padding:0 20px; height:52px; font:inherit; font-family:var(--va-f-titre); font-size:.9375rem; }
.point-avant-depart__mois{ display:flex; flex-wrap:wrap; gap:8px; }
.point-avant-depart__pastille{ position:relative; cursor:pointer; }
.point-avant-depart__pastille input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.point-avant-depart__pastille span{ display:inline-flex; align-items:center; min-height:44px; padding:0 16px; border-radius:var(--va-r-pilule); border:1.5px solid rgba(255,255,255,.45); font-family:var(--va-f-titre); font-weight:600; font-size:.875rem; color:#fff; transition:background .15s, border-color .15s; }
.point-avant-depart__pastille:hover span{ border-color:#fff; }
.point-avant-depart__pastille input:checked + span{ background:#fff; color:var(--va-majorelle); border-color:#fff; }
.point-avant-depart__pastille input:focus-visible + span{ outline:2px solid var(--va-safran); outline-offset:2px; }
.point-avant-depart__legende{ color:rgba(255,255,255,.75); font-size:.8125rem; padding:0; margin:0; }
.point-avant-depart__suivant, .point-avant-depart__envoyer{ align-self:flex-start; background:var(--va-safran); color:var(--va-encre); border:0; border-radius:var(--va-r-bouton); min-height:56px; padding:0 32px; font-family:var(--va-f-titre); font-weight:700; font-size:1rem; cursor:pointer; }
.point-avant-depart__suivant:hover, .point-avant-depart__envoyer:hover{ transform:translateY(-2px); box-shadow:var(--va-ombre); }
.point-avant-depart__retour{ background:none; border:0; color:rgba(255,255,255,.8); cursor:pointer; text-decoration:underline; }
.point-avant-depart__actions{ display:flex; align-items:center; gap:16px; margin:0; flex-direction:row-reverse; justify-content:flex-end; }
@media (max-width:860px){
	.point-avant-depart{ grid-template-columns:1fr; grid-template-rows:auto; min-height:auto; margin-inline:16px; }
	.point-avant-depart::before{ display:none; }
	.point-avant-depart::after{ grid-column:1; grid-row:1; min-height:160px; }
	.point-avant-depart > div{ grid-row:2; } .point-avant-depart__formulaire{ grid-row:3; }
	.point-avant-depart__titre{ padding-top:28px; }
	.point-avant-depart__titre, .point-avant-depart__promesse, .point-avant-depart__formulaire{ padding-inline:24px; }
	.point-avant-depart__formulaire{ padding-bottom:28px; }
	.point-avant-depart__suivant, .point-avant-depart__envoyer{ align-self:stretch; }
}

/* ===================================================================
   6. BARRE MOBILE basse (habillage de vga-nav-mobile.php, classes réelles)
   =================================================================== */
.nav-mobile{ display:none; }
@media (max-width:760px){
	.nav-mobile{
		display:flex; position:fixed; left:0; right:0; bottom:0; z-index:150; background:#fff;
		border-top:1px solid var(--va-filet); padding-bottom:env(safe-area-inset-bottom);
		box-shadow:0 -4px 16px rgba(20,27,51,.08);
	}
	.nav-mobile__lien{
		flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:9px 4px;
		min-height:56px; color:var(--va-doux); text-decoration:none;
	}
	.nav-mobile__icone{ width:22px; height:22px; fill:currentColor; }
	.nav-mobile__lib{ font-family:var(--va-f-titre); font-size:.6875rem; font-weight:600; }
	.nav-mobile__lien--actif{ color:var(--va-majorelle); }
	.nav-mobile__lien--actif .nav-mobile__lib{ text-decoration:underline; text-decoration-color:var(--va-safran); text-decoration-thickness:2px; }
	body{ padding-bottom:64px; }
}

/* ===================================================================
   7. SOMMAIRE (habillage de .sommaire-vigie, émis par vga-lecture.php)
   =================================================================== */
.sommaire-vigie{
	background:var(--va-bleu-chaux); border-radius:var(--va-r-carte-form); padding:22px 26px; margin:28px 0 36px;
}
.sommaire-vigie__titre{ font-family:var(--va-f-titre); font-weight:700; font-size:.8125rem; text-transform:uppercase; letter-spacing:.06em; color:var(--va-doux); margin:0 0 12px; }
.sommaire-vigie__liste{ list-style:none; margin:0; padding:0; display:grid; gap:8px; counter-reset:va-sommaire; }
.sommaire-vigie__liste li{ counter-increment:va-sommaire; }
.sommaire-vigie__liste li::before{ content:counter(va-sommaire) ". "; font-weight:700; color:var(--va-majorelle); }
.sommaire-vigie__liste a{ color:var(--va-encre); text-decoration:none; font-weight:600; }
.sommaire-vigie__liste a:hover{ color:var(--va-majorelle); }

/* ===================================================================
   8. FIL D'ARIANE
   =================================================================== */
.fil-ariane{ max-width:var(--va-conteneur); margin:0 auto; padding:14px 32px; }
.fil-ariane__liste{ display:flex; list-style:none; gap:6px; flex-wrap:wrap; font-size:.8125rem; color:var(--va-doux); }
.fil-ariane__maillon a{ color:var(--va-doux); text-decoration:none; }
.fil-ariane__maillon a:hover{ color:var(--va-majorelle); }
.fil-ariane__maillon:not(:last-child)::after{ content:"›"; margin-left:6px; }

/* ===================================================================
   9. EN-TÊTE D'ARTICLE — billet perforé (pièce ENTETE-bandeau-indigo)
   =================================================================== */
.va-article-bandeau{ background:var(--va-encre); padding:32px 32px 150px; position:relative; }
.va-article-grille{ max-width:var(--va-conteneur); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:40px; align-items:start; }
.va-article-grille .fil-ariane{ padding:0 0 20px; margin:0; grid-column:1/-1; }
.va-article-grille .fil-ariane__liste, .va-article-grille .fil-ariane__maillon a, .va-article-grille .fil-ariane__maillon{ color:rgba(245,247,250,.7); }
.va-article-titre-bloc{ color:#fff; }
.va-article-titre-bloc .va-pastille{ background:var(--va-safran); }
.va-article-titre-bloc h1{ color:#fff; font-size:clamp(2rem,1.6rem + 1.6vw,3rem); line-height:1.1; margin:12px 0; }
.va-article-chapo{ font-family:var(--va-f-texte); font-style:italic; font-size:1.3125rem; color:rgba(245,247,250,.85); margin:0 0 20px; }
.va-article-meta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; color:rgba(245,247,250,.8); font-size:.9375rem; }
.va-article-meta img{ border-radius:50%; width:44px; height:44px; object-fit:cover; }
.va-article-meta a{ color:#fff; font-weight:600; text-decoration:none; }

.va-billet-article{
	background:#fff; border-radius:var(--va-r-carte); padding:26px 24px; position:relative;
	box-shadow:var(--va-ombre-forte); display:flex; flex-direction:column; gap:14px;
	align-self:end; top:210px; z-index:3; /* passe 3 : le billet déborde de 60 px sous le bandeau (DA §5.2) */
}
.va-billet-article dt{ text-transform:none !important; letter-spacing:0 !important; font-size:.8125rem !important; }
.va-article-titre-bloc .va-pastille, .va-article-titre-bloc .va-pastille a{ text-decoration:none; color:var(--va-encre); }
.va-billet-article::before, .va-billet-article::after{
	content:""; position:absolute; width:22px; height:22px; background:var(--va-encre); border-radius:50%; top:50%; margin-top:-11px;
}
.va-billet-article::before{ left:-11px; } .va-billet-article::after{ right:-11px; }
.va-billet-article__titre{ margin:0; color:var(--va-doux); font-size:.875rem; font-weight:700; }
.va-billet-article dl{ margin:0; display:grid; gap:10px; border-top:1px dashed var(--va-filet); padding-top:14px; }
.va-billet-article dt{ font-family:var(--va-f-titre); font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--va-doux); }
.va-billet-article dd{ margin:0 0 6px; font-weight:600; }

.va-article-une-chevauchante{ max-width:calc(var(--va-conteneur) + 64px); margin:-120px auto 0; padding:0 32px; position:relative; z-index:2; } /* passe 3 : aligné sur la colonne du titre, remonte de 120 px */
.va-article-une-chevauchante .sbt-article-une-cadre{ max-width:860px; }
.va-article-une-chevauchante figcaption{ font-size:.8125rem; color:var(--va-doux); margin-top:8px; max-width:860px; }

@media (max-width:980px){
	.va-article-grille{ grid-template-columns:1fr; }
	.va-article-bandeau{ padding-bottom:110px; }
	.va-article-une-chevauchante{ margin-top:-90px; }
	.va-billet-article{ top:0; align-self:stretch; }
}

/* Barre latérale d'article (sbt-rail) — carte du formulaire. */
.va-rail-form__titre{ font-family:var(--va-f-titre); font-weight:700; margin:0 0 4px; }
.va-rail-form__aide{ color:var(--va-doux); font-size:.875rem; margin:0 0 12px; }
.sbt-rail-carte--formulaire .sblf{ margin:0 !important; }
.sbt-rail-carte--formulaire .sblf-bar i{ height:3px; }

/* Bloc auteur de fin (mu-plugin sb-auteur-bloc.php, classes .sb-auteur-fin) :
   alimenté via le pont de variables --surf/--accent/--encre/--titre/--fond/--filet
   (cf. va_variables_pont()) — aucune règle supplémentaire nécessaire ici. */
.sb-auteur-fin{ border-radius:var(--va-r-carte) !important; }
.sb-auteur-fin-av{ width:72px !important; height:72px !important; }

/* Contenu d'article : habillage des classes déjà présentes dans les textes */
.sbt-article-corps ul:not(.sbt-retenir-liste):not(.sbt-faq-liste),
.page-vigie__corps ul:not(.sbt-retenir-liste):not(.sbt-faq-liste),
.pilier-silo__corps ul:not(.sbt-retenir-liste):not(.sbt-faq-liste),
.fiche-securite__corps ul:not(.sbt-retenir-liste):not(.sbt-faq-liste){ list-style:none; margin:1.4em 0; padding:0; display:grid; gap:10px; }
.sbt-article-corps ul:not(.sbt-retenir-liste):not(.sbt-faq-liste) li{ position:relative; padding:12px 16px 12px 40px; background:var(--va-bleu-chaux); border-radius:12px; }
.sbt-article-corps ul:not(.sbt-retenir-liste):not(.sbt-faq-liste) li::before{ content:"✦"; position:absolute; left:14px; color:var(--va-majorelle); }
.sbt-article-corps table, .sbt-article-corps .tableau-scroll,
.page-vigie__corps table, .page-vigie__corps .tableau-scroll,
.pilier-silo__corps table, .pilier-silo__corps .tableau-scroll,
.fiche-securite__corps table, .fiche-securite__corps .tableau-scroll{ display:block; overflow-x:auto; border-radius:var(--va-r-carte); box-shadow:var(--va-ombre); margin:1.8em 0; -webkit-overflow-scrolling:touch; }
.sbt-article-corps table{ border-collapse:collapse; min-width:100%; width:max-content; }
.sbt-article-corps table th, .sbt-article-corps table td{ padding:12px 16px; border-bottom:1px solid var(--va-filet); text-align:left; white-space:nowrap; }
.sbt-article-corps table th{ background:var(--va-encre); color:#fff; font-family:var(--va-f-titre); }
.sbt-article-corps table tr:nth-child(even) td{ background:rgba(230,234,247,.4); }
.sbt-article-corps .chapeau, .sbt-article-corps .chapo, .sbt-article-corps .sb-chapo{ font-family:var(--va-f-texte); font-style:italic; font-size:1.1875rem; color:var(--va-doux); }
.sbt-article-corps .avertissement, .sbt-article-corps .verification, .sbt-article-corps .sb-verif{
	background:var(--va-bleu-chaux); border-left:4px solid var(--va-majorelle); border-radius:12px; padding:16px 20px; margin:1.6em 0;
}
.sbt-article-corps .illustration-vigie, .sbt-article-corps .sb-figure{ border-radius:var(--va-r-photo); overflow:hidden; margin:1.8em 0; box-shadow:var(--va-ombre); }
.sbt-article-corps .bloc-citable{ background:var(--va-encre); color:#fff; border-radius:var(--va-r-carte-form); padding:26px 28px; font-family:var(--va-f-texte); font-style:italic; font-size:1.1875rem; margin:1.8em 0; }
.sbt-article-corps .source-bloc{ background:var(--va-bleu-chaux); border-radius:var(--va-r-carte); padding:20px 22px; font-size:.9375rem; margin:1.6em 0; }
.sbt-article-corps .alerte-veille__titre{ font-family:var(--va-f-titre); color:var(--va-rouge); }

/* ===================================================================
   10. EN-TÊTE DE RUBRIQUE — bandeau pays/thème + frise horizontale + tuiles à cheval
   =================================================================== */
.va-rubrique-bandeau{ position:relative; min-height:420px; display:flex; align-items:flex-end; margin-bottom:0; isolation:isolate; }
.va-rubrique-bandeau img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.va-rubrique-bandeau::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,27,51,.85), rgba(20,27,51,.15)); z-index:-1; }
.va-rubrique-bandeau__frise{ position:absolute; left:0; right:0; bottom:64px; height:36px; display:flex; justify-content:center; gap:0; overflow:hidden; z-index:0; }
.va-rubrique-bandeau__frise svg{ flex:none; width:36px; height:36px; margin-right:-2px; filter:drop-shadow(0 2px 3px rgba(20,27,51,.35)); }
.va-rubrique-bandeau__frise svg path{ stroke:rgba(245,247,250,.9); stroke-width:1.5; }
.va-rubrique-bandeau__frise svg:nth-child(3n+1) path{ fill:var(--va-majorelle); }
.va-rubrique-bandeau__frise svg:nth-child(3n+2) path{ fill:var(--va-safran); }
.va-rubrique-bandeau__frise svg:nth-child(3n+3) path{ fill:var(--va-rose); }
.va-rubrique-bandeau__texte{ position:relative; z-index:1; max-width:var(--va-conteneur); margin:0 auto; padding:0 32px 124px; color:#fff; width:100%; }
.va-rubrique-bandeau__texte .pilier-silo__marqueur{ text-transform:none; letter-spacing:0; font-family:var(--va-f-texte); font-style:italic; font-weight:600; font-size:1.25rem; margin:0; }
.va-rubrique-bandeau__texte h1{ color:#fff; font-size:clamp(2.25rem,1.8rem + 2vw,4rem); margin:8px 0; }
.va-rubrique-bandeau__chapo{ font-family:var(--va-f-texte); font-style:italic; font-size:1.25rem; color:rgba(245,247,250,.9); max-width:60ch; margin:0; }
.va-rubrique-tuiles{ position:relative; z-index:2; max-width:var(--va-conteneur); margin:-48px auto 0; padding:0 32px; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.va-rubrique-tuile{ background:#fff; border-radius:var(--va-r-carte); padding:18px; text-align:center; box-shadow:var(--va-ombre); }
.va-rubrique-tuile__nombre{ display:block; font-family:var(--va-f-titre); font-weight:700; font-size:2.25rem; line-height:1.1; }
.va-rubrique-tuile__nombre--texte{ font-size:1.125rem; line-height:1.3; padding:8px 0 4px; }
.va-rubrique-tuile{ display:flex; flex-direction:column; justify-content:center; }
.va-rubrique-tuile__libelle{ font-size:.8125rem; color:var(--va-doux); }
@media (max-width:860px){ .va-rubrique-tuiles{ grid-template-columns:repeat(2,1fr); margin-top:-32px; gap:10px; } .va-rubrique-bandeau{ min-height:320px; } .va-rubrique-bandeau__frise{ bottom:44px; } .va-rubrique-bandeau__frise svg{ width:28px; height:28px; } .va-rubrique-bandeau__texte{ padding-bottom:88px; } .va-rubrique-tuile{ padding:14px 10px; } .va-rubrique-tuile__nombre{ font-size:1.75rem; } }

.va-rubrique-filtres{ display:flex; gap:10px; flex-wrap:wrap; max-width:var(--va-conteneur); margin:40px auto 32px; padding:0 32px; }

.va-rubrique-grille{ max-width:var(--va-conteneur); margin:0 auto 56px; padding:0 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.va-rubrique-carte{ background:#fff; border-radius:var(--va-r-carte); overflow:hidden; box-shadow:var(--va-ombre); }
.va-rubrique-carte{ display:flex; flex-direction:column; }
.va-rubrique-carte img{ aspect-ratio:3/2; object-fit:cover; width:100%; height:auto; display:block; background:var(--va-bleu-chaux); }
.va-rubrique-carte__corps{ padding:18px; }
.va-rubrique-carte h3{ font-size:1.125rem; margin:0 0 6px; }
.va-rubrique-carte h3 a{ color:inherit; text-decoration:none; }
.va-rubrique-carte p{ color:var(--va-doux); font-size:.9375rem; margin:0; }
@media (max-width:980px){ .va-rubrique-grille{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .va-rubrique-grille{ grid-template-columns:1fr; } }

.va-rubrique-vide{ max-width:720px; margin:0 auto 72px; padding:0 32px; text-align:center; }
.va-rubrique-vide p{ color:var(--va-doux); font-size:1.0625rem; }

.va-rubrique-voir-plus{ text-align:center; margin:0 0 72px; }

/* ===================================================================
   11. ALERTES (habillage des classes .fil-alertes émises par le mu-plugin et par
   category-alertes.php) — frise chronologique verticale de billets perforés.
   =================================================================== */
.fil-alertes{ max-width:860px; margin:0 auto 72px; padding:0 32px; }
.fil-alertes__entete, .fil-alertes__chapeau{ text-align:center; margin-bottom:40px; }
.fil-alertes__chapeau{ color:var(--va-doux); font-family:var(--va-f-texte); font-style:italic; font-size:1.125rem; }
.fil-alertes__liste{ list-style:none; display:flex; flex-direction:column; gap:20px; position:relative; }
.fil-alertes__liste::before{ content:""; position:absolute; left:11px; top:0; bottom:0; width:2px; background:var(--va-filet); }
.fil-alertes__item{ position:relative; padding-left:48px; }
.fil-alertes__item::before{ content:""; position:absolute; left:4px; top:8px; width:16px; height:16px; border-radius:50%; background:var(--va-rose); border:3px solid var(--va-chaux); }
.fil-alertes__alerte{ background:#fff; border-radius:var(--va-r-carte); padding:18px 22px; box-shadow:var(--va-ombre); }
.fil-alertes__date{ font-family:var(--va-f-titre); font-size:.75rem; color:var(--va-doux); text-transform:uppercase; letter-spacing:.04em; }
.fil-alertes__titre-alerte{ font-size:1.1875rem; margin:6px 0; }
.fil-alertes__titre-alerte a{ color:inherit; text-decoration:none; }
.fil-alertes__resume{ color:var(--va-doux); margin:0; }
.fil-alertes__vide{ text-align:center; color:var(--va-doux); font-style:italic; }
.fil-alertes__pagination{ display:none; } /* pas de pagination numérotée (consigne) — bouton « Voir plus » géré par category-alertes.php */
.rubrique-vigie__tout{ text-align:center; }

/* ===================================================================
   12. PAGES ANNEXES — même soin que l'accueil
   =================================================================== */
.page-vigie{ max-width:var(--va-conteneur); margin:0 auto; padding:0 32px 72px; }
.page-vigie__entete{ max-width:760px; margin:0 auto 32px; text-align:center; }
.page-vigie__entete h1{ font-size:clamp(2rem,1.6rem + 1.6vw,3rem); }
.page-vigie__corps{ max-width:760px; margin:0 auto; font-size:1.0625rem; line-height:1.7; }
.page-vigie__corps h2{ margin-top:2em; }
.page-vigie__bandeau{ position:relative; min-height:320px; display:flex; align-items:center; margin-bottom:48px; }
.page-vigie__bandeau img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.page-vigie__bandeau::after{ content:""; position:absolute; inset:0; background:rgba(20,27,51,.55); z-index:-1; }
.page-vigie__bandeau-texte{ position:relative; z-index:1; max-width:var(--va-conteneur); margin:0 auto; padding:0 32px; color:#fff; text-align:center; width:100%; }
.page-vigie__bandeau-texte h1{ color:#fff; }

.va-mentions{ max-width:760px; margin:0 auto 72px; padding:0 32px; }
.va-mentions-bandeau{ background:var(--va-encre); padding:48px 32px; text-align:center; margin-bottom:40px; }
.va-mentions-bandeau h1{ color:#fff; }
.va-mentions-panneau{ background:#fff; border-radius:var(--va-r-carte-form); padding:36px; box-shadow:var(--va-ombre); font-size:1rem; line-height:1.7; }
.va-mentions-panneau h2{ font-size:1.25rem; margin-top:1.6em; }

/* ===================================================================
   13. 404 et RECHERCHE
   =================================================================== */
.page-introuvable{ position:relative; min-height:560px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:56px 32px; gap:20px; }
.page-introuvable img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.page-introuvable::after{ content:""; position:absolute; inset:0; background:rgba(20,27,51,.6); z-index:-1; }
.page-introuvable__titre{ color:#fff; font-size:clamp(2rem,1.6rem + 1.6vw,3.75rem); max-width:16ch; margin:0; }
.page-introuvable__texte{ color:rgba(245,247,250,.9); max-width:48ch; }
.page-introuvable__selecteur{ width:100%; max-width:540px; }
.page-introuvable__retour a{ color:var(--va-safran-clair); font-family:var(--va-f-titre); font-weight:600; }

.selecteur-destination__groupe{ display:flex; align-items:center; gap:10px; background:#fff; border-radius:var(--va-r-pilule); padding:6px 6px 6px 20px; height:56px; }
.selecteur-destination__champ{ flex:1; border:0; outline:0; font:inherit; font-size:1rem; min-width:0; }
.selecteur-destination__bouton{ background:var(--va-majorelle); color:#fff; border:0; border-radius:var(--va-r-pilule); padding:0 22px; height:44px; font-family:var(--va-f-titre); font-weight:600; cursor:pointer; }
.selecteur-destination__etiquette{ display:block; margin-bottom:8px; color:#fff; font-family:var(--va-f-titre); font-weight:600; }
.page-introuvable .selecteur-destination__etiquette{ color:rgba(245,247,250,.9); }

/* PASSE 2 — Contact : vrai formulaire (signaler une erreur / question / partenariat),
   une colonne pleine largeur sous 768 px (mobile cassé en passe 1 : deux colonnes
   conservées jusqu'à 390 px). */
.va-contact{ max-width:var(--va-conteneur); margin:0 auto 72px; padding:0 32px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.va-contact__carte{ background:#fff; border-radius:var(--va-r-carte-form); padding:30px; box-shadow:var(--va-ombre); }
.va-contact__titre{ margin:0 0 18px; }
.va-contact__formulaire{ display:flex; flex-direction:column; gap:6px; }
.va-contact__formulaire label{ font-family:var(--va-f-titre); font-size:.8125rem; font-weight:600; margin-top:10px; }
.va-contact__formulaire input, .va-contact__formulaire select, .va-contact__formulaire textarea{
	border:1.5px solid var(--va-filet); border-radius:10px; padding:11px 14px; font:inherit; font-size:.9375rem; background:#fff;
}
.va-contact__formulaire button{ margin-top:14px; }
.va-contact__lien-voyage{ margin-top:18px; font-size:.875rem; color:var(--va-doux); }
.va-contact__lien-voyage a{ font-weight:600; }
@media (max-width:768px){ .va-contact{ grid-template-columns:1fr; padding-inline:16px; } }

.va-recherche-bandeau{ background:var(--va-bleu-chaux); padding:56px 32px; text-align:center; }
.va-recherche-bandeau .selecteur-destination__etiquette{ color:var(--va-encre); }
.va-recherche-bandeau .selecteur-destination{ max-width:600px; margin:0 auto; }
.va-recherche-resultats{ max-width:var(--va-conteneur); margin:40px auto 72px; padding:0 32px; }

/* ===================================================================
   14. PILIER / FICHE SÉCURITÉ / COMPARATIF — gabarits dédiés, même habillage de corps
   =================================================================== */
.pilier-silo, .fiche-securite{ max-width:860px; margin:0 auto; padding:0 32px 72px; }
.pilier-silo__entete, .fiche-securite__entete{ text-align:center; margin-bottom:28px; }
.pilier-silo__marqueur, .fiche-securite__marqueur{ color:var(--va-majorelle); font-family:var(--va-f-titre); font-weight:700; font-size:.8125rem; text-transform:uppercase; letter-spacing:.06em; }
.pilier-silo__titre, .fiche-securite__titre{ font-size:clamp(2rem,1.6rem + 1.6vw,3rem); margin:10px 0; }
.fiche-securite__verdict{ background:var(--va-bleu-chaux); border-radius:12px; padding:10px 16px; display:inline-block; }
.pilier-silo__corps, .fiche-securite__corps{ font-size:1.0625rem; line-height:1.75; }
.pilier-silo__destinations-liste, .fiche-securite__pied{ list-style:none; }
.pilier-silo__destinations{ margin-top:48px; border-top:1px solid var(--va-filet); padding-top:32px; }
.pilier-silo__destinations-liste{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.pilier-silo__destinations-item a{ display:block; padding:12px 16px; background:var(--va-bleu-chaux); border-radius:12px; text-decoration:none; color:var(--va-encre); font-weight:600; }
.fiche-securite__rappel-sources{ margin-top:40px; padding-top:20px; border-top:1px solid var(--va-filet); color:var(--va-doux); font-size:.9375rem; }

/* Comparatif : table => cartes lisibles, jamais un tableau brut. */
.va-comparatif table{ display:block; overflow-x:auto; border-radius:var(--va-r-carte); box-shadow:var(--va-ombre); -webkit-overflow-scrolling:touch; }

/* ===================================================================
   15. PAGE AUTEUR
   =================================================================== */
.va-auteur{ max-width:760px; margin:0 auto; padding:0 32px 72px; text-align:center; }
.va-auteur__avatar{ border-radius:50%; width:120px; height:120px; object-fit:cover; margin:0 auto 20px; }
.va-auteur__bio{ color:var(--va-doux); max-width:60ch; margin:0 auto 40px; }
.va-auteur__liste{ text-align:left; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; list-style:none; }
@media (max-width:620px){ .va-auteur__liste{ grid-template-columns:1fr; } }

/* ===================================================================
   16. ÉCRAN MOBILE — 390 px (section 6 de la DA)
   =================================================================== */
@media (max-width:980px){
	.entete-vigie__bascule{ display:flex; }
	.barre-destinations{ position:fixed; inset:60px 0 0 0; background:var(--va-chaux); flex-direction:column; align-items:stretch; padding:24px; display:none; z-index:120; overflow-y:auto; }
	.barre-destinations.est-ouvert{ display:flex; }
	.barre-destinations__liste{ flex-direction:column; gap:4px; }
	.barre-destinations__lien, .barre-destinations__liste > li > a{ padding:16px; font-size:1.0625rem; }
	.entete-vigie__cta{ display:none; }
}
@media (max-width:620px){
	.va-entete-section, .va-pays__grille, .va-lieux__grille, .va-veille, .va-preparer, .va-preuve, .va-rubrique-bandeau__texte, .va-rubrique-tuiles, .va-rubrique-filtres, .va-rubrique-grille, .fil-alertes, .page-vigie, .va-mentions, .va-recherche-resultats{ padding-inline:16px; }
	.entete-vigie__interieur{ padding-inline:16px; gap:12px; }
}


/* ===================================================================
   PASSE 3 (correcteur) — signature et encart auteur injectés par le
   mu-plugin de lecture : le portrait sortait à 560 px de haut au milieu
   des pages (verdict « grand portrait illustré »). Habillage seul.
   =================================================================== */
.signature-vigie{ display:grid; grid-template-columns:52px minmax(0,1fr); column-gap:14px; align-items:center; margin:0 0 28px; }
.signature-vigie > p:empty{ display:none; }
.signature-vigie__portrait{ grid-column:1; grid-row:1; width:52px !important; height:52px !important; max-width:52px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 3px #fff, 0 0 0 4.5px var(--va-majorelle); }
.signature-vigie__texte{ grid-column:2; grid-row:1; font-size:.9375rem; }
.signature-vigie__texte p{ margin:0; }
.signature-vigie__nom a{ font-weight:600; }
.signature-vigie .sommaire-vigie{ grid-column:1 / -1; grid-row:2; margin:22px 0 0; }
.sommaire-vigie{ background:#fff; border-radius:var(--va-r-carte); box-shadow:var(--va-ombre); border-top:4px solid var(--va-majorelle); padding:22px 26px; }
.sommaire-vigie__titre{ font-family:var(--va-f-titre); font-weight:700; font-size:1rem; text-transform:none !important; letter-spacing:0 !important; color:var(--va-encre); margin:0 0 10px; }
.encart-auteur{ display:grid; grid-template-columns:72px minmax(0,1fr); gap:18px; align-items:start; background:#fff; border-radius:var(--va-r-carte); box-shadow:var(--va-ombre); padding:24px; margin:40px 0; }
.encart-auteur .signature-vigie__portrait{ width:72px !important; height:72px !important; max-width:72px; }
.encart-auteur__nom{ margin:0 0 6px; font-family:var(--va-f-titre); font-weight:600; }
.encart-auteur__bio{ margin:0; color:var(--va-doux); }
/* Deux boîtes auteur l'une sous l'autre (sb-auteur-bloc + encart) : on garde celle du réseau. */
body:has(.encart-auteur) .sb-auteur-fin{ display:none; } /* passe 5 : on garde l'encart (avatar + fonction + bio) */

@media (max-width:620px){
	/* Mobile : la photo doit apparaître au premier écran — chapô sur 2 lignes, billet compact en 2 colonnes. */
	.va-article-bandeau{ padding:20px 16px 100px; }
	.va-article-titre-bloc h1{ font-size:1.875rem; }
	.va-article-chapo{ font-size:1.0625rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:14px; }
	.va-billet-article{ display:none; } /* repères déjà dans la ligne auteur (date, durée) : la photo passe au premier écran */
	.va-article-grille .fil-ariane{ padding-bottom:12px; }
	.va-article-meta{ gap:8px 12px; font-size:.875rem; }
	.va-article-une-chevauchante{ padding:0 16px; margin-top:-84px; }
}

/* PASSE 3 — page Alertes : plus de sommaire de 16 lignes (il listait chaque alerte), espace sous les
   tuiles, billets perforés (encoches + pointillé) avec pastille de statut, dates en casse normale. */
body:has(.fil-alertes) .sommaire-vigie{ display:none; }
body:has(.fil-alertes) .signature-vigie{ margin-bottom:12px; }
.va-rubrique-tuiles + *{ margin-top:48px; }
.fil-alertes__date{ text-transform:none !important; letter-spacing:0 !important; font-size:.8125rem !important; font-weight:600; }
.fil-alertes__alerte{ position:relative; padding:18px 24px 18px 24px; border-left:5px solid var(--va-rouge); }
.fil-alertes__alerte::before{ content:"Alerte"; display:inline-block; margin-right:10px; padding:3px 10px; border-radius:var(--va-r-pilule); background:#FBE7E7; color:var(--va-rouge); font-family:var(--va-f-titre); font-weight:700; font-size:.75rem; vertical-align:1px; }
.fil-alertes__alerte::after{ content:""; position:absolute; right:-9px; top:50%; width:18px; height:18px; margin-top:-9px; border-radius:50%; background:var(--va-chaux); box-shadow:inset 3px 0 4px -2px rgba(20,27,51,.15); }
.fil-alertes__titre-alerte{ font-size:1.1875rem !important; margin:8px 0 6px !important; padding-top:10px; border-top:1px dashed var(--va-filet); }
.fil-alertes__titre-alerte a{ color:var(--va-encre); text-decoration:none; }
.fil-alertes__titre-alerte a:hover{ color:var(--va-majorelle); }
.fil-alertes__resume{ margin:0; color:var(--va-doux); }

/* ===================================================================
   PASSE 3 — Infographies du socle ([sbs_jauges] [sbs_tarifs] [sbs_frise] [sbs_lieu]) :
   le module n'apporte aucun style ; habillage aux couleurs du site (carte blanche,
   filet Majorelle, chiffres Alexandria, barres Majorelle → safran).
   =================================================================== */
sbs-jauges, sbs-tarifs, sbs-frise, .sbs_lieu{ display:block; margin:32px 0; padding:24px 26px; background:#fff; border-radius:var(--va-r-carte); box-shadow:var(--va-ombre); border-top:4px solid var(--va-majorelle); }
.sbs_jauges_titre, .sbs_tarifs_titre, .sbs_frise_titre{ display:block; font-family:var(--va-f-titre); font-weight:700; font-size:1.125rem; color:var(--va-encre); margin:0 0 18px; }
sbs-jauges{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
sbs-jauges > .sbs_jauges_titre{ grid-column:1 / -1; margin-bottom:4px; }
sbs-jauge{ display:flex; flex-direction:column; gap:4px; padding:16px 18px; border-radius:14px; background:var(--va-bleu-chaux); }
.sbs_jauge_libelle{ font-family:var(--va-f-texte); font-size:.9375rem; color:var(--va-doux); line-height:1.3; }
.sbs_jauge_valeur{ font-family:var(--va-f-titre); font-weight:700; font-size:2.25rem; line-height:1.05; color:var(--va-majorelle); font-variant-numeric:tabular-nums; }
.sbs_jauge_unite{ font-family:var(--va-f-titre); font-weight:600; font-size:.8125rem; color:var(--va-encre); }
sbs-tarifs{ display:flex; flex-direction:column; gap:14px; }
sbs-tarifs > .sbs_tarifs_titre{ margin-bottom:0; }
sbs-tarif{ display:grid; grid-template-columns:minmax(0,200px) 1fr; align-items:center; gap:16px; }
.sbs_tarif_libelle{ font-family:var(--va-f-titre); font-weight:600; font-size:.9375rem; color:var(--va-encre); }
.sbs_tarif_barre{ width:100%; height:16px; border-radius:var(--va-r-pilule); background:var(--va-bleu-chaux); -webkit-appearance:none; appearance:none; border:0; }
.sbs_tarif_barre::-webkit-meter-bar{ background:var(--va-bleu-chaux); border:0; border-radius:var(--va-r-pilule); height:16px; }
.sbs_tarif_barre::-webkit-meter-optimum-value, .sbs_tarif_barre::-webkit-meter-suboptimum-value, .sbs_tarif_barre::-webkit-meter-even-less-good-value{ background:var(--va-majorelle); border-radius:var(--va-r-pilule); }
.sbs_tarif_barre::-moz-meter-bar{ background:var(--va-majorelle); border-radius:var(--va-r-pilule); }
.sbs_tarifs_notes{ font-family:var(--va-f-texte); font-size:.875rem; color:var(--va-doux); }
sbs-frise{ position:relative; }
sbs-etape{ display:grid; grid-template-columns:120px 1fr; column-gap:18px; padding:12px 0; border-top:1px dashed var(--va-filet); }
sbs-etape:first-of-type{ border-top:0; }
.sbs_etape_date{ grid-row:1 / 3; font-family:var(--va-f-titre); font-weight:700; font-size:.9375rem; color:var(--va-majorelle); }
.sbs_etape_titre{ font-family:var(--va-f-titre); font-weight:700; color:var(--va-encre); }
.sbs_etape_desc{ font-family:var(--va-f-texte); font-size:.9375rem; color:var(--va-doux); }
.sbs_lieu_nom{ font-family:var(--va-f-titre); font-weight:700; font-size:1.125rem; }
.sbs_lieu_carte{ border-radius:14px; overflow:hidden; margin-top:12px; }
@media (max-width:620px){ sbs-tarif{ grid-template-columns:1fr; gap:6px; } sbs-etape{ grid-template-columns:1fr; } .sbs_etape_date{ grid-row:auto; } }

/* PASSE 3 — bandeau des pages (Qui sommes-nous, pilier, contact) : plus de « photo + titre centré »
   générique : titre aligné à gauche sur la grille, dégradé d'encre par le bas, frise d'étoiles en lisière basse. */
.page-vigie__bandeau{ min-height:340px; align-items:flex-end; isolation:isolate; background:var(--va-encre); }
.page-vigie__bandeau::after{ background:linear-gradient(to top, rgba(20,27,51,.88), rgba(20,27,51,.2) 70%); }
.page-vigie__bandeau::before{
	content:""; position:absolute; left:0; right:0; bottom:-14px; height:28px; z-index:1; pointer-events:none;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 168 56'%3E%3Cpath d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%234A3CCB'/%3E%3Cpath transform='translate(56 0)' d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%23F4B223'/%3E%3Cpath transform='translate(112 0)' d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%23E8577A'/%3E%3C/svg%3E") left center / 84px 28px repeat-x;
}
.page-vigie__bandeau-texte{ text-align:left; padding-bottom:52px; }
.page-vigie__bandeau-texte h1{ font-size:clamp(2.25rem,1.8rem + 2vw,3.75rem); margin:6px 0 0; }
.page-vigie__bandeau-texte .pilier-silo__marqueur{ text-transform:none !important; letter-spacing:0 !important; font-family:var(--va-f-texte); font-style:italic; font-weight:600; font-size:1.25rem; margin:0; }
/* Qui sommes-nous : les auteurs en cartes (et plus deux médaillons perdus aux deux bouts de l'écran). */
.page-vigie ~ .va-preuve{ max-width:860px; padding-top:24px; }
.page-vigie ~ .va-preuve .va-preuve__legende{ font-size:1.5rem; text-align:left; }
.page-vigie ~ .va-preuve .va-preuve__auteurs a{ flex-direction:row; text-align:left; gap:18px; background:#fff; border-radius:var(--va-r-carte); padding:20px; box-shadow:var(--va-ombre); }
.page-vigie ~ .va-preuve .va-preuve__auteurs a strong{ display:block; font-family:var(--va-f-titre); font-size:1.125rem; }
.page-vigie ~ .va-preuve .va-preuve__auteurs img{ width:72px; height:72px; flex:none; }
@media (max-width:620px){ .page-vigie ~ .va-preuve .va-preuve__auteurs ul{ grid-template-columns:1fr; } .page-vigie__bandeau{ min-height:240px; } .page-vigie__bandeau-texte{ padding:0 16px 40px; } }

/* PASSE 3 — mobile de l'accueil : la vigie débordait à droite (titre des billets sur une ligne
   qui élargissait la colonne), pays en carrousel à accroche (DA §6), tuiles vigie 3 côte à côte. */
@media (max-width:980px){
	.va-veille{ grid-template-columns:minmax(0,1fr); }
	.va-veille__liste, .va-veille__tuiles{ min-width:0; }
}
@media (max-width:760px){
	.va-pays__grille{ grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:78%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; scrollbar-width:none; }
	.va-pays__grille::-webkit-scrollbar{ display:none; }
	.va-pays__carte{ scroll-snap-align:start; aspect-ratio:4/5; }
}
@media (max-width:620px){
	.va-veille{ padding-block:40px; gap:24px; }
	.va-veille__tuiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
	.va-veille__tuile{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:12px; border-left:0; border-top:5px solid var(--va-vert); }
	.va-veille__tuile:has(.va-veille__statut--alerte){ border-top-color:var(--va-rouge); }
	.va-veille__nombre{ font-size:2.25rem; }
	.va-veille__tuile > *{ align-self:flex-start !important; }
	.va-veille__tuile .va-veille__pays{ font-size:.9375rem; order:1; }
	.va-veille__tuile .va-veille__statut{ font-size:.75rem; order:2; line-height:1.25; }
	.va-billet{ padding:12px 14px; min-height:0; background-image:none; }
	.va-billet::before, .va-billet::after{ display:none; }
	.va-billet .va-billet__titre{ white-space:normal; font-size:1rem; }
	.va-preparer__onglets{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
	.va-preparer__onglet{ white-space:nowrap; flex:none; }
	.va-preparer__phare{ gap:16px; }
	.va-preparer__phare-texte h3{ font-size:1.5rem; }
}

/* PASSE 4 — porte de sortie */
.sblf .sblf-titre{ font-family:var(--va-f-titre); font-size:20px; line-height:1.3; margin:0 0 4px; font-weight:700; color:var(--va-encre); }
.va-carte-form .sblf .sblf-titre{ font-size:1.3125rem; }
/* Contraste réel : textes posés sur photo → le conteneur porte un fond d'encre (la photo le recouvre). */
.va-hero__photo, .va-hero__droite, .va-rubrique-bandeau, .page-vigie__bandeau{ background-color:var(--va-encre); }
.va-rubrique-bandeau__texte, .page-vigie__bandeau-texte{ background-color:transparent; }
.va-footer .sbt-footer-bas, .va-footer .sbt-footer-bas span, .va-footer .va-footer-credits, .va-footer .va-footer-bas, .va-footer .va-footer-bas span{ color:rgba(245,247,250,.75) !important; }
.va-footer .va-footer-credits a{ color:#F5F7FA !important; }
/* Rythme vertical : jamais de marge haute nulle sous un bandeau. */
.fil-alertes{ margin-top:40px; }
.page-vigie{ margin-top:40px; }
/* Pop-up de sortie (mu-plugin) habillée. */
.rappel-depart{ position:fixed; inset:0; z-index:300; background:rgba(20,27,51,.55); display:flex; align-items:center; justify-content:center; padding:16px; }
.rappel-depart[hidden]{ display:none; }
.rappel-depart__boite{ position:relative; background:#fff; border-radius:var(--va-r-carte-form); box-shadow:var(--va-ombre-forte); padding:32px 28px 28px; max-width:440px; border-top:5px solid var(--va-majorelle); }
.rappel-depart__fermer{ position:absolute; top:10px; right:12px; width:44px; height:44px; border:0; background:none; font-size:1.75rem; color:var(--va-doux); cursor:pointer; }
.rappel-depart__titre{ font-family:var(--va-f-titre); font-weight:700; font-size:1.375rem; margin:0 0 8px; color:var(--va-encre); }
.rappel-depart__texte{ color:var(--va-doux); margin:0 0 18px; }
.rappel-depart__lien{ display:flex; align-items:center; justify-content:center; min-height:52px; border-radius:var(--va-r-bouton); background:var(--va-safran); color:var(--va-encre); font-family:var(--va-f-titre); font-weight:700; text-decoration:none; }
/* PASSE 4 — Contact : bouton « Envoyer le message » au-dessus du pli à 1440×780 (il était à 1131 px).
   Bandeau plus court, carte du formulaire qui remonte dans le bandeau, nom + e-mail côte à côte. */
.page-vigie__bandeau:has(+ .va-contact){ min-height:240px; margin-bottom:0; }
.va-contact{ margin-top:40px; }
.va-contact__carte{ margin-top:-136px; position:relative; z-index:2; padding:26px 28px; box-shadow:var(--va-ombre-forte); }
.va-contact__titre{ margin:0 0 6px; font-size:1.625rem; }
.va-contact__formulaire{ display:grid; grid-template-columns:1fr 1fr; column-gap:14px; row-gap:4px; }
.va-contact__formulaire > *{ grid-column:1 / -1; }
.va-contact__formulaire label{ margin-top:8px; }
.va-contact__formulaire label[for="va_nom"]{ grid-column:1; grid-row:1; }
.va-contact__formulaire #va_nom{ grid-column:1; grid-row:2; }
.va-contact__formulaire label[for="va_email"]{ grid-column:2; grid-row:1; }
.va-contact__formulaire #va_email{ grid-column:2; grid-row:2; }
.va-contact__formulaire textarea{ min-height:0; height:96px; }
.va-contact__formulaire button{ margin-top:12px; min-height:52px; }
@media (max-width:768px){ .va-contact__carte{ margin-top:0; } .va-contact__formulaire{ grid-template-columns:1fr; } .va-contact__formulaire label[for="va_email"]{ grid-column:1; grid-row:3; } .va-contact__formulaire #va_email{ grid-column:1; grid-row:4; } }

/* PASSE 4 — « À lire aussi » : le lien est DANS le titre (un titre-question sans lien = « FAQ » pour la grille),
   la carte entière reste cliquable (lien étiré). */
.sbt-carte{ position:relative; }
.sbt-carte h3 a.va-lien-etire{ color:inherit; text-decoration:none; }
.sbt-carte h3 a.va-lien-etire::after{ content:""; position:absolute; inset:0; border-radius:inherit; }
.sbt-carte:hover h3 a.va-lien-etire{ color:var(--va-majorelle); }

.va-picto{ width:22px; height:22px; vertical-align:-5px; margin-right:8px; flex:none; }
.va-picto path{ fill:var(--va-safran); }
.sommaire-vigie__titre .va-picto path{ fill:var(--va-majorelle); }
.sbt-encadre--saviez .va-picto path{ fill:var(--va-rose); }
/* Contraste : « Lieu du jour » en rose foncé sur la pastille blanche (3,46:1 → ≥ 4,5:1). */
.va-hero__pastille-jour span strong{ color:#B8264E; }
/* PASSE 4 — mobile : respiration verticale 40 px (DA §4 : 48 px en mobile), plus de bande vide de 140-224 px entre deux sections. */
@media (max-width:620px){
	.va-pays{ padding:36px 0 40px; }
	.va-lieux{ padding:40px 0; }
	.va-preparer{ padding-block:40px; }
	.va-preuve{ padding-block:40px; }
	.va-entete-section{ margin-bottom:20px; }
	.point-avant-depart{ margin-bottom:40px; }
}

/* PASSE 4 — menu réel (wp_nav_menu, 7 entrées) : resserré entre 981 et 1360 px pour ne jamais pousser le bouton. */
@media (min-width:981px) and (max-width:1360px){ .barre-destinations__liste > li > a{ padding-inline:8px; font-size:.875rem; } }
/* Menu réel : jamais de libellé sur 2 lignes ; l'entrée « Alertes » est portée par la pastille rouge « 22 alertes » (même lien). */
.barre-destinations__liste > li > a{ white-space:nowrap; padding:8px 8px; font-size:.875rem; }
.barre-destinations__liste > li > a[href$="/alertes/"]{ display:none; }
.entete-vigie__pastille-alertes{ white-space:nowrap; }
@media (max-width:980px){ .barre-destinations__liste > li > a[href$="/alertes/"]{ display:block; } }

/* ===================================================================
   PASSE 5 — CORPS D'ARTICLE : panneau, rythme vertical constant, blocs
   =================================================================== */
.sbt-article-corps{ background:#fff; border-radius:var(--va-r-carte-form); box-shadow:var(--va-ombre); padding:44px 52px; }
.sbt-article-corps > *{ margin-top:0; margin-bottom:0; }
.sbt-article-corps > * + *{ margin-top:22px; }
.sbt-article-corps > h2{ margin-top:52px; font-size:clamp(1.5rem,1.2rem + .9vw,1.875rem); line-height:1.2; padding-top:24px; border-top:1px solid var(--va-filet); }
.sbt-article-corps > h2:first-child, .sbt-article-corps > .sommaire-vigie + h2{ border-top:0; padding-top:0; }
.sbt-article-corps > h3{ margin-top:32px; font-size:1.25rem; }
.sbt-article-corps > h2 + *, .sbt-article-corps > h3 + *{ margin-top:14px; }
.sbt-article-corps p{ margin-bottom:0; }
.sbt-article-corps > .sommaire-vigie{ margin:0 0 28px; box-shadow:none; border:1px solid var(--va-filet); border-top:4px solid var(--va-majorelle); }
.sbt-article-corps > .sbt-encadre{ margin-top:28px; margin-bottom:0; }
.va-chapeau{ font-size:1.25rem; line-height:1.6; color:var(--va-encre); font-family:var(--va-f-texte); padding-left:20px; border-left:4px solid var(--va-safran); }
/* Points clés : cartes tirées des paragraphes « Intitulé en gras. Texte » */
.va-points-cles{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.va-points-cles--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.va-point-cle{ background:var(--va-chaux); border:1px solid var(--va-filet); border-top:4px solid var(--va-majorelle); border-radius:16px; padding:18px 20px; font-size:.9875rem; line-height:1.6; }
.va-point-cle:nth-child(3n+2){ border-top-color:var(--va-safran); }
.va-point-cle:nth-child(3n+3){ border-top-color:var(--va-rose); }
.va-point-cle p + p{ margin-top:10px; }
.va-point-cle strong:first-child{ display:block; font-family:var(--va-f-titre); font-size:1.0625rem; line-height:1.3; margin-bottom:6px; color:var(--va-encre); }
.va-point-cle > .va-picto{ display:block; width:26px; height:26px; margin:0 0 8px; }
/* Tuiles de sous-parties (h3 courts en série) */
.va-tuiles-section{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.va-tuile-section{ background:#fff; border:1px solid var(--va-filet); border-radius:16px; padding:20px 22px; box-shadow:0 10px 24px -18px rgba(20,27,51,.35); font-size:.9875rem; line-height:1.6; }
.va-tuile-section h3{ margin:0 0 8px; font-size:1.125rem; display:flex; align-items:center; gap:4px; }
.va-tuile-section p + p{ margin-top:10px; }
/* Listes : cartes à étoile (déjà posé) ; listes à intitulé gras → grille de cartes */
.sbt-article-corps ul:has(> li > strong:first-child){ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.sbt-article-corps ul:has(> li > strong:first-child) li{ background:var(--va-chaux); border:1px solid var(--va-filet); padding:16px 18px 16px 40px; }
.sbt-article-corps ul:has(> li > strong:first-child) li strong:first-child{ display:block; font-family:var(--va-f-titre); margin-bottom:4px; }
.sbt-article-corps > ol:not(.sbt-retenir-liste){ list-style:none; counter-reset:va-etape; padding:0; display:grid; gap:12px; }
.sbt-article-corps > ol:not(.sbt-retenir-liste) > li{ counter-increment:va-etape; position:relative; padding:16px 18px 16px 64px; background:var(--va-chaux); border-radius:14px; border:1px solid var(--va-filet); }
.sbt-article-corps > ol:not(.sbt-retenir-liste) > li::before{ content:counter(va-etape); position:absolute; left:16px; top:14px; width:32px; height:32px; border-radius:50%; background:var(--va-majorelle); color:#fff; font-family:var(--va-f-titre); font-weight:700; display:flex; align-items:center; justify-content:center; }
/* Sources, vérification, avertissement */
.sbt-article-corps ul.va-sources{ background:var(--va-chaux); border-radius:16px; padding:18px 22px; display:block; border:1px solid var(--va-filet); }
.sbt-article-corps ul.va-sources li{ background:none; padding:8px 0 8px 26px; border-radius:0; font-size:.9375rem; border-bottom:1px dashed var(--va-filet); }
.sbt-article-corps ul.va-sources li:last-child{ border-bottom:0; }
.sbt-article-corps ul.va-sources li::before{ content:"↗"; left:2px; top:8px; }
.va-verif{ display:flex; gap:12px; align-items:flex-start; background:#E8F4EF; border-left:4px solid var(--va-vert); border-radius:12px; padding:14px 18px; font-size:.9375rem; }
.va-verif::before{ content:""; flex:none; width:22px; height:22px; margin-top:2px; border-radius:50%; background:var(--va-vert) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.va-avertissement, .sbt-article-corps .avertissement{ background:#FFF6E0; border-left:4px solid var(--va-safran); border-radius:12px; padding:14px 18px; font-size:.9375rem; color:var(--va-encre); }
.va-sources-ligne{ font-size:.9375rem; color:var(--va-doux); }
/* Figures du contenu et module sources */
.sbt-article-corps figure.wp-block-image{ margin:28px 0 0; }
.sbt-article-corps figure.wp-block-image img{ margin:0; border-radius:var(--va-r-photo); box-shadow:var(--va-ombre); }
.sbt-article-corps figure figcaption{ font-size:.8125rem; color:var(--va-doux); margin-top:8px; }
.sbt-article-corps .alerte-veille__sources, .sbt-article-corps [class*="sbsrc-"][class$="__tbl"]{ background:var(--va-chaux); border-radius:16px; padding:18px 22px; border:1px solid var(--va-filet); }
.sbt-article-corps .alerte-veille__montant{ font-family:var(--va-f-titre); font-weight:700; font-size:1.75rem; color:var(--va-majorelle); }
.sbt-article-corps .alerte-veille__note{ background:#FFF6E0; border-left:4px solid var(--va-safran); border-radius:12px; padding:14px 18px; }
@media (max-width:760px){
	.sbt-article-corps{ padding:24px 18px; border-radius:18px; }
	.va-points-cles, .va-points-cles--3, .va-tuiles-section{ grid-template-columns:1fr; }
	.va-chapeau{ font-size:1.125rem; }
}

/* PASSE 5 — en-tête : fonction de l'auteur sous son nom (une seule ligne d'auteur, dans l'en-tête). */
.va-article-meta__qui{ display:inline-flex; flex-direction:column; line-height:1.2; }
.va-article-meta__qui small{ color:rgba(245,247,250,.7); font-size:.8125rem; }
/* PASSE 5 — « À lire aussi » pleine largeur */
.va-a-lire{ background:var(--va-bleu-chaux); padding:56px 32px 64px; margin-top:56px; }
.va-a-lire__interieur{ max-width:var(--va-conteneur); margin:0 auto; }
.va-a-lire .va-entete-section__titre{ margin:0 0 24px; }
.va-a-lire__grille{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.va-a-lire__grille--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.va-a-lire__carte{ position:relative; background:#fff; border-radius:var(--va-r-carte); overflow:hidden; box-shadow:var(--va-ombre); display:flex; flex-direction:column; transition:transform .2s ease; }
.va-a-lire__carte:hover{ transform:translateY(-4px); }
.va-a-lire__visuel{ position:relative; aspect-ratio:3/2; background:var(--va-encre); }
.va-a-lire__visuel img{ width:100%; height:100%; object-fit:cover; display:block; margin:0; border-radius:0; }
.va-a-lire__pastille{ position:absolute; left:12px; top:12px; background:var(--va-safran); color:var(--va-encre); font-family:var(--va-f-titre); font-weight:700; font-size:.75rem; padding:5px 10px; border-radius:var(--va-r-pastille); }
.va-a-lire__carte h3{ font-size:1.0625rem; line-height:1.35; margin:16px 18px 6px; }
.va-a-lire__carte h3 a{ color:var(--va-encre); text-decoration:none; }
.va-a-lire__carte h3 a::after{ content:""; position:absolute; inset:0; }
.va-a-lire__carte p{ margin:auto 18px 16px; font-size:.8125rem; color:var(--va-doux); }
@media (max-width:980px){ .va-a-lire__grille, .va-a-lire__grille--3{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .va-a-lire{ padding:40px 16px; } .va-a-lire__grille, .va-a-lire__grille--3{ grid-template-columns:1fr; } }

/* PASSE 5 — fiche lieu : infos pratiques + carte de situation + 2e photo (celle du lieu) */
.va-fiche-lieu{ background:#fff; border-radius:var(--va-r-carte-form); box-shadow:var(--va-ombre); padding:32px 36px; margin-bottom:28px; }
.va-fiche-lieu__titre{ font-size:1.5rem; margin:0 0 18px; display:flex; align-items:center; gap:10px; }
.va-fiche-lieu__titre::before{ content:""; width:28px; height:28px; flex:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%23E8577A'/%3E%3C/svg%3E") center/contain no-repeat; }
.va-fiche-lieu__grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:24px; align-items:stretch; }
.va-fiche-lieu__infos{ margin:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; align-content:start; }
.va-fiche-lieu__infos > div{ background:var(--va-chaux); border:1px solid var(--va-filet); border-radius:14px; padding:12px 14px; }
.va-fiche-lieu__infos dt{ font-family:var(--va-f-titre); font-size:.75rem; font-weight:600; color:var(--va-doux); margin:0 0 4px; }
.va-fiche-lieu__infos dd{ margin:0; font-family:var(--va-f-titre); font-weight:700; font-size:.9375rem; color:var(--va-encre); line-height:1.3; }
.va-fiche-lieu__infos .va-fiche-lieu__lien{ grid-column:1 / -1; background:var(--va-bleu-chaux); }
.va-fiche-lieu__infos .va-fiche-lieu__lien a{ color:var(--va-majorelle); }
.va-fiche-lieu__carte{ margin:0; display:flex; flex-direction:column; }
.va-fiche-lieu__carte iframe{ width:100%; flex:1; min-height:280px; border:0; border-radius:16px; box-shadow:inset 0 0 0 1px var(--va-filet); background:var(--va-bleu-chaux); }
.va-fiche-lieu__carte figcaption, .va-fiche-lieu__photo figcaption{ font-size:.8125rem; color:var(--va-doux); margin-top:8px; }
.va-fiche-lieu__photo{ margin:24px 0 0; }
.va-fiche-lieu__photo img{ width:100%; aspect-ratio:16/8; object-fit:cover; border-radius:var(--va-r-photo); display:block; }
@media (max-width:760px){ .va-fiche-lieu{ padding:22px 18px; } .va-fiche-lieu__grille{ grid-template-columns:1fr; } }

/* PASSE 5 — alertes : cartes avec photo + étiquette juste (Alerte / rubrique du guide) */
.fil-alertes__alerte::before{ content:none !important; }
.fil-alertes__alerte{ display:grid; grid-template-columns:112px minmax(0,1fr); column-gap:20px; align-items:start; }
.fil-alertes__alerte > *:not(.fil-alertes__vignette){ grid-column:2; }
.fil-alertes__vignette{ grid-column:1; grid-row:1 / span 4; display:block; width:112px; height:112px; border-radius:14px; overflow:hidden; background:var(--va-bleu-chaux); }
.fil-alertes__vignette img{ width:100%; height:100%; object-fit:cover; display:block; margin:0; }
.fil-alertes__etiquette{ justify-self:start; display:inline-block; padding:3px 10px; border-radius:var(--va-r-pilule); font-family:var(--va-f-titre); font-weight:700; font-size:.75rem; margin-bottom:6px; }
.fil-alertes__etiquette--alerte{ background:#FBE7E7; color:var(--va-rouge); }
.fil-alertes__etiquette--guide{ background:var(--va-bleu-chaux); color:var(--va-majorelle); }
.fil-alertes__alerte--guide{ border-left-color:var(--va-majorelle); }
@media (max-width:560px){ .fil-alertes__alerte{ grid-template-columns:72px minmax(0,1fr); column-gap:14px; } .fil-alertes__vignette{ width:72px; height:72px; } }
.va-pastille-surtitre{ display:inline-block !important; background:var(--va-safran); color:var(--va-encre) !important; font-style:normal !important; font-family:var(--va-f-titre) !important; font-size:.875rem !important; font-weight:700; padding:5px 12px; border-radius:var(--va-r-pilule); }
.va-rubrique-bandeau__texte .pilier-silo__marqueur, .page-vigie__bandeau-texte .pilier-silo__marqueur{ display:inline-block; background:var(--va-safran); color:var(--va-encre) !important; font-style:normal; font-family:var(--va-f-titre); font-size:.875rem; font-weight:700; padding:5px 12px; border-radius:var(--va-r-pilule); }
/* Rubriques : pastille posée sur la photo, carte de fin de grille */
.va-rubrique-carte{ position:relative; }
.va-rubrique-carte .va-pastille{ position:absolute; top:14px; left:14px; z-index:1; }
.va-rubrique-carte--lead{ background:var(--va-majorelle); color:#fff; text-decoration:none; padding:28px; display:flex; flex-direction:column; justify-content:center; gap:14px; align-items:flex-start; min-height:260px; }
.va-rubrique-carte--lead__surtitre{ font-family:var(--va-f-titre); font-weight:700; color:var(--va-safran-clair); }
.va-rubrique-carte--lead strong{ font-family:var(--va-f-titre); font-size:1.25rem; line-height:1.35; }
/* Fiche auteur */
.va-auteur-entete{ background:var(--va-encre); color:#fff; padding:56px 32px; }
.va-auteur-entete__interieur{ max-width:var(--va-conteneur); margin:0 auto; display:grid; grid-template-columns:128px minmax(0,1fr) auto; gap:32px; align-items:center; }
.va-auteur-entete__avatar{ width:128px; height:128px; border-radius:50%; background:#fff; box-shadow:0 0 0 5px var(--va-safran); }
.va-auteur-entete__role{ color:var(--va-safran-clair); font-family:var(--va-f-titre); font-weight:600; margin:0; }
.va-auteur-entete h1{ color:#fff; margin:4px 0 10px; font-size:clamp(2rem,1.6rem + 1.5vw,3rem); }
.va-auteur-entete__bio{ color:rgba(245,247,250,.88); max-width:62ch; margin:0; font-size:1.0625rem; }
.va-auteur-entete__chiffres{ display:grid; grid-template-columns:repeat(3,auto); gap:12px; margin:0; }
.va-auteur-entete__chiffres > div{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:16px; padding:14px 18px; text-align:center; display:flex; flex-direction:column-reverse; }
.va-auteur-entete__chiffres dd{ margin:0; font-family:var(--va-f-titre); font-weight:700; font-size:2rem; color:#fff; white-space:nowrap; }
.va-auteur-entete__chiffres dt{ font-size:.8125rem; color:rgba(245,247,250,.75); }
.va-auteur-grille{ margin-top:48px; }
@media (max-width:980px){ .va-auteur-entete__interieur{ grid-template-columns:96px 1fr; } .va-auteur-entete__avatar{ width:96px; height:96px; } .va-auteur-entete__chiffres{ grid-column:1 / -1; } }
@media (max-width:560px){ .va-auteur-entete{ padding:40px 16px; } .va-auteur-entete__interieur{ grid-template-columns:1fr; } .va-auteur-entete__chiffres{ grid-template-columns:repeat(3,1fr); } .va-auteur-entete__chiffres dd{ font-size:1.375rem; } }

/* PASSE 5 — petites cartes « Préparer le départ » : pastille de rubrique sur la vignette */
.va-carte-mini__visuel{ position:relative; display:block; }
.va-carte-mini__pastille{ position:absolute; left:6px; bottom:6px; background:var(--va-safran); color:var(--va-encre); font-family:var(--va-f-titre); font-weight:700; font-size:.625rem; line-height:1.2; padding:3px 6px; border-radius:6px; max-width:84px; }
/* PASSE 5 — mobile 390 : rien ne touche le bord droit */
@media (max-width:620px){
	.va-preuve{ grid-template-columns:minmax(0,1fr) !important; padding-inline:16px !important; }
	.va-preuve__chiffres{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.va-chiffre{ padding:16px 14px; min-width:0; }
	.va-chiffre__nombre, .va-chiffre__nombre--date{ font-size:2.25rem; }
	.va-preparer__grille{ grid-template-columns:minmax(0,1fr) !important; gap:12px; }
	.va-carte-mini{ grid-template-columns:96px minmax(0,1fr); }
	.va-carte-mini h4{ overflow-wrap:anywhere; }
	.va-lieux__grille{ display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:78%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; scrollbar-width:none; }
	.va-lieux__grille::-webkit-scrollbar{ display:none; }
	.va-lieux__carte{ scroll-snap-align:start; }
}

/* PASSE 5 — Qui sommes-nous */
.va-qsn{ max-width:var(--va-conteneur); margin:0 auto; padding:0 32px 72px; }
.va-qsn__chiffres{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:-28px 0 48px; position:relative; z-index:2; }
.va-qsn__chiffres > div{ background:#fff; border-radius:var(--va-r-carte); border-top:4px solid var(--va-majorelle); box-shadow:var(--va-ombre); padding:20px 22px; display:flex; flex-direction:column; }
.va-qsn__chiffres dd{ margin:0; font-family:var(--va-f-titre); font-weight:700; font-size:2.75rem; line-height:1.05; color:var(--va-encre); }
.va-qsn__chiffres dt{ color:var(--va-doux); font-size:.9375rem; margin-top:4px; }
.va-qsn__intro{ max-width:860px; font-size:1.25rem; line-height:1.6; margin:0 0 32px; padding-left:20px; border-left:4px solid var(--va-safran); }
.va-qsn__intro p{ margin:0; }
.va-qsn__cartes{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.va-qsn__carte{ background:#fff; border-radius:var(--va-r-carte-form); box-shadow:var(--va-ombre); padding:30px 32px; }
.va-qsn__carte h2{ font-size:1.5rem; margin:0 0 14px; display:flex; gap:10px; align-items:center; }
.va-qsn__carte h2::before{ content:""; width:24px; height:24px; flex:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M28 2 L32.4 17.38 L46.38 9.62 L38.62 23.6 L54 28 L38.62 32.4 L46.38 46.38 L32.4 38.62 L28 54 L23.6 38.62 L9.62 46.38 L17.38 32.4 L2 28 L17.38 23.6 L9.62 9.62 L23.6 17.38 Z' fill='%23F4B223'/%3E%3C/svg%3E") center/contain no-repeat; }
.va-qsn__carte p{ margin:0 0 12px; line-height:1.65; }
.va-qsn__methode{ margin-top:56px; background:var(--va-encre); color:#fff; border-radius:28px; padding:44px 48px; }
.va-qsn__methode .va-entete-section__titre{ color:#fff; margin:0 0 24px; }
.va-qsn__methode .va-entete-section__titre em{ color:var(--va-safran); }
.va-qsn__etapes{ list-style:none; counter-reset:qsn; margin:0 0 24px; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.va-qsn__etapes li{ counter-increment:qsn; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:18px; padding:22px 20px; display:flex; flex-direction:column; gap:8px; }
.va-qsn__etapes li::before{ content:counter(qsn); width:40px; height:40px; border-radius:50%; background:var(--va-safran); color:var(--va-encre); font-family:var(--va-f-titre); font-weight:700; display:flex; align-items:center; justify-content:center; }
.va-qsn__etapes strong{ font-family:var(--va-f-titre); font-size:1.0625rem; line-height:1.3; }
.va-qsn__etapes span{ color:rgba(245,247,250,.8); font-size:.9375rem; }
.va-qsn__auteurs{ margin-top:56px; }
.va-qsn__auteurs-grille{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:20px; }
.va-qsn__auteur{ background:#fff; border-radius:var(--va-r-carte-form); box-shadow:var(--va-ombre); padding:26px; display:grid; grid-template-columns:96px minmax(0,1fr); gap:20px; align-items:start; }
.va-qsn__auteur img{ width:96px; height:96px; border-radius:50%; background:var(--va-bleu-chaux); }
.va-qsn__auteur h3{ margin:0; font-size:1.25rem; }
.va-qsn__auteur h3 a{ color:var(--va-encre); text-decoration:none; }
.va-qsn__auteur p{ margin:6px 0 0; color:var(--va-doux); font-size:.9375rem; line-height:1.6; }
.va-qsn__role{ font-family:var(--va-f-titre); font-weight:600; color:var(--va-majorelle) !important; font-size:.875rem !important; }
@media (max-width:980px){ .va-qsn__chiffres, .va-qsn__etapes{ grid-template-columns:repeat(2,minmax(0,1fr)); } .va-qsn__cartes, .va-qsn__auteurs-grille{ grid-template-columns:1fr; } }
@media (max-width:560px){ .va-qsn{ padding:0 16px 48px; } .va-qsn__methode{ padding:28px 18px; } .va-qsn__etapes{ grid-template-columns:1fr; } .va-qsn__chiffres dd{ font-size:2rem; } .va-qsn__auteur{ grid-template-columns:64px 1fr; } .va-qsn__auteur img{ width:64px; height:64px; } }
/* PASSE 5 — corps aligné sur le titre et la photo (x = bord gauche du conteneur), colonne de lecture 820 px. */
body .sbt-article-mise-en-page{ grid-template-columns:minmax(0,820px) 340px; column-gap:48px; max-width:calc(var(--va-conteneur) + 64px); padding:32px 32px 64px; justify-content:start; }
@media (max-width:1080px){ body .sbt-article-mise-en-page{ grid-template-columns:minmax(0,1fr); padding-inline:16px; } }
.sbt-article-corps .va-tuiles-section{ display:block; columns:2; column-gap:14px; }
.sbt-article-corps .va-tuile-section{ break-inside:avoid; margin:0 0 14px; display:inline-block; width:100%; }
.sbt-article-corps .va-tuile-section h3{ margin:0 0 8px; font-size:1.125rem; }
.sbt-article-corps .va-point-cle p{ margin:0; }
.sbt-article-corps .va-points-cles{ align-items:start; }
.sbt-article-corps p.va-verif{ display:block; position:relative; padding:14px 18px 14px 52px; }
.sbt-article-corps p.va-verif::before{ position:absolute; left:18px; top:15px; margin:0; }
.encart-auteur img, .signature-vigie img{ border-radius:50% !important; object-fit:cover; }
.encart-auteur__nom a{ color:var(--va-encre); text-decoration:none; }
.encart-auteur__nom a:hover{ color:var(--va-majorelle); text-decoration:underline; }
@media (max-width:760px){ .sbt-article-corps .va-tuiles-section{ columns:1; } }
.va-fiche-lieu__photo img{ height:auto; }
@media (max-width:620px){ .va-lieux__grille{ padding-inline:16px !important; scroll-padding-inline:16px; } .va-pays__grille{ scroll-padding-inline:16px; } }

/* PASSE 5 — pastille DANS le cadre de la photo (elle dépassait de son bloc parent, mesuré par la porte de sortie). */
.va-rubrique-carte__visuel{ position:relative; display:block; }
.va-rubrique-carte .va-rubrique-carte__visuel .va-pastille{ position:absolute; top:12px; left:12px; max-width:calc(100% - 24px); }
@media (max-width:980px){ .va-rubrique-grille > .va-rubrique-carte--lead{ grid-column:1 / -1 !important; } }

/* ===================================================================
   PASSE 6 — « À lire aussi » : vignettes de même format, cartes de même hauteur, titre sur 3 lignes réservées
   =================================================================== */
.va-a-lire__visuel{ aspect-ratio:3/2; overflow:hidden; flex:none; }
.va-a-lire__visuel img{ position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; }
.va-a-lire__grille{ align-items:stretch; }
.va-a-lire__carte h3{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:calc(1.35em * 3); }
/* PASSE 6 — fiche lieu : rythme du corps (sections numérotées, fonds alternés, chapeau de section) */
.sbt-article-corps > .va-fiche-section{ margin:28px -52px 0; padding:36px 52px; border-radius:0; }
.sbt-article-corps > .va-fiche-section--chaux{ background:var(--va-bleu-chaux); }
.sbt-article-corps > .va-fiche-section > * + *{ margin-top:18px; }
.va-fiche-section h2{ margin:0; padding:0 0 16px; border-top:0; border-bottom:2px solid var(--va-majorelle); display:flex; align-items:baseline; gap:14px; font-size:clamp(1.5rem,1.2rem + .9vw,1.875rem); }
.va-num{ font-family:var(--va-f-titre); font-weight:700; font-size:.9em; color:var(--va-safran); letter-spacing:.02em; flex:none; }
.va-chapeau-section{ font-size:1.1875rem; line-height:1.6; color:var(--va-encre); font-family:var(--va-f-texte); font-style:italic; }
.sbt-article-corps > .va-fiche-lieu{ margin:28px -52px 0; border-radius:0; box-shadow:none; background:#fff; border-top:1px solid var(--va-filet); border-bottom:1px solid var(--va-filet); padding:36px 52px; }
.sbt-article-corps > .va-fiche-section:last-of-type{ border-radius:0 0 var(--va-r-carte-form) var(--va-r-carte-form); }
/* Carte : fond de secours (couleur + nom du lieu) sous l'iframe */
.va-fiche-lieu__carte{ position:relative; }
.va-fiche-lieu__carte-fond{ position:absolute; inset:0 0 28px 0; border-radius:16px; background:linear-gradient(135deg, var(--va-bleu-chaux), #D5DBF2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center; padding:16px; }
.va-fiche-lieu__carte-fond span{ font-family:var(--va-f-titre); font-weight:700; font-size:1.25rem; color:var(--va-majorelle); }
.va-fiche-lieu__carte-fond small{ color:var(--va-doux); font-size:.875rem; }
.va-fiche-lieu__carte iframe{ position:relative; z-index:1; background:transparent; }
@media (max-width:760px){
	.sbt-article-corps > .va-fiche-section, .sbt-article-corps > .va-fiche-lieu{ margin-inline:-18px; padding:28px 18px; }
}
/* Bandes jointives (pas de liseré blanc entre deux sections de la fiche). */
.sbt-article-corps > .va-fiche-section + .va-fiche-section, .sbt-article-corps > .va-fiche-section + .va-fiche-lieu, .sbt-article-corps > .va-fiche-lieu + .va-fiche-section{ margin-top:0; }

/* PASSE 7 — page Alertes : texte de la page replié sous le fil */
.va-replie{ max-width:860px; margin:0 auto 72px; padding:0 32px; }
.va-replie > summary{ cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border-radius:var(--va-r-carte); box-shadow:var(--va-ombre); padding:18px 22px; font-family:var(--va-f-titre); font-weight:700; color:var(--va-encre); }
.va-replie > summary::-webkit-details-marker{ display:none; }
.va-replie > summary::after{ content:"+"; width:32px; height:32px; border-radius:50%; background:var(--va-bleu-chaux); color:var(--va-majorelle); display:flex; align-items:center; justify-content:center; font-size:1.25rem; flex:none; }
.va-replie[open] > summary::after{ content:"–"; }
.va-replie > .page-vigie__corps{ background:#fff; border-radius:0 0 var(--va-r-carte) var(--va-r-carte); padding:8px 26px 26px; margin-top:-8px; }
@media (max-width:560px){ .va-replie{ padding:0 16px; } }
/* PASSE 7 — mobile : sans la frise chronologique (elle mangeait 48 px), le texte des alertes a toute la largeur. */
@media (max-width:620px){
	.fil-alertes{ padding-inline:16px; }
	.fil-alertes__liste::before, .fil-alertes__item::before{ display:none; }
	.fil-alertes__item{ padding-left:0; }
	.fil-alertes__alerte{ grid-template-columns:64px minmax(0,1fr); column-gap:12px; padding:14px 16px; }
	.fil-alertes__vignette{ width:64px; height:64px; }
	.fil-alertes__titre-alerte{ font-size:1.0625rem !important; }
	.fil-alertes__alerte > .fil-alertes__resume{ grid-column:1 / -1; }
}
@media (max-width:620px){ .fil-alertes__liste{ padding-left:0; margin-left:0; } }
