/* ==========================================================================
   pompe-arrosage.com — app.css — thème pa-bulletin
   Palette « Bougainvillée et genêt » (DA 02/10/2026, zone Essonne 03/10).
   Variables --sb-* consommées par les blocs figés (sb-kit/blocs-valides) ;
   variables --pa-* propres à ce site (bulletin, carte, formulaire).
   ========================================================================== */

/* -------------------- Polices self-hosted (P-086) -------------------- */
@font-face {
	font-family: 'Platypi';
	src: url('../fonts/platypi-var.woff2') format('woff2-variations'), url('../fonts/platypi-var.woff2') format('woff2');
	font-weight: 500 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Platypi';
	src: url('../fonts/platypi-italic-var.woff2') format('woff2-variations'), url('../fonts/platypi-italic-var.woff2') format('woff2');
	font-weight: 400 700;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Anuphan';
	src: url('../fonts/anuphan-var.woff2') format('woff2-variations'), url('../fonts/anuphan-var.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Palette DA */
	--pa-bougainvillee: #9B2A9E;
	--pa-bougainvillee-fonce: #7C1F80;
	--pa-bractee-claire: #F3E4F4;
	--pa-bractee-vive: #E7A6E3;
	--pa-olive: #2F2D18;
	--pa-blanc: #FFFFFF;
	--pa-genet: #FBEDB8;
	--pa-pierre: #6A6650;

	/* VigiEau */
	--pa-vigilance: #E9C53A;
	--pa-alerte: #E8892B;
	--pa-alerte-renforcee: #D8412F;
	--pa-crise: #8E1B2E;

	/* Jetons communs au réseau (consommés par les blocs figés) */
	--sb-accent: var(--pa-bougainvillee);
	--sb-accent-clair: var(--pa-bractee-claire);
	--sb-encre: var(--pa-olive);
	--sb-fond-carte: var(--pa-blanc);
	--sb-filet: rgba(106,102,80,.22);
	--sb-doux: rgba(47,45,24,.08);
	--sb-surf: var(--pa-genet);
	--sb-fonce: var(--pa-genet);
	--sb-sur-fonce: var(--pa-olive);
	--sb-rayon: 18px;
	--sb-rayon-grand: 28px;
	--sb-ombre: 0 2px 6px rgba(47,45,24,.08), 0 20px 40px -18px rgba(47,45,24,.20);
	--sb-ombre-forte: 0 2px 6px rgba(47,45,24,.10), 0 40px 80px -24px rgba(47,45,24,.38);
	--sb-titre: 'Platypi', Georgia, serif;
	--sb-texte: 'Anuphan', Arial, sans-serif;
	--sb-conteneur: 1240px;
	--sb-lecture: 700px;
	--sb-rail: 320px;
	--sb-gouttiere: 32px;

	color-scheme: light;
}

/* -------------------- Reset de base -------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; } }
body { margin: 0; font-family: var(--sb-texte); color: var(--pa-olive); background: var(--pa-blanc); line-height: 1.6; font-size: 18px; -webkit-font-smoothing: antialiased; }
img, svg, video { max-width: 100%; display: block; }
a { color: var(--pa-bougainvillee); text-decoration: none; }
a:hover { color: var(--pa-bougainvillee-fonce); }
h1, h2, h3 { font-family: var(--sb-titre); font-weight: 700; margin: 0 0 .5em; color: var(--pa-olive); }
h1 { font-size: clamp(40px, 6vw, 88px); line-height: 1; letter-spacing: -.01em; }
h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.1; font-weight: 600; }
h3 { font-size: clamp(18px, 2vw, 22px); font-weight: 600; font-family: var(--sb-texte); }
p { margin: 0 0 1em; }
button { font-family: inherit; }
:focus-visible { outline: 3px solid var(--pa-bougainvillee); outline-offset: 2px; }
.pa_sr_only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.pa_skip { position: absolute; left: -9999px; top: 0; background: var(--pa-olive); color: #fff; padding: 10px 16px; z-index: 999; }
.pa_skip:focus { left: 8px; top: 8px; }

.pa_conteneur { max-width: var(--sb-conteneur); margin: 0 auto; padding: 0 24px; }
.pa_conteneur_lecture { max-width: var(--sb-lecture); }

/* -------------------- Boutons & pastilles -------------------- */
.pa_btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; padding: 13px 26px; font-weight: 600; font-size: 16px; border: 2px solid transparent; cursor: pointer; transition: transform .15s, background .2s, color .2s, box-shadow .2s; min-height: 48px; }
.pa_btn--plein { background: var(--pa-bougainvillee); color: #fff; }
.pa_btn--plein:hover { background: var(--pa-bougainvillee-fonce); transform: translateY(-1px); }
.pa_btn--fantome { background: transparent; border-color: var(--pa-pierre); color: var(--pa-olive); }
.pa_btn--fantome:hover { border-color: var(--pa-bougainvillee); color: var(--pa-bougainvillee); }
.pa_btn--petit { padding: 9px 18px; font-size: 14px; min-height: 40px; }
.pa_btn--grand { padding: 17px 32px; font-size: 17px; min-height: 60px; width: 100%; }

.pa_pastille { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.pa_pastille--genet { background: var(--pa-genet); color: var(--pa-bougainvillee-fonce); }
.pa_pastille--blanc { background: #fff; color: var(--pa-bougainvillee-fonce); box-shadow: var(--sb-ombre); }
.pa_pastille--contour { border: 1.5px solid var(--sb-filet); color: var(--pa-olive); text-transform: none; font-weight: 500; letter-spacing: 0; }
.pa_pastille--contour:hover { border-color: var(--pa-bougainvillee); color: var(--pa-bougainvillee); }

.pa_niveau { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.pa_niveau_point, .pa_pastille_point { width: 10px; height: 10px; border-radius: 50%; display: inline-block; background: #fff; border: 2px solid var(--pa-olive); }
.pa_niveau--vigilance .pa_niveau_point, .pa_pastille_point.pa_niveau--vigilance { background: var(--pa-vigilance); border-color: var(--pa-vigilance); }
.pa_niveau--alerte .pa_niveau_point, .pa_pastille_point.pa_niveau--alerte { background: var(--pa-alerte); border-color: var(--pa-alerte); }
.pa_niveau--alerte-renforcee .pa_niveau_point, .pa_pastille_point.pa_niveau--alerte-renforcee { background: var(--pa-alerte-renforcee); border-color: var(--pa-alerte-renforcee); }
.pa_niveau--crise .pa_niveau_point, .pa_pastille_point.pa_niveau--crise { background: var(--pa-crise); border-color: var(--pa-crise); }

.pa_photo_repli { display: block; aspect-ratio: var(--pa-ratio, 3/4); background: var(--pa-genet); border-radius: inherit; }

/* -------------------- En-tête -------------------- */
.pa_header { position: sticky; top: 0; z-index: 50; background: #fff; height: 72px; display: flex; align-items: center; border-bottom: 1px solid transparent; transition: background .2s, box-shadow .2s; }
.pa_header.is-scrolled { background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-bottom-color: var(--sb-filet); }
.pa_header_barre { width: 100%; max-width: var(--sb-conteneur); margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.pa_logo { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; font-family: var(--sb-titre); font-weight: 700; font-size: 20px; color: var(--pa-olive); }
.pa_logo_suffixe { font-family: var(--sb-texte); font-weight: 500; color: var(--pa-pierre); }
.pa_logo--sombre { color: #fff; }
.pa_logo--sombre .pa_logo_suffixe { color: var(--pa-bractee-vive); }
.pa_menu { display: flex; gap: 24px; white-space: nowrap; }
.pa_menu a { font-weight: 500; font-size: 16px; color: var(--pa-olive); position: relative; }
.pa_menu a::after { content: ''; position: absolute; left: 0; bottom: -6px; width: 0; height: 2px; background: var(--pa-bougainvillee); transition: width .2s; }
.pa_menu a:hover::after { width: 100%; }
.pa_header_droite { display: flex; align-items: center; gap: 14px; }
.pa_pastille_bulletin { display: inline-flex; align-items: center; gap: 8px; background: none; border: 1px solid var(--sb-filet); border-radius: 999px; padding: 6px 12px; font-size: 13px; cursor: pointer; }
.pa_menu_bouton { display: none; flex-direction: column; gap: 4px; background: none; border: none; cursor: pointer; padding: 8px; }
.pa_menu_bouton span { width: 22px; height: 2px; background: var(--pa-olive); }
.pa_menu_mobile { position: fixed; inset: 72px 0 0 0; background: #fff; z-index: 49; padding: 24px; overflow-y: auto; }
.pa_menu_mobile nav { display: flex; flex-direction: column; gap: 4px; }
.pa_menu_mobile a { display: flex; align-items: center; gap: 12px; padding: 12px 0; font-size: 18px; border-bottom: 1px solid var(--sb-filet); }
.pa_menu_mobile_photo { width: 48px; height: 48px; border-radius: 12px; overflow: hidden; flex: none; }
.pa_menu_mobile_photo img { width: 100%; height: 100%; object-fit: cover; }
.pa_collant_mobile { display: none; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 48; background: var(--pa-bougainvillee); color: #fff; border: none; border-radius: 999px; padding: 14px; font-weight: 600; font-size: 16px; box-shadow: var(--sb-ombre-forte); }

/* -------------------- Bulletin (signature) -------------------- */
.pa_bulletin { background: #fff; border-radius: var(--sb-rayon-grand); box-shadow: var(--sb-ombre); border: 1px solid var(--sb-filet); padding: 20px; }
.pa_bulletin_entete { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pa-pierre); margin-bottom: 10px; }
.pa_bulletin_chiffres { display: flex; gap: 18px; margin-bottom: 10px; }
.pa_bulletin_chiffre { display: flex; flex-direction: column; }
.pa_bulletin_valeur { font-family: var(--sb-texte); font-weight: 700; font-size: clamp(24px,2.4vw,38px); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pa_bulletin_legende { font-size: 12px; color: var(--pa-pierre); }
.pa_bulletin_usage { font-size: 14px; color: var(--pa-pierre); margin: 8px 0 0; }
.pa_bulletin_verdict { font-family: var(--sb-titre); font-style: italic; font-size: 18px; margin: 12px 0; color: var(--pa-olive); }
.pa_bulletin_source { font-size: 12px; color: var(--pa-pierre); margin: 0; }
.pa_bulletin_source a { color: var(--pa-pierre); text-decoration: underline; }

.pa_bulletin--epingle { padding: 14px 18px; max-width: 340px; }
.pa_bulletin--epingle .pa_bulletin_entete { margin-bottom: 4px; }
.pa_bulletin_resume { margin: 0; font-size: 14px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* -------------------- Hero -------------------- */
.pa_hero { background: #fff; padding: 48px 0 160px; position: relative; overflow: visible; }
.pa_hero_grille { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 0; min-height: 700px; }
.pa_hero_texte { max-width: 600px; padding-top: 12px; z-index: 2; opacity: 0; transform: translateY(12px); animation: pa-apparait .5s ease-out .1s forwards; }
.pa_hero_titre { margin-bottom: 18px; font-size: clamp(40px, 4.1vw, 80px); line-height: .98; }
@media (min-width: 1024px) { .pa_hero_titre { white-space: nowrap; } }
.pa_accent { color: var(--pa-bougainvillee); }
.pa_hero_soustitre { font-size: 20px; color: var(--pa-olive); max-width: 440px; }
.pa_hero_preuves { display: flex; gap: 20px; margin-top: 28px; }
.pa_hero_preuve { display: flex; flex-direction: column; padding-right: 20px; border-right: 1px solid var(--sb-filet); }
.pa_hero_preuve:last-child { border-right: none; }
.pa_hero_preuve_chiffre { font-weight: 700; font-size: clamp(28px,3vw,40px); font-variant-numeric: tabular-nums; }
.pa_hero_preuve_legende { font-size: 13px; color: var(--pa-pierre); }

.pa_hero_panneau { position: relative; grid-column: 2; margin-left: 40px; height: clamp(500px, 60vw, 760px); border-radius: 40px 0 0 40px; overflow: hidden; margin-right: calc(-1 * (100vw - var(--sb-conteneur)) / 2 - 24px); }
.pa_hero_affiche, .pa_hero_video { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.pa_hero_video { opacity: 0; transition: opacity .6s; }
.pa_hero_video.is-visible { opacity: 1; }
.pa_hero_voile { position: absolute; inset: auto 0 0 0; height: 45%; background: linear-gradient(to top, rgba(47,45,24,.55), transparent); }
.pa_bulletin_epingle_pos { position: absolute; right: 24px; bottom: -44px; z-index: 3; opacity: 0; transform: translateY(12px); animation: pa-apparait .5s ease-out .3s forwards; }

.pa_hero_carte_pos { position: absolute; top: 190px; left: 50%; transform: translateX(calc(-50% + 1px)); width: min(460px, 90vw); z-index: 4; opacity: 0; animation: pa-apparait .5s ease-out .2s forwards; }
.pa_carte_formulaire { background: #fff; border-radius: 28px; box-shadow: var(--sb-ombre-forte); padding: 28px; }
@keyframes pa-apparait { to { opacity: 1; transform: none; } }

/* -------------------- Formulaire 4 étapes -------------------- */
.pa_form_piege { position: absolute; left: -9999px; }
.pa_form_barre { margin-bottom: 18px; }
.pa_form_gouttes { display: flex; gap: 8px; margin-bottom: 8px; }
.pa_goutte { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: .4; }
.pa_goutte.is-active, .pa_goutte.is-faite { opacity: 1; }
.pa_goutte.is-faite svg path { fill: var(--pa-bougainvillee); }
.pa_form_barre_texte { font-size: 13px; color: var(--pa-pierre); margin: 0; }
.pa_form_annonce:empty { display: none; }
.pa_form_etape_titre { font-family: var(--sb-titre); font-weight: 700; font-size: 24px; margin-bottom: 16px; }
.pa_form_sous_titre { font-weight: 600; margin-bottom: 10px; }

.pa_form_tuiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.pa_form_tuile input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pa_form_tuile label { display: block; border-radius: 18px; border: 2px solid var(--sb-filet); overflow: hidden; cursor: pointer; transition: border-color .15s, background .15s; position: relative; }
.pa_form_tuile input:checked + label { border-color: var(--pa-bougainvillee); background: var(--pa-bractee-claire); }
.pa_form_tuile input:focus-visible + label { outline: 3px solid var(--pa-bougainvillee); }
.pa_form_tuile_photo { display: block; aspect-ratio: 16/10; overflow: hidden; }
.pa_form_tuile_photo img, .pa_form_tuile_photo .pa_photo_repli { width: 100%; height: 100%; object-fit: cover; }
.pa_form_tuile_libelle { display: block; padding: 10px 12px; font-weight: 600; font-size: 15px; }
.pa_form_lien { display: block; margin: 4px auto 0; background: none; border: none; color: var(--pa-pierre); text-decoration: underline; cursor: pointer; font-size: 14px; }

.pa_form_champ { margin-bottom: 16px; }
.pa_form_champ label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.pa_form_champ input[type=text], .pa_form_champ input[type=email], .pa_form_champ input[type=tel], .pa_form_champ select, .pa_form_champ textarea {
	width: 100%; min-height: 52px; border-radius: 14px; border: 1.5px solid rgba(106,102,80,.35); padding: 0 16px; font-size: 16px; font-family: var(--sb-texte); background: #fff; color: var(--pa-olive);
}
.pa_form_champ textarea { min-height: 90px; padding: 12px 16px; }
.pa_form_champ input:focus, .pa_form_champ select:focus, .pa_form_champ textarea:focus { border-color: var(--pa-bougainvillee); outline: none; }
.pa_form_champ input[type=range] { width: 100%; accent-color: var(--pa-bougainvillee); }
.pa_form_champ--surface output { font-weight: 700; font-variant-numeric: tabular-nums; }
.pa_form_ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.pa_form_pilules { display: flex; gap: 10px; }
.pa_form_pilule input { position: absolute; opacity: 0; }
.pa_form_pilule label { display: block; padding: 12px 18px; border-radius: 999px; border: 2px solid var(--sb-filet); font-weight: 600; cursor: pointer; }
.pa_form_pilule input:checked + label { border-color: var(--pa-bougainvillee); background: var(--pa-bractee-claire); }

.pa_form_pastilles { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }
.pa_form_pastilles button { background: var(--pa-bractee-claire); border: none; border-radius: 999px; padding: 7px 14px; font-size: 14px; cursor: pointer; }
.pa_form_pastilles button:hover { background: var(--pa-bougainvillee); color: #fff; }
.pa_form_bulletin_preview[hidden] { display: none; }
.pa_form_bulletin_preview { margin-bottom: 14px; }

.pa_form_recap { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pa_form_recap span { background: var(--pa-bractee-claire); color: var(--pa-bougainvillee-fonce); border-radius: 999px; padding: 6px 12px; font-size: 13px; font-weight: 600; }

.pa_form_message_detail { margin-bottom: 16px; }
.pa_form_message_detail summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.pa_form_message_detail textarea { width: 100%; margin-top: 8px; border-radius: 14px; border: 1.5px solid rgba(106,102,80,.35); padding: 12px; font-family: var(--sb-texte); }

.pa_form_consentement { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--pa-pierre); margin-bottom: 18px; }
.pa_form_consentement input { margin-top: 3px; }

.pa_form_actions { display: flex; gap: 12px; }
.pa_form_actions .pa_btn--plein { flex: 1; }
.pa_form_reassurance { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--pa-pierre); margin-top: 12px; }

.pa_form_confirmation { text-align: center; padding: 20px 0; }
.pa_form_confirmation[hidden] { display: none; }
.pa_form_rosette { display: inline-flex; width: 64px; height: 64px; margin-bottom: 14px; }
.pa_rosette--forme { opacity: 0; transform: scale(.6) rotate(-90deg); transition: opacity .6s, transform .6s cubic-bezier(.2,.8,.2,1); }
.pa_rosette--forme.is-formee { opacity: 1; transform: scale(1) rotate(0); }
.pa_form_confirmation_titre { font-family: var(--sb-titre); font-weight: 700; font-size: 24px; }
.pa_form_confirmation_etapes { list-style: none; padding: 0; text-align: left; display: flex; flex-direction: column; gap: 10px; margin: 18px 0; }
.pa_form_confirmation_etapes li { display: flex; align-items: center; gap: 10px; font-size: 15px; }

.pa_form--compact .pa_form_tuiles { grid-template-columns: 1fr 1fr; }
.pa_form--compact .pa_form_etape_titre { font-size: 18px; }

/* -------------------- Sections home -------------------- */
.pa_section { padding: 72px 0; }
.pa_section--blanc { background: var(--pa-blanc); }
.pa_section--genet { background: var(--pa-genet); }
.pa_section--olive { background: var(--pa-olive); color: #fff; }
.pa_section--olive h2, .pa_section--olive p { color: #fff; }
.pa_section--olive .pa_bulletin, .pa_section--olive .pa_bulletin p, .pa_section--olive .pa_bulletin span, .pa_section--olive .pa_carte_formulaire, .pa_section--olive .pa_carte_formulaire p { color: var(--pa-olive); }
.pa_section--olive .pa_bulletin_source, .pa_section--olive .pa_bulletin_legende { color: var(--pa-pierre); }
.pa_section_kicker { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pa-bougainvillee-fonce); margin-bottom: 10px; }
.pa_section_kicker--clair { color: var(--pa-bractee-vive); }
.pa_section_titre { margin-bottom: 32px; }
.pa_section_titre--clair { color: #fff; }

.pa_grille { display: grid; gap: 24px; }
.pa_grille--3 { grid-template-columns: repeat(3, 1fr); }
.pa_grille--4 { grid-template-columns: repeat(4, 1fr); }

.pa_carte_source { display: block; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: var(--sb-ombre); position: relative; transition: transform .2s; }
.pa_carte_source:hover { transform: translateY(-3px); }
.pa_carte_source_photo { aspect-ratio: 4/5; overflow: hidden; }
.pa_carte_source_photo img, .pa_carte_source_photo .pa_photo_repli { width: 100%; height: 100%; object-fit: cover; }
.pa_carte_source_pastille { position: absolute; top: 16px; left: 16px; background: #fff; border-radius: 999px; padding: 6px 14px; font-weight: 600; font-size: 14px; box-shadow: var(--sb-ombre); }
.pa_carte_source_repere { display: block; padding: 14px 16px; font-size: 13px; color: var(--pa-pierre); }

.pa_carte_guide { display: block; border-radius: var(--sb-rayon); overflow: hidden; background: #fff; box-shadow: var(--sb-ombre); transition: transform .2s, box-shadow .2s; }
.pa_carte_guide:hover { transform: translateY(-4px); box-shadow: var(--sb-ombre-forte); }
.pa_carte_guide_photo { position: relative; aspect-ratio: 3/2; overflow: hidden; }
.pa_carte_guide_photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.pa_carte_guide:hover .pa_carte_guide_photo img { transform: scale(1.03); }
.pa_carte_guide_pastille { position: absolute; top: 12px; left: 12px; background: #fff; border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 600; color: var(--pa-bougainvillee-fonce); }
.pa_carte_guide_titre { display: block; padding: 16px; font-family: var(--sb-titre); font-weight: 600; font-size: 18px; color: var(--pa-olive); }

.pa_filtres { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.pa_filtre { background: #fff; border: 1.5px solid var(--sb-filet); border-radius: 999px; padding: 8px 16px; font-size: 14px; font-weight: 500; }
.pa_filtre--actif, .pa_filtre:hover { background: var(--pa-bougainvillee); border-color: var(--pa-bougainvillee); color: #fff; }

/* Section bulletin + carte */
.pa_section_bulletin_grille { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }
.pa_carte_wrap { position: relative; background: var(--pa-genet); border-radius: 32px; padding: 24px; }
.pa_carte_svg { width: 100%; height: auto; }
.pa_commune { fill: #fff; stroke: #fff; stroke-width: 1.5; cursor: pointer; transition: fill .2s; }
.pa_commune:hover, .pa_commune:focus-visible { filter: brightness(.95); }
.pa_commune--hors { fill: #fff; stroke: var(--sb-filet); cursor: default; }
.pa_commune--vigilance { fill: var(--pa-vigilance); }
.pa_commune--alerte { fill: var(--pa-alerte); }
.pa_commune--alerte-renforcee { fill: var(--pa-alerte-renforcee); }
.pa_commune--crise { fill: var(--pa-crise); }
.pa_commune--aucune { fill: #E9E4CF; stroke: #fff; }
.pa_commune.est-actuelle { fill: var(--pa-bougainvillee) !important; }
.pa_carte_etiquette { position: absolute; background: #fff; border-radius: 10px; padding: 8px 12px; box-shadow: var(--sb-ombre); font-size: 13px; pointer-events: none; z-index: 5; }
.pa_carte_etiquette[hidden] { display: none; }

.pa_liste_communes { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 16px 0 0; }
.pa_commune_item { display: inline-flex; align-items: center; gap: 6px; background: #fff; border-radius: 999px; padding: 6px 12px; font-size: 13px; border: 1.5px solid var(--sb-filet); }
.pa_commune_item::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--pa-olive); }
.pa_commune_item--vigilance::before { background: var(--pa-vigilance); }
.pa_commune_item--alerte::before { background: var(--pa-alerte); }
.pa_commune_item--alerte-renforcee::before { background: var(--pa-alerte-renforcee); }
.pa_commune_item--crise::before { background: var(--pa-crise); }
.pa_commune_item.est-actuelle, .pa_commune_item.is-survole { border-color: var(--pa-bougainvillee); background: var(--pa-bractee-claire); }

/* Calculateur */
.pa_calculateur_grille { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.pa_calculateur_outil { background: rgba(255,255,255,.06); border-radius: 24px; padding: 24px; margin-top: 20px; }
.pa_calculateur_outil label { display: block; margin-bottom: 10px; font-weight: 600; }
.pa_calculateur_outil input[type=range] { width: 100%; accent-color: var(--pa-bougainvillee); margin-bottom: 20px; }
.pa_calculateur_resultats { display: flex; gap: 32px; margin-bottom: 14px; }
.pa_calculateur_resultats div { display: flex; flex-direction: column; }
.pa_calculateur_chiffre { font-family: var(--sb-texte); font-weight: 700; font-size: 44px; color: #F3C9F4; font-variant-numeric: tabular-nums; }
.pa_calculateur_resultats span:last-child { font-size: 13px; color: var(--pa-bractee-vive); }
.pa_calculateur_source { font-size: 12px; color: rgba(255,255,255,.65); margin: 0; }
.pa_calculateur_photo { border-radius: 28px; overflow: hidden; }
.pa_calculateur_photo img { width: 100%; height: 100%; object-fit: cover; }

.pa_grille--etapes .pa_carte_etape { background: #fff; border-radius: var(--sb-rayon); overflow: hidden; box-shadow: var(--sb-ombre); display: flex; flex-direction: column; }
.pa_carte_etape_num { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; padding: 10px 14px; }
.pa_carte_etape_photo { aspect-ratio: 4/3; overflow: hidden; }
.pa_carte_etape_photo img, .pa_carte_etape_photo .pa_photo_repli { width: 100%; height: 100%; object-fit: cover; }
.pa_carte_etape_titre { padding: 14px; font-size: 15px; font-weight: 600; }
.pa_carte_etape:not(.pa_grille--etapes *) { background: #fff; border-radius: 18px; box-shadow: var(--sb-ombre); padding: 20px; display: flex; flex-direction: column; gap: 10px; }

.pa_faq_grille { display: grid; grid-template-columns: .7fr 1.3fr; gap: 40px; }
.pa_faq--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-content: start; }
.pa_faq_item { background: #fff; border: 1px solid var(--sb-filet); border-radius: var(--sb-rayon); padding: 18px 20px; }
.pa_faq_item summary { cursor: pointer; font-weight: 600; list-style: none; position: relative; padding-right: 24px; }
.pa_faq_item summary::-webkit-details-marker { display: none; }
.pa_faq_item summary::after { content: '+'; position: absolute; right: 0; top: 0; font-size: 20px; color: var(--pa-bougainvillee); }
.pa_faq_item[open] summary::after { content: '–'; }
.pa_faq_item .pa_faq_reponse { margin-top: 10px; font-size: 15px; color: var(--pa-olive); }
.pa_faq_item .pa_faq_reponse a { font-weight: 600; }

.pa_formulaire_bas_grille, .pa_formulaire_grand { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.pa_carte_formulaire--bas { margin: 0; }
.pa_formulaire_bas_photo { position: relative; border-radius: 32px; overflow: hidden; }
.pa_formulaire_bas_photo img { width: 100%; height: 100%; object-fit: cover; }
.pa_reassurances { position: absolute; bottom: 0; left: 0; right: 0; list-style: none; margin: 0; padding: 20px; background: linear-gradient(to top, rgba(47,45,24,.75), transparent); color: #fff; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }

.pa_carte_une { display: grid; grid-template-columns: 1fr 1fr; border-radius: var(--sb-rayon-grand); overflow: hidden; background: #fff; box-shadow: var(--sb-ombre); }
.pa_carte_une_photo { aspect-ratio: 4/3; overflow: hidden; }
.pa_carte_une_photo img { width: 100%; height: 100%; object-fit: cover; }
.pa_carte_une_corps { padding: 32px; display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.pa_carte_une_titre { font-family: var(--sb-titre); font-size: 28px; font-weight: 700; }
.pa_carte_une_extrait { color: var(--pa-pierre); }

.pa_vide { color: var(--pa-pierre); }

/* -------------------- En-têtes rubrique / ville / page -------------------- */
.pa_entete_rubrique { position: relative; }
.pa_entete_rubrique_photo { height: 520px; position: relative; overflow: hidden; }
.pa_entete_rubrique_photo img, .pa_entete_rubrique_photo .pa_photo_repli { width: 100%; height: 100%; object-fit: cover; }
.pa_entete_rubrique_voile { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent, rgba(47,45,24,.3)); }
.pa_entete_rubrique_carte h1 { font-size: clamp(32px, 3.2vw, 54px); line-height: 1.04; }
.pa_entete_rubrique_carte { background: #fff; border-radius: var(--sb-rayon-grand); box-shadow: var(--sb-ombre-forte); padding: 32px; max-width: 580px; margin-top: -120px; position: relative; z-index: 2; }
.pa_entete_rubrique--communes .pa_entete_rubrique_carte { margin-top: 48px; }
.pa_entete_rubrique_picto { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; background: var(--pa-bractee-claire); border-radius: 50%; margin-bottom: 12px; }
.pa_entete_rubrique_compteur { font-size: 14px; color: var(--pa-pierre); }

.pa_entete_article { padding: 48px 0; position: relative; background: linear-gradient(to bottom, var(--pa-genet) 0%, var(--pa-genet) 60%, var(--pa-blanc) 60%); }
.pa_entete_article_grille { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: start; }
.pa_entete_article_texte h1 { margin: 14px 0 12px; font-size: clamp(32px, 3.4vw, 58px); line-height: 1.04; }
.pa_entete_article_chapo { font-size: 20px; color: var(--pa-pierre); }
.pa_entete_article_auteur { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
.pa_entete_article_auteur_photo { border-radius: 50%; border: 3px solid #fff; box-shadow: var(--sb-ombre); width: 56px; height: 56px; object-fit: cover; }
.pa_entete_article_meta { font-size: 13px; color: var(--pa-pierre); }
.pa_entete_article_photo { position: relative; aspect-ratio: 4/5; border-radius: 32px; overflow: visible; box-shadow: var(--sb-ombre-forte); }
.pa_entete_article_photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 32px; display: block; }
.pa_bulletin_epingle_article { position: absolute; left: -48px; bottom: 24px; max-width: 280px; }

.pa_entete_ville { background: var(--pa-genet); padding: 56px 0; }
.pa_entete_ville_grille { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: start; }
.pa_entete_ville_titre { margin: 14px 0 20px; }
.pa_entete_ville_formulaire { position: relative; }
.pa_entete_ville_photo { border-radius: var(--sb-rayon-grand); overflow: hidden; }
.pa_entete_ville_photo img { width: 100%; height: 320px; object-fit: cover; }
.pa_credit_photo { font-size: 11px; color: var(--pa-pierre); margin: 6px 2px 0; }
.pa_carte_formulaire--sur_photo { margin-top: -60px; position: relative; z-index: 2; }

.pa_entete_page { padding: 56px 0 32px; background: var(--pa-genet); }
.pa_entete_page--marque { background: var(--pa-blanc); }
.pa_entete_auteur { display: flex; gap: 24px; align-items: center; }
.pa_entete_auteur img { border-radius: 50%; }

.pa_conteneur_lecture_section .pa_corps { max-width: var(--sb-lecture); }
.pa_fil { font-size: 13px; color: var(--pa-pierre); margin-bottom: 14px; }
.pa_fil a { color: var(--pa-pierre); }

.pa_rubrique_bulletin { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.pa_rubrique_bulletin .pa_bulletin { background: #fff; }

.pa_pastilles_voisines { display: flex; flex-wrap: wrap; gap: 8px; }

.pa_recherche_barre { display: flex; gap: 10px; max-width: 480px; margin-top: 16px; }
.pa_recherche_barre input { flex: 1; min-height: 48px; border-radius: 999px; border: 1.5px solid var(--sb-filet); padding: 0 18px; }
.pa_recherche_barre button { border-radius: 999px; border: none; background: var(--pa-bougainvillee); color: #fff; padding: 0 20px; font-weight: 600; }

/* -------------------- Corps d'article : classes de contenu -------------------- */
.pa_corps { font-size: 18px; }
.pa_corps h2 { margin-top: 2em; }
.pa_corps p { margin-bottom: 1.1em; }
.pa-chapo { font-size: 20px; font-weight: 500; color: var(--pa-olive); border-left: 3px solid var(--pa-bougainvillee); padding-left: 16px; }
.pa-photo { margin: 24px 0; border-radius: var(--sb-rayon); overflow: hidden; }
.pa-photo img { width: 100%; }
.pa-photo figcaption { font-size: 13px; color: var(--pa-pierre); padding: 8px 0; }
.pa-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin: 24px 0; }
.pa-chiffre { background: var(--pa-bractee-claire); border-radius: var(--sb-rayon); padding: 16px 20px; min-width: 140px; }
.pa-chiffre strong { display: block; font-family: var(--sb-texte); font-size: 32px; color: var(--pa-bougainvillee-fonce); font-variant-numeric: tabular-nums; }
.pa-encadre { background: var(--pa-genet); border-left: 4px solid var(--pa-bougainvillee); border-radius: 0 var(--sb-rayon) var(--sb-rayon) 0; padding: 18px 22px; margin: 24px 0; }
.pa-encadre--info { border-left-color: var(--pa-bougainvillee); }
.pa-encadre--attention { border-left-color: var(--pa-alerte-renforcee); }
.pa-encadre--astuce { border-left-color: var(--pa-vigilance); }
.pa-encadre-titre { font-weight: 700; margin-bottom: 6px; }
.pa-etapes { display: flex; flex-direction: column; gap: 14px; margin: 24px 0; }
.pa-etape { display: grid; grid-template-columns: 30px 1fr; column-gap: 14px; align-items: start; background: #fff; border-radius: 18px; box-shadow: var(--sb-ombre); padding: 18px 20px; }
.pa-etape > h3 { grid-column: 2; margin: 2px 0 4px; font-size: 19px; }
.pa-etape > p { grid-column: 2; margin: 0; }
.pa-etape > .pa-etape-num { grid-row: 1 / span 2; }
.pa-etape-num { background: var(--pa-bougainvillee); color: #fff; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-weight: 700; flex: none; }
.pa-comparatif { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.pa-option { background: #fff; border: 1.5px solid var(--sb-filet); border-radius: var(--sb-rayon); padding: 16px; }
.pa-option-quand { font-size: 13px; color: var(--pa-pierre); }
.pa-panne { background: var(--pa-bractee-claire); border-radius: var(--sb-rayon); padding: 16px; margin: 16px 0; }
.pa-panne-symptome { font-weight: 700; }
.pa-cta-inline { text-align: center; margin: 28px 0; }
.pa-bouton { display: inline-block; background: var(--pa-bougainvillee); color: #fff; border-radius: 999px; padding: 12px 24px; font-weight: 600; }
.pa-sources { font-size: 13px; color: var(--pa-pierre); border-top: 1px solid var(--sb-filet); padding-top: 14px; margin-top: 32px; }
.pa-infographie { margin: 28px 0; }
.pa-chaine { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 8px; }
.pa-chaine__etape { flex: 1 0 200px; background: #fff; border: 1.5px solid var(--sb-filet); border-radius: var(--sb-rayon); padding: 16px; position: relative; }
.pa-chaine__etape:not(:last-child)::after { content: '→'; position: absolute; right: -20px; top: 50%; transform: translateY(-50%); color: var(--pa-bougainvillee); font-weight: 700; }
.pa-chaine--duo .pa-chaine__etape { flex: 1 0 45%; }
.pa-chaine--paires { flex-wrap: wrap; }

/* -------------------- Blocs figés (sbt-*) habillés -------------------- */
.sbt-article-mise-en-page { max-width: var(--sb-conteneur); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr var(--sb-rail); gap: var(--sb-gouttiere); align-items: start; }
.sbt-article-mise-en-page--suite { padding-top: 48px; padding-bottom: 48px; }
.sbt-rail { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 20px; }
.sbt-rail-carte { background: #fff; border: 1px solid var(--sb-filet); border-radius: var(--sb-rayon); padding: 18px; box-shadow: var(--sb-ombre); }
.sbt-sommaire { margin: 0; }
.sbt-sommaire-titre { font-weight: 700; cursor: pointer; list-style: none; }
.sbt-sommaire-titre::-webkit-details-marker { display: none; }
.sbt-sommaire ol { list-style: none; padding: 0; margin: 10px 0 0; display: flex; flex-direction: column; gap: 8px; }
.sbt-sommaire-num { color: var(--pa-bougainvillee); font-weight: 700; margin-right: 8px; }
.sbt-sommaire a { color: var(--pa-olive); font-size: 14px; }
.sbt-sommaire a:hover { color: var(--pa-bougainvillee); }
.sbt-sommaire-mobile { display: none; margin-bottom: 20px; }
.sbt-sommaire-mobile .sbt-sommaire { background: var(--pa-genet); border-radius: var(--sb-rayon); padding: 14px 18px; }

.sbt-encadre { border-radius: 0 var(--sb-rayon-grand) var(--sb-rayon-grand) 0; padding: 20px 24px; margin: 28px 0; background: var(--sb-fonce); color: var(--sb-sur-fonce); border-left: 4px solid var(--pa-bougainvillee); }
.sbt-encadre--saviez { border-left-color: var(--pa-vigilance); }
.sbt-encadre-titre { font-weight: 700; margin-bottom: 8px; }
.sbt-retenir-liste { margin: 0; padding-left: 20px; }

.sbt-faq { margin: 28px 0; }
.sbt-faq-liste { display: flex; flex-direction: column; gap: 12px; }
.sbt-faq-liste details { background: #fff; border: 1px solid var(--sb-filet); border-radius: var(--sb-rayon); padding: 16px 20px; }
.sbt-faq-liste summary { cursor: pointer; font-weight: 600; list-style: none; position: relative; padding-right: 24px; }
.sbt-faq-liste summary::-webkit-details-marker { display: none; }
.sbt-faq-liste summary::after { content: '+'; position: absolute; right: 0; color: var(--pa-bougainvillee); font-size: 20px; }
.sbt-faq-liste details[open] summary::after { content: '–'; }
.sbt-faq-reponse { margin-top: 10px; font-size: 15px; }

.sbt-auteur { display: grid; grid-template-columns: 80px 1fr; gap: 18px; background: var(--pa-genet); border-radius: var(--sb-rayon-grand); padding: 22px; margin-top: 36px; }
.sbt-auteur-photo img, .sbt-auteur-photo .avatar { border-radius: 50%; width: 80px; height: 80px; object-fit: cover; }
.sbt-auteur-sur { font-size: 12px; color: var(--pa-pierre); margin: 0; text-transform: uppercase; letter-spacing: .04em; }
.sbt-auteur-nom { font-family: var(--sb-titre); font-weight: 700; font-size: 18px; margin: 2px 0; }
.sbt-auteur-role { font-size: 13px; color: var(--pa-pierre); margin: 0 0 8px; }
.sbt-auteur-bio { font-size: 14px; margin: 0 0 10px; }
.sbt-auteur-chiffres { display: flex; gap: 16px; font-size: 13px; color: var(--pa-pierre); margin-bottom: 10px; }
.sbt-auteur-der { font-size: 13px; margin-bottom: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
.sbt-auteur-der p { margin: 0; width: 100%; font-weight: 600; }
.sbt-auteur-actions { display: flex; gap: 10px; }

/* -------------------- Pied de page -------------------- */
.pa_footer_semaine { background: var(--pa-genet); padding: 28px 0; }
.pa_footer_semaine_inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.pa_footer_semaine_titre { font-weight: 700; margin: 0; }
.pa_footer_semaine_texte { margin: 0; display: flex; align-items: center; gap: 10px; }
.pa_footer { background: var(--pa-olive); color: #fff; padding: 56px 0 0; }
.pa_footer_haut { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.4fr 1fr; gap: 32px; align-items: start; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12); }
.pa_footer_phrase { color: rgba(255,255,255,.7); font-size: 14px; margin-top: 10px; max-width: 260px; }
.pa_footer_titre { font-weight: 700; margin-bottom: 12px; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.pa_footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.pa_footer a { color: rgba(255,255,255,.78); font-size: 14px; }
.pa_footer a:hover { color: var(--pa-bractee-vive); }
.pa_footer_communes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.pa_footer_bas { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 20px 0; font-size: 13px; color: rgba(255,255,255,.55); }

.pa_cookies { position: fixed; left: 16px; bottom: 16px; max-width: 420px; background: #fff; border-radius: var(--sb-rayon); box-shadow: var(--sb-ombre-forte); padding: 16px 18px; z-index: 60; display: none; }
.pa_cookies.is-visible { display: block; }
.pa_cookies p { margin: 0 0 10px; font-size: 14px; }
.pa_cookies_actions { display: flex; gap: 10px; }

.pa_bulletin_popover { position: fixed; top: 80px; right: 16px; z-index: 55; max-width: 360px; }
.pa_bulletin_popover[hidden] { display: none; }

/* -------------------- Page devis (titre + formulaire dans le même écran) -------------------- */
.pa_devis { background: linear-gradient(to bottom, var(--pa-genet) 0%, var(--pa-genet) 70%, var(--pa-blanc) 70%); padding: 40px 0 72px; }
.pa_devis_grille { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.pa_devis_texte h1 { font-size: clamp(32px, 3.4vw, 56px); line-height: 1.04; margin: 12px 0 14px; }
.pa_devis_reassurances { list-style: none; padding: 0; margin: 20px 0 24px; display: grid; gap: 10px; font-weight: 600; }
.pa_devis_reassurances li { display: flex; align-items: center; gap: 10px; }
.pa_devis_photo img { width: 100%; height: auto; border-radius: 28px; box-shadow: var(--sb-ombre); display: block; }
.pa_devis_carte { position: relative; z-index: 2; }
.pa_hero_cta_mobile { display: none; }

/* -------------------- FAQ des contenus (.pa-faq) : bloc centré propre au site (R-1783) -------------------- */
.pa-faq { background: var(--pa-genet); border-radius: 28px; padding: 32px clamp(20px, 4vw, 48px); margin: 40px 0; }
.pa-faq h2 { text-align: center; margin-top: 0; }
.pa-faq details { background: #fff; border-radius: 18px; box-shadow: var(--sb-ombre); margin: 12px 0; }
.pa-faq summary { list-style: none; cursor: pointer; padding: 18px 56px 18px 22px; font-weight: 700; position: relative; }
.pa-faq summary::-webkit-details-marker { display: none; }
.pa-faq summary::after { content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--pa-bractee-claire); color: var(--pa-bougainvillee-fonce); display: grid; place-items: center; font-size: 20px; line-height: 1; }
.pa-faq details[open] summary::after { content: '–'; background: var(--pa-bougainvillee); color: #fff; }
.pa-faq details > p, .pa-faq details > div { padding: 0 22px 20px; margin: 0; }
.pa_carte_formulaire--centree { max-width: 760px; margin: 0 auto; }
@media (max-width: 1500px) { .pa_menu { gap: 18px; } .pa_menu a { font-size: 15px; } .pa_pastille_bulletin { font-size: 12px; } }
@media (max-width: 1280px) and (min-width: 761px) { .pa_pastille_bulletin { display: none; } }

/* -------------------- Qui sommes-nous (R-1796) -------------------- */
.pa_entete_page--marque { background: linear-gradient(to bottom, var(--pa-genet) 0%, var(--pa-genet) 72%, var(--pa-blanc) 72%); padding: 40px 0 56px; }
.pa_entete_apropos_grille { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.pa_entete_apropos_grille h1 { font-size: clamp(34px, 3.6vw, 60px); line-height: 1.03; }
.pa_entete_apropos_photo { position: relative; }
.pa_entete_apropos_photo img { width: 100%; height: auto; border-radius: 36px; box-shadow: var(--sb-ombre-forte); display: block; }
.pa_entete_apropos_photo .pa_carte_bulletin { position: absolute; left: -40px; bottom: -32px; max-width: 300px; }
.pa_equipe { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pa_equipe_carte { display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: center; background: #fff; border-radius: 28px; box-shadow: var(--sb-ombre); padding: 22px; }
.pa_equipe_carte img { width: 120px; height: 150px; object-fit: cover; border-radius: 20px; }
.pa_equipe_carte h3 { margin: 0 0 4px; }
.pa_equipe_carte p { margin: 0 0 8px; font-size: 15px; color: var(--pa-pierre); }
@media (max-width: 900px) { .pa_entete_apropos_grille, .pa_equipe { grid-template-columns: 1fr; } .pa_entete_apropos_photo .pa_carte_bulletin { position: static; max-width: none; margin-top: 16px; } }

/* -------------------- Infographies et en-tête ville : jamais de débordement (P-366) -------------------- */
.pa-infographie, .pa-chaine, .pa_corps, .pa_entete_ville_texte, .sbt-article-mise-en-page > * { min-width: 0; max-width: 100%; }
.pa_entete_ville_texte h1 { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 760px) {
	.pa-chaine { flex-direction: column; overflow: visible; }
	.pa-chaine__etape { flex: 1 1 auto; }
	.pa-chaine__etape:not(:last-child)::after { content: '↓'; right: auto; left: 50%; top: auto; bottom: -22px; transform: translateX(-50%); }
	.pa-comparatif { grid-template-columns: 1fr; }
}

/* -------------------- Apparitions au défilement -------------------- */
[data-pa-reveal] { opacity: 1; }
[data-pa-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { [data-pa-reveal] { opacity: 1; transform: none; } }

/* ==========================================================================
   RESPONSIVE — 1920 / 1440 / 390 (DA §5 et grille-mobile)
   ========================================================================== */
@media (max-width: 1480px) {
	.pa_hero_carte_pos { width: min(420px, 90vw); top: 150px; }
	.pa_footer_haut { grid-template-columns: 1.2fr 1fr 1fr 1fr; }
	.pa_footer_colonne--communes { grid-column: span 2; }
}

@media (max-width: 1080px) {
	.pa_section_bulletin_grille, .pa_calculateur_grille, .pa_faq_grille, .pa_formulaire_bas_grille, .pa_formulaire_grand, .pa_entete_ville_grille, .pa_rubrique_bulletin { grid-template-columns: 1fr; }
	.sbt-article-mise-en-page { grid-template-columns: 1fr; }
	.sbt-rail { position: static; }
	.sbt-sommaire-mobile { display: block; }
	.sbt-rail-carte--sommaire { display: none; }
	.pa_entete_article_grille { grid-template-columns: 1fr; }
	.pa_bulletin_epingle_article { position: static; max-width: none; margin-top: 16px; }
	.pa_footer_haut { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
	body { font-size: 17px; }
	.pa_menu, .pa_header_droite .pa_btn--plein { display: none; }
	.pa_menu_bouton { display: flex; }
	.pa_collant_mobile.is-visible { display: block; }

	.pa_hero { padding: 0 0 96px; }
	.pa_hero_grille { grid-template-columns: 1fr; min-height: auto; }
	.pa_hero_texte { max-width: none; padding-top: 0; }
	.pa_hero_panneau { grid-column: 1; order: -1; margin: 0 -24px 20px; border-radius: 0 0 28px 28px; height: 210px; }
	.pa_hero_titre { font-size: clamp(36px, 10.5vw, 44px); }
	.pa_hero_soustitre { font-size: 17px; }
	.pa_hero_cta_mobile { display: flex; justify-content: center; margin-top: 18px; width: 100%; }
	.pa_hero_preuves { gap: 12px; flex-wrap: nowrap; }
	.pa_hero_preuve { padding-right: 12px; }
	.pa_hero_preuve_chiffre { font-size: 24px; }
	.pa_hero_preuve_legende { font-size: 12px; }
	.pa_logo { font-size: 17px; white-space: nowrap; }
	.pa_pastille_bulletin { display: none; }
	.pa_devis_grille { grid-template-columns: 1fr; gap: 24px; }
	.pa_devis_photo { display: none; }
	.pa_hero_carte_pos { position: relative; top: auto; left: auto; transform: translateY(-40px); width: calc(100% - 32px); margin: 0 auto; }
	.pa_bulletin_epingle_pos { display: none; }
	.pa_hero_preuves { flex-wrap: wrap; }

	.pa_grille--3, .pa_grille--4 { grid-template-columns: 1fr 1fr; }
	.pa_form_tuiles { grid-template-columns: 1fr 1fr; }
	.pa_form_ligne { grid-template-columns: 1fr; }
	.pa_faq--2col { grid-template-columns: 1fr; }
	.pa_carte_une { grid-template-columns: 1fr; }
	.pa_footer_haut { grid-template-columns: 1fr 1fr; }
	.pa_footer_colonne--communes { grid-column: span 2; }
	.pa_entete_rubrique_carte { margin-top: -80px; padding: 24px; }
	.pa_entete_rubrique_photo { height: 300px; }
}

@media (max-width: 480px) {
	.pa_grille--3, .pa_grille--4 { grid-template-columns: 1fr; }
	.pa_footer_haut { grid-template-columns: 1fr; }
	.pa_footer_colonne--communes { grid-column: auto; }
	.pa_form_tuiles { grid-template-columns: 1fr 1fr; }
}

/* ==========================================================================
   HÉROS v2 (03/10) — photo bord à bord, titre blanc posé dessus, bulletin de
   la semaine en verre dépoli, formulaire qui flotte et déborde sur la suite.
   ========================================================================== */
.pa_hero2 { position: relative; color: #fff; background: var(--pa-olive); padding: 36px 0 0; min-height: clamp(640px, calc(100vh - 72px), 860px); }
.pa_hero2_photo { position: absolute; inset: 0; overflow: hidden; }
.pa_hero2_photo img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.pa_hero2_photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(36,34,16,.90) 0%, rgba(36,34,16,.72) 38%, rgba(36,34,16,.30) 68%, rgba(36,34,16,.10) 100%), linear-gradient(0deg, rgba(36,34,16,.55) 0%, transparent 35%); }
.pa_hero2_grille { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 56px; align-items: start; }
.pa_hero2_texte { padding: 40px 0 56px; max-width: 660px; }
.pa_hero2_lieu { display: inline-block; margin: 0 0 22px; padding: 7px 16px; border-radius: 999px; background: rgba(251,237,184,.16); border: 1px solid rgba(251,237,184,.45); color: var(--pa-genet); font-size: 15px; font-weight: 600; }
.pa_hero2_titre { color: #fff; font-size: clamp(44px, 4.6vw, 84px); line-height: 1.0; letter-spacing: -.01em; margin: 0 0 22px; text-wrap: balance; }
.pa_hero2_titre span { color: #F3C9F4; font-style: italic; }
.pa_hero2_soustitre { font-size: 20px; line-height: 1.5; color: rgba(255,255,255,.88); max-width: 520px; margin: 0 0 32px; }

.pa_hero2_bulletin { position: relative; max-width: 620px; padding: 22px 24px 18px; border-radius: 24px; background: rgba(255,255,255,.12); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); border: 1px solid rgba(255,255,255,.28); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.pa_hero2_bulletin_titre { margin: 0 0 14px; font-family: var(--sb-titre); font-size: 20px; font-weight: 700; color: #fff; }
.pa_hero2_bulletin_chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-bottom: 14px; }
.pa_hero2_bulletin_chiffres > div { display: flex; flex-direction: column; gap: 4px; padding: 0 16px; border-left: 1px solid rgba(255,255,255,.22); min-width: 0; }
.pa_hero2_bulletin_chiffres > div:first-child { padding-left: 0; border-left: none; }
.pa_hero2_bulletin_chiffres strong { font-family: var(--sb-texte); font-size: 30px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; white-space: nowrap; color: #fff; }
.pa_hero2_bulletin_chiffres span { font-size: 13px; line-height: 1.35; color: rgba(255,255,255,.78); }
.pa_hero2_bulletin .pa_niveau { color: #fff; font-size: 17px; min-height: 33px; }
.pa_hero2_bulletin .pa_niveau_point { border-color: #fff; }
.pa_hero2_bulletin_verdict { margin: 0 0 10px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.22); font-size: 16px; line-height: 1.45; color: #fff; }
.pa_hero2_bulletin_source { margin: 0; font-size: 13px; color: rgba(255,255,255,.7); }
.pa_hero2_bulletin_source a { color: rgba(255,255,255,.9); text-decoration: underline; text-underline-offset: 2px; }
.pa_hero2_bulletin_source a:first-child { color: #F3C9F4; font-weight: 600; }

.pa_hero2_carte { position: relative; margin-bottom: -88px; z-index: 5; }
.pa_hero2_carte .pa_carte_formulaire { color: var(--pa-olive); box-shadow: 0 2px 6px rgba(0,0,0,.12), 0 50px 90px -30px rgba(0,0,0,.55); }
.pa_hero2 + .pa_section { padding-top: 150px; }

@media (max-width: 1180px) {
	.pa_hero2_grille { grid-template-columns: minmax(0, 1fr) 420px; gap: 36px; }
	.pa_hero2_bulletin_chiffres strong { font-size: 24px; }
}
@media (max-width: 960px) {
	.pa_hero2 { min-height: 0; padding-top: 0; }
	.pa_hero2_grille { grid-template-columns: 1fr; gap: 0; }
	.pa_hero2_texte { padding: 40px 0 32px; max-width: none; }
	.pa_hero2_carte { margin: 0 0 -64px; }
	.pa_hero2 + .pa_section { padding-top: 120px; }
}
@media (max-width: 760px) {
	.pa_hero2_photo { position: relative; height: 230px; margin: 0; }
	.pa_hero2_photo::after { background: linear-gradient(0deg, var(--pa-olive) 0%, rgba(47,45,24,0) 60%); }
	.pa_hero2_texte { padding: 0 0 28px; margin-top: -36px; position: relative; }
	.pa_hero2_lieu { font-size: 13px; margin-bottom: 14px; }
	.pa_hero2_titre { font-size: clamp(36px, 10.4vw, 44px); }
	.pa_hero2_soustitre { font-size: 17px; margin-bottom: 0; }
	.pa_hero2_bulletin { margin-top: 24px; padding: 18px 16px 14px; }
	.pa_hero2_bulletin_chiffres > div { padding: 0 10px; }
	.pa_hero2_bulletin_chiffres strong { font-size: 20px; }
	.pa_hero2_bulletin .pa_niveau { font-size: 14px; }
	.pa_hero2_bulletin_chiffres span { font-size: 12px; }
	.pa_hero2_carte .pa_carte_formulaire { padding: 20px 16px; }
}

/* En-tête : rien ne se chevauche ni ne passe sur 2 lignes (juge 03/10) */
.pa_logo { flex-shrink: 0; }
.pa_header_droite .pa_btn, .pa_pastille_bulletin { white-space: nowrap; flex-shrink: 0; }
@media (min-width: 1500px) { .pa_header_barre, .pa_hero2_grille { max-width: 1440px; } }
.pa_hero2_titre { font-size: clamp(44px, 4.2vw, 78px); }
.pa_hero2_soustitre { max-width: 580px; }

/* Bandeau cookies : une ligne compacte, à droite sur ordinateur, en bas sur mobile */
.pa_cookies { left: auto; right: 16px; max-width: none; padding: 10px 12px 10px 18px; border-radius: 999px; }
.pa_cookies.is-visible { display: flex; align-items: center; gap: 14px; }
.pa_cookies p { margin: 0; font-size: 13px; white-space: nowrap; }
.pa_cookies_actions { gap: 8px; }
@media (max-width: 760px) {
	.pa_cookies { left: 8px; right: 8px; bottom: 8px; border-radius: 16px; padding: 8px 8px 8px 14px; }
	.pa_cookies p { white-space: normal; font-size: 12px; line-height: 1.3; }
	.pa_cookies .pa_btn--petit { padding: 8px 12px; font-size: 13px; }
}
@media (max-width: 760px) {
	.pa_hero2_photo { height: 170px; }
	.pa_hero2_texte { margin-top: -24px; }
	.pa_hero2_lieu { font-size: 12px; padding: 5px 12px; margin-bottom: 12px; }
	.pa_hero2_titre { margin-bottom: 14px; }
	.pa_hero2_soustitre { font-size: 16px; }
	.pa_hero_cta_mobile { margin-top: 16px; }
}

/* Zones photo des cartes : bloc réel, sinon le format est ignoré et le titre sort de la carte (juge 03/10) */
.pa_carte_source_photo, .pa_carte_guide_photo, .pa_carte_etape_photo, .pa_carte_une_photo, .pa_calculateur_photo, .pa_formulaire_bas_photo { display: block; }
.pa_carte_source_photo img, .pa_carte_guide_photo img, .pa_carte_etape_photo img, .pa_carte_une_photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pa_carte_guide { display: flex; flex-direction: column; }
.pa_carte_guide_titre { line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sbt-article-mise-en-page--suite .pa_conteneur { padding-top: 8px; padding-bottom: 64px; }
.pa_section_bulletin_grille { align-items: center; }
.pa_section_bulletin_apercu { display: flex; flex-direction: column; gap: 20px; }
.pa_section_bulletin_apercu .pa_liste_communes { margin: 0; }
.pa_section_bulletin_apercu .pa_btn { align-self: flex-start; }

/* Infographies « parcours » (juge 03/10) : mots séparés, aucune case coupée, numéros seulement pour une vraie suite */
.pa-chaine { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; overflow: visible; padding-bottom: 0; counter-reset: pa-etape; }
.pa-chaine__etape { flex: none; padding: 18px 16px 16px; counter-increment: pa-etape; }
.pa-chaine__etape strong { display: block; font-family: var(--sb-titre); font-size: 18px; line-height: 1.25; color: var(--pa-olive); margin-bottom: 6px; }
.pa-chaine__etape span { display: block; font-size: 15px; line-height: 1.45; color: var(--pa-olive); }
.pa-chaine__etape:not(:last-child)::after { content: none; }
.pa-chaine:not(.pa-chaine--duo):not(.pa-chaine--paires) .pa-chaine__etape::before { content: counter(pa-etape); display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--pa-bougainvillee); color: #fff; font-weight: 700; font-size: 15px; margin-bottom: 10px; }
.pa-chaine--duo, .pa-chaine--paires { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
@media (max-width: 760px) { .pa-chaine { grid-template-columns: 1fr; } .pa-chaine__etape:not(:last-child)::after { content: none; } }

/* ==========================================================================
   EN-TÊTE D'ARTICLE v2 (03/10) — photo plein cadre, titre blanc posé dessus,
   bulletin de la semaine en verre à droite. Même langage que le héros.
   ========================================================================== */
.pa_entete_article2 { position: relative; color: #fff; background: var(--pa-olive); min-height: clamp(520px, 64vh, 660px); display: flex; align-items: flex-end; }
.pa_entete_article2_photo { position: absolute; inset: 0; overflow: hidden; }
.pa_entete_article2_photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa_entete_article2_photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(36,34,16,.94) 0%, rgba(36,34,16,.70) 38%, rgba(36,34,16,.18) 72%, rgba(36,34,16,.05) 100%), linear-gradient(90deg, rgba(36,34,16,.45) 0%, transparent 60%); }
.pa_entete_article2_grille { position: relative; z-index: 2; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: end; padding-top: 96px; padding-bottom: 48px; }
.pa_entete_article2_texte { max-width: 820px; }
.pa_entete_article2 .pa_fil, .pa_entete_article2 .pa_fil a { color: rgba(255,255,255,.8); }
.pa_entete_article2_rubrique { display: inline-block; margin: 12px 0 14px; padding: 6px 14px; border-radius: 999px; background: var(--pa-bougainvillee); color: #fff; font-size: 14px; font-weight: 600; }
.pa_entete_article2_titre { color: #fff; font-size: clamp(34px, 3.6vw, 62px); line-height: 1.04; margin: 0 0 14px; text-wrap: balance; }
.pa_entete_article2_chapo { font-size: 19px; line-height: 1.5; color: rgba(255,255,255,.9); max-width: 680px; margin: 0 0 20px; }
.pa_entete_article2_auteur { display: flex; align-items: center; gap: 12px; }
.pa_entete_article2_auteur a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pa_entete_article2_meta { font-size: 13px; color: rgba(255,255,255,.75); }
.pa_hero2_bulletin--court .pa_hero2_bulletin_chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pa_hero2_bulletin--court .pa_hero2_bulletin_chiffres strong { font-size: 26px; }
.pa_hero2_bulletin--court .pa_hero2_bulletin_titre { font-size: 18px; }
.pa_hero2_bulletin--court .pa_hero2_bulletin_verdict { font-size: 15px; }
.pa_hero2_bulletin--court .pa_hero2_bulletin_source a:first-child { color: rgba(255,255,255,.9); font-weight: 400; }
.pa_entete_article2 + .sbt-article-mise-en-page, .pa_entete_article2 ~ .sbt-article-mise-en-page { padding-top: 48px; }
@media (max-width: 960px) {
	.pa_entete_article2 { display: block; min-height: 0; }
	.pa_entete_article2_photo { position: relative; height: 260px; }
	.pa_entete_article2_photo::after { background: linear-gradient(0deg, var(--pa-olive) 0%, rgba(47,45,24,0) 55%); }
	.pa_entete_article2_grille { grid-template-columns: 1fr; gap: 24px; padding-top: 0; margin-top: -40px; padding-bottom: 32px; }
	.pa_entete_article2_titre { font-size: clamp(30px, 8vw, 40px); }
	.pa_entete_article2_chapo { font-size: 17px; }
}

/* « À lire aussi » : hors de la grille corps + barre latérale, en pleine largeur, 3 cartes */
.sbt-article-mise-en-page.sbt-article-mise-en-page--suite { display: block; max-width: none; padding: 0; }
.sbt-article-mise-en-page--suite .pa_conteneur { padding-top: 24px; padding-bottom: 72px; }

/* Article : la barre latérale ne garde que le formulaire ; le sommaire passe en tête du texte (juge 03/10) */
.sbt-sommaire-mobile { display: block; }
.sbt-rail-carte--sommaire { display: none; }

/* Page ville : texte + colonne de droite collante avec le formulaire (B-PL-04) */
.pa_ville_corps_grille { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 56px; align-items: start; }
.pa_ville_corps_grille .pa_corps { max-width: 760px; }
.pa_ville_rail { position: sticky; top: 92px; }
.pa_ville_rail_carte { padding: 22px; }
.pa_ville_rail_titre { font-family: var(--sb-titre); font-weight: 700; font-size: 20px; margin: 0 0 12px; color: var(--pa-bougainvillee-fonce); }
.pa_cta_ville { background: var(--pa-bractee-claire); border-radius: var(--sb-rayon); padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; text-align: left; }
.pa_cta_ville p { margin: 0; }
.pa_cta_ville .pa-bouton { white-space: nowrap; flex-shrink: 0; }
.pa_credit_photo { margin-top: 24px; }
/* Vignettes de choix plus basses : le formulaire tient entier au-dessus du pli */
.pa_form_tuile_photo { aspect-ratio: 2/1; }
@media (max-width: 1100px) { .pa_ville_corps_grille { grid-template-columns: 1fr; } .pa_ville_rail { display: none; } }
@media (max-width: 760px) { .pa_cta_ville { flex-direction: column; align-items: flex-start; } .pa_cta_ville .pa-bouton { white-space: normal; } }
.pa_entete_ville { padding: 40px 0 48px; }
.pa_entete_ville_photo img { height: 190px; }
.pa_entete_ville .pa_carte_formulaire--sur_photo { margin-top: -56px; }

/* Pied de page : 3 blocs équilibrés, communes sur 3 colonnes (juge 03/10) */
.pa_footer_haut { grid-template-columns: 1.3fr 1fr 2.2fr; gap: 48px; }
.pa_footer_communes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .pa_footer_haut { grid-template-columns: 1fr 1fr; } .pa_footer_colonne--communes { grid-column: span 2; } }
@media (max-width: 480px) { .pa_footer_haut { grid-template-columns: 1fr; } .pa_footer_colonne--communes { grid-column: auto; } .pa_footer_communes { grid-template-columns: 1fr 1fr; } }

/* Page auteur (juge 03/10) : vraie fiche, photo ronde non déformée, repères, articles titrés */
.pa_auteur_entete { background: var(--pa-olive); color: #fff; padding: 64px 0 120px; }
.pa_auteur_grille { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 48px; align-items: center; }
.pa_auteur_photo img { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; display: block; border: 6px solid rgba(255,255,255,.18); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.pa_auteur_role { display: inline-block; margin: 0 0 10px; padding: 5px 14px; border-radius: 999px; background: var(--pa-bougainvillee); font-size: 14px; font-weight: 600; }
.pa_auteur_entete h1 { color: #fff; font-size: clamp(36px, 4vw, 64px); margin: 0 0 14px; }
.pa_auteur_bio { font-size: 19px; line-height: 1.55; color: rgba(255,255,255,.88); max-width: 720px; margin: 0 0 22px; }
.pa_auteur_reperes { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pa_auteur_reperes li { padding: 10px 16px; border-radius: 16px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); font-size: 15px; }
.pa_auteur_reperes strong { font-size: 20px; margin-right: 6px; }
.pa_auteur_articles { margin-top: -72px; position: relative; }
.pa_auteur_articles .pa_grille { gap: 24px; }
@media (max-width: 760px) { .pa_auteur_grille { grid-template-columns: 1fr; gap: 20px; } .pa_auteur_photo img { width: 140px; height: 140px; } .pa_auteur_entete { padding: 40px 0 100px; } }
@media (min-width: 1101px) { .pa_footer_haut { grid-template-columns: 1.3fr 1fr 2.2fr; } .pa_footer_colonne--communes { grid-column: auto; } }
.pa_hero2 + .pa_section { padding-top: 96px; }
.pa_formulaire_bas_grille { align-items: stretch; }
.pa_formulaire_bas_photo { min-height: 420px; }
.pa_formulaire_bas_photo img { position: absolute; inset: 0; }
.pa_reassurances { padding: 64px 24px 22px; background: linear-gradient(to top, rgba(36,34,16,.92) 0%, rgba(36,34,16,.6) 60%, transparent 100%); font-size: 16px; font-weight: 500; gap: 8px; }
@media (max-width: 960px) { .pa_hero2 + .pa_section { padding-top: 110px; } }
.pa_entete_ville_texte h1, .pa_entete_ville_titre { font-size: clamp(34px, 3.5vw, 62px); line-height: 1.04; hyphens: manual; overflow-wrap: normal; text-wrap: balance; }
.pa_corps figure.pa-photo img, .pa_corps .pa-photo img { max-height: 540px; width: 100%; object-fit: cover; border-radius: 20px; }
/* Entre tablette et petit écran d'ordinateur : le bouton de l'en-tête cède la place au menu (débordement mesuré à 900 px) */
@media (max-width: 1100px) and (min-width: 761px) { .pa_header_droite .pa_btn--plein { display: none; } .pa_menu { gap: 14px; } .pa_menu a { font-size: 14px; } }
.pa_cta_ville > div, .pa_cta_ville { flex-wrap: wrap; }
.pa_cta_ville_titre { font-size: 20px; margin: 0 0 4px; width: 100%; }
.pa_cta_ville p { flex: 1 1 320px; }
.pa_section_bulletin_apercu .pa_section_titre { font-size: clamp(24px, 2.2vw, 32px); margin: 0; }

/* Juge visuel passe 2 : sections qui tiennent dans l'écran à 1440×780, bandeau de semaine lisible sur mobile, communes en colonnes égales */
@media (min-width: 761px) {
	.pa_section { padding: 64px 0; }
	#bulletin-communes .pa_carte_svg { max-height: 500px; }
	#calculateur { padding: 56px 0; }
}
.pa_grille--guides .pa_carte_guide_photo { aspect-ratio: 4/3; }
.pa_footer_communes { display: block; columns: 3; column-gap: 16px; list-style: none; margin: 0; padding: 0; }
.pa_footer_communes li { break-inside: avoid; }
@media (max-width: 480px) { .pa_footer_communes { columns: 2; } }
@media (max-width: 760px) {
	.pa_footer_semaine_inner { flex-direction: column; align-items: flex-start; gap: 10px; }
	.pa_footer_semaine_texte { display: block; line-height: 1.6; }
	.pa_footer_semaine_texte .pa_niveau { margin-top: 4px; }
	.pa_footer_semaine .pa_btn { width: 100%; justify-content: center; }
}
/* En-tête de rubrique : la carte occupe toute la largeur (plus de moitié droite vide en 1920) */
@media (min-width: 961px) {
	.pa_entete_rubrique:not(.pa_entete_rubrique--communes) .pa_entete_rubrique_carte { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 56px; align-items: end; padding: 36px 40px; }
	.pa_entete_rubrique:not(.pa_entete_rubrique--communes) .pa_entete_rubrique_picto { grid-column: 1; grid-row: 1; }
	.pa_entete_rubrique:not(.pa_entete_rubrique--communes) .pa_entete_rubrique_carte h1 { grid-column: 1; grid-row: 2; margin: 0; }
	.pa_entete_rubrique:not(.pa_entete_rubrique--communes) .pa_entete_rubrique_compteur { grid-column: 1; grid-row: 3; margin: 10px 0 0; }
	.pa_entete_rubrique:not(.pa_entete_rubrique--communes) .pa_entete_rubrique_desc { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin: 0; font-size: 18px; }
	.pa_entete_rubrique:not(.pa_entete_rubrique--communes) .pa_filtres { grid-column: 2; grid-row: 3; margin: 14px 0 0; }
}

/* ==========================================================================
   HÉROS v3 (03/10, juge passe 2 : trop proche de groupes-electrogenes.net) —
   le bas de la photo ondule comme une surface d'eau ; le bulletin de la semaine
   devient un ruban sombre posé à cheval sur la vague.
   ========================================================================== */
.pa_hero2 { display: flex; flex-direction: column; padding-bottom: 0; }
.pa_hero2_grille { flex: 1 0 auto; width: 100%; }
.pa_hero2_texte { padding-bottom: 32px; }
.pa_hero2_carte { margin-bottom: 0; }
.pa_hero2_vague { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 90px; z-index: 1; display: block; }
.pa_hero2_ruban_pos { position: relative; z-index: 4; width: 100%; margin-top: 28px; margin-bottom: -64px; }
.pa_hero2_ruban { max-width: none; display: grid; grid-template-columns: 200px minmax(0, 1.5fr) minmax(0, 1.25fr); grid-template-rows: auto auto; column-gap: 32px; align-items: center; background: var(--pa-olive); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid rgba(255,255,255,.14); border-left: 6px solid var(--pa-bougainvillee); border-radius: 24px; padding: 20px 28px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.55); }
.pa_hero2_ruban .pa_hero2_bulletin_titre { grid-column: 1; grid-row: 1 / 3; margin: 0; font-size: 22px; line-height: 1.2; }
.pa_hero2_ruban .pa_hero2_bulletin_chiffres { grid-column: 2; grid-row: 1 / 3; margin: 0; }
.pa_hero2_ruban .pa_hero2_bulletin_verdict { grid-column: 3; grid-row: 1; border-top: none; padding-top: 0; margin: 0 0 6px; }
.pa_hero2_ruban .pa_hero2_bulletin_source { grid-column: 3; grid-row: 2; }
.pa_hero2 + .pa_section { padding-top: 128px; }
@media (max-width: 1180px) { .pa_hero2_ruban { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr); } .pa_hero2_ruban .pa_hero2_bulletin_titre { grid-column: 1 / 3; grid-row: auto; margin-bottom: 12px; } .pa_hero2_ruban .pa_hero2_bulletin_chiffres { grid-column: 1; grid-row: auto; } .pa_hero2_ruban .pa_hero2_bulletin_verdict, .pa_hero2_ruban .pa_hero2_bulletin_source { grid-column: 2; grid-row: auto; } }
@media (max-width: 960px) {
	.pa_hero2_vague { height: 40px; }
	.pa_hero2_ruban_pos { margin-top: 24px; margin-bottom: -48px; }
	.pa_hero2_ruban { display: block; padding: 18px 16px 14px; border-left-width: 4px; }
	.pa_hero2_ruban .pa_hero2_bulletin_titre { margin-bottom: 12px; font-size: 19px; }
	.pa_hero2_ruban .pa_hero2_bulletin_chiffres { margin-bottom: 12px; }
	.pa_hero2_ruban .pa_hero2_bulletin_verdict { border-top: 1px solid rgba(255,255,255,.22); padding-top: 12px; margin-bottom: 8px; }
	.pa_hero2_carte { margin: 24px 0 0; }
	.pa_hero2 + .pa_section { padding-top: 96px; }
}
/* Accueil : les deux sections encore trop hautes à 1440×780 */
@media (min-width: 761px) { #bulletin-communes .pa_carte_svg { max-height: 430px; } #calculateur { padding: 44px 0; } }
.pa_hero2 { min-height: 0; }
.pa_hero2_ruban_pos { margin-top: 32px; }
@media (min-width: 961px) {
	.pa_hero2_ruban_pos { margin-top: 24px; }
	.pa_hero2_ruban { padding: 16px 28px; }
	.pa_hero2 + .pa_section { padding-top: 104px; }
	#bulletin-communes .pa_carte_svg { max-height: 380px; }
}
@media (min-width: 961px) { .pa_section_bulletin_apercu .pa_liste_communes { gap: 6px; } .pa_section_bulletin_apercu .pa_commune_item { padding: 4px 10px; font-size: 12.5px; } .pa_section_bulletin_apercu { gap: 16px; } }
.pa_ville_carte_corps { margin: 36px 0; padding: 20px; background: var(--pa-genet); border-radius: var(--sb-rayon-grand); }
.pa_ville_carte_corps .pa_carte_svg { max-height: 420px; display: block; margin: 0 auto; }
.pa_ville_carte_corps figcaption { font-size: 14px; color: var(--pa-pierre); margin-top: 10px; text-align: center; }
.pa_entete_ville_photo img { object-position: 50% 62%; }
