:root {
	--ald-pink: deeppink;
	--ald-pink-dark: #b91587;
	--ald-navy: #071b3d;
	--ald-brand-green: #067a3e;
	--ald-brand-green-dark: #045f32;
	--ald-green: #75b30e;
	--ald-yellow: #f5b82e;
	--ald-orange: #f28c28;
	--ald-red: #d7263d;
	--ald-blue: #2878d7;
	--ald-purple: #760eb3;
	--ald-ink: #172033;
	--ald-muted: #657084;
	--ald-soft: #f6f8fb;
	--ald-surface: #ffffff;
	--ald-border: #e7ebf1;
	--ald-radius: 8px;
	--ald-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	background: #fbfcfb;
	color: var(--ald-ink);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

.ald-skip-link {
	position: absolute;
	top: .75rem;
	left: .75rem;
	z-index: 5000;
	padding: .55rem .8rem;
	border-radius: 6px;
	background: var(--ald-brand-green-dark);
	color: #fff !important;
	font-weight: 850;
	text-decoration: none;
	transform: translateY(-160%);
	transition: transform .15s ease;
}

.ald-skip-link:focus {
	transform: translateY(0);
	outline: 3px solid rgba(255, 255, 255, .9);
	outline-offset: 2px;
}

#contenu:focus {
	outline: 0;
}

img,
svg,
canvas {
	max-width: 100%;
}

.white {
	color: #fff;
}

.text-orange {
	color: var(--ald-orange);
}

.primary {
	color: var(--ald-brand-green);
}

a,
a:visited {
	color: var(--ald-brand-green);
}

a:hover,
a:focus {
	color: var(--ald-brand-green-dark);
	background: none;
	text-decoration-thickness: .08em;
	text-underline-offset: .16em;
}

.bg-dark {
	background-color: var(--ald-brand-green) !important;
}

img.huechange {
	filter: hue-rotate(120deg);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	letter-spacing: 0;
	color: var(--ald-ink);
}

.container {
	max-width: 1180px;
}

.navbar {
	box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
}

.navbar.bg-dark {
	background: linear-gradient(90deg, var(--ald-brand-green), var(--ald-brand-green-dark)) !important;
}

.navbar-brand {
	display: flex;
	align-items: center;
	min-height: 42px;
}

.navbar-brand img {
	max-height: 34px;
	width: auto;
}

.navbar-dark .navbar-nav .nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding-right: .75rem;
	padding-left: .75rem;
	color: rgba(255, 255, 255, .92);
	font-weight: 750;
}

.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
	color: #fff;
}

.dropdown-menu {
	border: 1px solid rgba(231, 235, 241, .95);
	border-radius: var(--ald-radius);
	box-shadow: var(--ald-shadow);
}

.dropdown-item {
	padding: .55rem .9rem;
	color: var(--ald-ink) !important;
	font-weight: 650;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background: rgba(6, 122, 62, .08);
	color: var(--ald-brand-green-dark) !important;
}

.breadcrumb,
.arbo {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	align-items: center;
	margin: 1rem 0;
	padding: .65rem .85rem;
	border: 1px solid var(--ald-border);
	border-radius: var(--ald-radius);
	background: #fff;
	box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
	color: var(--ald-muted);
	font-size: .9rem;
}

.breadcrumb-item.active,
.arbo .on {
	color: var(--ald-ink);
	font-weight: 750;
}

.cartouche {
	margin: 1rem 0 1.25rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--ald-border);
}

.cartouche h1,
.surlignable h1,
main h1:first-child {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.35rem);
	font-weight: 850;
	line-height: 1.05;
}

.texte {
	max-width: 860px;
	color: var(--ald-muted);
	font-size: 1.03rem;
	line-height: 1.65;
}

.btn,
button,
input,
select,
textarea {
	letter-spacing: 0;
}

.btn-primary,
.btn2,
.list-group-item.active,
.list-group-item-action.active {
	border-color: var(--ald-brand-green) !important;
	background-color: var(--ald-brand-green) !important;
	color: #fff !important;
}

.btn-primary:hover,
.btn2:hover,
.list-group-item.active:hover,
.list-group-item-action.active:hover {
	border-color: var(--ald-brand-green-dark) !important;
	background-color: var(--ald-brand-green-dark) !important;
	color: #fff !important;
}

.btn-outline-primary {
	border-color: var(--ald-brand-green);
	color: var(--ald-brand-green);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
	border-color: var(--ald-brand-green);
	background: var(--ald-brand-green);
	color: #fff;
}

.list-group {
	border-radius: var(--ald-radius);
	box-shadow: var(--ald-shadow);
}

.list-group-item {
	border-color: var(--ald-border);
	color: var(--ald-ink);
}

.list-group-item b,
.list-group-item strong {
	color: var(--ald-ink);
}

.card,
[class$="-panel"],
[class*="-panel "] {
	border: 1px solid var(--ald-border);
	border-radius: var(--ald-radius);
	box-shadow: var(--ald-shadow);
}

:root {
	--rubrique-card-width: 18rem;
	--rubrique-card-height: 360px;
}

.rubrique-card-deck.card-deck,
.rubrique-card-row {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	width: 100%;
}

.rubrique-card-deck.card-deck .rubrique-card,
.rubrique-card-row > .col {
	flex: 0 0 var(--rubrique-card-width);
	margin: 0;
	max-width: var(--rubrique-card-width);
	width: var(--rubrique-card-width);
}

.rubrique-card {
	display: flex;
	flex-direction: column;
	height: var(--rubrique-card-height);
	overflow: hidden;
	width: var(--rubrique-card-width);
}

.rubrique-card__media {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: linear-gradient(180deg, #f8fbfa, #eef5f1);
	border-bottom: 1px solid var(--ald-border);
	display: flex;
	justify-content: center;
	padding: 1rem;
}

.rubrique-card__logo.card-img-top {
	display: block;
	height: 100%;
	max-height: 132px;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.rubrique-card .card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.rubrique-card .card-title {
	display: -webkit-box;
	line-height: 1.25;
	margin-bottom: .9rem;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.rubrique-card .btn {
	margin-top: auto;
}

.rubrique-card .card-text:last-child {
	margin-top: .75rem;
}

@media (max-width: 575.98px) {
	.rubrique-card-deck.card-deck,
	.rubrique-card-row {
		justify-content: stretch;
	}

	.rubrique-card-deck.card-deck .rubrique-card,
	.rubrique-card-row > .col,
	.rubrique-card {
		flex-basis: 100%;
		max-width: 100%;
		width: 100%;
	}
}

[class$="-kpis"],
[class*="-kpis "] {
	gap: .9rem;
}

[class$="-kpi"],
[class*="-kpi "] {
	border-radius: var(--ald-radius);
}

[class$="-kpi__label"],
[class*="-kpi__label "],
[class$="-fact"] span,
[class*="-fact "] span {
	letter-spacing: .04em;
}

[class$="-kpi__value"],
[class*="-kpi__value "] {
	letter-spacing: 0;
}

[class$="-hero"] h1,
[class*="-hero "] h1 {
	letter-spacing: 0;
}

#map,
.leaflet-container {
	border-radius: var(--ald-radius);
}

.leaflet-popup-content-wrapper {
	border-radius: var(--ald-radius);
	box-shadow: 0 14px 32px rgba(15, 23, 42, .18);
}

.leaflet-popup-content {
	margin: .85rem 1rem;
	color: var(--ald-ink);
	line-height: 1.45;
}

.leaflet-popup-content strong {
	color: var(--ald-brand-green);
}

.leaflet-popup-content a,
.leaflet-popup-content .btn,
.leaflet-popup-content button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	margin-top: .55rem;
	padding: .42rem .7rem;
	border-radius: 6px;
	background: var(--popup-color, var(--ald-brand-green));
	color: #fff !important;
	font-weight: 800;
	text-decoration: none;
}

.leaflet-popup-content a:hover,
.leaflet-popup-content .btn:hover,
.leaflet-popup-content button:hover {
	filter: brightness(.94);
}

.chartjs-render-monitor,
canvas[id^="cours"],
canvas[id$="evolution"] {
	max-height: 440px;
}

html body #foo,
html body #foo2 {
	display: block;
	width: 100% !important;
	min-height: 260px;
	max-height: min(58vh, 430px);
	padding: .75rem;
}

label {
	display: inline-block;
	padding: .15rem .35rem;
	border-radius: 4px;
	background: var(--ald-green);
	color: #fff;
	font-weight: 750;
}

.choix label {
	background: none;
	color: #000;
}

.formulaire_spip {
	margin: 0;
	padding: 0;
}

.formulaire_recherche .btn,
.secondary .formulaire_recherche .btn {
	border: none;
}

.modal-dialog {
	width: 100%;
	min-width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.modal-content {
	min-width: 100%;
	min-height: 100%;
	border: 0;
	border-radius: 0;
	background: var(--ald-green);
	box-shadow: none;
	color: #fff;
}

.modal-header {
	border: none;
}

.modal-body {
	text-align: center;
	background: none;
}

.modal-body h1 {
	color: #fff;
	font-family: "Fjalla One", "Open Sans", sans-serif;
	font-size: clamp(2.4rem, 8vw, 4rem);
	text-align: center;
}

.modal-content .close {
	opacity: 1;
	font-size: 30px;
	color: #fff;
}

.input-big {
	width: min(520px, 90vw);
	height: 44px;
	border: 0;
	border-radius: 6px;
	font-size: 1.35rem;
	text-align: center;
}

.formulaire_newsletter,
.formulaire_newsletter .boutons {
	border-top: none;
	background: #fff;
}

.page-footer {
	margin-top: 2rem !important;
	background: linear-gradient(135deg, var(--ald-brand-green), var(--ald-brand-green-dark)) !important;
}

.page-footer h5 {
	color: #fff !important;
	font-weight: 850;
	letter-spacing: .02em;
}

.page-footer a {
	color: #fff !important;
	text-decoration: none;
}

.page-footer a:hover {
	text-decoration: underline;
	text-underline-offset: .18em;
}

.entete_bloc {
	font-variant-caps: all-small-caps;
}

body .spip-admin-bloc,
body .spip-admin-float {
	z-index: 2000;
}

@media (max-width: 991.98px) {
	.navbar-dark .navbar-nav .nav-link {
		padding-right: 0;
		padding-left: 0;
	}
}

@media (max-width: 768px) {
	.cartouche {
		padding: .9rem 0;
	}

	.breadcrumb,
	.arbo {
		font-size: .84rem;
	}

	html body #foo,
	html body #foo2 {
		min-height: 240px;
		max-height: 360px;
	}
}

/* Interface commune Aveyron Loves Data v2 */
.ald-nav.navbar {
	position: sticky;
	top: 0;
	z-index: 1040;
	min-height: 72px;
	padding: .65rem 2.6rem;
	background: rgba(255, 255, 255, .96) !important;
	backdrop-filter: blur(12px);
	box-shadow: 0 1px 0 rgba(8, 29, 59, .08);
}

.ald-nav .navbar-brand img {
	max-height: 50px;
}

.ald-nav.navbar-dark .navbar-nav .nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding-right: .75rem;
	padding-left: .75rem;
	color: var(--ald-navy);
	font-weight: 850;
}

.ald-nav.navbar-dark .navbar-nav .active > .nav-link,
.ald-nav.navbar-dark .navbar-nav .nav-link.active,
.ald-nav.navbar-dark .navbar-nav .nav-link:hover,
.ald-nav.navbar-dark .navbar-nav .nav-link:focus {
	color: var(--ald-brand-green);
}

.ald-nav .dropdown-menu {
	border: 1px solid rgba(6, 122, 62, .12);
	border-radius: var(--ald-radius);
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 18px 40px rgba(8, 29, 59, .12);
}

.ald-nav .dropdown-item,
.ald-nav .dropdown-item:visited {
	color: var(--ald-brand-green) !important;
	font-weight: 800;
}

.ald-nav .dropdown-item:hover,
.ald-nav .dropdown-item:focus {
	color: var(--ald-brand-green-dark) !important;
	background: rgba(6, 122, 62, .08);
}

.ald-nav.navbar-dark .navbar-toggler {
	border-color: rgba(8, 29, 59, .18);
}

.ald-nav.navbar-dark .navbar-toggler-icon {
	filter: invert(1);
}

.ald-footer.page-footer {
	background: linear-gradient(135deg, #031a36, #052c55) !important;
	color: #fff;
}

.ald-footer h5 {
	color: #fff !important;
	font-weight: 900;
	letter-spacing: 0;
}

.ald-footer a,
.ald-footer a:visited {
	color: #fff !important;
}

.ald-footer a:hover,
.ald-footer a:focus {
	color: #9be5b6 !important;
	text-decoration: none;
}

.ald-footer img {
	max-height: 70px;
}

.ald-footer__logo {
	display: block;
	width: min(230px, 100%);
	height: auto;
	object-fit: contain;
}

.ald-footer .footer-copyright {
	color: #fff;
	border-top: 1px solid rgba(255, 255, 255, .12);
	margin-top: 1rem;
}

.ald-search-modal .modal-dialog {
	width: auto;
	min-width: 0;
	height: auto;
	margin: 1.75rem auto;
	padding: 0;
}

.ald-search-modal .modal-content {
	overflow: hidden;
	min-width: 0;
	min-height: 0;
	border: 1px solid rgba(6, 122, 62, .16);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(8, 29, 59, .2);
	color: var(--ald-ink);
}

.ald-search-modal .modal-header {
	border-bottom: 0;
	padding: .8rem 1rem 0;
}

.ald-search-modal .close {
	color: var(--ald-brand-green);
	opacity: 1;
	text-shadow: none;
}

.ald-search-modal .modal-body {
	padding: .5rem 1.5rem 1.6rem;
	background: none;
	text-align: left;
}

.ald-search-modal h1,
.ald-search-modal h2 {
	margin: 0 0 1rem;
	color: var(--ald-navy);
	font-family: inherit;
	font-size: 1.8rem;
	font-weight: 900;
	letter-spacing: 0;
	text-align: left;
}

.ald-search-modal .form-search form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 54px;
	gap: .65rem;
	align-items: center;
}

.ald-search-modal .search-query {
	width: 100%;
	min-width: 0;
	min-height: 48px;
	height: auto;
	padding: .65rem .85rem;
	border: 1px solid rgba(6, 122, 62, .18);
	border-radius: var(--ald-radius);
	color: var(--ald-ink);
	outline: none;
	box-shadow: inset 0 1px 0 rgba(8, 29, 59, .03);
	font-size: 1rem;
	text-align: left;
}

.ald-search-modal .search-query:focus {
	border-color: var(--ald-brand-green);
	box-shadow: 0 0 0 3px rgba(6, 122, 62, .12);
}

.ald-search-modal .btn2 {
	width: 54px;
	height: 48px;
	border: 1px solid var(--ald-brand-green) !important;
	border-radius: var(--ald-radius);
	background: none !important;
	color: var(--ald-brand-green) !important;
}

.ald-search-modal .btn2:hover,
.ald-search-modal .btn2:focus {
	background: rgba(6, 122, 62, .08) !important;
}

.ald-search-modal .btn2 .fa {
	color: var(--ald-brand-green) !important;
	font-size: 1.45rem;
}

@media (max-width: 991.98px) {
	.ald-nav.navbar {
		padding: .55rem 1rem;
	}

	.ald-nav.navbar-dark .navbar-nav .nav-link {
		padding-right: 0;
		padding-left: 0;
	}
}

/* DATAtourisme campings */
.dtcamp-shell {
	--dtcamp-green: #067a3e;
	--dtcamp-green-dark: #045b31;
	--dtcamp-mint: #e8f6ee;
	--dtcamp-blue: #09224a;
	--dtcamp-border: rgba(6, 122, 62, .16);
	--dtcamp-shadow: 0 18px 45px rgba(8, 29, 59, .11);
	color: var(--ald-ink, #081d3b);
}

.dtcamp-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin: 1.5rem 0 1rem;
	padding: 1.5rem;
	border: 1px solid var(--dtcamp-border);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(6, 122, 62, .1), rgba(35, 132, 214, .08)), #fff;
	box-shadow: var(--dtcamp-shadow);
}

.dtcamp-hero h1 {
	margin: 0;
	color: var(--dtcamp-blue);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 900;
	line-height: 1.05;
}

.dtcamp-hero__intro {
	max-width: 760px;
	margin: .75rem 0 0;
	color: #42526b;
	font-size: 1.05rem;
	line-height: 1.65;
}

.dtcamp-logo {
	width: min(150px, 24vw);
	height: auto;
	object-fit: contain;
}

.dtcamp-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.25rem 0;
}

.dtcamp-kpi {
	padding: 1rem;
	border: 1px solid var(--dtcamp-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(8, 29, 59, .08);
}

.dtcamp-kpi__label {
	display: block;
	color: #42526b;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.dtcamp-kpi__value {
	display: block;
	margin-top: .3rem;
	color: var(--dtcamp-green);
	font-size: clamp(1.45rem, 2.8vw, 2.15rem);
	font-weight: 900;
	line-height: 1.1;
}

.dtcamp-kpi__date {
	font-size: clamp(1.05rem, 1.8vw, 1.4rem);
}

.dtcamp-kpi__meta {
	margin: .35rem 0 0;
	color: #607089;
	font-size: .9rem;
}

.dtcamp-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(220px, .75fr);
	gap: .75rem;
	margin: 1rem 0;
}

.dtcamp-search,
.dtcamp-select {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--dtcamp-border);
	border-radius: 12px;
	background: #fff;
	color: var(--dtcamp-blue);
	font-weight: 700;
	box-shadow: 0 8px 22px rgba(8, 29, 59, .06);
}

.dtcamp-search {
	padding: 0 1rem;
}

.dtcamp-select {
	padding: 0 .8rem;
}

.dtcamp-search:focus,
.dtcamp-select:focus {
	border-color: var(--dtcamp-green);
	outline: 3px solid rgba(6, 122, 62, .16);
}

.dtcamp-map-wrap {
	overflow: hidden;
	margin: 1rem 0 1.25rem;
	border: 1px solid var(--dtcamp-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--dtcamp-shadow);
}

.dtcamp-map-wrap #map {
	width: 100%;
	height: min(68vh, 620px);
	min-height: 430px;
	border-radius: 18px 18px 0 0;
}

.dtcamp-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1rem;
	align-items: center;
	padding: .8rem 1rem;
	border-top: 1px solid var(--dtcamp-border);
	color: #42526b;
	font-size: .92rem;
	font-weight: 700;
}

.dtcamp-dot {
	display: inline-block;
	width: .85rem;
	height: .85rem;
	margin-right: .35rem;
	border-radius: 999px;
	background: var(--dtcamp-green);
	box-shadow: 0 0 0 4px rgba(6, 122, 62, .13);
	vertical-align: middle;
}

.dtcamp-dot--1 {
	background: #2384d6;
	box-shadow: 0 0 0 4px rgba(35, 132, 214, .14);
}

.dtcamp-dot--2 {
	background: #15a36d;
	box-shadow: 0 0 0 4px rgba(21, 163, 109, .14);
}

.dtcamp-dot--3 {
	background: #067a3e;
	box-shadow: 0 0 0 4px rgba(6, 122, 62, .14);
}

.dtcamp-dot--4 {
	background: #f59e0b;
	box-shadow: 0 0 0 4px rgba(245, 158, 11, .18);
}

.dtcamp-dot--5 {
	background: #c05a88;
	box-shadow: 0 0 0 4px rgba(192, 90, 136, .16);
}

.dtcamp-dot--label {
	background: #7c3aed;
	box-shadow: 0 0 0 4px rgba(124, 58, 237, .15);
}

.dtcamp-dot--none {
	background: #64748b;
	box-shadow: 0 0 0 4px rgba(100, 116, 139, .15);
}

.dtcamp-list-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin: 1.35rem 0 .85rem;
}

.dtcamp-list-head h2 {
	margin: 0;
	color: var(--dtcamp-blue);
	font-size: 1.45rem;
	font-weight: 900;
}

.dtcamp-list-head p {
	margin: .2rem 0 0;
	color: #607089;
}

.dtcamp-list-head__note {
	max-width: 340px;
	text-align: right;
	font-size: .9rem;
}

.dtcamp-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 2rem;
}

.dtcamp-card {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	overflow: hidden;
	min-height: 230px;
	border: 1px solid var(--dtcamp-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(8, 29, 59, .08);
	scroll-margin-top: 100px;
}

.dtcamp-card__image {
	width: 100%;
	height: 100%;
	min-height: 230px;
	object-fit: cover;
	background: var(--dtcamp-mint);
}

.dtcamp-card__image--empty {
	position: relative;
}

.dtcamp-card__image--empty::after {
	position: absolute;
	inset: 50% auto auto 50%;
	width: 56px;
	height: 56px;
	border: 4px solid rgba(6, 122, 62, .25);
	border-radius: 18px;
	background: rgba(6, 122, 62, .08);
	content: "";
	transform: translate(-50%, -50%) rotate(8deg);
}

.dtcamp-card__body {
	display: flex;
	flex-direction: column;
	gap: .55rem;
	padding: 1rem;
}

.dtcamp-card__eyebrow {
	color: var(--dtcamp-green);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.dtcamp-card h2 {
	margin: 0;
	color: var(--dtcamp-blue);
	font-size: 1.18rem;
	font-weight: 900;
	line-height: 1.25;
}

.dtcamp-card p {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: #42526b;
	font-size: .95rem;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.dtcamp-card__meta {
	display: grid;
	gap: .3rem;
	margin-top: auto;
	color: #607089;
	font-size: .86rem;
	font-weight: 700;
}

.dtcamp-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-top: .35rem;
}

.dtcamp-chip,
.dtcamp-chip:visited {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: .25rem .55rem;
	border: 1px solid rgba(6, 122, 62, .16);
	border-radius: 999px;
	background: var(--dtcamp-mint);
	color: var(--dtcamp-green-dark);
	font-size: .78rem;
	font-weight: 800;
	text-decoration: none;
}

.dtcamp-chip:hover,
.dtcamp-chip:focus {
	color: var(--dtcamp-green-dark);
	text-decoration: none;
}

.dtcamp-chip--primary,
.dtcamp-chip--primary:visited {
	border-color: var(--dtcamp-green);
	background: var(--dtcamp-green);
	color: #fff !important;
}

.dtcamp-chip--primary:hover,
.dtcamp-chip--primary:focus {
	background: var(--dtcamp-green-dark);
	color: #fff !important;
}

.dtcamp-state,
.dtcamp-more {
	grid-column: 1 / -1;
	padding: 1rem;
	border: 1px dashed var(--dtcamp-border);
	border-radius: 14px;
	background: #fff;
	color: #607089;
	font-weight: 700;
}

.dtcamp-popup {
	--popup-color: var(--dtcamp-green);
	overflow: hidden;
	max-width: 260px;
	border-radius: 12px;
	background: #fff;
}

.dtcamp-popup__head {
	padding: .65rem .75rem;
	background: var(--dtcamp-green);
	color: #fff;
}

.dtcamp-popup__head h3 {
	margin: 0;
	color: #fff;
	font-size: .95rem;
	font-weight: 900;
	line-height: 1.2;
}

.dtcamp-popup__head span {
	display: block;
	margin-top: .15rem;
	color: rgba(255, 255, 255, .88);
	font-size: .78rem;
	font-weight: 800;
}

.dtcamp-popup__body {
	padding: .65rem .75rem .35rem;
}

.dtcamp-popup__body p {
	margin: 0 0 .35rem;
	color: #42526b;
	font-size: .84rem;
	line-height: 1.35;
}

.dtcamp-popup__line {
	color: #607089 !important;
}

.dtcamp-btn,
.dtcamp-btn:visited {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 .75rem .7rem;
	padding: .48rem .7rem;
	border-radius: 999px;
	background: var(--dtcamp-green);
	color: #fff !important;
	font-size: .88rem;
	font-weight: 900;
	text-decoration: none;
}

.dtcamp-btn:hover,
.dtcamp-btn:focus {
	background: var(--dtcamp-green-dark);
	color: #fff !important;
	text-decoration: none;
}

.dtcamp-detail {
	--dtcamp-green: #067a3e;
	--dtcamp-green-dark: #045b31;
	--dtcamp-mint: #e8f6ee;
	--dtcamp-blue: #09224a;
	--dtcamp-border: rgba(6, 122, 62, .16);
	--dtcamp-shadow: 0 18px 45px rgba(8, 29, 59, .11);
	color: var(--ald-ink, #081d3b);
}

.dtcamp-detail-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
	gap: 1.25rem;
	align-items: stretch;
	margin: 1.5rem 0 1rem;
}

.dtcamp-detail-hero__content,
.dtcamp-detail-hero__media,
.dtcamp-detail-card,
.dtcamp-detail-map-wrap {
	border: 1px solid var(--dtcamp-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--dtcamp-shadow);
}

.dtcamp-detail-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.25rem, 3vw, 2rem);
	background: linear-gradient(135deg, rgba(6, 122, 62, .1), rgba(35, 132, 214, .08)), #fff;
}

.dtcamp-detail__eyebrow {
	margin: 0 0 .5rem;
	color: var(--dtcamp-green);
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.dtcamp-detail-hero h1 {
	margin: 0;
	color: var(--dtcamp-blue);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 900;
	line-height: 1.05;
}

.dtcamp-detail-hero p {
	max-width: 780px;
	margin: .85rem 0 0;
	color: #42526b;
	font-size: 1.02rem;
	line-height: 1.65;
}

.dtcamp-back,
.dtcamp-back:visited {
	align-self: flex-start;
	margin-top: 1.2rem;
	padding: .7rem 1rem;
	border-radius: 999px;
	background: var(--dtcamp-green);
	color: #fff !important;
	font-weight: 900;
	text-decoration: none;
}

.dtcamp-back:hover,
.dtcamp-back:focus {
	background: var(--dtcamp-green-dark);
	color: #fff !important;
	text-decoration: none;
}

.dtcamp-detail-hero__media {
	overflow: hidden;
	margin: 0;
}

.dtcamp-detail-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.dtcamp-detail-hero__media figcaption {
	padding: .75rem 1rem;
	color: #42526b;
	font-size: .9rem;
	font-weight: 800;
}

.dtcamp-detail-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.25rem 0;
}

.dtcamp-detail-kpi {
	padding: 1rem;
	border: 1px solid var(--dtcamp-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(8, 29, 59, .08);
}

.dtcamp-detail-kpi span {
	display: block;
	color: #607089;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.dtcamp-detail-kpi strong {
	display: block;
	margin-top: .35rem;
	color: var(--dtcamp-green);
	font-size: clamp(1rem, 1.7vw, 1.35rem);
	font-weight: 900;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.dtcamp-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1rem 0;
}

.dtcamp-detail-card {
	padding: 1.15rem;
}

.dtcamp-detail-card h2 {
	margin: 0 0 .8rem;
	color: var(--dtcamp-blue);
	font-size: 1.2rem;
	font-weight: 900;
}

.dtcamp-detail-card p {
	margin: 0;
	color: #42526b;
	line-height: 1.65;
}

.dtcamp-detail-card__muted {
	margin-top: .85rem !important;
	color: #607089 !important;
	font-size: .92rem;
	font-weight: 700;
}

.dtcamp-detail-list {
	display: grid;
	gap: .65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dtcamp-detail-list li {
	display: grid;
	gap: .2rem;
	padding-bottom: .65rem;
	border-bottom: 1px solid rgba(8, 29, 59, .08);
}

.dtcamp-detail-list li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.dtcamp-detail-list span {
	color: #607089;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.dtcamp-detail-list strong {
	color: var(--dtcamp-blue);
	font-weight: 850;
	overflow-wrap: anywhere;
}

.dtcamp-detail-map-wrap {
	overflow: hidden;
	margin: 1rem 0 2rem;
}

.dtcamp-detail-map-wrap #map {
	width: 100%;
	height: min(56vh, 500px);
	min-height: 360px;
}

@media (max-width: 1199.98px) {
	.dtcamp-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 991.98px) {
	.dtcamp-kpis,
	.dtcamp-detail-kpis,
	.dtcamp-toolbar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dtcamp-detail-hero,
	.dtcamp-detail-grid {
		grid-template-columns: 1fr;
	}

	.dtcamp-search {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767.98px) {
	.dtcamp-hero,
	.dtcamp-list-head {
		display: block;
	}

	.dtcamp-logo {
		margin-top: 1rem;
	}

	.dtcamp-kpis,
	.dtcamp-detail-kpis,
	.dtcamp-toolbar {
		grid-template-columns: 1fr;
	}

	.dtcamp-map-wrap #map {
		height: 480px;
		min-height: 360px;
	}

	.dtcamp-list-head__note {
		max-width: none;
		text-align: left;
	}

	.dtcamp-card {
		grid-template-columns: 1fr;
	}

	.dtcamp-card__image {
		height: 190px;
		min-height: 190px;
	}
}

.ceq-shell,
.ceq-detail {
	--ceq-patrimoine: #067a3e;
	--ceq-spectacle: #db2777;
	--ceq-education: #2384d6;
	--ceq-museum: #067a3e;
	--ceq-archeology: #b45309;
	--ceq-stage: #db2777;
	--ceq-book: #2384d6;
	--ceq-training: #7c3aed;
	--ceq-other: #64748b;
	--ceq-ink: var(--ald-navy, #081d3b);
	--ceq-muted: var(--ald-muted, #657084);
	--ceq-border: var(--ald-border, #e7ebf1);
	color: var(--ceq-ink);
}

.ceq-hero,
.ceq-detail__hero {
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
	justify-content: space-between;
	margin: 1rem 0 1.5rem;
}

.ceq-hero h1,
.ceq-detail__hero h1 {
	margin: 0;
	color: var(--ceq-ink);
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 950;
	line-height: 1.05;
}

.ceq-hero__intro,
.ceq-detail__intro {
	max-width: 760px;
	margin: .85rem 0 0;
	color: var(--ceq-muted);
	font-size: 1.05rem;
	line-height: 1.55;
}

.ceq-logo {
	max-width: 140px;
	max-height: 120px;
	object-fit: contain;
}

.ceq-kpis,
.ceq-detail-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.5rem 0;
}

.ceq-kpi,
.ceq-detail-kpi {
	padding: 1rem;
	border: 1px solid var(--ceq-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(8, 29, 59, .08);
}

.ceq-kpi__label,
.ceq-detail-kpi span,
.ceq-card__type,
.ceq-detail__eyebrow {
	display: block;
	margin: 0 0 .35rem;
	color: var(--ceq-muted);
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.ceq-kpi__value,
.ceq-detail-kpi strong {
	display: block;
	color: var(--ceq-card-color, var(--ceq-patrimoine));
	font-size: 1.55rem;
	font-weight: 950;
	line-height: 1.1;
}

.ceq-kpi__meta {
	margin: .35rem 0 0;
	color: var(--ceq-muted);
	font-size: .9rem;
}

.ceq-toolbar {
	display: grid;
	grid-template-columns: 1fr minmax(180px, 260px) minmax(180px, 260px);
	gap: .8rem;
	margin: 1rem 0;
}

.ceq-search,
.ceq-select {
	width: 100%;
	min-height: 46px;
	padding: .75rem .9rem;
	border: 1px solid var(--ceq-border);
	border-radius: 8px;
	background: #fff;
	color: var(--ceq-ink);
	font-weight: 750;
}

.ceq-map-wrap,
.ceq-detail-card {
	overflow: hidden;
	margin: 1rem 0;
	border: 1px solid var(--ceq-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 46px rgba(8, 29, 59, .09);
}

.ceq-map-wrap #map {
	width: 100%;
	height: min(68vh, 620px);
	min-height: 430px;
}

.ceq-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem 1.2rem;
	padding: .85rem 1rem;
	border-top: 1px solid var(--ceq-border);
	color: var(--ceq-muted);
	font-size: .92rem;
	font-weight: 800;
}

.ceq-dot {
	display: inline-block;
	width: .8rem;
	height: .8rem;
	margin-right: .38rem;
	border-radius: 999px;
	vertical-align: -1px;
}

.ceq-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.35rem 0 2rem;
}

.ceq-card {
	display: flex;
	min-height: 245px;
	flex-direction: column;
	padding: 1rem;
	border: 1px solid var(--ceq-border);
	border-top: 4px solid var(--ceq-card-color, var(--ceq-patrimoine));
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(8, 29, 59, .08);
}

.ceq-card h2 {
	margin: 0 0 .55rem;
	color: var(--ceq-ink);
	font-size: 1.12rem;
	font-weight: 950;
	line-height: 1.2;
}

.ceq-card p {
	margin: 0;
	color: var(--ceq-muted);
	line-height: 1.45;
}

.ceq-card__meta {
	display: flex;
	gap: .5rem;
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: 1rem;
	color: var(--ceq-muted);
	font-size: .92rem;
	font-weight: 800;
}

.ceq-btn,
.ceq-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin-top: 1rem;
	padding: .62rem .9rem;
	border: 1px solid var(--ceq-card-color, var(--ceq-patrimoine));
	border-radius: 8px;
	background: var(--ceq-card-color, var(--ceq-patrimoine));
	color: #fff !important;
	font-weight: 900;
	text-decoration: none !important;
}

.ceq-back {
	--ceq-card-color: var(--ceq-patrimoine);
	flex: 0 0 auto;
	margin-top: .2rem;
}

.ceq-popup {
	min-width: 230px;
	margin: -.6rem;
	overflow: hidden;
	border-radius: 8px;
}

.ceq-popup__head {
	padding: .85rem .95rem;
	color: #fff;
}

.ceq-popup__head h3 {
	margin: 0 0 .25rem;
	color: #fff;
	font-size: 1rem;
	font-weight: 950;
}

.ceq-popup__head span,
.ceq-popup__body p {
	margin: 0;
	font-size: .9rem;
}

.ceq-popup__body {
	padding: .85rem .95rem;
	color: var(--ceq-muted);
}

.ceq-popup .ceq-btn {
	margin: 0 .95rem .95rem;
}

.ceq-state {
	grid-column: 1 / -1;
	padding: 1rem;
	border: 1px dashed var(--ceq-border);
	border-radius: 8px;
	color: var(--ceq-muted);
	font-weight: 800;
}

.ceq-detail__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem;
	margin: 1rem 0;
}

.ceq-detail-card {
	padding: 1rem;
}

.ceq-detail-card h2 {
	margin: 0 0 1rem;
	font-size: 1.2rem;
	font-weight: 950;
}

.ceq-detail-map {
	min-height: 360px;
	border-radius: 8px;
}

.ceq-detail-list {
	display: grid;
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ceq-detail-list li {
	display: grid;
	grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr);
	gap: .75rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--ceq-border);
}

.ceq-detail-list span {
	color: var(--ceq-muted);
	font-weight: 850;
}

.ceq-detail-list strong {
	color: var(--ceq-ink);
	font-weight: 900;
}

.ceq-detail-all {
	margin-top: 1rem;
}

.ceq-detail-all__head {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.ceq-detail-all__head h2 {
	margin-bottom: .25rem;
}

.ceq-detail-all__head p {
	max-width: 560px;
	margin: 0;
	color: var(--ceq-muted);
	font-weight: 700;
	line-height: 1.45;
}

.ceq-detail-all__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.ceq-data-group {
	padding: 1rem;
	border: 1px solid var(--ceq-border);
	border-radius: 8px;
	background: rgba(248, 250, 252, .72);
}

.ceq-data-group h3 {
	margin: 0 0 .85rem;
	color: var(--ceq-ink);
	font-size: 1rem;
	font-weight: 950;
}

.ceq-data-group ul {
	display: grid;
	gap: .65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ceq-data-group li {
	display: grid;
	grid-template-columns: minmax(145px, .42fr) minmax(0, 1fr);
	gap: .75rem;
	padding-bottom: .65rem;
	border-bottom: 1px solid rgba(8, 29, 59, .08);
}

.ceq-data-group li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.ceq-data-group span {
	color: var(--ceq-muted);
	font-size: .9rem;
	font-weight: 850;
}

.ceq-data-group strong {
	overflow-wrap: anywhere;
	color: var(--ceq-ink);
	font-size: .94rem;
	font-weight: 900;
	line-height: 1.35;
}

@media (max-width: 991.98px) {
	.ceq-kpis,
	.ceq-detail-kpis,
	.ceq-list,
	.ceq-detail__grid,
	.ceq-detail-all__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ceq-toolbar {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575.98px) {
	.ceq-hero,
	.ceq-detail__hero {
		display: block;
	}

	.ceq-kpis,
	.ceq-detail-kpis,
	.ceq-list,
	.ceq-detail__grid,
	.ceq-detail-all__grid {
		grid-template-columns: 1fr;
	}

	.ceq-map-wrap #map {
		min-height: 360px;
	}

	.ceq-detail-list li,
	.ceq-data-group li {
		grid-template-columns: 1fr;
		gap: .25rem;
	}
}

.pmh-shell,
.pmh-detail {
	--pmh-primary: #7c3aed;
	--pmh-secondary: #067a3e;
	--pmh-ink: var(--ald-navy, #081d3b);
	--pmh-muted: var(--ald-muted, #657084);
	--pmh-border: var(--ald-border, #e7ebf1);
	color: var(--pmh-ink);
}

.pmh-hero,
.pmh-detail__hero {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	justify-content: space-between;
	margin: 1.5rem 0;
}

.pmh-hero h1,
.pmh-detail__hero h1 {
	margin: 0;
	color: var(--pmh-ink);
	font-size: clamp(2rem, 4vw, 3.35rem);
	font-weight: 950;
	line-height: 1.05;
}

.pmh-hero__intro,
.pmh-detail__intro {
	max-width: 760px;
	margin: .75rem 0 0;
	color: var(--pmh-muted);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.5;
}

.pmh-logo {
	max-width: 130px;
	max-height: 130px;
	object-fit: contain;
}

.pmh-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1rem;
}

.pmh-kpi,
.pmh-detail-card {
	padding: 1rem;
	border: 1px solid var(--pmh-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(8, 29, 59, .08);
}

.pmh-kpi__label,
.pmh-card__type,
.pmh-detail__eyebrow,
.pmh-detail-list span {
	display: block;
	color: var(--pmh-muted);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pmh-kpi__value {
	display: block;
	margin-top: .2rem;
	color: var(--pmh-primary);
	font-size: 1.85rem;
	font-weight: 950;
	line-height: 1.1;
}

.pmh-kpi__meta {
	margin: .2rem 0 0;
	color: var(--pmh-muted);
	font-weight: 750;
}

.pmh-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 280px);
	gap: .75rem;
	margin-bottom: 1rem;
}

.pmh-search,
.pmh-select {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--pmh-border);
	border-radius: 8px;
	background: #fff;
	color: var(--pmh-ink);
	font-weight: 800;
	padding: .75rem .95rem;
}

.pmh-map-wrap {
	overflow: hidden;
	border: 1px solid var(--pmh-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(8, 29, 59, .08);
}

.pmh-map-wrap #map {
	min-height: 560px;
	height: 64vh;
}

.pmh-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1rem;
	padding: .9rem 1rem;
	border-top: 1px solid var(--pmh-border);
	color: var(--pmh-muted);
	font-weight: 850;
}

.pmh-dot {
	display: inline-block;
	width: .75rem;
	height: .75rem;
	margin-right: .35rem;
	border-radius: 999px;
	background: var(--pmh-primary);
}

.pmh-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.pmh-card {
	overflow: hidden;
	border: 1px solid var(--pmh-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(8, 29, 59, .08);
}

.pmh-card__image {
	display: block;
	aspect-ratio: 4 / 3;
	background: #eef2f7;
}

.pmh-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.9) contrast(1.04);
}

.pmh-card__image--empty {
	display: grid;
	place-items: center;
	color: var(--pmh-muted);
	font-weight: 850;
}

.pmh-card__body {
	padding: 1rem;
}

.pmh-card h2 {
	margin: .25rem 0 .5rem;
	color: var(--pmh-ink);
	font-size: 1.08rem;
	font-weight: 950;
	line-height: 1.25;
}

.pmh-card p {
	min-height: 3em;
	margin: 0 0 .8rem;
	color: var(--pmh-muted);
	font-weight: 750;
	line-height: 1.45;
}

.pmh-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: .9rem;
	color: var(--pmh-muted);
	font-size: .9rem;
	font-weight: 850;
}

.pmh-btn,
.pmh-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: .62rem .9rem;
	border: 1px solid var(--pmh-primary);
	border-radius: 8px;
	background: var(--pmh-primary);
	color: #fff !important;
	font-weight: 900;
	text-decoration: none;
}

.pmh-shell a.pmh-btn,
.pmh-shell a.pmh-btn:visited,
.pmh-shell a.pmh-btn:focus,
.pmh-shell a.pmh-btn:hover,
.pmh-detail a.pmh-btn,
.pmh-detail a.pmh-btn:visited,
.pmh-detail a.pmh-btn:focus,
.pmh-detail a.pmh-btn:hover,
.pmh-detail a.pmh-back,
.pmh-detail a.pmh-back:visited,
.pmh-detail a.pmh-back:focus,
.pmh-detail a.pmh-back:hover,
.leaflet-popup-pane a.pmh-btn,
.leaflet-popup-pane a.pmh-btn:visited,
.leaflet-popup-pane a.pmh-btn:focus,
.leaflet-popup-pane a.pmh-btn:hover {
	color: #fff !important;
	text-decoration: none;
}

.pmh-btn:hover,
.pmh-back:hover {
	color: #fff !important;
	text-decoration: none;
	filter: brightness(.95);
}

.pmh-btn--ghost {
	background: #fff;
	color: var(--pmh-primary) !important;
}

.pmh-detail a.pmh-btn--ghost,
.pmh-detail a.pmh-btn--ghost:visited,
.pmh-detail a.pmh-btn--ghost:focus,
.pmh-detail a.pmh-btn--ghost:hover {
	color: var(--pmh-primary) !important;
}

.pmh-btn:focus-visible,
.pmh-back:focus-visible {
	outline: 3px solid rgba(124, 58, 237, .28);
	outline-offset: 3px;
}

.pmh-links {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin-top: 1rem;
}

.pmh-popup {
	overflow: hidden;
	max-width: 280px;
	border-radius: 8px;
}

.pmh-popup img {
	display: block;
	width: 100%;
	max-height: 170px;
	object-fit: cover;
}

.pmh-popup__body {
	padding: .75rem;
}

.pmh-popup h3 {
	margin: 0 0 .35rem;
	color: var(--pmh-ink);
	font-size: 1rem;
	font-weight: 950;
	line-height: 1.2;
}

.pmh-popup p {
	margin: 0 0 .4rem;
	color: var(--pmh-muted);
	font-weight: 750;
	line-height: 1.35;
}

.pmh-state {
	padding: 1rem;
	border: 1px dashed var(--pmh-border);
	border-radius: 8px;
	color: var(--pmh-muted);
	font-weight: 850;
}

.pmh-photo-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
	gap: 1rem;
	margin-bottom: 1rem;
}

.pmh-photo-viewer {
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--pmh-border);
	border-radius: 8px;
	background: #081d3b;
	box-shadow: 0 14px 34px rgba(8, 29, 59, .1);
}

.pmh-photo-viewer img {
	display: block;
	width: 100%;
	max-height: 78vh;
	object-fit: contain;
	background: #081d3b;
}

.pmh-photo-viewer__link {
	position: relative;
	display: block;
	background: #081d3b;
	color: #fff !important;
	text-decoration: none;
}

.pmh-photo-viewer__link:hover,
.pmh-photo-viewer__link:focus {
	color: #fff !important;
	text-decoration: none;
}

.pmh-photo-viewer__zoom {
	position: absolute;
	right: .85rem;
	bottom: .85rem;
	padding: .45rem .7rem;
	border-radius: 8px;
	background: rgba(8, 29, 59, .86);
	color: #fff;
	font-size: .85rem;
	font-weight: 900;
	box-shadow: 0 10px 22px rgba(8, 29, 59, .18);
}

.pmh-photo-viewer__link:focus-visible {
	outline: 3px solid rgba(124, 58, 237, .34);
	outline-offset: 3px;
}

.pmh-dialog-open {
	overflow: hidden;
}

.pmh-photo-dialog {
	position: fixed;
	z-index: 10050;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 1.25rem;
	background: rgba(8, 29, 59, .88);
}

.pmh-photo-dialog[hidden] {
	display: none;
}

.pmh-photo-dialog__panel {
	position: relative;
	display: grid;
	gap: .8rem;
	width: min(1120px, 96vw);
	max-height: 94vh;
	padding: 1rem;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 28px 70px rgba(0, 0, 0, .34);
}

.pmh-photo-dialog__panel h2 {
	margin: 0;
	padding-right: 3rem;
	color: var(--pmh-ink);
	font-size: 1.1rem;
	font-weight: 950;
	line-height: 1.3;
}

.pmh-photo-dialog__panel img {
	display: block;
	width: 100%;
	max-height: 76vh;
	object-fit: contain;
	border-radius: 8px;
	background: #081d3b;
}

.pmh-photo-dialog__panel p {
	margin: 0;
	color: var(--pmh-muted);
	font-weight: 800;
	line-height: 1.45;
}

.pmh-photo-dialog__close {
	position: absolute;
	top: .8rem;
	right: .8rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.45rem;
	height: 2.45rem;
	border: 0;
	border-radius: 999px;
	background: var(--pmh-primary);
	color: #fff;
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
}

.pmh-photo-dialog__close:focus-visible {
	outline: 3px solid rgba(124, 58, 237, .34);
	outline-offset: 3px;
}

.pmh-photo-viewer figcaption {
	padding: .85rem 1rem;
	background: #fff;
	color: var(--pmh-muted);
	font-weight: 800;
	line-height: 1.45;
}

.pmh-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1rem;
}

.pmh-detail-card h2 {
	margin: 0 0 1rem;
	color: var(--pmh-ink);
	font-size: 1.1rem;
	font-weight: 950;
}

.pmh-detail-list {
	display: grid;
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pmh-detail-list li {
	display: grid;
	grid-template-columns: minmax(120px, .38fr) minmax(0, 1fr);
	gap: .75rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--pmh-border);
}

.pmh-detail-list li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.pmh-detail-list strong {
	overflow-wrap: anywhere;
	color: var(--pmh-ink);
	font-weight: 900;
	line-height: 1.35;
}

.pmh-detail-map {
	min-height: 360px;
	border-radius: 8px;
}

.pmh-detail-all {
	margin-bottom: 1rem;
}

.pmh-detail-all__head {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.pmh-detail-all__head p {
	max-width: 560px;
	margin: 0;
	color: var(--pmh-muted);
	font-weight: 750;
}

.pmh-data-group {
	padding: 1rem;
	border: 1px solid var(--pmh-border);
	border-radius: 8px;
	background: rgba(248, 250, 252, .72);
}

.pmh-data-group ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .65rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pmh-data-group li {
	display: grid;
	grid-template-columns: minmax(140px, .4fr) minmax(0, 1fr);
	gap: .7rem;
	padding-bottom: .65rem;
	border-bottom: 1px solid rgba(8, 29, 59, .08);
}

.pmh-data-group span {
	color: var(--pmh-muted);
	font-size: .9rem;
	font-weight: 850;
}

.pmh-data-group strong {
	overflow-wrap: anywhere;
	color: var(--pmh-ink);
	font-size: .94rem;
	font-weight: 900;
	line-height: 1.35;
}

@media (max-width: 991.98px) {
	.pmh-kpis,
	.pmh-list,
	.pmh-detail-grid,
	.pmh-data-group ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pmh-photo-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575.98px) {
	.pmh-hero,
	.pmh-detail__hero {
		display: block;
	}

	.pmh-kpis,
	.pmh-list,
	.pmh-toolbar,
	.pmh-detail-grid,
	.pmh-data-group ul {
		grid-template-columns: 1fr;
	}

	.pmh-map-wrap #map {
		min-height: 380px;
	}

	.pmh-detail-list li,
	.pmh-data-group li {
		grid-template-columns: 1fr;
		gap: .25rem;
	}
}




/* Page recherche */
.ald-search-page {
	min-height: 560px;
	background: linear-gradient(180deg, #fff 0%, #f5f8fb 100%);
}

.ald-search-hero {
	padding: 2rem 0 1.25rem;
	border-bottom: 1px solid var(--ald-border);
}

.ald-search-hero h1 {
	margin: .35rem 0 .55rem;
	color: var(--ald-navy);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 900;
	line-height: 1.05;
}

.ald-search-hero p {
	max-width: 720px;
	margin: 0;
	color: var(--ald-muted);
	font-size: 1.05rem;
	line-height: 1.6;
}

.ald-search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .7rem;
	align-items: center;
	margin-top: 1.25rem;
	padding: .55rem;
	border: 1px solid rgba(6, 122, 62, .18);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 16px 36px rgba(8, 29, 59, .08);
}

.ald-search-form label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
}

.ald-search-form input[type="search"] {
	width: 100%;
	min-height: 50px;
	padding: .75rem .95rem;
	border: 0;
	color: var(--ald-ink);
	font-size: 1rem;
	outline: none;
}

.ald-search-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: .75rem 1.05rem;
	border: 1px solid var(--ald-brand-green);
	border-radius: 8px;
	background: var(--ald-brand-green);
	color: #fff;
	font-weight: 850;
	cursor: pointer;
}

.ald-search-form button:hover,
.ald-search-form button:focus {
	border-color: var(--ald-brand-green-dark);
	background: var(--ald-brand-green-dark);
}

.ald-search-content {
	padding: 1.5rem 0 2.5rem;
}

.ald-search-state,
.ald-search-results-block {
	margin-bottom: 1rem;
	padding: 1.1rem;
	border: 1px solid var(--ald-border);
	border-radius: var(--ald-radius);
	background: #fff;
	box-shadow: var(--ald-shadow);
}

.ald-search-state {
	color: var(--ald-muted);
}

.ald-search-state strong {
	display: block;
	margin-bottom: .25rem;
	color: var(--ald-navy);
	font-size: 1.1rem;
}

.ald-search-results-block h2 {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 1rem;
	color: var(--ald-navy);
	font-size: 1.25rem;
	font-weight: 900;
}

.ald-search-count {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: .2rem .55rem;
	border-radius: 999px;
	background: rgba(6, 122, 62, .1);
	color: var(--ald-brand-green);
	font-size: .85rem;
	font-weight: 850;
}

.ald-search-results-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: .85rem;
}

.ald-commune-results {
	border-color: rgba(6, 122, 62, .2);
	background: linear-gradient(180deg, #fff 0%, rgba(6, 122, 62, .035) 100%);
}

.ald-commune-results__intro {
	margin: -.45rem 0 1rem;
	color: var(--ald-muted);
	font-size: .95rem;
}

.ald-commune-results__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: .9rem;
}

.ald-commune-card {
	display: flex;
	flex-direction: column;
	min-height: 210px;
	padding: 1rem;
	border: 1px solid rgba(6, 122, 62, .18);
	border-radius: var(--ald-radius);
	background: #fff;
	box-shadow: 0 14px 28px rgba(8, 29, 59, .08);
}

.ald-commune-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
	margin-bottom: .7rem;
}

.ald-commune-card__badge,
.ald-commune-card__code {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: .18rem .55rem;
	border-radius: 999px;
	font-size: .75rem;
	font-weight: 900;
}

.ald-commune-card__badge {
	background: rgba(6, 122, 62, .1);
	color: var(--ald-brand-green);
	text-transform: uppercase;
}

.ald-commune-card__code {
	background: rgba(8, 29, 59, .07);
	color: var(--ald-navy);
}

.ald-commune-card h3 {
	margin: 0 0 .35rem;
	color: var(--ald-navy);
	font-size: 1.18rem;
	font-weight: 900;
	line-height: 1.25;
}

.ald-commune-card p {
	margin: 0 0 .9rem;
	color: var(--ald-muted);
	font-size: .92rem;
}

.ald-commune-card__groups {
	display: grid;
	gap: .75rem;
	margin-top: auto;
}

.ald-commune-card__group {
	padding-top: .7rem;
	border-top: 1px solid rgba(8, 29, 59, .08);
}

.ald-commune-card__group:first-child {
	padding-top: 0;
	border-top: 0;
}

.ald-commune-card__group h4 {
	margin: 0 0 .45rem;
	color: var(--ald-navy);
	font-size: .82rem;
	font-weight: 900;
	text-transform: uppercase;
}

.ald-commune-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
}

.ald-commune-card__links a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: .32rem .55rem;
	border: 1px solid rgba(6, 122, 62, .18);
	border-radius: 999px;
	background: rgba(6, 122, 62, .06);
	color: var(--ald-brand-green);
	font-size: .82rem;
	font-weight: 850;
	text-decoration: none;
}

.ald-commune-card__links a:hover,
.ald-commune-card__links a:focus {
	border-color: var(--ald-brand-green);
	background: var(--ald-brand-green);
	color: #fff;
	text-decoration: none;
}

.ald-search-result {
	display: block;
	height: 100%;
	padding: .95rem;
	border: 1px solid var(--ald-border);
	border-radius: var(--ald-radius);
	background: #fff;
	color: var(--ald-ink);
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.ald-search-result:hover,
.ald-search-result:focus {
	transform: translateY(-2px);
	border-color: rgba(6, 122, 62, .32);
	box-shadow: 0 16px 30px rgba(8, 29, 59, .1);
	color: var(--ald-ink);
	text-decoration: none;
}

.ald-search-result__type {
	display: inline-flex;
	margin-bottom: .55rem;
	color: var(--ald-brand-green);
	font-size: .75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.ald-search-result h3 {
	margin: 0 0 .4rem;
	color: var(--ald-navy);
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.25;
}

.ald-search-result p {
	margin: 0;
	color: var(--ald-muted);
	font-size: .92rem;
	line-height: 1.5;
}

.ald-search-suggestions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: .9rem;
}

.ald-search-suggestions a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: .35rem .65rem;
	border: 1px solid rgba(6, 122, 62, .18);
	border-radius: 999px;
	background: rgba(6, 122, 62, .06);
	color: var(--ald-brand-green);
	font-weight: 800;
	text-decoration: none;
}

.ald-search-suggestions a:hover,
.ald-search-suggestions a:focus {
	border-color: rgba(6, 122, 62, .34);
	background: rgba(6, 122, 62, .1);
	color: var(--ald-brand-green-dark);
}

.ald-search-page .pagination {
	margin: 1rem 0 0;
}

@media (max-width: 575.98px) {
	.ald-search-form {
		grid-template-columns: 1fr;
	}

	.ald-search-form button {
		width: 100%;
	}
}

.ald-map-search {
	align-items: center;
	background: #fff;
	border: 1px solid var(--ald-border);
	border-radius: 8px;
	box-shadow: 0 10px 24px rgba(17, 24, 39, .06);
	display: flex;
	gap: .65rem;
	margin: 1rem 0;
	padding: .75rem;
}

.ald-map-search__input {
	border: 1px solid var(--ald-border);
	border-radius: 8px;
	color: var(--ald-ink);
	flex: 1 1 auto;
	font-size: .95rem;
	min-width: 0;
	padding: .7rem .85rem;
}

.ald-map-search__input:focus {
	border-color: var(--ald-brand-green);
	box-shadow: 0 0 0 .18rem rgba(6, 122, 62, .14);
	outline: 0;
}

.ald-map-search__button {
	background: var(--ald-brand-green);
	border: 0;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font-weight: 850;
	padding: .72rem 1rem;
	white-space: nowrap;
}

.ald-map-search__button:hover,
.ald-map-search__button:focus {
	background: var(--ald-brand-green-dark);
	outline: 0;
}

@media (max-width: 575.98px) {
	.ald-map-search {
		align-items: stretch;
		flex-direction: column;
	}

	.ald-map-search__button {
		width: 100%;
	}
}


/* === Styles extraits des squelettes publics === */
/* squelettes/arret-lio.html */
:root {
			--lio-primary: #0d7890;
			--lio-primary-dark: #075d70;
			--lio-accessible: #067a3e;
			--lio-unknown: #2384d6;
			--lio-no: #c05a88;
			--lio-muted: #64748b;
			--lio-ink: #172033;
			--lio-soft: #eef8fa;
			--lio-border: #d8edf1;
		}
		body {
			background: #fbfdfe;
			color: var(--lio-ink);
		}
		a,
		a:visited {
			color: var(--lio-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--lio-primary-dark) !important;
		}
		.lio-detail-shell {
			padding-bottom: 3rem;
		}
		.lio-back {
			display: inline-flex;
			align-items: center;
			gap: .45rem;
			margin-bottom: 1rem;
			color: var(--lio-primary-dark) !important;
			font-weight: 850;
		}
		.lio-detail-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: start;
			margin-bottom: 1rem;
			padding: 1.25rem;
			background: #fff;
			border: 1px solid var(--lio-border);
			border-radius: 10px;
			box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
		}
		.lio-eyebrow {
			display: inline-flex;
			align-items: center;
			min-height: 30px;
			padding: .25rem .6rem;
			border-radius: 999px;
			background: var(--lio-soft);
			color: var(--lio-primary-dark);
			font-size: .8rem;
			font-weight: 850;
			text-transform: uppercase;
		}
		.lio-detail-hero h1 {
			margin: .7rem 0 .8rem;
			font-size: clamp(2rem, 4vw, 3.4rem);
			font-weight: 900;
			letter-spacing: 0;
			line-height: 1.04;
		}
		.lio-detail-meta {
			display: flex;
			flex-wrap: wrap;
			gap: .6rem;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.lio-detail-meta li {
			padding: .45rem .65rem;
			border: 1px solid var(--lio-border);
			border-radius: 8px;
			background: #fff;
			color: #475569;
			font-weight: 760;
		}
		.lio-logo {
			max-width: 130px;
			max-height: 130px;
			object-fit: contain;
		}
		.lio-detail-grid {
			display: grid;
			grid-template-columns: minmax(0, .8fr) minmax(360px, 1fr);
			gap: 1rem;
		}
		.lio-detail-card {
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--lio-border);
			border-radius: 10px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.lio-detail-card h2 {
			margin: 0 0 .75rem;
			color: var(--lio-ink);
			font-size: 1.1rem;
			font-weight: 900;
		}
		.lio-detail-list {
			display: grid;
			gap: .75rem;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.lio-detail-list li {
			display: grid;
			gap: .12rem;
		}
		.lio-detail-list span {
			color: var(--lio-muted);
			font-size: .78rem;
			font-weight: 850;
			text-transform: uppercase;
		}
		.lio-detail-list strong {
			color: var(--lio-ink);
			font-size: 1rem;
			line-height: 1.35;
		}
		.lio-detail-map {
			width: 100%;
			height: 420px;
			overflow: hidden;
			border: 1px solid var(--lio-border);
			border-radius: 10px;
			background: #f8fafc;
		}
		.lio-schedules {
			display: grid;
			gap: .65rem;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.lio-schedule-note {
			margin: 0 0 .75rem;
			color: var(--lio-muted);
			font-size: .9rem;
		}
		.lio-schedule {
			display: grid;
			grid-template-columns: auto minmax(0, 1fr) auto;
			gap: .8rem;
			align-items: center;
			padding: .75rem;
			border: 1px solid var(--lio-border);
			border-radius: 8px;
			background: #fff;
		}
		.lio-schedule__line {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 46px;
			min-height: 34px;
			padding: .25rem .5rem;
			border-radius: 6px;
			background: var(--line-color, var(--lio-primary));
			color: var(--line-text, #fff);
			font-weight: 900;
		}
		.lio-schedule__main strong,
		.lio-schedule__main span,
		.lio-schedule__time strong,
		.lio-schedule__time span {
			display: block;
		}
		.lio-schedule__main span,
		.lio-schedule__time span {
			color: var(--lio-muted);
			font-size: .84rem;
		}
		.lio-schedule__time {
			text-align: right;
		}
		.lio-schedule__time strong {
			color: var(--lio-primary-dark);
			font-size: 1.15rem;
			font-weight: 900;
		}
		.lio-state {
			padding: 1rem;
			border: 1px solid var(--lio-border);
			border-radius: 10px;
			background: #fff;
			color: var(--lio-muted);
		}
		@media (max-width: 991.98px) {
			.lio-detail-hero,
			.lio-detail-grid {
				grid-template-columns: 1fr;
			}
			.lio-logo {
				max-width: 100px;
			}
		}
		@media (max-width: 575.98px) {
			.lio-schedule {
				grid-template-columns: auto minmax(0, 1fr);
			}
			.lio-schedule__time {
				grid-column: 1 / -1;
				text-align: left;
			}
		}

/* squelettes/borne-elec.html */
:root {
			--borne-primary: #0f766e;
			--borne-primary-dark: #115e59;
			--borne-fast: #dc2626;
			--borne-mid: #f59e0b;
			--borne-slow: #0f766e;
			--borne-unknown: #64748b;
			--borne-ink: #172033;
			--borne-muted: #64748b;
			--borne-border: #dbece9;
			--borne-soft: #ecfdf5;
		}
		body {
			background: #fbfcfb;
			color: var(--borne-ink);
		}
		a,
		a:visited {
			color: var(--borne-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--borne-primary-dark) !important;
		}
		.borne-shell {
			padding-bottom: 3rem;
		}
		.borne-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: end;
			margin: 1.5rem 0 1.25rem;
		}
		.borne-eyebrow {
			display: inline-flex;
			align-items: center;
			min-height: 30px;
			padding: .25rem .65rem;
			border-radius: 999px;
			background: var(--borne-soft);
			color: var(--borne-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.borne-hero h1 {
			margin: .75rem 0 .5rem;
			font-size: clamp(2rem, 4vw, 3.5rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
		}
		.borne-hero p {
			max-width: 780px;
			margin: 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.borne-back {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 40px;
			padding: .55rem .9rem;
			border-radius: 6px;
			background: var(--borne-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.borne-back:hover {
			background: var(--borne-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.borne-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin-bottom: 1.25rem;
		}
		.borne-kpi,
		.borne-panel {
			background: #fff;
			border: 1px solid var(--borne-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.borne-kpi {
			min-height: 112px;
			padding: 1rem;
		}
		.borne-kpi__label {
			display: block;
			color: var(--borne-muted);
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.borne-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--borne-primary-dark);
			font-size: clamp(1.35rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.borne-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
			gap: 1rem;
			align-items: start;
		}
		.borne-panel {
			overflow: hidden;
		}
		.borne-panel__head {
			padding: .9rem 1rem;
			background: var(--borne-primary);
			color: #fff;
		}
		.borne-panel__head h2 {
			margin: 0;
			font-size: 1.05rem;
			font-weight: 850;
		}
		.borne-panel__body {
			padding: 1rem;
		}
		.borne-facts {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem;
		}
		.borne-fact {
			padding: .85rem;
			border: 1px solid #e2eee9;
			border-radius: 8px;
			background: #fff;
		}
		.borne-fact span {
			display: block;
			color: var(--borne-muted);
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.borne-fact strong {
			display: block;
			margin-top: .3rem;
			color: var(--borne-ink);
			font-size: 1rem;
			line-height: 1.25;
		}
		.borne-prises {
			display: flex;
			flex-wrap: wrap;
			gap: .5rem;
			margin-top: 1rem;
		}
		.borne-badge {
			display: inline-flex;
			align-items: center;
			min-height: 30px;
			padding: .3rem .65rem;
			border-radius: 999px;
			background: var(--borne-soft);
			color: var(--borne-primary-dark);
			font-size: .84rem;
			font-weight: 800;
		}
		.borne-badge.is-off {
			background: #f1f5f9;
			color: #64748b;
		}
		#map {
			width: 100%;
			height: min(62vh, 560px);
			min-height: 380px;
		}
		.borne-state {
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--borne-border);
			border-radius: 8px;
			color: var(--borne-muted);
		}
		@media (max-width: 991.98px) {
			.borne-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.borne-grid,
			.borne-hero {
				grid-template-columns: 1fr;
			}
		}
		@media (max-width: 575.98px) {
			.borne-kpis,
			.borne-facts {
				grid-template-columns: 1fr;
			}
			#map {
				height: 58vh;
				min-height: 330px;
			}
		}

/* squelettes/camping.html */
:root {
			--camp-pink: deeppink;
			--camp-green: #75b30e;
			--camp-yellow: #f5b82e;
			--camp-red: #d7263d;
			--camp-blue: #2878d7;
			--camp-ink: #172033;
			--camp-muted: #657084;
			--camp-soft: #f6f8fb;
			--camp-border: #e7ebf1;
		}
		body {
			background: #fbfcfb;
			color: var(--camp-ink);
		}
		.bg-dark { background-color: var(--camp-pink)!important; }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: #111827; background: none; }
		.camp-detail {
			padding-bottom: 3rem;
		}
		.camp-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1rem;
			align-items: end;
			margin: 1.5rem 0 1.25rem;
		}
		.camp-eyebrow {
			display: inline-flex;
			min-height: 30px;
			align-items: center;
			padding: .25rem .65rem;
			border-radius: 999px;
			background: #fff0fa;
			color: var(--camp-pink);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.camp-hero h1 {
			margin: .75rem 0 .5rem;
			font-size: clamp(2rem, 4vw, 3.35rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
		}
		.camp-hero p {
			max-width: 780px;
			margin: 0;
			color: var(--camp-muted);
			font-size: 1.05rem;
		}
		.camp-back {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 40px;
			padding: .55rem .9rem;
			border-radius: 6px;
			background: var(--camp-pink);
			color: #fff !important;
			font-weight: 850;
		}
		.camp-back:hover {
			background: #b91587;
			color: #fff !important;
			text-decoration: none;
		}
		.camp-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin-bottom: 1.25rem;
		}
		.camp-kpi,
		.camp-panel {
			background: #fff;
			border: 1px solid var(--camp-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.camp-kpi {
			min-height: 112px;
			padding: 1rem;
			border-top: 4px solid var(--kpi-color, var(--camp-pink));
		}
		.camp-kpi__label {
			display: block;
			color: var(--camp-muted);
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.camp-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--kpi-color, var(--camp-pink));
			font-size: clamp(1.35rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.camp-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
			gap: 1rem;
			align-items: start;
		}
		.camp-panel {
			overflow: hidden;
		}
		.camp-panel__head {
			padding: .9rem 1rem;
			background: var(--camp-pink);
			color: #fff;
		}
		.camp-panel__head h2 {
			margin: 0;
			font-size: 1.05rem;
			font-weight: 850;
		}
		.camp-panel__body {
			padding: 1rem;
		}
		.camp-facts {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem;
		}
		.camp-fact {
			padding: .85rem;
			border: 1px solid var(--camp-border);
			border-radius: 8px;
			background: #fff;
		}
		.camp-fact span {
			display: block;
			color: var(--camp-muted);
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.camp-fact strong {
			display: block;
			margin-top: .3rem;
			font-size: 1rem;
			line-height: 1.25;
		}
		.camp-gauge {
			margin-top: 1rem;
		}
		.camp-gauge__labels {
			display: flex;
			justify-content: space-between;
			color: var(--camp-muted);
			font-size: .86rem;
			font-weight: 800;
		}
		.camp-gauge__title {
			display: block;
			color: var(--camp-ink);
			font-size: 1rem;
			font-weight: 850;
			margin-bottom: .2rem;
		}
		.camp-gauge__track {
			position: relative;
			height: 26px;
			margin: 1rem 0 .55rem;
			border-radius: 999px;
			background: linear-gradient(90deg, var(--camp-green) 0 25%, var(--camp-yellow) 25% 75%, var(--camp-pink) 75% 100%);
			box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .08);
		}
		.camp-gauge__fill {
			display: none;
		}
		.camp-gauge__marker {
			position: absolute;
			top: -8px;
			left: var(--marker, 0%);
			width: 4px;
			height: 42px;
			border-radius: 999px;
			background: #111827;
			transform: translateX(-50%);
		}
		.camp-gauge__marker::after {
			content: attr(data-value);
			position: absolute;
			left: 50%;
			top: -28px;
			transform: translateX(-50%);
			padding: .18rem .45rem;
			border-radius: 999px;
			background: #111827;
			color: #fff;
			font-size: .78rem;
			white-space: nowrap;
		}
		.camp-gauge__zones {
			display: grid;
			grid-template-columns: 1fr 2fr 1fr;
			gap: .35rem;
			margin-bottom: .9rem;
			color: var(--camp-muted);
			font-size: .78rem;
			font-weight: 800;
			line-height: 1.2;
		}
		.camp-gauge__zone {
			display: flex;
			align-items: center;
			gap: .35rem;
			min-width: 0;
		}
		.camp-gauge__zone:nth-child(2) {
			justify-content: center;
		}
		.camp-gauge__zone:nth-child(3) {
			justify-content: flex-end;
			text-align: right;
		}
		.camp-gauge__dot {
			display: inline-block;
			flex: 0 0 10px;
			width: 10px;
			height: 10px;
			border-radius: 999px;
			background: var(--dot-color);
		}
		.camp-gauge__stats {
			display: grid;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			gap: .5rem;
			margin-top: .8rem;
		}
		.camp-gauge__stat {
			padding: .55rem;
			border: 1px solid var(--camp-border);
			border-radius: 8px;
			background: var(--camp-soft);
		}
		.camp-gauge__stat span {
			display: block;
			color: var(--camp-muted);
			font-size: .72rem;
			font-weight: 800;
			text-transform: uppercase;
		}
		.camp-gauge__stat strong {
			display: block;
			margin-top: .15rem;
			font-size: .95rem;
		}
		.camp-gauge__note {
			margin: 1rem 0 0;
			padding: .8rem;
			border-radius: 8px;
			background: var(--camp-soft);
			color: var(--camp-muted);
			font-size: .92rem;
		}
		#map {
			width: 100%;
			height: min(58vh, 520px);
			min-height: 360px;
		}
		@media (max-width: 991.98px) {
			.camp-kpis,
			.camp-grid,
			.camp-hero {
				grid-template-columns: 1fr;
			}
			.camp-gauge__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.camp-kpis,
			.camp-facts {
				grid-template-columns: 1fr;
			}
			.camp-gauge__stats { grid-template-columns: 1fr; }
			#map {
				height: 58vh;
				min-height: 330px;
			}
		}

/* squelettes/com-conso-elec-agri.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.agri-detail { color: var(--ald-ink); }
		.agri-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.agri-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.agri-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}
		.agri-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.agri-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.agri-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.agri-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.agri-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.agri-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.agri-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 3vw, 2rem);
			font-weight: 850;
			line-height: 1.05;
			margin: 0;
		}
		.agri-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.agri-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(56vh, 460px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.agri-gauge {
			margin: 0 auto;
			max-width: 520px;
			padding: .5rem 0 0;
		}
		.agri-gauge svg {
			display: block;
			height: auto;
			width: 100%;
		}
		.agri-gauge__value {
			color: var(--ald-pink);
			font-size: clamp(1.7rem, 4vw, 2.6rem);
			font-weight: 900;
			line-height: 1;
			margin: .4rem 0 0;
			text-align: center;
		}
		.agri-gauge__meta {
			color: var(--ald-muted);
			font-size: .9rem;
			margin: .35rem auto 0;
			max-width: 460px;
			text-align: center;
		}
		.agri-gauge__label {
			fill: var(--ald-muted);
			font-size: 11px;
			font-weight: 700;
		}
		.agri-chart {
			margin: 1.5rem 0 2rem;
		}
		@media (max-width: 991.98px) {
			.agri-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.agri-kpis { grid-template-columns: 1fr; }
			.agri-map { min-height: 300px; }
		}

/* squelettes/com-conso-elec-indus-alimentaires.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.food-detail { color: var(--ald-ink); }
		.food-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.food-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.food-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}
		.food-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.food-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.food-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.food-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.food-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.food-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.food-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 3vw, 2rem);
			font-weight: 850;
			line-height: 1.05;
			margin: 0;
		}
		.food-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.food-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(56vh, 460px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.food-gauge {
			margin: 0 auto;
			max-width: 520px;
			padding: .5rem 0 0;
		}
		.food-gauge svg {
			display: block;
			height: auto;
			width: 100%;
		}
		.food-gauge__value {
			color: var(--ald-pink);
			font-size: clamp(1.7rem, 4vw, 2.6rem);
			font-weight: 900;
			line-height: 1;
			margin: .4rem 0 0;
			text-align: center;
		}
		.food-gauge__meta {
			color: var(--ald-muted);
			font-size: .9rem;
			margin: .35rem auto 0;
			max-width: 420px;
			text-align: center;
		}
		.food-gauge__label {
			fill: var(--ald-muted);
			font-size: 11px;
			font-weight: 700;
		}
		.food-chart {
			margin: 1.5rem 0 2rem;
		}
		@media (max-width: 991.98px) {
			.food-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.food-kpis { grid-template-columns: 1fr; }
			.food-map { min-height: 300px; }
		}

/* squelettes/com-conso-elec-indus-bois.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.wood-detail { color: var(--ald-ink); }
		.wood-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.wood-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.wood-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}
		.wood-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.wood-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.wood-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.wood-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.wood-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.wood-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.wood-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 3vw, 2rem);
			font-weight: 850;
			line-height: 1.05;
			margin: 0;
		}
		.wood-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.wood-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(56vh, 460px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.wood-gauge {
			margin: 0 auto;
			max-width: 520px;
			padding: .5rem 0 0;
		}
		.wood-gauge svg {
			display: block;
			height: auto;
			width: 100%;
		}
		.wood-gauge__value {
			color: var(--ald-pink);
			font-size: clamp(1.7rem, 4vw, 2.6rem);
			font-weight: 900;
			line-height: 1;
			margin: .4rem 0 0;
			text-align: center;
		}
		.wood-gauge__meta {
			color: var(--ald-muted);
			font-size: .9rem;
			margin: .35rem auto 0;
			max-width: 420px;
			text-align: center;
		}
		.wood-gauge__label {
			fill: var(--ald-muted);
			font-size: 11px;
			font-weight: 700;
		}
		.wood-chart {
			margin: 1.5rem 0 2rem;
		}
		@media (max-width: 991.98px) {
			.wood-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.wood-kpis { grid-template-columns: 1fr; }
			.wood-map { min-height: 300px; }
		}

/* squelettes/com-conso-elec-indus-travaux.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.works-detail { color: var(--ald-ink); }
		.works-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.works-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.works-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}
		.works-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.works-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.works-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.works-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.works-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.works-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.works-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 3vw, 2rem);
			font-weight: 850;
			line-height: 1.05;
			margin: 0;
		}
		.works-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.works-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(56vh, 460px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.works-gauge {
			margin: 0 auto;
			max-width: 520px;
			padding: .5rem 0 0;
		}
		.works-gauge svg {
			display: block;
			height: auto;
			width: 100%;
		}
		.works-gauge__value {
			color: var(--ald-pink);
			font-size: clamp(1.7rem, 4vw, 2.6rem);
			font-weight: 900;
			line-height: 1;
			margin: .4rem 0 0;
			text-align: center;
		}
		.works-gauge__meta {
			color: var(--ald-muted);
			font-size: .9rem;
			margin: .35rem auto 0;
			max-width: 420px;
			text-align: center;
		}
		.works-gauge__label {
			fill: var(--ald-muted);
			font-size: 11px;
			font-weight: 700;
		}
		.works-chart {
			margin: 1.5rem 0 2rem;
		}
		@media (max-width: 991.98px) {
			.works-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.works-kpis { grid-template-columns: 1fr; }
			.works-map { min-height: 300px; }
		}

/* squelettes/com-conso-elec-indus.html */
#foo{
 padding: 10px;
  width: 100%;
		min-height: 350px;
}
		#foo2{
 padding: 10px;
  width: 100%;
		min-height: 350px;
}
		.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}

/* squelettes/com-conso-elec-tertiaire.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.tertiary-detail { color: var(--ald-ink); }
		.tertiary-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.tertiary-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.tertiary-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}
		.tertiary-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.tertiary-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.tertiary-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.tertiary-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.tertiary-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.tertiary-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.tertiary-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 3vw, 2rem);
			font-weight: 850;
			line-height: 1.05;
			margin: 0;
		}
		.tertiary-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.tertiary-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(56vh, 460px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.tertiary-gauge {
			margin: 0 auto;
			max-width: 520px;
			padding: .5rem 0 0;
		}
		.tertiary-gauge svg {
			display: block;
			height: auto;
			width: 100%;
		}
		.tertiary-gauge__value {
			color: var(--ald-pink);
			font-size: clamp(1.7rem, 4vw, 2.6rem);
			font-weight: 900;
			line-height: 1;
			margin: .4rem 0 0;
			text-align: center;
		}
		.tertiary-gauge__meta {
			color: var(--ald-muted);
			font-size: .9rem;
			margin: .35rem auto 0;
			max-width: 460px;
			text-align: center;
		}
		.tertiary-gauge__label {
			fill: var(--ald-muted);
			font-size: 11px;
			font-weight: 700;
		}
		.tertiary-chart {
			margin: 1.5rem 0 2rem;
		}
		@media (max-width: 991.98px) {
			.tertiary-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.tertiary-kpis { grid-template-columns: 1fr; }
			.tertiary-map { min-height: 300px; }
		}

/* squelettes/contact.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		label {
background: var(--ald-brand-green);
		}
		.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
color: var(--ald-brand-green); }

/* squelettes/covoiturage.html */
:root {
			--cv-primary: #0f766e;
			--cv-primary-dark: #115e59;
			--cv-accent: #14b8a6;
			--cv-pmr: #2563eb;
			--cv-muted: #64748b;
			--cv-ink: #172033;
			--cv-soft: #ecfdf5;
		}
		body {
			background: #fbfcfb;
			color: var(--cv-ink);
		}
		a,
		a:visited {
			color: var(--cv-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--cv-primary-dark) !important;
		}
		.cv-detail {
			padding-bottom: 3rem;
		}
		.cv-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1rem;
			align-items: start;
			padding: 1.4rem 0 1rem;
		}
		.cv-eyebrow {
			margin-bottom: .55rem;
			color: var(--cv-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			letter-spacing: .06em;
			text-transform: uppercase;
		}
		.cv-hero h1 {
			margin: 0;
			font-size: clamp(2.1rem, 4.5vw, 4rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.02;
		}
		.cv-hero__intro {
			max-width: 820px;
			margin: .9rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.cv-status {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 42px;
			padding: .45rem .85rem;
			border-radius: 999px;
			background: var(--cv-primary);
			color: #fff;
			font-weight: 850;
			white-space: nowrap;
		}
		.cv-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.cv-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #dbece9;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.cv-kpi__label {
			display: block;
			color: #64748b;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.cv-kpi__value {
			display: block;
			margin-top: .4rem;
			color: var(--cv-primary-dark);
			font-size: clamp(1.2rem, 2.2vw, 1.8rem);
			font-weight: 850;
			line-height: 1.15;
		}
		.cv-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
			gap: 1rem;
			align-items: start;
		}
		.cv-card {
			background: #fff;
			border: 1px solid #dbece9;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.cv-card + .cv-card {
			margin-top: 1rem;
		}
		.cv-card__head {
			padding: 1rem 1.1rem;
			border-bottom: 1px solid #dbece9;
		}
		.cv-card__head h2 {
			margin: 0;
			font-size: 1.2rem;
			font-weight: 850;
		}
		.cv-card__body {
			padding: 1rem 1.1rem;
		}
		.cv-definition {
			display: grid;
			grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
			gap: .75rem 1rem;
			margin: 0;
		}
		.cv-definition dt {
			color: #64748b;
			font-weight: 800;
		}
		.cv-definition dd {
			margin: 0;
			color: var(--cv-ink);
		}
		.cv-map-card {
			position: sticky;
			top: 1rem;
			overflow: hidden;
		}
		#map {
			width: 100%;
			height: min(62vh, 560px);
			min-height: 380px;
		}
		.cv-map-note {
			padding: .85rem 1rem;
			border-top: 1px solid #dbece9;
			color: #64748b;
			font-size: .92rem;
		}
		.cv-empty {
			padding: 1rem;
			color: #64748b;
		}
		@media (max-width: 991.98px) {
			.cv-hero,
			.cv-grid {
				grid-template-columns: 1fr;
			}
			.cv-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.cv-map-card {
				position: static;
			}
		}
		@media (max-width: 575.98px) {
			.cv-kpis {
				grid-template-columns: 1fr;
			}
			.cv-definition {
				grid-template-columns: 1fr;
				gap: .2rem;
			}
			.cv-status {
				width: 100%;
			}
			#map {
				height: 56vh;
				min-height: 340px;
			}
		}

/* squelettes/demandeurs-emploi.html */
:root {
			--ft-green: #75b30e;
			--ft-yellow: #f5b82e;
			--ft-pink: deeppink;
			--ft-red: #d7263d;
			--ft-blue: #2878d7;
			--ft-ink: #172033;
			--ft-muted: #657084;
			--ft-soft: #f6f8fb;
			--ft-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.ft-detail { color: var(--ft-ink); }
		.ft-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ft-soft) 100%);
			border-bottom: 1px solid var(--ft-border);
			padding: 1.4rem 0 1.2rem;
		}
		.ft-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.ft-hero__text {
			color: var(--ft-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.ft-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.ft-card {
			background: #fff;
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.ft-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.ft-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.ft-kpi {
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.ft-kpi__label {
			color: var(--ft-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.ft-kpi__value {
			color: var(--kpi-color, var(--ald-brand-green));
			font-size: clamp(1.35rem, 3vw, 2rem);
			font-weight: 850;
			line-height: 1.05;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.ft-kpi__meta {
			color: var(--ft-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.ft-map {
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			height: min(54vh, 430px);
			min-height: 320px;
			overflow: hidden;
			width: 100%;
		}
		.ft-gauge {
			--gauge-color: var(--ft-blue);
			--gauge-angle: -180deg;
			--q50-angle: 90deg;
			--q75-angle: 135deg;
			--q90-angle: 162deg;
			margin: 0 auto;
			max-width: 540px;
			padding: .5rem 0 1.8rem;
		}
		.ft-gauge__arc {
			aspect-ratio: 2 / 1;
			background:
				radial-gradient(circle at 50% 100%, #fff 0 52%, transparent 53%),
				conic-gradient(
					from 270deg at 50% 100%,
					var(--ft-green) 0deg var(--q50-angle),
					var(--ft-yellow) var(--q50-angle) var(--q75-angle),
					var(--ft-pink) var(--q75-angle) var(--q90-angle),
					var(--ft-red) var(--q90-angle) 180deg,
					transparent 180deg 360deg
				);
			border-radius: 280px 280px 0 0;
			position: relative;
			width: 100%;
		}
		.ft-gauge__needle {
			background: var(--ft-ink);
			border-radius: 999px;
			bottom: 0;
			height: 4px;
			left: 50%;
			position: absolute;
			transform: rotate(var(--gauge-angle));
			transform-origin: left center;
			width: 45%;
		}
		.ft-gauge__hub {
			background: var(--ft-ink);
			border: 4px solid #fff;
			border-radius: 999px;
			bottom: -8px;
			box-shadow: 0 2px 10px rgba(17, 24, 39, .25);
			height: 22px;
			left: calc(50% - 11px);
			position: absolute;
			width: 22px;
		}
		.ft-gauge__value {
			bottom: 25px;
			color: var(--gauge-color);
			font-size: clamp(1.45rem, 4vw, 2.4rem);
			font-weight: 900;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.ft-gauge__label {
			bottom: -4px;
			color: var(--ft-muted);
			font-size: .86rem;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.ft-gauge__ticks {
			color: var(--ft-muted);
			display: flex;
			font-size: .78rem;
			font-weight: 750;
			justify-content: space-between;
			margin-top: .55rem;
		}
		.ft-gauge__meta {
			color: var(--ft-muted);
			font-size: .9rem;
			margin: .5rem auto 0;
			max-width: 460px;
			text-align: center;
		}
		.ft-gauge__legend {
			display: grid;
			gap: .35rem .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			margin-top: 1rem;
		}
		.ft-gauge__legend span {
			align-items: center;
			color: var(--ft-muted);
			display: flex;
			font-size: .86rem;
			gap: .4rem;
		}
		.ft-gauge__swatch {
			background: var(--swatch-color);
			border-radius: 999px;
			display: inline-block;
			height: .75rem;
			width: .75rem;
		}
		.ft-history {
			margin: 0 0 2rem;
		}
		.ft-history__intro {
			color: var(--ft-muted);
			font-size: .95rem;
			line-height: 1.45;
			margin: -.25rem 0 .85rem;
		}
		.sau-crop-card__head {
			align-items: flex-start;
			display: flex;
			justify-content: space-between;
			gap: 1rem;
		}
		.sau-crop-card__intro {
			color: var(--ft-muted);
			font-size: .95rem;
			line-height: 1.45;
			margin: -.35rem 0 0;
		}
		.sau-crop-card__grid {
			align-items: center;
			display: grid;
			gap: 1.25rem;
			grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr);
			margin-top: 1rem;
		}
		.sau-crop-chart {
			height: 260px;
			min-width: 0;
			position: relative;
		}
		.sau-crop-empty {
			align-items: center;
			background: #f8fafc;
			border: 1px dashed var(--ft-border);
			border-radius: 8px;
			color: var(--ft-muted);
			display: flex;
			height: 100%;
			justify-content: center;
			margin: 0;
			padding: 1rem;
			text-align: center;
		}
		.sau-crop-list {
			display: grid;
			gap: .55rem;
		}
		.sau-crop-row {
			align-items: center;
			background: #f8fafc;
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			display: grid;
			gap: .45rem .65rem;
			grid-template-columns: auto minmax(0, 1fr) auto auto;
			padding: .7rem .8rem;
		}
		.sau-crop-row__swatch {
			background: var(--crop-color);
			border-radius: 999px;
			box-shadow: 0 0 0 4px color-mix(in srgb, var(--crop-color) 14%, transparent);
			display: inline-block;
			height: .72rem;
			width: .72rem;
		}
		.sau-crop-row--child {
			background: #ffffff;
			margin-left: 1.6rem;
			position: relative;
		}
		.sau-crop-row--child::before {
			background: var(--ft-border);
			content: "";
			height: calc(100% + .55rem);
			left: -1rem;
			position: absolute;
			top: -.55rem;
			width: 2px;
		}
		.sau-crop-row--child::after {
			background: var(--ft-border);
			content: "";
			height: 2px;
			left: -1rem;
			position: absolute;
			top: 50%;
			width: .7rem;
		}
		.sau-crop-row--heading {
			background: transparent;
			border: 0;
			color: var(--ft-muted);
			font-size: .78rem;
			font-weight: 850;
			letter-spacing: .02em;
			padding: .35rem .1rem .1rem;
			text-transform: uppercase;
		}
		.sau-crop-row__label {
			color: var(--ft-ink);
			font-size: .92rem;
			font-weight: 800;
			line-height: 1.25;
			min-width: 0;
		}
		.sau-crop-row__note {
			color: var(--ft-muted);
			font-size: .76rem;
			font-weight: 700;
			margin-left: .35rem;
			white-space: nowrap;
		}
		.sau-crop-row__value {
			color: var(--ft-ink);
			font-size: .95rem;
			font-weight: 900;
			text-align: right;
			white-space: nowrap;
		}
		.sau-crop-row__area {
			color: var(--ft-muted);
			font-size: .86rem;
			font-weight: 750;
			text-align: right;
			white-space: nowrap;
		}
		.sau-crop-card__note {
			color: var(--ft-muted);
			font-size: .86rem;
			line-height: 1.45;
			margin: 1rem 0 0;
		}
		@media (max-width: 991.98px) {
			.ft-grid,
			.sau-crop-card__grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.ft-kpis,
			.ft-gauge__legend { grid-template-columns: 1fr; }
			.ft-map { min-height: 300px; }
			.sau-crop-row {
				grid-template-columns: auto minmax(0, 1fr) auto;
			}
			.sau-crop-row--child {
				margin-left: .9rem;
			}
			.sau-crop-row__area {
				grid-column: 2 / -1;
				text-align: left;
			}
		}

/* squelettes/dpt-conso-elec-agri.html */
#foo{
 padding: 10px;
  width: 100%;
		min-height: 350px;
}
		#foo2{
 padding: 10px;
  width: 100%;
		min-height: 350px;
}
		.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}

/* squelettes/festival.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-blue: #2878d7;
			--ald-purple: #7048e8;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.festival-detail { color: var(--ald-ink); }
		.festival-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.festival-hero h1 {
			font-size: clamp(1.9rem, 4vw, 3.05rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.06;
			margin: .6rem 0;
		}
		.festival-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 860px;
		}
		.festival-status {
			color: var(--ald-muted);
			margin: 1rem 0 0;
		}
		.festival-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.festival-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.festival-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.festival-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.festival-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.festival-kpi__label {
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.festival-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.15rem, 2.1vw, 1.6rem);
			font-weight: 850;
			line-height: 1.12;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.festival-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.festival-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(54vh, 430px);
			min-height: 320px;
			overflow: hidden;
			width: 100%;
		}
		.festival-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.festival-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.festival-list strong {
			color: var(--ald-pink);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.festival-list span {
			display: block;
			line-height: 1.35;
			margin-top: .2rem;
			overflow-wrap: anywhere;
		}
		.festival-link {
			background: var(--ald-pink);
			border-radius: 6px;
			color: #fff !important;
			display: inline-block;
			font-weight: 850;
			margin-top: .75rem;
			padding: .55rem .8rem;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.festival-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.festival-kpis,
			.festival-list { grid-template-columns: 1fr; }
			.festival-map { min-height: 300px; }
		}

/* squelettes/hauteur-riviere.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #ffcd14;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.station-water {
			color: var(--ald-ink);
		}
		.station-hero {
			padding: 1.5rem 0;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.station-hero h1 {
			margin: 0;
			font-size: clamp(1.9rem, 4vw, 3rem);
			line-height: 1.1;
			letter-spacing: 0;
		}
		.station-hero__meta {
			margin: .75rem 0 0;
			color: var(--ald-muted);
			font-size: 1rem;
		}
		.station-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.station-panel {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
			overflow: hidden;
		}
		.station-panel__head {
			padding: .85rem 1rem;
			background: var(--ald-pink);
			color: #fff;
			font-weight: 800;
		}
		.station-panel__body {
			padding: 1rem;
		}
		.station-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem 1rem;
			margin: 0;
		}
		.station-list dt {
			color: var(--ald-muted);
			font-size: .82rem;
			font-weight: 700;
		}
		.station-list dd {
			margin: .2rem 0 0;
			font-weight: 700;
		}
		.station-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1rem 0 1.5rem;
		}
		.station-kpi {
			min-height: 116px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.station-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .84rem;
			font-weight: 700;
		}
		.station-kpi__value {
			margin: .35rem 0;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.75rem;
			font-weight: 800;
			line-height: 1;
		}
		.station-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.station-map {
			width: 100%;
			height: 100%;
			min-height: 360px;
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.station-gauge {
			position: relative;
			max-width: 520px;
			margin: 1.25rem auto 2rem;
			text-align: center;
		}
		.station-gauge canvas {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 2 / 1;
		}
		.station-gauge__arc-label {
			position: absolute;
			z-index: 1;
			padding: .18rem .35rem;
			border-radius: 4px;
			background: rgba(255,255,255,.88);
			color: var(--arc-color, var(--ald-ink));
			font-size: .78rem;
			font-weight: 800;
			line-height: 1;
			box-shadow: 0 2px 8px rgba(23,32,51,.08);
		}
		.station-gauge__arc-label--min {
			left: 13%;
			top: 52%;
		}
		.station-gauge__arc-label--low {
			left: 43%;
			top: 13%;
			transform: translateX(-100%);
		}
		.station-gauge__arc-label--high {
			left: 57%;
			top: 13%;
		}
		.station-gauge__arc-label--max {
			right: 13%;
			top: 52%;
		}
		.station-gauge__value {
			margin-top: -.4rem;
			font-size: clamp(2rem, 6vw, 3.3rem);
			font-weight: 800;
			color: var(--gauge-color, var(--ald-pink));
		}
		.station-gauge__scale {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .75rem;
			max-width: 620px;
			margin: .75rem auto 0;
		}
		.station-gauge__scale-item {
			padding: .7rem .75rem;
			border: 1px solid var(--ald-border);
			border-top: 3px solid var(--scale-color);
			border-radius: 8px;
			background: var(--ald-soft);
			text-align: left;
		}
		.station-gauge__scale-label {
			display: block;
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 700;
		}
		.station-gauge__scale-value {
			display: block;
			margin-top: .2rem;
			color: var(--scale-color);
			font-size: 1.1rem;
			font-weight: 800;
		}
		.station-gauge__note {
			margin: .85rem auto 0;
			max-width: 620px;
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
		}
		.station-chart {
			margin: 2rem 0;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
		}
		.station-chart h2 {
			margin: 0 0 1rem;
			font-size: 1.35rem;
			font-weight: 800;
		}
		@media (max-width: 991px) {
			.station-grid,
			.station-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.station-map {
				min-height: 340px;
			}
		}
		@media (max-width: 575px) {
			.station-grid,
			.station-kpis,
			.station-list,
			.station-gauge__scale {
				grid-template-columns: 1fr;
			}
		}

/* squelettes/hotel.html */
:root {
			--hotel-pink: deeppink;
			--hotel-green: #75b30e;
			--hotel-yellow: #f5b82e;
			--hotel-red: #d7263d;
			--hotel-ink: #172033;
			--hotel-muted: #657084;
			--hotel-soft: #f6f8fb;
			--hotel-border: #e7ebf1;
		}
		body {
			background: #fbfcfb;
			color: var(--hotel-ink);
		}
		.bg-dark { background-color: var(--hotel-pink)!important; }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: #111827; background: none; }
		.hotel-detail {
			padding-bottom: 3rem;
		}
		.hotel-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1rem;
			align-items: end;
			margin: 1.5rem 0 1.25rem;
		}
		.hotel-eyebrow {
			display: inline-flex;
			min-height: 30px;
			align-items: center;
			padding: .25rem .65rem;
			border-radius: 999px;
			background: #fff0fa;
			color: var(--hotel-pink);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.hotel-hero h1 {
			margin: .75rem 0 .5rem;
			font-size: clamp(2rem, 4vw, 3.35rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
		}
		.hotel-hero p {
			max-width: 780px;
			margin: 0;
			color: var(--hotel-muted);
			font-size: 1.05rem;
		}
		.hotel-back {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 40px;
			padding: .55rem .9rem;
			border-radius: 6px;
			background: var(--hotel-pink);
			color: #fff !important;
			font-weight: 850;
		}
		.hotel-back:hover {
			background: #b91587;
			color: #fff !important;
			text-decoration: none;
		}
		.hotel-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin-bottom: 1.25rem;
		}
		.hotel-kpi,
		.hotel-panel {
			background: #fff;
			border: 1px solid var(--hotel-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.hotel-kpi {
			min-height: 112px;
			padding: 1rem;
			border-top: 4px solid var(--kpi-color, var(--hotel-pink));
		}
		.hotel-kpi__label {
			display: block;
			color: var(--hotel-muted);
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.hotel-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--kpi-color, var(--hotel-pink));
			font-size: clamp(1.35rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.hotel-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
			gap: 1rem;
			align-items: start;
		}
		.hotel-panel {
			overflow: hidden;
		}
		.hotel-panel__head {
			padding: .9rem 1rem;
			background: var(--hotel-pink);
			color: #fff;
		}
		.hotel-panel__head h2 {
			margin: 0;
			font-size: 1.05rem;
			font-weight: 850;
		}
		.hotel-panel__body {
			padding: 1rem;
		}
		.hotel-facts {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem;
		}
		.hotel-fact {
			padding: .85rem;
			border: 1px solid var(--hotel-border);
			border-radius: 8px;
			background: #fff;
		}
		.hotel-fact span {
			display: block;
			color: var(--hotel-muted);
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.hotel-fact strong {
			display: block;
			margin-top: .3rem;
			font-size: 1rem;
			line-height: 1.25;
		}
		.hotel-gauge {
			margin-top: 1rem;
		}
		.hotel-gauge__labels {
			display: flex;
			justify-content: space-between;
			gap: 1rem;
			color: var(--hotel-muted);
			font-size: .86rem;
			font-weight: 800;
		}
		.hotel-gauge__title {
			display: block;
			color: var(--hotel-ink);
			font-size: 1rem;
			font-weight: 850;
			margin-bottom: .2rem;
		}
		.hotel-gauge__track {
			position: relative;
			height: 26px;
			margin: 1rem 0 .55rem;
			border-radius: 999px;
			background: linear-gradient(90deg, var(--hotel-green) 0 25%, var(--hotel-yellow) 25% 75%, var(--hotel-pink) 75% 100%);
			box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .08);
		}
		.hotel-gauge__marker {
			position: absolute;
			top: -8px;
			left: var(--marker, 0%);
			width: 4px;
			height: 42px;
			border-radius: 999px;
			background: #111827;
			transform: translateX(-50%);
		}
		.hotel-gauge__marker::after {
			content: attr(data-value);
			position: absolute;
			left: 50%;
			top: -28px;
			transform: translateX(-50%);
			padding: .18rem .45rem;
			border-radius: 999px;
			background: #111827;
			color: #fff;
			font-size: .78rem;
			white-space: nowrap;
		}
		.hotel-gauge__zones {
			display: grid;
			grid-template-columns: 1fr 2fr 1fr;
			gap: .35rem;
			margin-bottom: .9rem;
			color: var(--hotel-muted);
			font-size: .78rem;
			font-weight: 800;
			line-height: 1.2;
		}
		.hotel-gauge__zone {
			display: flex;
			align-items: center;
			gap: .35rem;
			min-width: 0;
		}
		.hotel-gauge__zone:nth-child(2) {
			justify-content: center;
		}
		.hotel-gauge__zone:nth-child(3) {
			justify-content: flex-end;
			text-align: right;
		}
		.hotel-gauge__dot {
			display: inline-block;
			flex: 0 0 10px;
			width: 10px;
			height: 10px;
			border-radius: 999px;
			background: var(--dot-color);
		}
		.hotel-gauge__stats {
			display: grid;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			gap: .5rem;
			margin-top: .8rem;
		}
		.hotel-gauge__stat {
			padding: .55rem;
			border: 1px solid var(--hotel-border);
			border-radius: 8px;
			background: var(--hotel-soft);
		}
		.hotel-gauge__stat span {
			display: block;
			color: var(--hotel-muted);
			font-size: .72rem;
			font-weight: 800;
			text-transform: uppercase;
		}
		.hotel-gauge__stat strong {
			display: block;
			margin-top: .15rem;
			font-size: .95rem;
		}
		.hotel-gauge__note {
			margin: 1rem 0 0;
			padding: .8rem;
			border-radius: 8px;
			background: var(--hotel-soft);
			color: var(--hotel-muted);
			font-size: .92rem;
		}
		#map {
			width: 100%;
			height: min(58vh, 520px);
			min-height: 360px;
		}
		@media (max-width: 991.98px) {
			.hotel-kpis,
			.hotel-grid,
			.hotel-hero {
				grid-template-columns: 1fr;
			}
			.hotel-gauge__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.hotel-kpis,
			.hotel-facts {
				grid-template-columns: 1fr;
			}
			.hotel-gauge__labels,
			.hotel-gauge__zones {
				display: block;
			}
			.hotel-gauge__zone {
				margin-bottom: .35rem;
			}
			.hotel-gauge__zone:nth-child(2),
			.hotel-gauge__zone:nth-child(3) {
				justify-content: flex-start;
				text-align: left;
			}
			.hotel-gauge__stats { grid-template-columns: 1fr; }
			#map {
				height: 58vh;
				min-height: 330px;
			}
		}

/* squelettes/lycee.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-purple: #7048e8;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.lycee-detail { color: var(--ald-ink); }
		.lycee-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.lycee-hero h1 {
			font-size: clamp(1.9rem, 4vw, 3.05rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.06;
			margin: .6rem 0;
		}
		.lycee-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 860px;
		}
		.lycee-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.lycee-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.lycee-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.lycee-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.lycee-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.lycee-kpi__label {
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.lycee-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.85rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.lycee-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.lycee-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(54vh, 430px);
			min-height: 320px;
			overflow: hidden;
			width: 100%;
		}
		.lycee-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.lycee-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.lycee-list strong {
			color: var(--ald-pink);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.lycee-list span {
			display: block;
			line-height: 1.35;
			margin-top: .2rem;
		}
		.lycee-status {
			color: var(--ald-muted);
			margin: 1rem 0 0;
		}
		@media (max-width: 991.98px) {
			.lycee-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.lycee-kpis,
			.lycee-list { grid-template-columns: 1fr; }
			.lycee-map { min-height: 300px; }
		}

/* squelettes/lycee2.html */
:root {
			--ly-primary: #2563eb;
			--ly-primary-dark: #1e40af;
			--ly-private: #7c3aed;
			--ly-public: #0f766e;
			--ly-ink: #172033;
			--ly-muted: #64748b;
			--ly-soft: #eff6ff;
			--ly-border: #dbe7fb;
		}
		body { background: #fbfcff; color: var(--ly-ink); }
		.bg-dark { background-color: var(--ly-primary-dark)!important; }
		a, a:visited { color: var(--ly-primary-dark); }
		a:hover { color: #111827; background: none; }
		.lycee2-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ly-soft) 100%);
			border-bottom: 1px solid var(--ly-border);
			padding: 1.4rem 0 1.2rem;
		}
		.lycee2-hero h1 {
			font-size: clamp(2rem, 4vw, 3.2rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.05;
			margin: .7rem 0 .5rem;
		}
		.lycee2-hero__text {
			color: var(--ly-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 860px;
		}
		.lycee2-status { color: var(--ly-muted); margin: .85rem 0 0; }
		.lycee2-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
			margin: 1.4rem 0;
		}
		.lycee2-card {
			background: #fff;
			border: 1px solid var(--ly-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
			padding: 1rem;
		}
		.lycee2-card h2 {
			font-size: 1.15rem;
			font-weight: 850;
			margin: 0 0 .85rem;
		}
		.lycee2-kpis {
			display: grid;
			gap: .8rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.2rem 0;
		}
		.lycee2-kpi {
			background: #fff;
			border: 1px solid var(--ly-border);
			border-radius: 8px;
			min-height: 105px;
			padding: .95rem;
			box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
		}
		.lycee2-kpi span {
			color: var(--ly-muted);
			display: block;
			font-size: .76rem;
			font-weight: 800;
			letter-spacing: .04em;
			text-transform: uppercase;
		}
		.lycee2-kpi strong {
			color: var(--ly-primary-dark);
			display: block;
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.1;
			margin-top: .4rem;
			overflow-wrap: anywhere;
		}
		.lycee2-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.lycee2-list li {
			background: #f8fbff;
			border: 1px solid var(--ly-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.lycee2-list strong {
			color: var(--ly-primary-dark);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.lycee2-list span { display: block; line-height: 1.35; margin-top: .2rem; }
		.lycee2-map {
			border: 1px solid var(--ly-border);
			border-radius: 8px;
			height: min(56vh, 470px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		@media (max-width: 991.98px) {
			.lycee2-grid { grid-template-columns: 1fr; }
			.lycee2-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.lycee2-kpis,
			.lycee2-list { grid-template-columns: 1fr; }
			.lycee2-map { min-height: 300px; }
		}

/* squelettes/monument-historique.html */
:root {
			--mh-primary: #c026d3;
			--mh-primary-dark: #86198f;
			--mh-classed: #7c3aed;
			--mh-listed: #db2777;
			--mh-mixed: #f59e0b;
			--mh-muted: #64748b;
			--mh-ink: #172033;
			--mh-soft: #f7edf8;
		}
		body {
			background: #fbfafc;
			color: var(--mh-ink);
		}
		a,
		a:visited {
			color: var(--mh-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--mh-primary-dark) !important;
		}
		.mh-detail {
			padding-bottom: 3rem;
		}
		.mh-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1rem;
			align-items: start;
			padding: 1.4rem 0 1rem;
		}
		.mh-eyebrow {
			margin-bottom: .55rem;
			color: var(--mh-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			letter-spacing: .06em;
			text-transform: uppercase;
		}
		.mh-hero h1 {
			margin: 0;
			font-size: clamp(2.1rem, 4.5vw, 4rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.02;
		}
		.mh-hero__intro {
			max-width: 820px;
			margin: .9rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.mh-status {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 42px;
			padding: .45rem .85rem;
			border-radius: 999px;
			background: var(--mh-primary);
			color: #fff;
			font-weight: 850;
			white-space: nowrap;
		}
		.mh-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.mh-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(30, 41, 59, .06);
		}
		.mh-kpi__label {
			display: block;
			color: #64748b;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.mh-kpi__value {
			display: block;
			margin-top: .4rem;
			color: var(--mh-primary-dark);
			font-size: clamp(1.2rem, 2.2vw, 1.75rem);
			font-weight: 850;
			line-height: 1.15;
		}
		.mh-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
			gap: 1rem;
			align-items: start;
		}
		.mh-card {
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(30, 41, 59, .06);
		}
		.mh-card + .mh-card {
			margin-top: 1rem;
		}
		.mh-card__head {
			padding: 1rem 1.1rem;
			border-bottom: 1px solid #ead8ef;
		}
		.mh-card__head h2 {
			margin: 0;
			font-size: 1.2rem;
			font-weight: 850;
		}
		.mh-card__body {
			padding: 1rem 1.1rem;
		}
		.mh-definition {
			display: grid;
			grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
			gap: .75rem 1rem;
			margin: 0;
		}
		.mh-definition dt {
			color: #64748b;
			font-weight: 800;
		}
		.mh-definition dd {
			margin: 0;
			color: var(--mh-ink);
		}
		.mh-text {
			color: #334155;
			line-height: 1.65;
		}
		.mh-links {
			display: flex;
			flex-wrap: wrap;
			gap: .6rem;
			margin-top: .75rem;
		}
		.mh-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 40px;
			padding: .45rem .8rem;
			border-radius: 6px;
			background: var(--mh-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.mh-btn:hover {
			background: var(--mh-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.mh-map-card {
			position: sticky;
			top: 1rem;
			overflow: hidden;
		}
		#map {
			width: 100%;
			height: min(62vh, 560px);
			min-height: 380px;
		}
		.mh-map-note {
			padding: .85rem 1rem;
			border-top: 1px solid #ead8ef;
			color: #64748b;
			font-size: .92rem;
		}
		.mh-empty {
			padding: 1rem;
			color: #64748b;
		}
		@media (max-width: 991.98px) {
			.mh-hero,
			.mh-grid {
				grid-template-columns: 1fr;
			}
			.mh-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.mh-map-card {
				position: static;
			}
		}
		@media (max-width: 575.98px) {
			.mh-kpis {
				grid-template-columns: 1fr;
			}
			.mh-definition {
				grid-template-columns: 1fr;
				gap: .2rem;
			}
			.mh-status {
				width: 100%;
			}
			#map {
				height: 56vh;
				min-height: 340px;
			}
		}

/* squelettes/nb-beneficiaire-allocation-rentree-scolaire-aveyron-2023.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.ars-detail { color: var(--ald-ink); }
		.ars-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.ars-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.ars-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.ars-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.ars-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.ars-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.ars-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.ars-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.ars-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.ars-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.ars-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.ars-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(54vh, 430px);
			min-height: 320px;
			overflow: hidden;
			width: 100%;
		}
		.ars-gauge {
			--gauge-color: var(--ald-blue);
			--gauge-angle: -180deg;
			--low-angle: 45deg;
			--average-angle: 90deg;
			--high-angle: 135deg;
			align-items: center;
			display: flex;
			justify-content: center;
			min-height: 330px;
			position: relative;
		}
		.ars-gauge__arc {
			aspect-ratio: 2 / 1;
			background:
				radial-gradient(circle at 50% 100%, #fff 0 50%, transparent 51%),
				conic-gradient(
					from 270deg at 50% 100%,
					var(--ald-green) 0deg var(--low-angle),
					var(--ald-orange) var(--low-angle) var(--average-angle),
					var(--ald-deep) var(--average-angle) var(--high-angle),
					var(--ald-red) var(--high-angle) 180deg,
					transparent 180deg 360deg
				);
			border-radius: 260px 260px 0 0;
			max-width: 520px;
			position: relative;
			width: 100%;
		}
		.ars-gauge__needle {
			background: var(--ald-ink);
			border-radius: 999px;
			bottom: 0;
			height: 4px;
			left: 50%;
			position: absolute;
			transform: rotate(var(--gauge-angle));
			transform-origin: left center;
			width: 45%;
		}
		.ars-gauge__hub {
			background: var(--ald-ink);
			border: 4px solid #fff;
			border-radius: 999px;
			bottom: -8px;
			box-shadow: 0 2px 10px rgba(17, 24, 39, .25);
			height: 22px;
			left: calc(50% - 11px);
			position: absolute;
			width: 22px;
		}
		.ars-gauge__value {
			bottom: 26px;
			color: var(--gauge-color);
			font-size: clamp(1.4rem, 4vw, 2.4rem);
			font-weight: 900;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.ars-gauge__label {
			bottom: -4px;
			color: var(--ald-muted);
			font-size: .86rem;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.ars-gauge__ticks {
			bottom: -58px;
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 700;
			left: 0;
			position: absolute;
			right: 0;
		}
		.ars-gauge__tick {
			position: absolute;
			text-align: center;
			transform: translateX(-50%);
			white-space: nowrap;
		}
		.ars-gauge__tick::before {
			background: currentColor;
			content: "";
			display: block;
			height: 8px;
			margin: 0 auto 4px;
			width: 1px;
		}
		.ars-gauge__legend {
			display: grid;
			gap: .4rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			margin-top: 1.25rem;
		}
		.ars-gauge__legend span {
			align-items: center;
			color: var(--ald-muted);
			display: flex;
			font-size: .82rem;
			gap: .45rem;
		}
		.ars-gauge__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 10px;
			width: 18px;
		}
		.ars-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.ars-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.ars-list strong {
			color: var(--ald-deep);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.ars-chart {
			display: block;
			height: clamp(190px, 32vh, 260px) !important;
			width: 100%;
		}
		@media (max-width: 991.98px) {
			.ars-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.ars-kpis,
			.ars-list { grid-template-columns: 1fr; }
			.ars-map { min-height: 300px; }
			.ars-gauge { min-height: 300px; }
			.ars-gauge__legend { grid-template-columns: 1fr; }
			.ars-chart { height: 190px !important; }
		}

/* squelettes/nb-beneficiaire-allocation-rentree-scolaire-aveyron.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.ars-detail { color: var(--ald-ink); }
		.ars-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.ars-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.ars-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.ars-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.ars-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.ars-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.ars-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.ars-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.ars-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.ars-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.ars-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.ars-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(54vh, 430px);
			min-height: 320px;
			overflow: hidden;
			width: 100%;
		}
		.ars-gauge {
			--gauge-color: var(--ald-blue);
			--gauge-angle: -180deg;
			--low-angle: 45deg;
			--average-angle: 90deg;
			--high-angle: 135deg;
			align-items: center;
			display: flex;
			justify-content: center;
			min-height: 330px;
			position: relative;
		}
		.ars-gauge__arc {
			aspect-ratio: 2 / 1;
			background:
				radial-gradient(circle at 50% 100%, #fff 0 50%, transparent 51%),
				conic-gradient(
					from 270deg at 50% 100%,
					var(--ald-green) 0deg var(--low-angle),
					var(--ald-orange) var(--low-angle) var(--average-angle),
					var(--ald-deep) var(--average-angle) var(--high-angle),
					var(--ald-red) var(--high-angle) 180deg,
					transparent 180deg 360deg
				);
			border-radius: 260px 260px 0 0;
			max-width: 520px;
			position: relative;
			width: 100%;
		}
		.ars-gauge__needle {
			background: var(--ald-ink);
			border-radius: 999px;
			bottom: 0;
			height: 4px;
			left: 50%;
			position: absolute;
			transform: rotate(var(--gauge-angle));
			transform-origin: left center;
			width: 45%;
		}
		.ars-gauge__hub {
			background: var(--ald-ink);
			border: 4px solid #fff;
			border-radius: 999px;
			bottom: -8px;
			box-shadow: 0 2px 10px rgba(17, 24, 39, .25);
			height: 22px;
			left: calc(50% - 11px);
			position: absolute;
			width: 22px;
		}
		.ars-gauge__value {
			bottom: 26px;
			color: var(--gauge-color);
			font-size: clamp(1.4rem, 4vw, 2.4rem);
			font-weight: 900;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.ars-gauge__label {
			bottom: -4px;
			color: var(--ald-muted);
			font-size: .86rem;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.ars-gauge__ticks {
			bottom: -58px;
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 700;
			left: 0;
			position: absolute;
			right: 0;
		}
		.ars-gauge__tick {
			position: absolute;
			text-align: center;
			transform: translateX(-50%);
			white-space: nowrap;
		}
		.ars-gauge__tick::before {
			background: currentColor;
			content: "";
			display: block;
			height: 8px;
			margin: 0 auto 4px;
			width: 1px;
		}
		.ars-gauge__legend {
			display: grid;
			gap: .4rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			margin-top: 1.25rem;
		}
		.ars-gauge__legend span {
			align-items: center;
			color: var(--ald-muted);
			display: flex;
			font-size: .82rem;
			gap: .45rem;
		}
		.ars-gauge__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 10px;
			width: 18px;
		}
		.ars-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.ars-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.ars-list strong {
			color: var(--ald-deep);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.ars-chart {
			display: block;
			height: clamp(190px, 32vh, 260px) !important;
			width: 100%;
		}
		@media (max-width: 991.98px) {
			.ars-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.ars-kpis,
			.ars-list { grid-template-columns: 1fr; }
			.ars-map { min-height: 300px; }
			.ars-gauge { min-height: 300px; }
			.ars-gauge__legend { grid-template-columns: 1fr; }
			.ars-chart { height: 190px !important; }
		}

/* squelettes/nb-beneficiaire-rsa-aveyron-2023.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.rsa-detail { color: var(--ald-ink); }
		.rsa-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.rsa-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.rsa-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.rsa-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.rsa-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.rsa-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.rsa-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.rsa-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.rsa-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.rsa-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.rsa-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.rsa-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(54vh, 430px);
			min-height: 320px;
			overflow: hidden;
			width: 100%;
		}
		.rsa-gauge {
			--gauge-color: var(--ald-blue);
			--gauge-angle: -180deg;
			--low-angle: 45deg;
			--average-angle: 90deg;
			--high-angle: 135deg;
			align-items: center;
			display: flex;
			justify-content: center;
			min-height: 330px;
			position: relative;
		}
		.rsa-gauge__arc {
			aspect-ratio: 2 / 1;
			background:
				radial-gradient(circle at 50% 100%, #fff 0 50%, transparent 51%),
				conic-gradient(
					from 270deg at 50% 100%,
					var(--ald-green) 0deg var(--low-angle),
					var(--ald-orange) var(--low-angle) var(--average-angle),
					var(--ald-deep) var(--average-angle) var(--high-angle),
					var(--ald-red) var(--high-angle) 180deg,
					transparent 180deg 360deg
				);
			border-radius: 260px 260px 0 0;
			max-width: 520px;
			position: relative;
			width: 100%;
		}
		.rsa-gauge__needle {
			background: var(--ald-ink);
			border-radius: 999px;
			bottom: 0;
			height: 4px;
			left: 50%;
			position: absolute;
			transform: rotate(var(--gauge-angle));
			transform-origin: left center;
			width: 45%;
		}
		.rsa-gauge__hub {
			background: var(--ald-ink);
			border: 4px solid #fff;
			border-radius: 999px;
			bottom: -8px;
			box-shadow: 0 2px 10px rgba(17, 24, 39, .25);
			height: 22px;
			left: calc(50% - 11px);
			position: absolute;
			width: 22px;
		}
		.rsa-gauge__value {
			bottom: 26px;
			color: var(--gauge-color);
			font-size: clamp(1.4rem, 4vw, 2.4rem);
			font-weight: 900;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.rsa-gauge__label {
			bottom: -4px;
			color: var(--ald-muted);
			font-size: .86rem;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.rsa-gauge__ticks {
			bottom: -58px;
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 700;
			left: 0;
			position: absolute;
			right: 0;
		}
		.rsa-gauge__tick {
			position: absolute;
			text-align: center;
			transform: translateX(-50%);
			white-space: nowrap;
		}
		.rsa-gauge__tick::before {
			background: currentColor;
			content: "";
			display: block;
			height: 8px;
			margin: 0 auto 4px;
			width: 1px;
		}
		.rsa-gauge__legend {
			display: grid;
			gap: .4rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			margin-top: 1.25rem;
		}
		.rsa-gauge__legend span {
			align-items: center;
			color: var(--ald-muted);
			display: flex;
			font-size: .82rem;
			gap: .45rem;
		}
		.rsa-gauge__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 10px;
			width: 18px;
		}
		.rsa-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.rsa-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.rsa-list strong {
			color: var(--ald-deep);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.rsa-chart {
			display: block;
			height: clamp(190px, 32vh, 260px) !important;
			width: 100%;
		}
		@media (max-width: 991.98px) {
			.rsa-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.rsa-kpis,
			.rsa-list { grid-template-columns: 1fr; }
			.rsa-map { min-height: 300px; }
			.rsa-gauge { min-height: 300px; }
			.rsa-gauge__legend { grid-template-columns: 1fr; }
			.rsa-chart { height: 190px !important; }
		}

/* squelettes/nb-beneficiaire-rsa-aveyron-2024.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.rsa-detail { color: var(--ald-ink); }
		.rsa-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.rsa-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.rsa-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.rsa-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.rsa-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.rsa-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.rsa-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.rsa-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.rsa-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.rsa-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.rsa-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.rsa-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(54vh, 430px);
			min-height: 320px;
			overflow: hidden;
			width: 100%;
		}
		.rsa-gauge {
			--gauge-color: var(--ald-blue);
			--gauge-angle: -180deg;
			--low-angle: 45deg;
			--average-angle: 90deg;
			--high-angle: 135deg;
			align-items: center;
			display: flex;
			justify-content: center;
			min-height: 330px;
			position: relative;
		}
		.rsa-gauge__arc {
			aspect-ratio: 2 / 1;
			background:
				radial-gradient(circle at 50% 100%, #fff 0 50%, transparent 51%),
				conic-gradient(
					from 270deg at 50% 100%,
					var(--ald-green) 0deg var(--low-angle),
					var(--ald-orange) var(--low-angle) var(--average-angle),
					var(--ald-deep) var(--average-angle) var(--high-angle),
					var(--ald-red) var(--high-angle) 180deg,
					transparent 180deg 360deg
				);
			border-radius: 260px 260px 0 0;
			max-width: 520px;
			position: relative;
			width: 100%;
		}
		.rsa-gauge__needle {
			background: var(--ald-ink);
			border-radius: 999px;
			bottom: 0;
			height: 4px;
			left: 50%;
			position: absolute;
			transform: rotate(var(--gauge-angle));
			transform-origin: left center;
			width: 45%;
		}
		.rsa-gauge__hub {
			background: var(--ald-ink);
			border: 4px solid #fff;
			border-radius: 999px;
			bottom: -8px;
			box-shadow: 0 2px 10px rgba(17, 24, 39, .25);
			height: 22px;
			left: calc(50% - 11px);
			position: absolute;
			width: 22px;
		}
		.rsa-gauge__value {
			bottom: 26px;
			color: var(--gauge-color);
			font-size: clamp(1.4rem, 4vw, 2.4rem);
			font-weight: 900;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.rsa-gauge__label {
			bottom: -4px;
			color: var(--ald-muted);
			font-size: .86rem;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.rsa-gauge__ticks {
			bottom: -58px;
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 700;
			left: 0;
			position: absolute;
			right: 0;
		}
		.rsa-gauge__tick {
			position: absolute;
			text-align: center;
			transform: translateX(-50%);
			white-space: nowrap;
		}
		.rsa-gauge__tick::before {
			background: currentColor;
			content: "";
			display: block;
			height: 8px;
			margin: 0 auto 4px;
			width: 1px;
		}
		.rsa-gauge__legend {
			display: grid;
			gap: .4rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			margin-top: 1.25rem;
		}
		.rsa-gauge__legend span {
			align-items: center;
			color: var(--ald-muted);
			display: flex;
			font-size: .82rem;
			gap: .45rem;
		}
		.rsa-gauge__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 10px;
			width: 18px;
		}
		.rsa-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.rsa-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.rsa-list strong {
			color: var(--ald-deep);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.rsa-chart {
			display: block;
			height: clamp(190px, 32vh, 260px) !important;
			width: 100%;
		}
		@media (max-width: 991.98px) {
			.rsa-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.rsa-kpis,
			.rsa-list { grid-template-columns: 1fr; }
			.rsa-map { min-height: 300px; }
			.rsa-gauge { min-height: 300px; }
			.rsa-gauge__legend { grid-template-columns: 1fr; }
			.rsa-chart { height: 190px !important; }
		}

/* squelettes/nb-beneficiaire-rsa-aveyron.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.rsa-detail { color: var(--ald-ink); }
		.rsa-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.rsa-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.rsa-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.rsa-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.rsa-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.rsa-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.rsa-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.rsa-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.rsa-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.rsa-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.rsa-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.rsa-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(54vh, 430px);
			min-height: 320px;
			overflow: hidden;
			width: 100%;
		}
		.rsa-gauge {
			--gauge-color: var(--ald-blue);
			--gauge-angle: -180deg;
			--low-angle: 45deg;
			--average-angle: 90deg;
			--high-angle: 135deg;
			align-items: center;
			display: flex;
			justify-content: center;
			min-height: 330px;
			position: relative;
		}
		.rsa-gauge__arc {
			aspect-ratio: 2 / 1;
			background:
				radial-gradient(circle at 50% 100%, #fff 0 50%, transparent 51%),
				conic-gradient(
					from 270deg at 50% 100%,
					var(--ald-green) 0deg var(--low-angle),
					var(--ald-orange) var(--low-angle) var(--average-angle),
					var(--ald-deep) var(--average-angle) var(--high-angle),
					var(--ald-red) var(--high-angle) 180deg,
					transparent 180deg 360deg
				);
			border-radius: 260px 260px 0 0;
			max-width: 520px;
			position: relative;
			width: 100%;
		}
		.rsa-gauge__needle {
			background: var(--ald-ink);
			border-radius: 999px;
			bottom: 0;
			height: 4px;
			left: 50%;
			position: absolute;
			transform: rotate(var(--gauge-angle));
			transform-origin: left center;
			width: 45%;
		}
		.rsa-gauge__hub {
			background: var(--ald-ink);
			border: 4px solid #fff;
			border-radius: 999px;
			bottom: -8px;
			box-shadow: 0 2px 10px rgba(17, 24, 39, .25);
			height: 22px;
			left: calc(50% - 11px);
			position: absolute;
			width: 22px;
		}
		.rsa-gauge__value {
			bottom: 26px;
			color: var(--gauge-color);
			font-size: clamp(1.4rem, 4vw, 2.4rem);
			font-weight: 900;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.rsa-gauge__label {
			bottom: -4px;
			color: var(--ald-muted);
			font-size: .86rem;
			left: 0;
			position: absolute;
			right: 0;
			text-align: center;
		}
		.rsa-gauge__ticks {
			bottom: -58px;
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 700;
			left: 0;
			position: absolute;
			right: 0;
		}
		.rsa-gauge__tick {
			position: absolute;
			text-align: center;
			transform: translateX(-50%);
			white-space: nowrap;
		}
		.rsa-gauge__tick::before {
			background: currentColor;
			content: "";
			display: block;
			height: 8px;
			margin: 0 auto 4px;
			width: 1px;
		}
		.rsa-gauge__legend {
			display: grid;
			gap: .4rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			margin-top: 1.25rem;
		}
		.rsa-gauge__legend span {
			align-items: center;
			color: var(--ald-muted);
			display: flex;
			font-size: .82rem;
			gap: .45rem;
		}
		.rsa-gauge__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 10px;
			width: 18px;
		}
		.rsa-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.rsa-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.rsa-list strong {
			color: var(--ald-deep);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.rsa-chart {
			display: block;
			height: clamp(190px, 32vh, 260px) !important;
			width: 100%;
		}
		@media (max-width: 991.98px) {
			.rsa-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.rsa-kpis,
			.rsa-list { grid-template-columns: 1fr; }
			.rsa-map { min-height: 300px; }
			.rsa-gauge { min-height: 300px; }
			.rsa-gauge__legend { grid-template-columns: 1fr; }
			.rsa-chart { height: 190px !important; }
		}

/* squelettes/nitrates-eau.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-orange: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.station-nitrates { color: var(--ald-ink); }
		.station-hero {
			padding: 1.5rem 0;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.station-hero h1 {
			margin: 0;
			font-size: clamp(1.9rem, 4vw, 3rem);
			line-height: 1.1;
			letter-spacing: 0;
		}
		.station-hero__meta {
			margin: .75rem 0 0;
			color: var(--ald-muted);
			font-size: 1rem;
		}
		.station-alert {
			margin: 1.25rem 0 0;
			padding: 1rem;
			border: 1px solid color-mix(in srgb, var(--ald-blue), #fff 55%);
			border-left: 5px solid var(--fresh-color, var(--ald-blue));
			border-radius: 8px;
			background: #eef6ff;
			color: #17365d;
			line-height: 1.45;
		}
		.station-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.station-panel {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
			overflow: hidden;
		}
		.station-panel__head {
			padding: .85rem 1rem;
			background: var(--ald-pink);
			color: #fff;
			font-weight: 800;
		}
		.station-panel__body { padding: 1rem; }
		.station-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem 1rem;
			margin: 0;
		}
		.station-list dt {
			color: var(--ald-muted);
			font-size: .82rem;
			font-weight: 700;
		}
		.station-list dd {
			margin: .2rem 0 0;
			font-weight: 700;
		}
		.station-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1rem 0 1.5rem;
		}
		.station-kpi {
			min-height: 116px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.station-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .84rem;
			font-weight: 700;
		}
		.station-kpi__value {
			margin: .35rem 0;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.75rem;
			font-weight: 800;
			line-height: 1;
		}
		.station-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.station-map {
			width: 100%;
			height: 100%;
			min-height: 360px;
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.station-gauge {
			position: relative;
			max-width: 520px;
			margin: 1.25rem auto 2rem;
			text-align: center;
		}
		.station-gauge canvas {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 2 / 1;
		}
		.station-gauge__arc-label {
			position: absolute;
			z-index: 1;
			padding: .18rem .35rem;
			border-radius: 4px;
			background: rgba(255,255,255,.88);
			color: var(--arc-color, var(--ald-ink));
			font-size: .78rem;
			font-weight: 800;
			line-height: 1;
			box-shadow: 0 2px 8px rgba(23,32,51,.08);
		}
		.station-gauge__arc-label--min { left: 13%; top: 52%; }
		.station-gauge__arc-label--low { left: 32%; top: 14%; transform: translateX(-50%); }
		.station-gauge__arc-label--high { left: 70%; top: 14%; transform: translateX(-50%); }
		.station-gauge__arc-label--max { right: 13%; top: 52%; }
		.station-gauge__value {
			margin-top: -.4rem;
			font-size: clamp(2rem, 6vw, 3.3rem);
			font-weight: 800;
			color: var(--gauge-color, var(--ald-pink));
		}
		.station-gauge__scale {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .75rem;
			max-width: 760px;
			margin: .75rem auto 0;
		}
		.station-gauge__scale-item {
			padding: .7rem .75rem;
			border: 1px solid var(--ald-border);
			border-top: 3px solid var(--scale-color);
			border-radius: 8px;
			background: var(--ald-soft);
			text-align: left;
		}
		.station-gauge__scale-label {
			display: block;
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 700;
		}
		.station-gauge__scale-value {
			display: block;
			margin-top: .2rem;
			color: var(--scale-color);
			font-size: 1.05rem;
			font-weight: 800;
		}
		.station-gauge__note {
			margin: .85rem auto 0;
			max-width: 760px;
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
		}
		.station-chart {
			margin: 2rem 0;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
		}
		.station-chart h2 {
			margin: 0 0 1rem;
			font-size: 1.35rem;
			font-weight: 800;
		}
		@media (max-width: 991px) {
			.station-grid,
			.station-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.station-gauge__scale { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.station-map { min-height: 340px; }
		}
		@media (max-width: 575px) {
			.station-grid,
			.station-kpis,
			.station-list,
			.station-gauge__scale { grid-template-columns: 1fr; }
		}

/* squelettes/observation-truite.html */
:root {
			--trout-primary: #0f766e;
			--trout-primary-dark: #115e59;
			--trout-recent: #067a3e;
			--trout-mid: #f2a900;
			--trout-old: #c05a88;
			--trout-ink: #172033;
			--trout-muted: #64748b;
			--trout-border: #d6e9e2;
			--trout-soft: #eef8f4;
		}
		body {
			background: #fbfdfb;
			color: var(--trout-ink);
		}
		a,
		a:visited {
			color: var(--trout-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--trout-primary-dark) !important;
		}
		.trout-shell {
			padding-bottom: 3rem;
		}
		.trout-back {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 40px;
			margin: .25rem 0 1rem;
			padding: .55rem .9rem;
			border-radius: 6px;
			background: var(--trout-primary);
			color: #fff !important;
			font-weight: 850;
			text-decoration: none;
		}
		.trout-back:hover {
			background: var(--trout-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.trout-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: start;
			margin-bottom: 1rem;
			padding: 1.2rem;
			border: 1px solid var(--trout-border);
			border-radius: 10px;
			background: #fff;
			box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
		}
		.trout-eyebrow {
			display: inline-flex;
			align-items: center;
			min-height: 30px;
			padding: .25rem .65rem;
			border-radius: 999px;
			background: var(--trout-soft);
			color: var(--trout-primary-dark);
			font-size: .8rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.trout-hero h1 {
			margin: .7rem 0 .75rem;
			font-size: clamp(2rem, 4vw, 3.3rem);
			font-weight: 900;
			letter-spacing: 0;
			line-height: 1.04;
		}
		.trout-meta {
			display: flex;
			flex-wrap: wrap;
			gap: .55rem;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.trout-meta li {
			padding: .42rem .65rem;
			border: 1px solid var(--trout-border);
			border-radius: 8px;
			background: #fff;
			color: #475569;
			font-weight: 760;
		}
		.trout-logo {
			max-width: 120px;
			max-height: 120px;
			object-fit: contain;
		}
		.trout-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin-bottom: 1rem;
		}
		.trout-kpi,
		.trout-panel {
			border: 1px solid var(--trout-border);
			border-radius: 10px;
			background: #fff;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.trout-kpi {
			min-height: 108px;
			padding: 1rem;
		}
		.trout-kpi span {
			display: block;
			color: var(--trout-muted);
			font-size: .78rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.trout-kpi strong {
			display: block;
			margin-top: .35rem;
			color: var(--trout-primary-dark);
			font-size: clamp(1.3rem, 2.5vw, 2rem);
			font-weight: 900;
			line-height: 1.08;
		}
		.trout-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
			gap: 1rem;
			align-items: start;
		}
		.trout-panel {
			overflow: hidden;
		}
		.trout-panel h2 {
			margin: 0;
			padding: .9rem 1rem;
			background: var(--trout-primary);
			color: #fff;
			font-size: 1.05rem;
			font-weight: 900;
		}
		.trout-panel__body {
			padding: 1rem;
		}
		.trout-facts {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .75rem;
		}
		.trout-fact {
			padding: .8rem;
			border: 1px solid var(--trout-border);
			border-radius: 8px;
			background: #fff;
		}
		.trout-fact span {
			display: block;
			color: var(--trout-muted);
			font-size: .76rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.trout-fact strong {
			display: block;
			margin-top: .3rem;
			color: var(--trout-ink);
			line-height: 1.28;
		}
		.trout-map {
			width: 100%;
			height: 420px;
			border-radius: 10px;
			background: #f8fafc;
		}
		.trout-related {
			display: grid;
			gap: .55rem;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.trout-related li {
			padding: .7rem;
			border: 1px solid var(--trout-border);
			border-radius: 8px;
			background: #fff;
		}
		.trout-history {
			display: grid;
			gap: .65rem;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.trout-history li {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: .75rem;
			align-items: center;
			padding: .75rem;
			border: 1px solid var(--trout-border);
			border-radius: 8px;
			background: #fff;
		}
		.trout-history strong,
		.trout-history span {
			display: block;
		}
		.trout-history span {
			color: var(--trout-muted);
			font-size: .88rem;
		}
		.trout-history b {
			color: var(--trout-primary-dark);
			font-size: 1.05rem;
		}
		.trout-history__count {
			text-align: right;
		}
		.trout-history__count small {
			display: block;
			color: var(--trout-muted);
			font-size: .72rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.trout-state {
			padding: 1rem;
			border: 1px solid var(--trout-border);
			border-radius: 10px;
			background: #fff;
			color: var(--trout-muted);
		}
		@media (max-width: 991.98px) {
			.trout-hero,
			.trout-grid {
				grid-template-columns: 1fr;
			}
			.trout-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.trout-logo {
				max-width: 95px;
			}
		}
		@media (max-width: 575.98px) {
			.trout-kpis,
			.trout-facts {
				grid-template-columns: 1fr;
			}
			.trout-map {
				height: 340px;
			}
		}

/* squelettes/plan.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		
		.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
color: var(--ald-brand-green); }

/* squelettes/prod-eolien.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.wind-detail { color: var(--ald-ink); }
		.wind-detail__hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.15rem;
		}

		.wind-detail__hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0 .55rem;
		}

		.wind-detail__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.wind-detail__grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
		}

		.wind-kpis {
			display: grid;
			gap: 1rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.25rem 0;
		}

		.wind-kpi,
		.wind-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
		}

		.wind-kpi {
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			padding: 1rem;
		}

		.wind-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: 0;
			margin: 0;
			text-transform: uppercase;
		}

		.wind-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.55rem, 3vw, 2.1rem);
			font-weight: 850;
			line-height: 1;
			margin: .45rem 0 .2rem;
		}

		.wind-kpi__meta {
			color: var(--ald-muted);
			font-size: .85rem;
			line-height: 1.35;
			margin: 0;
		}

		.wind-card {
			margin-bottom: 1rem;
			overflow: hidden;
		}

		.wind-card__title {
			border-bottom: 1px solid var(--ald-border);
			font-size: 1rem;
			font-weight: 850;
			margin: 0;
			padding: 1rem;
		}

		.wind-list {
			list-style: none;
			margin: 0;
			padding: 0;
		}

		.wind-list li {
			display: flex;
			gap: 1rem;
			justify-content: space-between;
			padding: .8rem 1rem;
		}

		.wind-list li + li {
			border-top: 1px solid var(--ald-border);
		}

		.wind-list span {
			color: var(--ald-muted);
		}

		.wind-list strong {
			text-align: right;
		}

		.wind-map {
			height: 440px;
			width: 100%;
		}

		.wind-gauge {
			padding: 1rem;
		}

		.wind-gauge svg {
			display: block;
			height: auto;
			margin: 0 auto;
			max-width: 520px;
			width: 100%;
		}

		.wind-gauge__value {
			font-size: 26px;
			font-weight: 850;
			text-anchor: middle;
		}

		.wind-gauge__label {
			fill: var(--ald-muted);
			font-size: 11px;
			font-weight: 750;
			text-anchor: middle;
		}

		.wind-gauge__meta {
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
			margin: .75rem auto 0;
			max-width: 560px;
			text-align: center;
		}

		@media (max-width: 991px) {
			.wind-detail__grid,
			.wind-kpis { grid-template-columns: 1fr 1fr; }
		}

		@media (max-width: 575px) {
			.wind-detail__grid,
			.wind-kpis { grid-template-columns: 1fr; }
			.wind-map { height: 360px; }
			.wind-list li { display: block; }
			.wind-list strong { display: block; text-align: left; }
		}

/* squelettes/prod-hydroelectrique.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.hydro-detail { color: var(--ald-ink); }
		.hydro-detail__hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.15rem;
		}

		.hydro-detail__hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0 .55rem;
		}

		.hydro-detail__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.hydro-detail__grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
		}

		.hydro-kpis {
			display: grid;
			gap: 1rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.25rem 0;
		}

		.hydro-kpi,
		.hydro-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
		}

		.hydro-kpi {
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			padding: 1rem;
		}

		.hydro-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: 0;
			margin: 0;
			text-transform: uppercase;
		}

		.hydro-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.55rem, 3vw, 2.1rem);
			font-weight: 850;
			line-height: 1;
			margin: .45rem 0 .2rem;
		}

		.hydro-kpi__meta {
			color: var(--ald-muted);
			font-size: .85rem;
			line-height: 1.35;
			margin: 0;
		}

		.hydro-card {
			margin-bottom: 1rem;
			overflow: hidden;
		}

		.hydro-card__title {
			border-bottom: 1px solid var(--ald-border);
			font-size: 1rem;
			font-weight: 850;
			margin: 0;
			padding: 1rem;
		}

		.hydro-list {
			list-style: none;
			margin: 0;
			padding: 0;
		}

		.hydro-list li {
			display: flex;
			gap: 1rem;
			justify-content: space-between;
			padding: .8rem 1rem;
		}

		.hydro-list li + li {
			border-top: 1px solid var(--ald-border);
		}

		.hydro-list span {
			color: var(--ald-muted);
		}

		.hydro-list strong {
			text-align: right;
		}

		.hydro-map {
			height: 440px;
			width: 100%;
		}

		.hydro-gauge {
			padding: 1rem;
		}

		.hydro-gauge svg {
			display: block;
			height: auto;
			margin: 0 auto;
			max-width: 520px;
			width: 100%;
		}

		.hydro-gauge__value {
			font-size: 26px;
			font-weight: 850;
			text-anchor: middle;
		}

		.hydro-gauge__label {
			fill: var(--ald-muted);
			font-size: 11px;
			font-weight: 750;
			text-anchor: middle;
		}

		.hydro-gauge__meta {
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
			margin: .75rem auto 0;
			max-width: 560px;
			text-align: center;
		}

		@media (max-width: 991px) {
			.hydro-detail__grid,
			.hydro-kpis { grid-template-columns: 1fr 1fr; }
		}

		@media (max-width: 575px) {
			.hydro-detail__grid,
			.hydro-kpis { grid-template-columns: 1fr; }
			.hydro-map { height: 360px; }
			.hydro-list li { display: block; }
			.hydro-list strong { display: block; text-align: left; }
		}

/* squelettes/prod-solaire.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.solar-detail { color: var(--ald-ink); }
		.solar-detail__hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.15rem;
		}

		.solar-detail__hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0 .55rem;
		}

		.solar-detail__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.solar-detail__grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
		}

		.solar-kpis {
			display: grid;
			gap: 1rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.25rem 0;
		}

		.solar-kpi,
		.solar-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
		}

		.solar-kpi {
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			padding: 1rem;
		}

		.solar-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: 0;
			margin: 0;
			text-transform: uppercase;
		}

		.solar-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.55rem, 3vw, 2.1rem);
			font-weight: 850;
			line-height: 1;
			margin: .45rem 0 .2rem;
		}

		.solar-kpi__meta {
			color: var(--ald-muted);
			font-size: .85rem;
			line-height: 1.35;
			margin: 0;
		}

		.solar-card {
			margin-bottom: 1rem;
			overflow: hidden;
		}

		.solar-card__title {
			border-bottom: 1px solid var(--ald-border);
			font-size: 1rem;
			font-weight: 850;
			margin: 0;
			padding: 1rem;
		}

		.solar-list {
			list-style: none;
			margin: 0;
			padding: 0;
		}

		.solar-list li {
			display: flex;
			gap: 1rem;
			justify-content: space-between;
			padding: .8rem 1rem;
		}

		.solar-list li + li {
			border-top: 1px solid var(--ald-border);
		}

		.solar-list span {
			color: var(--ald-muted);
		}

		.solar-list strong {
			text-align: right;
		}

		.solar-map {
			height: 440px;
			width: 100%;
		}

		.solar-gauge {
			padding: 1rem;
		}

		.solar-gauge svg {
			display: block;
			height: auto;
			margin: 0 auto;
			max-width: 520px;
			width: 100%;
		}

		.solar-gauge__value {
			font-size: 26px;
			font-weight: 850;
			text-anchor: middle;
		}

		.solar-gauge__label {
			fill: var(--ald-muted);
			font-size: 11px;
			font-weight: 750;
			text-anchor: middle;
		}

		.solar-gauge__meta {
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
			margin: .75rem auto 0;
			max-width: 560px;
			text-align: center;
		}

		@media (max-width: 991px) {
			.solar-detail__grid,
			.solar-kpis { grid-template-columns: 1fr 1fr; }
		}

		@media (max-width: 575px) {
			.solar-detail__grid,
			.solar-kpis { grid-template-columns: 1fr; }
			.solar-map { height: 360px; }
			.solar-list li { display: block; }
			.solar-list strong { display: block; text-align: left; }
		}

/* squelettes/producteur-agneaux.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.bio-detail { color: var(--ald-ink); }
		.bio-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.bio-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.bio-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}
		.bio-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.bio-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.bio-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.bio-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.bio-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.bio-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.bio-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.bio-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.bio-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(56vh, 460px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.bio-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.bio-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.bio-list strong {
			color: var(--ald-green);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		@media (max-width: 991.98px) {
			.bio-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.bio-kpis,
			.bio-list { grid-template-columns: 1fr; }
			.bio-map { min-height: 300px; }
		}

/* squelettes/producteur-lentilles.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.bio-detail { color: var(--ald-ink); }
		.bio-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.bio-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.bio-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}
		.bio-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.bio-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.bio-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.bio-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.bio-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.bio-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.bio-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.bio-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.bio-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(56vh, 460px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.bio-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.bio-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.bio-list strong {
			color: var(--ald-green);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		@media (max-width: 991.98px) {
			.bio-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.bio-kpis,
			.bio-list { grid-template-columns: 1fr; }
			.bio-map { min-height: 300px; }
		}

/* squelettes/producteur-veaux.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.bio-detail { color: var(--ald-ink); }
		.bio-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.bio-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.bio-hero__text {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}
		.bio-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
			margin: 1.5rem 0;
		}
		.bio-card {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: 1rem;
		}
		.bio-card__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .8rem;
		}
		.bio-kpis {
			display: grid;
			gap: .75rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.bio-kpi {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .85rem;
		}
		.bio-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.bio-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.25rem, 2.4vw, 1.8rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.bio-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.bio-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(56vh, 460px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.bio-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.bio-list li {
			background: var(--ald-soft);
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.bio-list strong {
			color: var(--ald-green);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		@media (max-width: 991.98px) {
			.bio-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.bio-kpis,
			.bio-list { grid-template-columns: 1fr; }
			.bio-map { min-height: 300px; }
		}

/* squelettes/rubrique-2.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		
		.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
color: var(--ald-brand-green); }

/* squelettes/rubrique.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		
		.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
color: var(--ald-brand-green); }

/* squelettes/rubrique=1-old.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		
		.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
color: var(--ald-brand-green); }

/* squelettes/rubrique=1.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.modal-content { background: var(--ald-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.river-page {
			color: var(--ald-ink);
		}
		.river-hero {
			padding: 1.5rem 0 1rem;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.river-hero__grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(160px, 260px);
			gap: 1.5rem;
			align-items: center;
		}
		.river-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.2rem);
			line-height: 1.08;
			letter-spacing: 0;
		}
		.river-hero__intro {
			max-width: 760px;
			margin: .8rem 0 0;
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.6;
		}
		.river-hero__logo {
			width: 100%;
			max-height: 190px;
			object-fit: contain;
		}
		.river-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.river-kpi {
			min-height: 118px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.river-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .85rem;
			font-weight: 700;
		}
		.river-kpi__value {
			margin: .35rem 0 .45rem;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.85rem;
			font-weight: 800;
			line-height: 1;
		}
		.river-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.river-map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 430px;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.river-legend {
			padding: .75rem .85rem;
			border-radius: 8px;
			background: rgba(255,255,255,.94);
			box-shadow: 0 8px 24px rgba(23,32,51,.16);
			color: var(--ald-ink);
			font-size: .85rem;
			line-height: 1.45;
		}
		.river-legend__row {
			display: flex;
			align-items: center;
			gap: .45rem;
			white-space: nowrap;
		}
		.river-legend__dot {
			width: .75rem;
			height: .75rem;
			border-radius: 999px;
			background: var(--dot-color);
			box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot-color), transparent 72%);
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 45px rgba(23,32,51,.22);
		}
		.river-popup {
			min-width: 230px;
			max-width: 280px;
			color: var(--ald-ink);
		}
		.river-popup__title {
			margin: -.15rem 0 .7rem;
			padding-bottom: .55rem;
			border-bottom: 3px solid var(--popup-color, var(--ald-pink));
			font-size: 1rem;
			line-height: 1.25;
			font-weight: 800;
		}
		.river-popup__price {
			color: var(--popup-color, var(--ald-pink));
			font-size: 1.45rem;
			font-weight: 800;
		}
		.river-popup__line {
			margin: .35rem 0;
			color: var(--ald-muted);
			font-size: .88rem;
		}
		.river-popup__button {
			display: inline-block;
			margin-top: .65rem;
			padding: .45rem .7rem;
			border-radius: 6px;
			background: var(--popup-color, var(--ald-pink));
			color: #fff!important;
			font-weight: 700;
			text-decoration: none;
		}
		@media (max-width: 991px) {
			.river-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}
		@media (max-width: 575px) {
			.river-hero__grid,
			.river-kpis {
				grid-template-columns: 1fr;
			}
			.river-map {
				height: 72vh;
				min-height: 380px;
			}
		}

/* squelettes/rubrique=10.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.wood-page { color: var(--ald-ink); }
		.wood-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.wood-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.wood-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.wood-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.wood-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.wood-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-pink);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.wood-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.wood-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.wood-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.wood-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.38rem, 2.2vw, 1.95rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.wood-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.wood-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}

		.wood-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.wood-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.wood-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.wood-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.wood-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.wood-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}

		.wood-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.wood-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.wood-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.wood-popup__body {
			padding: 12px 14px 14px;
		}

		.wood-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.wood-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		.wood-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}

		@media (max-width: 991.98px) {
			.wood-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.wood-hero__grid,
			.wood-kpis {
				grid-template-columns: 1fr;
			}

			.wood-hero__logo { display: none; }
			.wood-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=11.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.rsa-page { color: var(--ald-ink); }
		.rsa-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}
		.rsa-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.rsa-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.rsa-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 850px;
		}
		.rsa-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.rsa-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.rsa-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 120px;
			padding: 16px;
		}
		.rsa-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.rsa-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.rsa-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.rsa-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(72vh, 690px);
			min-height: 520px;
			overflow: hidden;
			width: 100%;
		}
		.rsa-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.rsa-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.rsa-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.rsa-legend strong { display: block; margin-bottom: 8px; }
		.rsa-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.rsa-legend__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 12px;
			width: 18px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}
		.rsa-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}
		.rsa-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.rsa-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.rsa-popup__body {
			padding: 12px 14px 14px;
		}
		.rsa-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.1;
			margin: .1rem 0;
		}
		.rsa-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.rsa-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.rsa-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.rsa-hero__grid,
			.rsa-kpis {
				grid-template-columns: 1fr;
			}
			.rsa-hero__logo { display: none; }
			.rsa-map { height: 70vh; min-height: 430px; }
		}

/* squelettes/rubrique=13.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.ars-page { color: var(--ald-ink); }
		.ars-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}
		.ars-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.ars-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.ars-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 850px;
		}
		.ars-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.ars-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.ars-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 120px;
			padding: 16px;
		}
		.ars-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.ars-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.ars-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.ars-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(72vh, 690px);
			min-height: 520px;
			overflow: hidden;
			width: 100%;
		}
		.ars-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.ars-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.ars-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.ars-legend strong { display: block; margin-bottom: 8px; }
		.ars-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.ars-legend__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 12px;
			width: 18px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}
		.ars-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}
		.ars-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.ars-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.ars-popup__body {
			padding: 12px 14px 14px;
		}
		.ars-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.1;
			margin: .1rem 0;
		}
		.ars-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.ars-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.ars-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.ars-hero__grid,
			.ars-kpis {
				grid-template-columns: 1fr;
			}
			.ars-hero__logo { display: none; }
			.ars-map { height: 70vh; min-height: 430px; }
		}

/* squelettes/rubrique=14.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.tertiary-page { color: var(--ald-ink); }
		.tertiary-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.tertiary-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.tertiary-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.tertiary-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.tertiary-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.tertiary-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-pink);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.tertiary-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.tertiary-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.tertiary-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.tertiary-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.34rem, 2.1vw, 1.95rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.tertiary-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.tertiary-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}

		.tertiary-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.tertiary-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.tertiary-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.tertiary-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.tertiary-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.tertiary-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}

		.tertiary-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.tertiary-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.tertiary-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.tertiary-popup__body {
			padding: 12px 14px 14px;
		}

		.tertiary-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.tertiary-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		.tertiary-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}

		@media (max-width: 991.98px) {
			.tertiary-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.tertiary-hero__grid,
			.tertiary-kpis {
				grid-template-columns: 1fr;
			}

			.tertiary-hero__logo { display: none; }
			.tertiary-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=15.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.modal-content { background: var(--ald-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.river-page {
			color: var(--ald-ink);
		}
		.river-hero {
			padding: 1.5rem 0 1rem;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.river-hero__grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(160px, 260px);
			gap: 1.5rem;
			align-items: center;
		}
		.river-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.2rem);
			line-height: 1.08;
			letter-spacing: 0;
		}
		.river-hero__intro {
			max-width: 760px;
			margin: .8rem 0 0;
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.6;
		}
		.river-hero__logo {
			width: 100%;
			max-height: 190px;
			object-fit: contain;
		}
		.river-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.river-kpi {
			min-height: 118px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.river-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .85rem;
			font-weight: 700;
		}
		.river-kpi__value {
			margin: .35rem 0 .45rem;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.85rem;
			font-weight: 800;
			line-height: 1;
		}
		.river-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.river-map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 430px;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.river-legend {
			padding: .75rem .85rem;
			border-radius: 8px;
			background: rgba(255,255,255,.94);
			box-shadow: 0 8px 24px rgba(23,32,51,.16);
			color: var(--ald-ink);
			font-size: .85rem;
			line-height: 1.45;
		}
		.river-legend__row {
			display: flex;
			align-items: center;
			gap: .45rem;
			white-space: nowrap;
		}
		.river-legend__dot {
			width: .75rem;
			height: .75rem;
			border-radius: 999px;
			background: var(--dot-color);
			box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot-color), transparent 72%);
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 45px rgba(23,32,51,.22);
		}
		.river-popup {
			min-width: 230px;
			max-width: 280px;
			color: var(--ald-ink);
		}
		.river-popup__title {
			margin: -.15rem 0 .7rem;
			padding-bottom: .55rem;
			border-bottom: 3px solid var(--popup-color, var(--ald-pink));
			font-size: 1rem;
			line-height: 1.25;
			font-weight: 800;
		}
		.river-popup__price {
			color: var(--popup-color, var(--ald-pink));
			font-size: 1.45rem;
			font-weight: 800;
		}
		.river-popup__line {
			margin: .35rem 0;
			color: var(--ald-muted);
			font-size: .88rem;
		}
		.river-popup__button {
			display: inline-block;
			margin-top: .65rem;
			padding: .45rem .7rem;
			border-radius: 6px;
			background: var(--popup-color, var(--ald-pink));
			color: #fff!important;
			font-weight: 700;
			text-decoration: none;
		}
		@media (max-width: 991px) {
			.river-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}
		@media (max-width: 575px) {
			.river-hero__grid,
			.river-kpis {
				grid-template-columns: 1fr;
			}
			.river-map {
				height: 72vh;
				min-height: 380px;
			}
		}

/* squelettes/rubrique=16.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-blue: #2878d7;
			--ald-yellow: #f5b82e;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.modal-content { background: var(--ald-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.temperature-page {
			color: var(--ald-ink);
		}
		.temperature-hero {
			padding: 1.5rem 0 1rem;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.temperature-hero__grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(160px, 260px);
			gap: 1.5rem;
			align-items: center;
		}
		.temperature-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.2rem);
			line-height: 1.08;
			letter-spacing: 0;
		}
		.temperature-hero__intro {
			max-width: 780px;
			margin: .8rem 0 0;
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.6;
		}
		.temperature-hero__logo {
			width: 100%;
			max-height: 190px;
			object-fit: contain;
		}
		.temperature-alert {
			display: flex;
			gap: .85rem;
			align-items: flex-start;
			margin: 1.5rem 0 0;
			padding: 1rem;
			border: 1px solid color-mix(in srgb, var(--ald-yellow), #fff 45%);
			border-left: 5px solid var(--ald-yellow);
			border-radius: 8px;
			background: #fff9ea;
			color: #624610;
		}
		.temperature-alert__badge {
			flex: 0 0 auto;
			padding: .22rem .5rem;
			border-radius: 999px;
			background: var(--ald-yellow);
			color: #241800;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
		}
		.temperature-alert p {
			margin: 0;
			line-height: 1.45;
		}
		.temperature-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.temperature-kpi {
			min-height: 118px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.temperature-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .85rem;
			font-weight: 700;
		}
		.temperature-kpi__value {
			margin: .35rem 0 .45rem;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.85rem;
			font-weight: 800;
			line-height: 1;
		}
		.temperature-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.temperature-map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 430px;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.temperature-legend {
			padding: .75rem .85rem;
			border-radius: 8px;
			background: rgba(255,255,255,.94);
			box-shadow: 0 8px 24px rgba(23,32,51,.16);
			color: var(--ald-ink);
			font-size: .85rem;
			line-height: 1.45;
		}
		.temperature-legend__row {
			display: flex;
			align-items: center;
			gap: .45rem;
			white-space: nowrap;
		}
		.temperature-legend__dot {
			width: .75rem;
			height: .75rem;
			border-radius: 999px;
			background: var(--dot-color);
			box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot-color), transparent 72%);
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 45px rgba(23,32,51,.22);
		}
		.temperature-popup {
			min-width: 230px;
			max-width: 285px;
			color: var(--ald-ink);
		}
		.temperature-popup__title {
			margin: -.15rem 0 .7rem;
			padding-bottom: .55rem;
			border-bottom: 3px solid var(--popup-color, var(--ald-pink));
			font-size: 1rem;
			line-height: 1.25;
			font-weight: 800;
		}
		.temperature-popup__value {
			color: var(--popup-color, var(--ald-pink));
			font-size: 1.45rem;
			font-weight: 800;
		}
		.temperature-popup__tag {
			display: inline-block;
			margin: .25rem 0 .45rem;
			padding: .18rem .45rem;
			border-radius: 999px;
			background: color-mix(in srgb, var(--popup-color, var(--ald-pink)), #fff 84%);
			color: var(--popup-color, var(--ald-pink));
			font-size: .74rem;
			font-weight: 800;
			text-transform: uppercase;
		}
		.temperature-popup__line {
			margin: .35rem 0;
			color: var(--ald-muted);
			font-size: .88rem;
		}
		.temperature-popup__button {
			display: inline-block;
			margin-top: .65rem;
			padding: .45rem .7rem;
			border-radius: 6px;
			background: var(--popup-color, var(--ald-pink));
			color: #fff!important;
			font-weight: 700;
			text-decoration: none;
		}
		@media (max-width: 991px) {
			.temperature-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}
		@media (max-width: 575px) {
			.temperature-alert,
			.temperature-hero__grid,
			.temperature-kpis {
				grid-template-columns: 1fr;
			}
			.temperature-alert {
				display: block;
			}
			.temperature-alert__badge {
				display: inline-block;
				margin-bottom: .55rem;
			}
			.temperature-map {
				height: 72vh;
				min-height: 380px;
			}
		}

/* squelettes/rubrique=17.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-blue: #2878d7;
			--ald-yellow: #f5b82e;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.modal-content { background: var(--ald-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.nitrate-page { color: var(--ald-ink); }
		.nitrate-hero {
			padding: 1.5rem 0 1rem;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.nitrate-hero__grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(160px, 260px);
			gap: 1.5rem;
			align-items: center;
		}
		.nitrate-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.2rem);
			line-height: 1.08;
			letter-spacing: 0;
		}
		.nitrate-hero__intro {
			max-width: 780px;
			margin: .8rem 0 0;
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.6;
		}
		.nitrate-hero__logo {
			width: 100%;
			max-height: 190px;
			object-fit: contain;
		}
		.nitrate-alert {
			margin: 1.25rem 0 0;
			padding: 1rem;
			border: 1px solid color-mix(in srgb, var(--ald-blue), #fff 55%);
			border-left: 5px solid var(--ald-blue);
			border-radius: 8px;
			background: #eef6ff;
			color: #17365d;
			line-height: 1.45;
		}
		.nitrate-alert strong {
			color: var(--ald-blue);
		}
		.nitrate-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.nitrate-kpi {
			min-height: 118px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.nitrate-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .85rem;
			font-weight: 700;
		}
		.nitrate-kpi__value {
			margin: .35rem 0 .45rem;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.85rem;
			font-weight: 800;
			line-height: 1;
		}
		.nitrate-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.nitrate-map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 430px;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.nitrate-legend {
			padding: .75rem .85rem;
			border-radius: 8px;
			background: rgba(255,255,255,.94);
			box-shadow: 0 8px 24px rgba(23,32,51,.16);
			color: var(--ald-ink);
			font-size: .85rem;
			line-height: 1.45;
		}
		.nitrate-legend__row {
			display: flex;
			align-items: center;
			gap: .45rem;
			white-space: nowrap;
		}
		.nitrate-legend__dot {
			width: .75rem;
			height: .75rem;
			border-radius: 999px;
			background: var(--dot-color);
			box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot-color), transparent 72%);
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 45px rgba(23,32,51,.22);
		}
		.nitrate-popup {
			min-width: 230px;
			max-width: 285px;
			color: var(--ald-ink);
		}
		.nitrate-popup__title {
			margin: -.15rem 0 .7rem;
			padding-bottom: .55rem;
			border-bottom: 3px solid var(--popup-color, var(--ald-pink));
			font-size: 1rem;
			line-height: 1.25;
			font-weight: 800;
		}
		.nitrate-popup__value {
			color: var(--popup-color, var(--ald-pink));
			font-size: 1.45rem;
			font-weight: 800;
		}
		.nitrate-popup__line {
			margin: .35rem 0;
			color: var(--ald-muted);
			font-size: .88rem;
		}
		.nitrate-popup__button {
			display: inline-block;
			margin-top: .65rem;
			padding: .45rem .7rem;
			border-radius: 6px;
			background: var(--popup-color, var(--ald-pink));
			color: #fff!important;
			font-weight: 700;
			text-decoration: none;
		}
		@media (max-width: 991px) {
			.nitrate-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575px) {
			.nitrate-hero__grid,
			.nitrate-kpis { grid-template-columns: 1fr; }
			.nitrate-map {
				height: 72vh;
				min-height: 380px;
			}
		}

/* squelettes/rubrique=18.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.rsa-page { color: var(--ald-ink); }
		.rsa-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}
		.rsa-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.rsa-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.rsa-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 850px;
		}
		.rsa-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.rsa-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.rsa-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 120px;
			padding: 16px;
		}
		.rsa-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.rsa-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.rsa-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.rsa-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(72vh, 690px);
			min-height: 520px;
			overflow: hidden;
			width: 100%;
		}
		.rsa-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.rsa-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.rsa-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.rsa-legend strong { display: block; margin-bottom: 8px; }
		.rsa-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.rsa-legend__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 12px;
			width: 18px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}
		.rsa-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}
		.rsa-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.rsa-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.rsa-popup__body {
			padding: 12px 14px 14px;
		}
		.rsa-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.1;
			margin: .1rem 0;
		}
		.rsa-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.rsa-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.rsa-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.rsa-hero__grid,
			.rsa-kpis {
				grid-template-columns: 1fr;
			}
			.rsa-hero__logo { display: none; }
			.rsa-map { height: 70vh; min-height: 430px; }
		}

/* squelettes/rubrique=19.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.ars-page { color: var(--ald-ink); }
		.ars-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}
		.ars-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.ars-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.ars-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 850px;
		}
		.ars-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.ars-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.ars-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 120px;
			padding: 16px;
		}
		.ars-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.ars-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.ars-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.ars-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(72vh, 690px);
			min-height: 520px;
			overflow: hidden;
			width: 100%;
		}
		.ars-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.ars-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.ars-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.ars-legend strong { display: block; margin-bottom: 8px; }
		.ars-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.ars-legend__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 12px;
			width: 18px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}
		.ars-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}
		.ars-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.ars-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.ars-popup__body {
			padding: 12px 14px 14px;
		}
		.ars-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.1;
			margin: .1rem 0;
		}
		.ars-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.ars-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.ars-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.ars-hero__grid,
			.ars-kpis {
				grid-template-columns: 1fr;
			}
			.ars-hero__logo { display: none; }
			.ars-map { height: 70vh; min-height: 430px; }
		}

/* squelettes/rubrique=21.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		
		.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
color: var(--ald-brand-green); }

/* squelettes/rubrique=22.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #ffcd14;
			--ald-orange: #f5b82e;
			--ald-blue: #2878d7;
			--ald-gray: #7b8494;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.modal-content { background: var(--ald-green); }

		.groundwater-page {
			color: var(--ald-ink);
		}

		.groundwater-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.groundwater-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.groundwater-hero h1 {
			font-size: clamp(2rem, 4vw, 3.2rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.groundwater-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 760px;
		}

		.groundwater-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.groundwater-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-blue);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.groundwater-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.groundwater-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.groundwater-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.groundwater-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.4vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.groundwater-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.groundwater-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 620px);
			min-height: 480px;
			overflow: hidden;
			width: 100%;
		}

		.groundwater-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.groundwater-panel__title {
			color: var(--ald-ink);
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.groundwater-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.groundwater-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.groundwater-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.groundwater-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 260px;
		}

		.groundwater-popup {
			--popup-color: var(--ald-blue);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.groundwater-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.groundwater-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.groundwater-popup__body {
			padding: 12px 14px 14px;
		}

		.groundwater-popup__value {
			color: var(--popup-color);
			font-size: 1.55rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.groundwater-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		@media (max-width: 991.98px) {
			.groundwater-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.groundwater-hero__grid,
			.groundwater-kpis {
				grid-template-columns: 1fr;
			}

			.groundwater-hero__logo {
				display: none;
			}

			.groundwater-map {
				height: 68vh;
				min-height: 420px;
			}
		}

/* squelettes/rubrique=23.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.bio-page { color: var(--ald-ink); }
		.bio-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}
		.bio-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.bio-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.bio-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.bio-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.bio-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.bio-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 120px;
			padding: 16px;
		}
		.bio-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.bio-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.bio-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.bio-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}
		.bio-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.bio-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.bio-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.bio-legend strong { display: block; margin-bottom: 8px; }
		.bio-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.bio-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}
		.bio-popup {
			--popup-color: var(--ald-green);
			color: var(--ald-ink);
			font-size: 14px;
		}
		.bio-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.bio-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.bio-popup__body {
			padding: 12px 14px 14px;
		}
		.bio-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.bio-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.bio-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.bio-hero__grid,
			.bio-kpis {
				grid-template-columns: 1fr;
			}
			.bio-hero__logo { display: none; }
			.bio-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=24.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.solar-page { color: var(--ald-ink); }
		.solar-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.solar-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.solar-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.solar-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.solar-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.solar-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-pink);
			border-radius: 8px;
			margin: 1rem 0;
			padding: .9rem 1rem;
		}

		.solar-kpis {
			display: grid;
			gap: 1rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.25rem 0;
		}

		.solar-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			padding: 1rem;
		}

		.solar-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: 0;
			margin: 0;
			text-transform: uppercase;
		}

		.solar-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.55rem, 3vw, 2.15rem);
			font-weight: 850;
			line-height: 1;
			margin: .45rem 0 .2rem;
		}

		.solar-kpi__meta {
			color: var(--ald-muted);
			font-size: .85rem;
			line-height: 1.35;
			margin: 0;
		}

		.solar-map-wrap {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			overflow: hidden;
		}

		#map {
			height: min(72vh, 720px);
			min-height: 480px;
			width: 100%;
		}

		.solar-map-note {
			background: #fff;
			border-top: 1px solid var(--ald-border);
			color: var(--ald-muted);
			font-size: .9rem;
			margin: 0;
			padding: .85rem 1rem;
		}

		.solar-legend {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 30px rgba(23, 32, 51, .12);
			color: var(--ald-ink);
			font-size: .82rem;
			line-height: 1.35;
			padding: .75rem .85rem;
		}

		.solar-legend__title {
			font-weight: 850;
			margin-bottom: .45rem;
		}

		.solar-legend__row {
			align-items: center;
			display: flex;
			gap: .45rem;
			margin-top: .32rem;
		}

		.solar-legend__swatch {
			border-radius: 999px;
			display: inline-block;
			flex: 0 0 12px;
			height: 12px;
			width: 12px;
		}

		.solar-popup .leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 40px rgba(23, 32, 51, .22);
		}

		.solar-popup .leaflet-popup-content {
			margin: 0;
			min-width: 230px;
		}

		.solar-popup__head {
			border-radius: 8px 8px 0 0;
			color: #fff;
			padding: .75rem .9rem;
		}

		.solar-popup__title {
			font-size: 1rem;
			font-weight: 850;
			line-height: 1.2;
			margin: 0;
		}

		.solar-popup__body {
			padding: .85rem .9rem .95rem;
		}

		.solar-popup__value {
			font-size: 1.35rem;
			font-weight: 850;
			margin: 0 0 .3rem;
		}

		.solar-popup__line {
			color: var(--ald-muted);
			font-size: .86rem;
			margin: .2rem 0;
		}

		.solar-popup__button {
			align-items: center;
			border: 1px solid var(--popup-color, var(--ald-pink));
			border-radius: 8px;
			color: var(--popup-color, var(--ald-pink))!important;
			display: inline-flex;
			font-weight: 800;
			margin-top: .75rem;
			padding: .48rem .7rem;
		}

		.solar-popup__button:hover {
			background: var(--popup-color, var(--ald-pink));
			color: #fff!important;
			text-decoration: none;
		}

		@media (max-width: 991px) {
			.solar-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.solar-hero__grid { grid-template-columns: 1fr; }
			.solar-hero__logo { justify-self: start; max-height: 90px; }
		}

		@media (max-width: 575px) {
			.solar-kpis { grid-template-columns: 1fr; }
			#map { min-height: 420px; }
		}

/* squelettes/rubrique=25.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.wind-page { color: var(--ald-ink); }
		.wind-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.wind-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.wind-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.wind-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.wind-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.wind-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-pink);
			border-radius: 8px;
			margin: 1rem 0;
			padding: .9rem 1rem;
		}

		.wind-kpis {
			display: grid;
			gap: 1rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.25rem 0;
		}

		.wind-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			padding: 1rem;
		}

		.wind-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: 0;
			margin: 0;
			text-transform: uppercase;
		}

		.wind-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.55rem, 3vw, 2.15rem);
			font-weight: 850;
			line-height: 1;
			margin: .45rem 0 .2rem;
		}

		.wind-kpi__meta {
			color: var(--ald-muted);
			font-size: .85rem;
			line-height: 1.35;
			margin: 0;
		}

		.wind-map-wrap {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			overflow: hidden;
		}

		#map {
			height: min(72vh, 720px);
			min-height: 480px;
			width: 100%;
		}

		.wind-map-note {
			background: #fff;
			border-top: 1px solid var(--ald-border);
			color: var(--ald-muted);
			font-size: .9rem;
			margin: 0;
			padding: .85rem 1rem;
		}

		.wind-legend {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 30px rgba(23, 32, 51, .12);
			color: var(--ald-ink);
			font-size: .82rem;
			line-height: 1.35;
			padding: .75rem .85rem;
		}

		.wind-legend__title {
			font-weight: 850;
			margin-bottom: .45rem;
		}

		.wind-legend__row {
			align-items: center;
			display: flex;
			gap: .45rem;
			margin-top: .32rem;
		}

		.wind-legend__swatch {
			border-radius: 999px;
			display: inline-block;
			flex: 0 0 12px;
			height: 12px;
			width: 12px;
		}

		.wind-popup .leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 40px rgba(23, 32, 51, .22);
		}

		.wind-popup .leaflet-popup-content {
			margin: 0;
			min-width: 230px;
		}

		.wind-popup__head {
			border-radius: 8px 8px 0 0;
			color: #fff;
			padding: .75rem .9rem;
		}

		.wind-popup__title {
			font-size: 1rem;
			font-weight: 850;
			line-height: 1.2;
			margin: 0;
		}

		.wind-popup__body {
			padding: .85rem .9rem .95rem;
		}

		.wind-popup__value {
			font-size: 1.35rem;
			font-weight: 850;
			margin: 0 0 .3rem;
		}

		.wind-popup__line {
			color: var(--ald-muted);
			font-size: .86rem;
			margin: .2rem 0;
		}

		.wind-popup__button {
			align-items: center;
			border: 1px solid var(--popup-color, var(--ald-pink));
			border-radius: 8px;
			color: var(--popup-color, var(--ald-pink))!important;
			display: inline-flex;
			font-weight: 800;
			margin-top: .75rem;
			padding: .48rem .7rem;
		}

		.wind-popup__button:hover {
			background: var(--popup-color, var(--ald-pink));
			color: #fff!important;
			text-decoration: none;
		}

		@media (max-width: 991px) {
			.wind-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.wind-hero__grid { grid-template-columns: 1fr; }
			.wind-hero__logo { justify-self: start; max-height: 90px; }
		}

		@media (max-width: 575px) {
			.wind-kpis { grid-template-columns: 1fr; }
			#map { min-height: 420px; }
		}

/* squelettes/rubrique=26.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.hydro-page { color: var(--ald-ink); }
		.hydro-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.hydro-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.hydro-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.hydro-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.hydro-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.hydro-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-pink);
			border-radius: 8px;
			margin: 1rem 0;
			padding: .9rem 1rem;
		}

		.hydro-kpis {
			display: grid;
			gap: 1rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.25rem 0;
		}

		.hydro-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			padding: 1rem;
		}

		.hydro-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: 0;
			margin: 0;
			text-transform: uppercase;
		}

		.hydro-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.55rem, 3vw, 2.15rem);
			font-weight: 850;
			line-height: 1;
			margin: .45rem 0 .2rem;
		}

		.hydro-kpi__meta {
			color: var(--ald-muted);
			font-size: .85rem;
			line-height: 1.35;
			margin: 0;
		}

		.hydro-map-wrap {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			overflow: hidden;
		}

		#map {
			height: min(72vh, 720px);
			min-height: 480px;
			width: 100%;
		}

		.hydro-map-note {
			background: #fff;
			border-top: 1px solid var(--ald-border);
			color: var(--ald-muted);
			font-size: .9rem;
			margin: 0;
			padding: .85rem 1rem;
		}

		.hydro-legend {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 30px rgba(23, 32, 51, .12);
			color: var(--ald-ink);
			font-size: .82rem;
			line-height: 1.35;
			padding: .75rem .85rem;
		}

		.hydro-legend__title {
			font-weight: 850;
			margin-bottom: .45rem;
		}

		.hydro-legend__row {
			align-items: center;
			display: flex;
			gap: .45rem;
			margin-top: .32rem;
		}

		.hydro-legend__swatch {
			border-radius: 999px;
			display: inline-block;
			flex: 0 0 12px;
			height: 12px;
			width: 12px;
		}

		.hydro-popup .leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 40px rgba(23, 32, 51, .22);
		}

		.hydro-popup .leaflet-popup-content {
			margin: 0;
			min-width: 230px;
		}

		.hydro-popup__head {
			border-radius: 8px 8px 0 0;
			color: #fff;
			padding: .75rem .9rem;
		}

		.hydro-popup__title {
			font-size: 1rem;
			font-weight: 850;
			line-height: 1.2;
			margin: 0;
		}

		.hydro-popup__body {
			padding: .85rem .9rem .95rem;
		}

		.hydro-popup__value {
			font-size: 1.35rem;
			font-weight: 850;
			margin: 0 0 .3rem;
		}

		.hydro-popup__line {
			color: var(--ald-muted);
			font-size: .86rem;
			margin: .2rem 0;
		}

		.hydro-popup__button {
			align-items: center;
			border: 1px solid var(--popup-color, var(--ald-pink));
			border-radius: 8px;
			color: var(--popup-color, var(--ald-pink))!important;
			display: inline-flex;
			font-weight: 800;
			margin-top: .75rem;
			padding: .48rem .7rem;
		}

		.hydro-popup__button:hover {
			background: var(--popup-color, var(--ald-pink));
			color: #fff!important;
			text-decoration: none;
		}

		@media (max-width: 991px) {
			.hydro-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.hydro-hero__grid { grid-template-columns: 1fr; }
			.hydro-hero__logo { justify-self: start; max-height: 90px; }
		}

		@media (max-width: 575px) {
			.hydro-kpis { grid-template-columns: 1fr; }
			#map { min-height: 420px; }
		}

/* squelettes/rubrique=27.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.bio-page { color: var(--ald-ink); }
		.bio-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}
		.bio-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.bio-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.bio-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.bio-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.bio-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.bio-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 120px;
			padding: 16px;
		}
		.bio-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.bio-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.bio-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.bio-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}
		.bio-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.bio-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.bio-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.bio-legend strong { display: block; margin-bottom: 8px; }
		.bio-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.bio-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}
		.bio-popup {
			--popup-color: var(--ald-green);
			color: var(--ald-ink);
			font-size: 14px;
		}
		.bio-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.bio-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.bio-popup__body {
			padding: 12px 14px 14px;
		}
		.bio-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.bio-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.bio-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.bio-hero__grid,
			.bio-kpis {
				grid-template-columns: 1fr;
			}
			.bio-hero__logo { display: none; }
			.bio-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=28.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.bio-page { color: var(--ald-ink); }
		.bio-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}
		.bio-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.bio-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.bio-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.bio-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.bio-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.bio-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 120px;
			padding: 16px;
		}
		.bio-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.bio-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.bio-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.bio-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}
		.bio-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.bio-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.bio-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.bio-legend strong { display: block; margin-bottom: 8px; }
		.bio-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.bio-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}
		.bio-popup {
			--popup-color: var(--ald-green);
			color: var(--ald-ink);
			font-size: 14px;
		}
		.bio-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.bio-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.bio-popup__body {
			padding: 12px 14px 14px;
		}
		.bio-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.bio-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.bio-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.bio-hero__grid,
			.bio-kpis {
				grid-template-columns: 1fr;
			}
			.bio-hero__logo { display: none; }
			.bio-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=30.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-purple: #7048e8;
			--ald-blue: #2878d7;
			--ald-red: #d9480f;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.festival-page { color: var(--ald-ink); }
		.festival-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.festival-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.festival-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.festival-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.festival-hero__logo {
			max-height: 120px;
			max-width: 170px;
			object-fit: contain;
		}
		.festival-kpis {
			display: grid;
			gap: .85rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.25rem 0;
		}
		.festival-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: .9rem;
		}
		.festival-kpi__label {
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.festival-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.35rem, 2.6vw, 1.95rem);
			font-weight: 850;
			line-height: 1.05;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.festival-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.festival-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(72vh, 660px);
			min-height: 460px;
			overflow: hidden;
			width: 100%;
		}
		.festival-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			margin: 1.25rem 0;
			padding: 1rem;
		}
		.festival-panel__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .75rem;
		}
		.festival-table { margin: 0; }
		.festival-table th {
			border-top: 0;
			color: var(--ald-muted);
			font-size: .76rem;
			text-transform: uppercase;
		}
		.festival-table td,
		.festival-table th { vertical-align: middle; }
		.festival-popup { min-width: 245px; }
		.festival-popup__title {
			color: var(--popup-color, var(--ald-pink));
			font-size: 1rem;
			font-weight: 850;
			line-height: 1.25;
			margin: 0 0 .45rem;
		}
		.festival-popup__line {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .25rem 0;
		}
		.festival-popup__tag {
			background: color-mix(in srgb, var(--popup-color, deeppink) 14%, #fff);
			border-radius: 999px;
			color: var(--popup-color, var(--ald-pink));
			display: inline-block;
			font-size: .78rem;
			font-weight: 850;
			margin: .35rem 0;
			padding: .25rem .55rem;
		}
		.festival-popup__button {
			background: var(--popup-color, var(--ald-pink));
			border-radius: 6px;
			color: #fff !important;
			display: inline-block;
			font-weight: 800;
			margin-top: .6rem;
			padding: .45rem .7rem;
			text-decoration: none;
		}
		.festival-legend {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 8px 20px rgba(17, 24, 39, .12);
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			padding: .75rem;
		}
		.festival-legend strong {
			color: var(--ald-ink);
			display: block;
			margin-bottom: .45rem;
		}
		.festival-legend__row {
			align-items: center;
			display: flex;
			gap: .45rem;
			margin: .32rem 0;
		}
		.festival-legend__swatch {
			background: var(--swatch-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}
		@media (max-width: 991.98px) {
			.festival-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.festival-hero__grid,
			.festival-kpis { grid-template-columns: 1fr; }
			.festival-hero__logo { display: none; }
			.festival-map { height: 70vh; min-height: 420px; }
		}

/* squelettes/rubrique=32.html */
:root {
			--cv-primary: #0f766e;
			--cv-primary-dark: #115e59;
			--cv-accent: #14b8a6;
			--cv-pmr: #2563eb;
			--cv-muted: #64748b;
			--cv-ink: #172033;
			--cv-soft: #ecfdf5;
		}
		body {
			background: #fbfcfb;
			color: var(--cv-ink);
		}
		a,
		a:visited {
			color: var(--cv-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--cv-primary-dark) !important;
		}
		.cv-shell {
			padding-bottom: 3rem;
		}
		.cv-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: center;
			padding: 1.5rem 0 1rem;
		}
		.cv-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.7rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
		}
		.cv-hero__intro {
			max-width: 780px;
			margin: 1rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.cv-logo {
			max-width: 150px;
			max-height: 150px;
			object-fit: contain;
		}
		.cv-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.cv-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #dbece9;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.cv-kpi__label {
			display: block;
			color: #64748b;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.cv-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--cv-primary-dark);
			font-size: clamp(1.45rem, 2.8vw, 2.15rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.cv-kpi__meta {
			margin: .45rem 0 0;
			color: #64748b;
			font-size: .9rem;
		}
		.cv-toolbar {
			display: flex;
			gap: .75rem;
			align-items: center;
			justify-content: space-between;
			margin: 1rem 0;
			padding: .75rem;
			background: #fff;
			border: 1px solid #dbece9;
			border-radius: 8px;
		}
		.cv-search,
		.cv-select {
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #b9d8d1;
			border-radius: 6px;
			background: #fff;
			color: var(--cv-ink);
		}
		.cv-search {
			width: min(100%, 430px);
		}
		.cv-map-wrap {
			overflow: hidden;
			background: #fff;
			border: 1px solid #dbece9;
			border-radius: 8px;
			box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
		}
		#map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 420px;
		}
		.cv-legend {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem 1rem;
			padding: .85rem 1rem;
			background: #fff;
			border-top: 1px solid #dbece9;
			color: #475569;
			font-size: .92rem;
		}
		.cv-dot {
			display: inline-block;
			width: .75rem;
			height: .75rem;
			margin-right: .35rem;
			border-radius: 999px;
			vertical-align: middle;
		}
		.cv-list {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .95rem;
			margin-top: 1.25rem;
		}
		.cv-card {
			display: flex;
			flex-direction: column;
			min-height: 220px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #dbece9;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.cv-card__places {
			color: var(--cv-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.cv-card h2 {
			margin: .45rem 0 .55rem;
			font-size: 1.15rem;
			font-weight: 850;
			line-height: 1.2;
		}
		.cv-card p {
			margin: 0 0 .45rem;
			color: #475569;
		}
		.cv-card__footer {
			display: flex;
			gap: .5rem;
			align-items: center;
			justify-content: space-between;
			margin-top: auto;
			padding-top: .85rem;
		}
		.cv-badge {
			display: inline-flex;
			align-items: center;
			min-height: 28px;
			padding: .25rem .55rem;
			border-radius: 999px;
			background: var(--cv-soft);
			color: var(--cv-primary-dark);
			font-size: .8rem;
			font-weight: 800;
		}
		.cv-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 38px;
			padding: .45rem .75rem;
			border-radius: 6px;
			background: var(--cv-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.cv-btn:hover {
			background: var(--cv-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.cv-popup h3 {
			margin: 0 0 .35rem;
			color: var(--cv-ink);
			font-size: 1rem;
			font-weight: 850;
		}
		.cv-popup p {
			margin: .18rem 0;
			color: #475569;
		}
		.cv-popup .cv-btn {
			margin-top: .65rem;
		}
		.cv-state {
			grid-column: 1 / -1;
			padding: 1rem;
			background: #fff;
			border: 1px solid #dbece9;
			border-radius: 8px;
			color: #64748b;
		}
		@media (max-width: 991.98px) {
			.cv-kpis,
			.cv-list {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.cv-hero {
				grid-template-columns: 1fr;
			}
			.cv-logo {
				max-width: 110px;
			}
		}
		@media (max-width: 575.98px) {
			.cv-kpis,
			.cv-list {
				grid-template-columns: 1fr;
			}
			.cv-toolbar {
				align-items: stretch;
				flex-direction: column;
			}
			.cv-search,
			.cv-select {
				width: 100%;
			}
			#map {
				height: 60vh;
				min-height: 350px;
			}
		}

/* squelettes/rubrique=33.html */
:root {
			--mh-primary: #c026d3;
			--mh-primary-dark: #86198f;
			--mh-classed: #7c3aed;
			--mh-listed: #db2777;
			--mh-mixed: #f59e0b;
			--mh-muted: #64748b;
			--mh-ink: #172033;
			--mh-soft: #f7edf8;
		}
		body {
			background: #fbfafc;
			color: var(--mh-ink);
		}
		a,
		a:visited {
			color: var(--mh-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--mh-primary-dark) !important;
		}
		.mh-shell {
			padding-bottom: 3rem;
		}
		.mh-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.5rem;
			align-items: center;
			padding: 1.5rem 0 1rem;
		}
		.mh-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.8rem);
			font-weight: 800;
			letter-spacing: 0;
			line-height: 1.02;
		}
		.mh-hero__intro {
			max-width: 760px;
			margin: 1rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.mh-logo {
			max-width: 150px;
			max-height: 150px;
			object-fit: contain;
		}
		.mh-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.mh-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(30, 41, 59, .06);
		}
		.mh-kpi__label {
			display: block;
			color: #64748b;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.mh-kpi__value {
			display: block;
			margin-top: .35rem;
			color: var(--mh-primary-dark);
			font-size: clamp(1.7rem, 3vw, 2.35rem);
			font-weight: 850;
			line-height: 1;
		}
		.mh-kpi__meta {
			margin: .45rem 0 0;
			color: #64748b;
			font-size: .9rem;
		}
		.mh-toolbar {
			display: flex;
			gap: .75rem;
			align-items: center;
			justify-content: space-between;
			margin: 1rem 0;
			padding: .75rem;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
		}
		.mh-search {
			width: min(100%, 420px);
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #d8c2df;
			border-radius: 6px;
			color: var(--mh-ink);
		}
		.mh-select {
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #d8c2df;
			border-radius: 6px;
			background: #fff;
			color: var(--mh-ink);
		}
		.mh-map-wrap {
			overflow: hidden;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			box-shadow: 0 14px 36px rgba(30, 41, 59, .07);
		}
		#map {
			width: 100%;
			height: min(70vh, 680px);
			min-height: 440px;
		}
		.mh-legend {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem 1rem;
			padding: .85rem 1rem;
			background: #fff;
			border-top: 1px solid #ead8ef;
			color: #475569;
			font-size: .92rem;
		}
		.mh-dot {
			display: inline-block;
			width: .75rem;
			height: .75rem;
			margin-right: .35rem;
			border-radius: 999px;
			vertical-align: middle;
		}
		.mh-table-card {
			margin-top: 1.25rem;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(30, 41, 59, .06);
		}
		.mh-table-head {
			display: flex;
			gap: 1rem;
			justify-content: space-between;
			align-items: center;
			padding: 1rem 1.1rem;
			border-bottom: 1px solid #ead8ef;
		}
		.mh-table-head h2 {
			margin: 0;
			font-size: 1.25rem;
			font-weight: 800;
		}
		.mh-table-count {
			color: #64748b;
			font-size: .9rem;
		}
		.mh-table {
			margin: 0;
		}
		.mh-table th {
			border-top: 0;
			color: #475569;
			font-size: .78rem;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.mh-table td {
			vertical-align: middle;
		}
		.mh-badge {
			display: inline-flex;
			align-items: center;
			min-height: 28px;
			padding: .25rem .55rem;
			border-radius: 999px;
			background: var(--mh-soft);
			color: var(--mh-primary-dark);
			font-size: .82rem;
			font-weight: 700;
		}
		.mh-popup h3 {
			margin: 0 0 .35rem;
			color: var(--mh-ink);
			font-size: 1rem;
			font-weight: 800;
		}
		.mh-popup p {
			margin: .15rem 0;
			color: #475569;
		}
		.mh-popup .btn {
			margin-top: .65rem;
			background: var(--mh-primary);
			border-color: var(--mh-primary);
			color: #fff;
			font-weight: 800;
		}
		.mh-popup .btn:hover {
			background: var(--mh-primary-dark);
			border-color: var(--mh-primary-dark);
			color: #fff;
		}
		.mh-state {
			padding: 1rem;
			color: #64748b;
		}
		@media (max-width: 991.98px) {
			.mh-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.mh-hero {
				grid-template-columns: 1fr;
			}
			.mh-logo {
				max-width: 110px;
			}
		}
		@media (max-width: 575.98px) {
			.mh-kpis {
				grid-template-columns: 1fr;
			}
			.mh-toolbar {
				align-items: stretch;
				flex-direction: column;
			}
			.mh-search,
			.mh-select {
				width: 100%;
			}
			#map {
				height: 62vh;
				min-height: 360px;
			}
		}

/* squelettes/rubrique=34.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.modal-content { background: var(--ald-green); }

		.iron-page { color: var(--ald-ink); }
		.iron-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.iron-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.iron-hero h1 {
			font-size: clamp(2rem, 4vw, 3.2rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.iron-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}

		.iron-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.iron-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-blue);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.iron-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.iron-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.iron-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.iron-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.4vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.iron-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.iron-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}

		.iron-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.iron-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.iron-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.iron-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.iron-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.iron-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 270px;
		}

		.iron-popup {
			--popup-color: var(--ald-blue);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.iron-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.iron-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.iron-popup__body {
			padding: 12px 14px 14px;
		}

		.iron-popup__value {
			color: var(--popup-color);
			font-size: 1.55rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.iron-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		.iron-popup__button {
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
			background: var(--popup-color);
		}

		@media (max-width: 991.98px) {
			.iron-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.iron-hero__grid,
			.iron-kpis {
				grid-template-columns: 1fr;
			}

			.iron-hero__logo { display: none; }
			.iron-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=35.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.modal-content { background: var(--ald-green); }

		.iron-page { color: var(--ald-ink); }
		.iron-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.iron-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.iron-hero h1 {
			font-size: clamp(2rem, 4vw, 3.2rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.iron-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}

		.iron-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.iron-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-blue);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.iron-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.iron-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.iron-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.iron-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.4vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.iron-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.iron-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}

		.iron-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.iron-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.iron-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.iron-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.iron-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.iron-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 270px;
		}

		.iron-popup {
			--popup-color: var(--ald-blue);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.iron-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.iron-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.iron-popup__body {
			padding: 12px 14px 14px;
		}

		.iron-popup__value {
			color: var(--popup-color);
			font-size: 1.55rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.iron-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		.iron-popup__button {
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
			background: var(--popup-color);
		}

		@media (max-width: 991.98px) {
			.iron-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.iron-hero__grid,
			.iron-kpis {
				grid-template-columns: 1fr;
			}

			.iron-hero__logo { display: none; }
			.iron-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=36.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.modal-content { background: var(--ald-green); }

		.iron-page { color: var(--ald-ink); }
		.iron-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.iron-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.iron-hero h1 {
			font-size: clamp(2rem, 4vw, 3.2rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.iron-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 780px;
		}

		.iron-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.iron-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-blue);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.iron-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.iron-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.iron-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.iron-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.4vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.iron-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.iron-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}

		.iron-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.iron-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.iron-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.iron-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.iron-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.iron-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 270px;
		}

		.iron-popup {
			--popup-color: var(--ald-blue);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.iron-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.iron-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.iron-popup__body {
			padding: 12px 14px 14px;
		}

		.iron-popup__value {
			color: var(--popup-color);
			font-size: 1.55rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.iron-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		.iron-popup__button {
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
			background: var(--popup-color);
		}

		@media (max-width: 991.98px) {
			.iron-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.iron-hero__grid,
			.iron-kpis {
				grid-template-columns: 1fr;
			}

			.iron-hero__logo { display: none; }
			.iron-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=38.html */
:root {
			--camp-pink: deeppink;
			--camp-green: #75b30e;
			--camp-yellow: #f5b82e;
			--camp-red: #d7263d;
			--camp-blue: #2878d7;
			--camp-ink: #172033;
			--camp-muted: #657084;
			--camp-soft: #f6f8fb;
			--camp-border: #e7ebf1;
		}
		body {
			background: #fbfcfb;
			color: var(--camp-ink);
		}
		.bg-dark { background-color: var(--camp-pink)!important; }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.camp-page { color: var(--camp-ink); }
		.camp-hero {
			background: linear-gradient(180deg, #fff 0%, var(--camp-soft) 100%);
			border-bottom: 1px solid var(--camp-border);
			padding: 1.5rem 0 1.15rem;
		}
		.camp-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.camp-hero h1 {
			font-size: clamp(2rem, 4vw, 3.2rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.camp-hero__intro {
			color: var(--camp-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.camp-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.camp-alert {
			background: #fff;
			border: 1px solid var(--camp-border);
			border-left: 4px solid var(--camp-pink);
			border-radius: 8px;
			color: var(--camp-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}
		.camp-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.camp-kpi {
			background: #fff;
			border: 1px solid var(--camp-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--camp-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 126px;
			padding: 16px;
		}
		.camp-kpi__label {
			color: var(--camp-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.camp-kpi__value {
			color: var(--kpi-color, var(--camp-pink));
			font-size: clamp(1.45rem, 2.4vw, 2.05rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.camp-kpi__meta {
			color: var(--camp-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.camp-map {
			border: 1px solid var(--camp-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(70vh, 680px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}
		.camp-panel {
			background: #fff;
			border: 1px solid var(--camp-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.camp-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.camp-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--camp-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.camp-legend strong {
			display: block;
			margin-bottom: 8px;
		}
		.camp-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.camp-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 270px;
		}
		.camp-popup {
			--popup-color: var(--camp-blue);
			color: var(--camp-ink);
			font-size: 14px;
		}
		.camp-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.camp-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.camp-popup__body {
			padding: 12px 14px 14px;
		}
		.camp-popup__value {
			color: var(--popup-color);
			font-size: 1.55rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}
		.camp-popup__line {
			color: var(--camp-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.camp-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.camp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.camp-hero__grid,
			.camp-kpis {
				grid-template-columns: 1fr;
			}
			.camp-hero__logo { display: none; }
			.camp-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=39.html */
:root {
			--hotel-pink: deeppink;
			--hotel-green: #75b30e;
			--hotel-yellow: #f5b82e;
			--hotel-red: #d7263d;
			--hotel-blue: #2878d7;
			--hotel-ink: #172033;
			--hotel-muted: #657084;
			--hotel-soft: #f6f8fb;
			--hotel-border: #e7ebf1;
		}
		body {
			background: #fbfcfb;
			color: var(--hotel-ink);
		}
		.bg-dark { background-color: var(--hotel-pink)!important; }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.hotel-page { color: var(--hotel-ink); }
		.hotel-hero {
			background: linear-gradient(180deg, #fff 0%, var(--hotel-soft) 100%);
			border-bottom: 1px solid var(--hotel-border);
			padding: 1.5rem 0 1.15rem;
		}
		.hotel-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.hotel-hero h1 {
			font-size: clamp(2rem, 4vw, 3.2rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.hotel-hero__intro {
			color: var(--hotel-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.hotel-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.hotel-alert {
			background: #fff;
			border: 1px solid var(--hotel-border);
			border-left: 4px solid var(--hotel-pink);
			border-radius: 8px;
			color: var(--hotel-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}
		.hotel-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.hotel-kpi {
			background: #fff;
			border: 1px solid var(--hotel-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--hotel-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 126px;
			padding: 16px;
		}
		.hotel-kpi__label {
			color: var(--hotel-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.hotel-kpi__value {
			color: var(--kpi-color, var(--hotel-pink));
			font-size: clamp(1.45rem, 2.4vw, 2.05rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.hotel-kpi__meta {
			color: var(--hotel-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.hotel-map {
			border: 1px solid var(--hotel-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(70vh, 680px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}
		.hotel-panel {
			background: #fff;
			border: 1px solid var(--hotel-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.hotel-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.hotel-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--hotel-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.hotel-legend strong {
			display: block;
			margin-bottom: 8px;
		}
		.hotel-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.hotel-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 270px;
		}
		.hotel-popup {
			--popup-color: var(--hotel-blue);
			color: var(--hotel-ink);
			font-size: 14px;
		}
		.hotel-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.hotel-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.hotel-popup__body {
			padding: 12px 14px 14px;
		}
		.hotel-popup__value {
			color: var(--popup-color);
			font-size: 1.55rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}
		.hotel-popup__line {
			color: var(--hotel-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.hotel-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.hotel-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.hotel-hero__grid,
			.hotel-kpis {
				grid-template-columns: 1fr;
			}
			.hotel-hero__logo { display: none; }
			.hotel-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=40.html */
:root {
			--ly-primary: #2563eb;
			--ly-primary-dark: #1e40af;
			--ly-public: #0f766e;
			--ly-private: #7c3aed;
			--ly-internat: #f59e0b;
			--ly-muted: #64748b;
			--ly-ink: #172033;
			--ly-soft: #eff6ff;
		}
		body {
			background: #fbfcff;
			color: var(--ly-ink);
		}
		a,
		a:visited {
			color: var(--ly-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--ly-primary-dark) !important;
		}
		.ly-shell {
			padding-bottom: 3rem;
		}
		.ly-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: center;
			padding: 1.5rem 0 1rem;
		}
		.ly-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.7rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
		}
		.ly-hero__intro {
			max-width: 790px;
			margin: 1rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.ly-logo {
			max-width: 150px;
			max-height: 150px;
			object-fit: contain;
		}
		.ly-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.ly-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #dbe7fb;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.ly-kpi__label {
			display: block;
			color: #64748b;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.ly-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--ly-primary-dark);
			font-size: clamp(1.45rem, 2.8vw, 2.15rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.ly-kpi__meta {
			margin: .45rem 0 0;
			color: #64748b;
			font-size: .9rem;
		}
		.ly-toolbar {
			display: flex;
			gap: .75rem;
			align-items: center;
			justify-content: space-between;
			margin: 1rem 0;
			padding: .75rem;
			background: #fff;
			border: 1px solid #dbe7fb;
			border-radius: 8px;
		}
		.ly-search,
		.ly-select {
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #bfd0ef;
			border-radius: 6px;
			background: #fff;
			color: var(--ly-ink);
		}
		.ly-search {
			width: min(100%, 430px);
		}
		.ly-map-wrap {
			overflow: hidden;
			background: #fff;
			border: 1px solid #dbe7fb;
			border-radius: 8px;
			box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
		}
		#map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 420px;
		}
		.ly-legend {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem 1rem;
			padding: .85rem 1rem;
			background: #fff;
			border-top: 1px solid #dbe7fb;
			color: #475569;
			font-size: .92rem;
		}
		.ly-dot {
			display: inline-block;
			width: .75rem;
			height: .75rem;
			margin-right: .35rem;
			border-radius: 999px;
			vertical-align: middle;
		}
		.ly-list {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .95rem;
			margin-top: 1.25rem;
		}
		.ly-card {
			display: flex;
			flex-direction: column;
			min-height: 245px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #dbe7fb;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.ly-card__type {
			color: var(--ly-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.ly-card h2 {
			margin: .45rem 0 .55rem;
			font-size: 1.15rem;
			font-weight: 850;
			line-height: 1.2;
		}
		.ly-card p {
			margin: 0 0 .45rem;
			color: #475569;
		}
		.ly-card__footer {
			display: flex;
			gap: .5rem;
			align-items: center;
			justify-content: space-between;
			margin-top: auto;
			padding-top: .85rem;
		}
		.ly-badge {
			display: inline-flex;
			align-items: center;
			min-height: 28px;
			padding: .25rem .55rem;
			border-radius: 999px;
			background: var(--ly-soft);
			color: var(--ly-primary-dark);
			font-size: .8rem;
			font-weight: 800;
		}
		.ly-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 38px;
			padding: .45rem .75rem;
			border-radius: 6px;
			background: var(--ly-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.ly-btn:hover {
			background: var(--ly-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.ly-popup h3 {
			margin: 0 0 .35rem;
			color: var(--ly-ink);
			font-size: 1rem;
			font-weight: 850;
		}
		.ly-popup p {
			margin: .18rem 0;
			color: #475569;
		}
		.ly-popup .ly-btn {
			margin-top: .65rem;
		}
		.ly-state {
			grid-column: 1 / -1;
			padding: 1rem;
			background: #fff;
			border: 1px solid #dbe7fb;
			border-radius: 8px;
			color: #64748b;
		}
		@media (max-width: 991.98px) {
			.ly-kpis,
			.ly-list {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.ly-hero {
				grid-template-columns: 1fr;
			}
			.ly-logo {
				max-width: 110px;
			}
		}
		@media (max-width: 575.98px) {
			.ly-kpis,
			.ly-list {
				grid-template-columns: 1fr;
			}
			.ly-toolbar {
				align-items: stretch;
				flex-direction: column;
			}
			.ly-search,
			.ly-select {
				width: 100%;
			}
			#map {
				height: 60vh;
				min-height: 350px;
			}
		}

/* squelettes/rubrique=41.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-purple: #7048e8;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.lordi-page { color: var(--ald-ink); }
		.lordi-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.4rem 0 1.2rem;
		}
		.lordi-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.lordi-hero h1 {
			font-size: clamp(2rem, 4vw, 3.1rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.04;
			margin: .6rem 0;
		}
		.lordi-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}
		.lordi-hero__logo {
			max-height: 120px;
			max-width: 170px;
			object-fit: contain;
		}
		.lordi-kpis {
			display: grid;
			gap: .85rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.25rem 0;
		}
		.lordi-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			padding: .9rem;
		}
		.lordi-kpi__label {
			color: var(--ald-muted);
			font-size: .76rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .45rem;
			text-transform: uppercase;
		}
		.lordi-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.35rem, 2.6vw, 1.95rem);
			font-weight: 850;
			line-height: 1.05;
			margin: 0;
			overflow-wrap: anywhere;
		}
		.lordi-kpi__meta {
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			margin: .45rem 0 0;
		}
		.lordi-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			height: min(72vh, 660px);
			min-height: 460px;
			overflow: hidden;
			width: 100%;
		}
		.lordi-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			margin: 1.25rem 0;
			padding: 1rem;
		}
		.lordi-panel__title {
			font-size: 1rem;
			font-weight: 850;
			margin: 0 0 .75rem;
		}
		.lordi-table {
			margin: 0;
		}
		.lordi-table th {
			border-top: 0;
			color: var(--ald-muted);
			font-size: .76rem;
			text-transform: uppercase;
		}
		.lordi-table td,
		.lordi-table th {
			vertical-align: middle;
		}
		.lordi-popup {
			min-width: 240px;
		}
		.lordi-popup__title {
			color: var(--popup-color, var(--ald-pink));
			font-size: 1rem;
			font-weight: 850;
			line-height: 1.25;
			margin: 0 0 .45rem;
		}
		.lordi-popup__value {
			color: var(--popup-color, var(--ald-pink));
			font-size: 1.55rem;
			font-weight: 900;
			line-height: 1;
			margin: .25rem 0;
		}
		.lordi-popup__line {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .25rem 0;
		}
		.lordi-popup__button {
			background: var(--popup-color, var(--ald-pink));
			border-radius: 6px;
			color: #fff !important;
			display: inline-block;
			font-weight: 800;
			margin-top: .6rem;
			padding: .45rem .7rem;
			text-decoration: none;
		}
		.lordi-legend {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 8px 20px rgba(17, 24, 39, .12);
			color: var(--ald-muted);
			font-size: .84rem;
			line-height: 1.35;
			padding: .75rem;
		}
		.lordi-legend strong {
			color: var(--ald-ink);
			display: block;
			margin-bottom: .45rem;
		}
		.lordi-legend__row {
			align-items: center;
			display: flex;
			gap: .45rem;
			margin: .32rem 0;
		}
		.lordi-legend__swatch {
			background: var(--swatch-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}
		@media (max-width: 991.98px) {
			.lordi-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.lordi-hero__grid,
			.lordi-kpis { grid-template-columns: 1fr; }
			.lordi-hero__logo { display: none; }
			.lordi-map { height: 70vh; min-height: 420px; }
		}

/* squelettes/rubrique=42.html */
:root {
			--ag-primary: #c026d3;
			--ag-primary-dark: #86198f;
			--ag-culture: #db2777;
			--ag-sport: #16a34a;
			--ag-autres: #2563eb;
			--ag-foire: #f59e0b;
			--ag-emploi: #7c3aed;
			--ag-muted: #64748b;
			--ag-ink: #172033;
			--ag-soft: #f7edf8;
		}
		body {
			background: #fbfafc;
			color: var(--ag-ink);
		}
		a,
		a:visited {
			color: var(--ag-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--ag-primary-dark) !important;
		}
		.ag-shell {
			padding-bottom: 3rem;
		}
		.ag-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: center;
			padding: 1.5rem 0 1rem;
		}
		.ag-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.75rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
		}
		.ag-hero__intro {
			max-width: 780px;
			margin: 1rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.ag-logo {
			max-width: 150px;
			max-height: 150px;
			object-fit: contain;
		}
		.ag-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.ag-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(30, 41, 59, .06);
		}
		.ag-kpi__label {
			display: block;
			color: #64748b;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.ag-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--ag-primary-dark);
			font-size: clamp(1.45rem, 2.8vw, 2.1rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.ag-kpi__meta {
			margin: .45rem 0 0;
			color: #64748b;
			font-size: .9rem;
		}
		.ag-toolbar {
			display: flex;
			gap: .75rem;
			align-items: center;
			justify-content: space-between;
			margin: 1rem 0;
			padding: .75rem;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
		}
		.ag-search,
		.ag-select {
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #d8c2df;
			border-radius: 6px;
			background: #fff;
			color: var(--ag-ink);
		}
		.ag-search {
			width: min(100%, 430px);
		}
		.ag-map-wrap {
			overflow: hidden;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			box-shadow: 0 14px 36px rgba(30, 41, 59, .07);
		}
		#map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 420px;
		}
		.ag-legend {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem 1rem;
			padding: .85rem 1rem;
			background: #fff;
			border-top: 1px solid #ead8ef;
			color: #475569;
			font-size: .92rem;
		}
		.ag-dot {
			display: inline-block;
			width: .75rem;
			height: .75rem;
			margin-right: .35rem;
			border-radius: 999px;
			vertical-align: middle;
		}
		.ag-list {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .95rem;
			margin-top: 1.25rem;
		}
		.ag-card {
			display: flex;
			flex-direction: column;
			min-height: 310px;
			padding: 1rem;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(30, 41, 59, .06);
		}
		.ag-card__date {
			color: var(--ag-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.ag-card h2 {
			margin: .45rem 0 .55rem;
			font-size: 1.15rem;
			font-weight: 850;
			line-height: 1.2;
		}
		.ag-card p {
			margin: 0 0 .55rem;
			color: #475569;
		}
		.ag-card__desc {
			display: -webkit-box;
			overflow: hidden;
			-webkit-line-clamp: 6;
			-webkit-box-orient: vertical;
		}
		.ag-card__footer {
			display: flex;
			gap: .5rem;
			align-items: center;
			justify-content: space-between;
			margin-top: auto;
			padding-top: .85rem;
		}
		.ag-badge {
			display: inline-flex;
			align-items: center;
			min-height: 28px;
			padding: .25rem .55rem;
			border-radius: 999px;
			background: var(--ag-soft);
			color: var(--ag-primary-dark);
			font-size: .8rem;
			font-weight: 800;
		}
		.ag-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 38px;
			padding: .45rem .75rem;
			border-radius: 6px;
			background: var(--ag-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.ag-btn:hover {
			background: var(--ag-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.ag-popup h3 {
			margin: 0 0 .35rem;
			color: var(--ag-ink);
			font-size: 1rem;
			font-weight: 850;
		}
		.ag-popup p {
			margin: .18rem 0;
			color: #475569;
		}
		.ag-popup .ag-btn {
			margin-top: .65rem;
		}
		.ag-state {
			grid-column: 1 / -1;
			padding: 1rem;
			background: #fff;
			border: 1px solid #ead8ef;
			border-radius: 8px;
			color: #64748b;
		}
		@media (max-width: 991.98px) {
			.ag-kpis,
			.ag-list {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.ag-hero {
				grid-template-columns: 1fr;
			}
			.ag-logo {
				max-width: 110px;
			}
		}
		@media (max-width: 575.98px) {
			.ag-kpis,
			.ag-list {
				grid-template-columns: 1fr;
			}
			.ag-toolbar {
				align-items: stretch;
				flex-direction: column;
			}
			.ag-search,
			.ag-select {
				width: 100%;
			}
			#map {
				height: 60vh;
				min-height: 350px;
			}
		}

/* squelettes/rubrique=43.html */
:root {
			--tl-primary: #7c3aed;
			--tl-primary-dark: #5b21b6;
			--tl-etc: #0f766e;
			--tl-fab: #db2777;
			--tl-emn: #2563eb;
			--tl-muted: #64748b;
			--tl-ink: #172033;
			--tl-soft: #f5f3ff;
			--tl-border: #e5ddfb;
		}
		body {
			background: #fcfbff;
			color: var(--tl-ink);
		}
		a,
		a:visited {
			color: var(--tl-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--tl-primary-dark) !important;
		}
		.tl-shell {
			padding-bottom: 3rem;
		}
		.tl-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: center;
			padding: 1.5rem 0 1rem;
		}
		.tl-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.7rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
		}
		.tl-hero__intro {
			max-width: 790px;
			margin: 1rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.tl-logo {
			max-width: 150px;
			max-height: 150px;
			object-fit: contain;
		}
		.tl-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.tl-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--tl-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.tl-kpi__label {
			display: block;
			color: #64748b;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.tl-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--tl-primary-dark);
			font-size: clamp(1.45rem, 2.8vw, 2.15rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.tl-kpi__meta {
			margin: .45rem 0 0;
			color: #64748b;
			font-size: .9rem;
		}
		.tl-toolbar {
			display: flex;
			gap: .75rem;
			align-items: center;
			justify-content: space-between;
			margin: 1rem 0;
			padding: .75rem;
			background: #fff;
			border: 1px solid var(--tl-border);
			border-radius: 8px;
		}
		.tl-search,
		.tl-select {
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #cfc2f3;
			border-radius: 6px;
			background: #fff;
			color: var(--tl-ink);
		}
		.tl-search {
			width: min(100%, 430px);
		}
		.tl-map-wrap {
			overflow: hidden;
			background: #fff;
			border: 1px solid var(--tl-border);
			border-radius: 8px;
			box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
		}
		#map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 420px;
		}
		.tl-legend {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem 1rem;
			padding: .85rem 1rem;
			background: #fff;
			border-top: 1px solid var(--tl-border);
			color: #475569;
			font-size: .92rem;
		}
		.tl-dot {
			display: inline-block;
			width: .75rem;
			height: .75rem;
			margin-right: .35rem;
			border-radius: 999px;
			vertical-align: middle;
		}
		.tl-list {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .95rem;
			margin-top: 1.25rem;
		}
		.tl-card {
			display: flex;
			flex-direction: column;
			min-height: 245px;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--tl-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.tl-card__type {
			color: var(--tl-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.tl-card h2 {
			margin: .45rem 0 .55rem;
			font-size: 1.15rem;
			font-weight: 850;
			line-height: 1.2;
		}
		.tl-card p {
			margin: 0 0 .45rem;
			color: #475569;
		}
		.tl-card__footer {
			display: flex;
			gap: .5rem;
			align-items: center;
			justify-content: space-between;
			margin-top: auto;
			padding-top: .85rem;
		}
		.tl-badge {
			display: inline-flex;
			align-items: center;
			min-height: 28px;
			padding: .25rem .55rem;
			border-radius: 999px;
			background: var(--tl-soft);
			color: var(--tl-primary-dark);
			font-size: .8rem;
			font-weight: 800;
		}
		.tl-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 38px;
			padding: .45rem .75rem;
			border-radius: 6px;
			background: var(--tl-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.tl-btn:hover {
			background: var(--tl-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.tl-popup h3 {
			margin: 0;
			color: #fff;
			font-size: 1rem;
			font-weight: 850;
		}
		.tl-popup {
			min-width: 230px;
			overflow: hidden;
			border-radius: 8px;
		}
		.tl-popup__head {
			margin: -1px -1px .7rem;
			padding: .75rem .85rem;
			background: var(--tl-primary);
			color: #fff;
		}
		.tl-popup__cat {
			display: inline-flex;
			align-items: center;
			min-height: 24px;
			margin-top: .45rem;
			padding: .15rem .45rem;
			border-radius: 999px;
			background: rgba(255, 255, 255, .18);
			color: #fff;
			font-size: .75rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.tl-popup p {
			margin: .28rem 0;
			color: #475569;
			line-height: 1.35;
		}
		.tl-popup .tl-btn {
			width: 100%;
			margin-top: .75rem;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
		}
		.leaflet-popup-content {
			margin: 0;
			padding: 0;
		}
		.tl-state {
			grid-column: 1 / -1;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--tl-border);
			border-radius: 8px;
			color: #64748b;
		}
		@media (max-width: 991.98px) {
			.tl-kpis,
			.tl-list {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.tl-hero {
				grid-template-columns: 1fr;
			}
			.tl-logo {
				max-width: 110px;
			}
		}
		@media (max-width: 575.98px) {
			.tl-kpis,
			.tl-list {
				grid-template-columns: 1fr;
			}
			.tl-toolbar {
				align-items: stretch;
				flex-direction: column;
			}
			.tl-search,
			.tl-select {
				width: 100%;
			}
			#map {
				height: 60vh;
				min-height: 350px;
			}
		}

/* squelettes/rubrique=45.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		
		.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
color: var(--ald-brand-green); }

/* squelettes/rubrique=46.html */
:root {
			--irve-primary: #0f766e;
			--irve-primary-dark: #115e59;
			--irve-fast: #dc2626;
			--irve-mid: #f59e0b;
			--irve-slow: #0f766e;
			--irve-unknown: #64748b;
			--irve-ink: #172033;
			--irve-muted: #64748b;
			--irve-soft: #ecfdf5;
			--irve-border: #dbece9;
		}
		body {
			background: #fbfcfb;
			color: var(--irve-ink);
		}
		a,
		a:visited {
			color: var(--irve-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--irve-primary-dark) !important;
		}
		.irve-shell {
			padding-bottom: 3rem;
		}
		.irve-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: center;
			padding: 1.5rem 0 1rem;
		}
		.irve-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.7rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
		}
		.irve-hero__intro {
			max-width: 820px;
			margin: 1rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.irve-logo {
			max-width: 150px;
			max-height: 150px;
			object-fit: contain;
		}
		.irve-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.irve-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--irve-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.irve-kpi__label {
			display: block;
			color: #64748b;
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.irve-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--irve-primary-dark);
			font-size: clamp(1.45rem, 2.8vw, 2.15rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.irve-kpi__meta {
			margin: .45rem 0 0;
			color: #64748b;
			font-size: .9rem;
		}
		.irve-toolbar {
			display: flex;
			gap: .75rem;
			align-items: center;
			justify-content: space-between;
			margin: 1rem 0;
			padding: .75rem;
			background: #fff;
			border: 1px solid var(--irve-border);
			border-radius: 8px;
		}
		.irve-search,
		.irve-select {
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #b9d8d1;
			border-radius: 6px;
			background: #fff;
			color: var(--irve-ink);
		}
		.irve-search {
			width: min(100%, 430px);
		}
		.irve-map-wrap {
			overflow: hidden;
			background: #fff;
			border: 1px solid var(--irve-border);
			border-radius: 8px;
			box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
		}
		#map {
			width: 100%;
			height: min(70vh, 680px);
			min-height: 440px;
		}
		.irve-legend {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem 1rem;
			padding: .85rem 1rem;
			background: #fff;
			border-top: 1px solid var(--irve-border);
			color: #475569;
			font-size: .92rem;
		}
		.irve-dot {
			display: inline-block;
			width: .75rem;
			height: .75rem;
			margin-right: .35rem;
			border-radius: 999px;
			vertical-align: middle;
		}
		.irve-list {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .95rem;
			margin-top: 1.25rem;
		}
		.irve-card {
			display: flex;
			flex-direction: column;
			min-height: 245px;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--irve-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.irve-card__power {
			color: var(--irve-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.irve-card h2 {
			margin: .45rem 0 .55rem;
			font-size: 1.15rem;
			font-weight: 850;
			line-height: 1.2;
		}
		.irve-card p {
			margin: 0 0 .45rem;
			color: #475569;
		}
		.irve-card__footer {
			display: flex;
			gap: .5rem;
			align-items: center;
			justify-content: space-between;
			margin-top: auto;
			padding-top: .85rem;
		}
		.irve-badge {
			display: inline-flex;
			align-items: center;
			min-height: 28px;
			padding: .25rem .55rem;
			border-radius: 999px;
			background: var(--irve-soft);
			color: var(--irve-primary-dark);
			font-size: .8rem;
			font-weight: 800;
		}
		.irve-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 38px;
			padding: .45rem .75rem;
			border-radius: 6px;
			background: var(--irve-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.irve-btn:hover {
			background: var(--irve-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.irve-popup {
			min-width: 245px;
			overflow: hidden;
			border-radius: 8px;
		}
		.irve-popup__head {
			margin: -1px -1px .7rem;
			padding: .75rem .85rem;
			background: var(--irve-primary);
			color: #fff;
		}
		.irve-popup h3 {
			margin: 0;
			color: #fff;
			font-size: 1rem;
			font-weight: 850;
		}
		.irve-popup p {
			margin: .28rem 0;
			color: #475569;
			line-height: 1.35;
		}
		.irve-popup .irve-btn {
			width: 100%;
			margin-top: .75rem;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
		}
		.leaflet-popup-content {
			margin: 0;
			padding: 0;
		}
		.irve-state {
			grid-column: 1 / -1;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--irve-border);
			border-radius: 8px;
			color: #64748b;
		}
		@media (max-width: 991.98px) {
			.irve-kpis,
			.irve-list {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.irve-hero {
				grid-template-columns: 1fr;
			}
			.irve-logo {
				max-width: 110px;
			}
		}
		@media (max-width: 575.98px) {
			.irve-kpis,
			.irve-list {
				grid-template-columns: 1fr;
			}
			.irve-toolbar {
				align-items: stretch;
				flex-direction: column;
			}
			.irve-search,
			.irve-select {
				width: 100%;
			}
			#map {
				height: 60vh;
				min-height: 350px;
			}
		}

/* squelettes/rubrique=47.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #2f9e44;
			--ald-orange: #f59f00;
			--ald-red: #d9480f;
			--ald-deep: #c2255c;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		.rsa-page { color: var(--ald-ink); }
		.rsa-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}
		.rsa-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.rsa-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.rsa-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 850px;
		}
		.rsa-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.rsa-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.rsa-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 120px;
			padding: 16px;
		}
		.rsa-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.rsa-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.45rem, 2.5vw, 2rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.rsa-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.rsa-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(72vh, 690px);
			min-height: 520px;
			overflow: hidden;
			width: 100%;
		}
		.rsa-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}
		.rsa-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}
		.rsa-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}
		.rsa-legend strong { display: block; margin-bottom: 8px; }
		.rsa-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}
		.rsa-legend__swatch {
			background: var(--swatch-color);
			border-radius: 3px;
			display: inline-block;
			height: 12px;
			width: 18px;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}
		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}
		.rsa-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}
		.rsa-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}
		.rsa-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}
		.rsa-popup__body {
			padding: 12px 14px 14px;
		}
		.rsa-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.1;
			margin: .1rem 0;
		}
		.rsa-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}
		.rsa-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.rsa-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.rsa-hero__grid,
			.rsa-kpis {
				grid-template-columns: 1fr;
			}
			.rsa-hero__logo { display: none; }
			.rsa-map { height: 70vh; min-height: 430px; }
		}

/* squelettes/rubrique=48.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.works-page { color: var(--ald-ink); }
		.works-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.works-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.works-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.works-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.works-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.works-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-pink);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.works-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.works-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.works-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.works-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.38rem, 2.2vw, 1.95rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.works-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.works-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}

		.works-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.works-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.works-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.works-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.works-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.works-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}

		.works-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.works-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.works-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.works-popup__body {
			padding: 12px 14px 14px;
		}

		.works-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.works-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		.works-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}

		@media (max-width: 991.98px) {
			.works-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.works-hero__grid,
			.works-kpis {
				grid-template-columns: 1fr;
			}

			.works-hero__logo { display: none; }
			.works-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=49.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.food-page { color: var(--ald-ink); }
		.food-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.food-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.food-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.food-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.food-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.food-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-pink);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.food-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.food-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.food-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.food-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.38rem, 2.2vw, 1.95rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.food-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.food-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}

		.food-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.food-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.food-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.food-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.food-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.food-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}

		.food-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.food-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.food-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.food-popup__body {
			padding: 12px 14px 14px;
		}

		.food-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.food-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		.food-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}

		@media (max-width: 991.98px) {
			.food-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.food-hero__grid,
			.food-kpis {
				grid-template-columns: 1fr;
			}

			.food-hero__logo { display: none; }
			.food-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=50.html */
:root {
			--ft-green: #75b30e;
			--ft-yellow: #f5b82e;
			--ft-pink: deeppink;
			--ft-red: #d7263d;
			--ft-blue: #2878d7;
			--ft-ink: #172033;
			--ft-muted: #657084;
			--ft-soft: #f6f8fb;
			--ft-border: #e7ebf1;
		}
		.ft-page { color: var(--ft-ink); }
		.ft-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ft-soft) 100%);
			border-bottom: 1px solid var(--ft-border);
			padding: 1.5rem 0 1.1rem;
		}
		.ft-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}
		.ft-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}
		.ft-hero__intro {
			color: var(--ft-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 860px;
		}
		.ft-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}
		.ft-alert {
			background: #fff;
			border: 1px solid var(--ft-border);
			border-left: 4px solid var(--ald-brand-green);
			border-radius: 8px;
			color: var(--ft-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}
		.ft-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}
		.ft-kpi {
			background: #fff;
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-brand-green));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}
		.ft-kpi__label {
			color: var(--ft-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}
		.ft-kpi__value {
			color: var(--kpi-color, var(--ald-brand-green));
			font-size: clamp(1.38rem, 2.2vw, 1.95rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}
		.ft-kpi__meta {
			color: var(--ft-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}
		.ft-map {
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 480px;
			overflow: hidden;
			width: 100%;
		}
		.ft-map-tools {
			align-items: center;
			background: #fff;
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .06);
			display: flex;
			gap: .65rem;
			margin: 1rem 0;
			padding: .75rem;
		}
		.ft-map-tools label {
			background: transparent;
			border: 0;
			border-radius: 0;
			color: var(--ft-muted);
			display: inline-block;
			font-size: .78rem;
			font-weight: 850;
			letter-spacing: .02em;
			line-height: 1.2;
			margin: 0;
			padding: 0;
			text-transform: uppercase;
			white-space: nowrap;
		}
		.ft-map-tools__select {
			background: #fff;
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			color: var(--ft-ink);
			font-size: .95rem;
			min-width: 170px;
			padding: .7rem .85rem;
		}
		.ft-map-tools__input {
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			color: var(--ft-ink);
			flex: 1 1 auto;
			font-size: .95rem;
			min-width: 0;
			padding: .7rem .85rem;
		}
		.ft-map-tools__input:focus {
			border-color: var(--ald-brand-green);
			box-shadow: 0 0 0 .18rem rgba(6, 122, 62, .14);
			outline: 0;
		}
		.ft-map-tools__button {
			background: var(--ald-brand-green);
			border: 0;
			border-radius: 8px;
			color: #fff;
			cursor: pointer;
			font-weight: 850;
			padding: .72rem 1rem;
			white-space: nowrap;
		}
		.ft-map-tools__button:hover,
		.ft-map-tools__button:focus {
			background: var(--ald-brand-green-dark);
			outline: 0;
		}
		.ft-panel {
			background: #fff;
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .06);
			color: var(--ft-muted);
			margin: 1rem 0 1.5rem;
			padding: 1rem;
		}
		.ft-panel__title {
			color: var(--ft-ink);
			font-size: 1.1rem;
			font-weight: 850;
			margin: 0 0 .4rem;
		}
		.ft-legend {
			background: rgba(255, 255, 255, .95);
			border: 1px solid var(--ft-border);
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(17, 24, 39, .12);
			color: var(--ft-ink);
			font-size: .86rem;
			line-height: 1.25;
			padding: .85rem;
		}
		.ft-legend strong {
			display: block;
			margin-bottom: .45rem;
		}
		.ft-legend__row {
			align-items: center;
			display: flex;
			gap: .45rem;
			margin-top: .35rem;
		}
		.ft-legend__row--button {
			width: 100%;
			border: 0;
			background: transparent;
			color: inherit;
			cursor: pointer;
			font: inherit;
			padding: .18rem 0;
			text-align: left;
		}
		.ft-legend__row--button:hover,
		.ft-legend__row--button:focus {
			color: var(--ald-brand-green-dark);
			outline: 0;
			text-decoration: underline;
			text-underline-offset: .16em;
		}
		.ft-legend__row--button[aria-pressed="true"] {
			color: var(--ald-brand-green-dark);
			font-weight: 900;
		}
		.ft-legend__row small {
			margin-left: auto;
			color: var(--ft-muted);
			font-weight: 800;
		}
		.ft-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: .75rem;
			width: .75rem;
		}
		.ft-legend__item {
			display: inline-flex;
			align-items: center;
			gap: .4rem;
			margin: .2rem .65rem .2rem 0;
			font-weight: 750;
		}
		.ft-legend__item i {
			display: inline-block;
			width: .85rem;
			height: .85rem;
			border-radius: 999px;
			box-shadow: inset 0 0 0 1px rgba(8, 29, 59, .12);
		}
		.ft-popup {
			min-width: 230px;
			max-width: min(78vw, 330px);
		}
		.ft-popup__head {
			border-bottom: 3px solid var(--popup-color, var(--ald-brand-green));
			padding-bottom: .45rem;
		}
		.ft-popup__title {
			color: var(--ft-ink);
			font-size: 1.05rem;
			font-weight: 850;
			margin: 0;
		}
		.ft-popup__body {
			max-height: min(52vh, 360px);
			overflow-y: auto;
			padding-top: .55rem;
		}
		.ft-popup__value {
			color: var(--popup-color, var(--ald-brand-green));
			font-size: 1.35rem;
			font-weight: 850;
			line-height: 1.1;
			margin-bottom: .45rem;
		}
		.ft-popup__line {
			color: var(--ft-muted);
			font-size: .9rem;
			line-height: 1.35;
			margin: .25rem 0;
		}
		.ft-popup__button {
			background: var(--popup-color, var(--ald-brand-green));
			border-radius: 8px;
			color: #fff !important;
			display: inline-flex;
			font-weight: 850;
			justify-content: center;
			margin-top: .55rem;
			padding: .55rem .75rem;
			text-decoration: none;
			width: 100%;
		}
		.ft-popup__button:hover {
			background: var(--ft-ink);
			text-decoration: none;
		}
		@media (max-width: 991.98px) {
			.ft-hero__grid,
			.ft-kpis {
				grid-template-columns: 1fr;
			}
			.ft-hero__logo {
				display: none;
			}
			.ft-map {
				min-height: 430px;
			}
		}
		@media (max-width: 575.98px) {
			.ft-map-tools {
				align-items: stretch;
				flex-direction: column;
			}
			.ft-map-tools label {
				white-space: normal;
			}
			.ft-map-tools__select {
				width: 100%;
			}
			.ft-map-tools__button {
				width: 100%;
			}
		}

/* squelettes/rubrique=51.html */
:root {
			--lio-primary: #0d7890;
			--lio-primary-dark: #075d70;
			--lio-accessible: #067a3e;
			--lio-unknown: #2384d6;
			--lio-no: #c05a88;
			--lio-muted: #64748b;
			--lio-ink: #172033;
			--lio-soft: #eef8fa;
			--lio-border: #d8edf1;
		}
		body {
			background: #fbfdfe;
			color: var(--lio-ink);
		}
		a,
		a:visited {
			color: var(--lio-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--lio-primary-dark) !important;
		}
		.lio-shell {
			padding-bottom: 3rem;
		}
		.lio-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: center;
			padding: 1.5rem 0 1rem;
		}
		.lio-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.7rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
		}
		.lio-hero__intro {
			max-width: 790px;
			margin: 1rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.lio-logo {
			max-width: 150px;
			max-height: 150px;
			object-fit: contain;
		}
		.lio-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.lio-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--lio-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.lio-kpi__label {
			display: block;
			color: var(--lio-muted);
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.lio-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--lio-primary-dark);
			font-size: clamp(1.45rem, 2.8vw, 2.15rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.lio-kpi__meta {
			margin: .45rem 0 0;
			color: var(--lio-muted);
			font-size: .9rem;
		}
		.lio-toolbar {
			display: flex;
			gap: .75rem;
			align-items: center;
			justify-content: space-between;
			margin: 1rem 0;
			padding: .75rem;
			background: #fff;
			border: 1px solid var(--lio-border);
			border-radius: 8px;
		}
		.lio-search,
		.lio-select {
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #badce4;
			border-radius: 6px;
			background: #fff;
			color: var(--lio-ink);
		}
		.lio-search {
			width: min(100%, 430px);
		}
		.lio-map-wrap {
			overflow: hidden;
			background: #fff;
			border: 1px solid var(--lio-border);
			border-radius: 8px;
			box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
		}
		#map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 420px;
		}
		.lio-legend {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem 1rem;
			padding: .85rem 1rem;
			background: #fff;
			border-top: 1px solid var(--lio-border);
			color: #475569;
			font-size: .92rem;
		}
		.lio-dot {
			display: inline-block;
			width: .75rem;
			height: .75rem;
			margin-right: .35rem;
			border-radius: 999px;
			vertical-align: middle;
		}
		.lio-list {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .95rem;
			margin-top: 1.25rem;
		}
		.lio-card {
			display: flex;
			flex-direction: column;
			min-height: 205px;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--lio-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.lio-card__type {
			color: var(--lio-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.lio-card h2 {
			margin: .45rem 0 .55rem;
			font-size: 1.15rem;
			font-weight: 850;
			line-height: 1.2;
		}
		.lio-card p {
			margin: 0 0 .45rem;
			color: #475569;
		}
		.lio-badge {
			display: inline-flex;
			align-items: center;
			width: max-content;
			min-height: 28px;
			margin-top: auto;
			padding: .25rem .55rem;
			border-radius: 999px;
			background: var(--lio-soft);
			color: var(--lio-primary-dark);
			font-size: .8rem;
			font-weight: 800;
		}
		.lio-card__footer {
			display: flex;
			gap: .6rem;
			align-items: center;
			justify-content: space-between;
			margin-top: auto;
			padding-top: .8rem;
		}
		.lio-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 38px;
			padding: .45rem .75rem;
			border-radius: 6px;
			background: var(--lio-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.lio-btn:hover {
			background: var(--lio-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.lio-popup {
			min-width: 230px;
			overflow: hidden;
			border-radius: 8px;
		}
		.lio-popup__head {
			margin: -1px -1px .7rem;
			padding: .75rem .85rem;
			background: var(--lio-primary);
			color: #fff;
		}
		.lio-popup h3 {
			margin: 0;
			color: #fff;
			font-size: 1rem;
			font-weight: 850;
		}
		.lio-popup__badge {
			display: inline-flex;
			align-items: center;
			min-height: 24px;
			margin-top: .45rem;
			padding: .15rem .45rem;
			border-radius: 999px;
			background: rgba(255, 255, 255, .18);
			color: #fff;
			font-size: .75rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.lio-popup p {
			margin: .28rem .85rem;
			color: #475569;
			line-height: 1.35;
		}
		.lio-popup .lio-btn {
			width: calc(100% - 1.7rem);
			margin: .75rem .85rem .85rem;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
		}
		.leaflet-popup-content {
			margin: 0;
			padding: 0;
		}
		.lio-state {
			grid-column: 1 / -1;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--lio-border);
			border-radius: 8px;
			color: var(--lio-muted);
		}
		@media (max-width: 991.98px) {
			.lio-kpis,
			.lio-list {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.lio-hero {
				grid-template-columns: 1fr;
			}
			.lio-logo {
				max-width: 110px;
			}
		}
		@media (max-width: 575.98px) {
			.lio-kpis,
			.lio-list {
				grid-template-columns: 1fr;
			}
			.lio-toolbar {
				align-items: stretch;
				flex-direction: column;
			}
			.lio-search,
			.lio-select {
				width: 100%;
			}
			#map {
				height: 60vh;
				min-height: 350px;
			}
		}

/* squelettes/rubrique=52.html */
:root {
			--fish-primary: #0f766e;
			--fish-primary-dark: #115e59;
			--fish-recent: #067a3e;
			--fish-mid: #f2a900;
			--fish-old: #c05a88;
			--fish-muted: #64748b;
			--fish-ink: #172033;
			--fish-soft: #eef8f4;
			--fish-border: #d6e9e2;
		}
		body {
			background: #fbfdfb;
			color: var(--fish-ink);
		}
		a,
		a:visited {
			color: var(--fish-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--fish-primary-dark) !important;
		}
		.fish-shell {
			padding-bottom: 3rem;
		}
		.fish-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: center;
			padding: 1.5rem 0 1rem;
		}
		.fish-hero h1 {
			margin: 0;
			font-size: clamp(2rem, 4vw, 3.7rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
		}
		.fish-hero__intro {
			max-width: 820px;
			margin: 1rem 0 0;
			color: #475569;
			font-size: 1.05rem;
		}
		.fish-logo {
			max-width: 150px;
			max-height: 150px;
			object-fit: contain;
		}
		.fish-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .9rem;
			margin: 1rem 0 1.25rem;
		}
		.fish-kpi {
			min-height: 112px;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--fish-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.fish-kpi__label {
			display: block;
			color: var(--fish-muted);
			font-size: .78rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.fish-kpi__value {
			display: block;
			margin-top: .38rem;
			color: var(--fish-primary-dark);
			font-size: clamp(1.45rem, 2.8vw, 2.15rem);
			font-weight: 850;
			line-height: 1.08;
		}
		.fish-kpi__meta {
			margin: .45rem 0 0;
			color: var(--fish-muted);
			font-size: .9rem;
		}
		.fish-toolbar {
			display: flex;
			gap: .75rem;
			align-items: center;
			justify-content: space-between;
			margin: 1rem 0;
			padding: .75rem;
			background: #fff;
			border: 1px solid var(--fish-border);
			border-radius: 8px;
		}
		.fish-search,
		.fish-select {
			height: 44px;
			padding: .5rem .8rem;
			border: 1px solid #b8d8cc;
			border-radius: 6px;
			background: #fff;
			color: var(--fish-ink);
		}
		.fish-search {
			width: min(100%, 460px);
		}
		.fish-map-wrap {
			overflow: hidden;
			background: #fff;
			border: 1px solid var(--fish-border);
			border-radius: 8px;
			box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
		}
		#map {
			width: 100%;
			height: min(68vh, 640px);
			min-height: 420px;
		}
		.fish-legend {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem 1rem;
			padding: .85rem 1rem;
			background: #fff;
			border-top: 1px solid var(--fish-border);
			color: #475569;
			font-size: .92rem;
		}
		.fish-dot {
			display: inline-block;
			width: .75rem;
			height: .75rem;
			margin-right: .35rem;
			border-radius: 999px;
			vertical-align: middle;
		}
		.fish-list {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .95rem;
			margin-top: 1.25rem;
		}
		.fish-card {
			display: flex;
			flex-direction: column;
			min-height: 245px;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--fish-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
		}
		.fish-card__date {
			color: var(--fish-primary-dark);
			font-size: .82rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.fish-card h2 {
			margin: .45rem 0 .55rem;
			font-size: 1.15rem;
			font-weight: 850;
			line-height: 1.2;
		}
		.fish-card p {
			margin: 0 0 .45rem;
			color: #475569;
		}
		.fish-badge {
			display: inline-flex;
			align-items: center;
			width: max-content;
			min-height: 28px;
			margin-top: auto;
			padding: .25rem .55rem;
			border-radius: 999px;
			background: var(--fish-soft);
			color: var(--fish-primary-dark);
			font-size: .8rem;
			font-weight: 800;
		}
		.fish-popup {
			min-width: 250px;
			overflow: hidden;
			border-radius: 8px;
		}
		.fish-popup__head {
			margin: -1px -1px .7rem;
			padding: .75rem .85rem;
			background: var(--fish-primary);
			color: #fff;
		}
		.fish-popup h3 {
			margin: 0;
			color: #fff;
			font-size: 1rem;
			font-weight: 850;
		}
		.fish-popup__badge {
			display: inline-flex;
			align-items: center;
			min-height: 24px;
			margin-top: .45rem;
			padding: .15rem .45rem;
			border-radius: 999px;
			background: rgba(255, 255, 255, .18);
			color: #fff;
			font-size: .75rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.fish-popup p {
			margin: .28rem .85rem;
			color: #475569;
			line-height: 1.35;
		}
		.fish-detail-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: max-content;
			min-height: 36px;
			margin-top: .35rem;
			padding: .45rem .75rem;
			border: 1px solid var(--fish-primary);
			border-radius: 6px;
			background: var(--fish-primary);
			color: #fff !important;
			font-weight: 850;
			line-height: 1.1;
			text-decoration: none;
		}
		.fish-detail-btn:hover {
			background: var(--fish-primary-dark);
			border-color: var(--fish-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.fish-popup .fish-detail-btn {
			margin: .65rem .85rem .85rem;
		}
		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
		}
		.leaflet-popup-content {
			margin: 0;
			padding: 0;
		}
		.fish-state {
			grid-column: 1 / -1;
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--fish-border);
			border-radius: 8px;
			color: var(--fish-muted);
		}
		@media (max-width: 991.98px) {
			.fish-kpis,
			.fish-list {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.fish-hero {
				grid-template-columns: 1fr;
			}
			.fish-logo {
				max-width: 110px;
			}
		}
		@media (max-width: 575.98px) {
			.fish-kpis,
			.fish-list {
				grid-template-columns: 1fr;
			}
			.fish-toolbar {
				align-items: stretch;
				flex-direction: column;
			}
			.fish-search,
			.fish-select {
				width: 100%;
			}
			#map {
				height: 60vh;
				min-height: 350px;
			}
		}

/* squelettes/rubrique=6.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		
			.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
	color: var(--ald-brand-green); }

			.leaflet-popup-content-wrapper {
				border-radius: 8px;
				box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
			}

			.leaflet-popup-content {
				margin: 0;
				min-width: 240px;
			}

			.popup-station {
				color: #24272d;
				font-size: 14px;
				line-height: 1.35;
				overflow: hidden;
			}

			.popup-station__header {
				color: #fff;
				padding: 12px 14px;
			}

			.popup-station__title {
				font-size: 16px;
				font-weight: 700;
				line-height: 1.25;
				margin: 0;
			}

			.popup-station__body {
				padding: 12px 14px 14px;
			}

			.popup-station__meta {
				display: grid;
				gap: 8px;
				margin-bottom: 12px;
			}

			.popup-station__label {
				color: #69707a;
				display: block;
				font-size: 12px;
				font-weight: 700;
				text-transform: uppercase;
			}

			.popup-station__value {
				color: #24272d;
				display: block;
			}

			.popup-station__price {
				align-items: baseline;
				background: #f7f8fa;
				border-left: 4px solid currentColor;
				display: flex;
				justify-content: space-between;
				margin-bottom: 12px;
				padding: 9px 10px;
			}

			.popup-station__price-value {
				font-size: 22px;
				font-weight: 800;
			}

			.popup-station__button {
				border-radius: 6px;
				color: #fff !important;
				display: block;
				font-weight: 700;
				padding: 9px 12px;
				text-align: center;
				text-decoration: none;
			}

		.popup-station__button:hover,
			.popup-station__button:focus {
				background: #24272d;
				color: #fff !important;
				text-decoration: none;
			}

			.fuel-kpis {
				clear: both;
				display: grid;
				gap: 14px;
				grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
				margin: 1.25rem 0 1.5rem;
			}

			.fuel-kpi {
				background: #fff;
				border: 1px solid #e7ebf1;
				border-radius: 8px;
				border-top: 4px solid var(--kpi-color, deeppink);
				box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
				min-height: 128px;
				padding: 16px;
			}

			.fuel-kpi__label {
				color: #657084;
				font-size: .78rem;
				font-weight: 800;
				letter-spacing: .02em;
				line-height: 1.25;
				margin: 0 0 .55rem;
				text-transform: uppercase;
			}

			.fuel-kpi__value {
				color: var(--kpi-color, deeppink);
				font-size: clamp(1.55rem, 2.4vw, 2.05rem);
				font-weight: 850;
				line-height: 1.05;
				margin: 0;
			}

			.fuel-kpi__meta {
				color: #657084;
				font-size: .86rem;
				line-height: 1.35;
				margin: .55rem 0 0;
			}

			@media (max-width: 575.98px) {
				.fuel-kpis {
					grid-template-columns: 1fr;
				}
			}

/* squelettes/rubrique=7.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}

		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }

		.agri-page { color: var(--ald-ink); }
		.agri-hero {
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
			border-bottom: 1px solid var(--ald-border);
			padding: 1.5rem 0 1.1rem;
		}

		.agri-hero__grid {
			align-items: center;
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) auto;
		}

		.agri-hero h1 {
			font-size: clamp(2rem, 4vw, 3.15rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.03;
			margin: .6rem 0 .65rem;
		}

		.agri-hero__intro {
			color: var(--ald-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 820px;
		}

		.agri-hero__logo {
			max-height: 130px;
			max-width: 150px;
			object-fit: contain;
		}

		.agri-alert {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-left: 4px solid var(--ald-pink);
			border-radius: 8px;
			color: var(--ald-muted);
			margin-top: 1rem;
			padding: .9rem 1rem;
		}

		.agri-kpis {
			display: grid;
			gap: 14px;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			margin: 1.5rem 0;
		}

		.agri-kpi {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
			min-height: 128px;
			padding: 16px;
		}

		.agri-kpi__label {
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .02em;
			line-height: 1.25;
			margin: 0 0 .55rem;
			text-transform: uppercase;
		}

		.agri-kpi__value {
			color: var(--kpi-color, var(--ald-pink));
			font-size: clamp(1.34rem, 2.1vw, 1.95rem);
			font-weight: 850;
			line-height: 1.08;
			margin: 0;
		}

		.agri-kpi__meta {
			color: var(--ald-muted);
			font-size: .86rem;
			line-height: 1.35;
			margin: .55rem 0 0;
		}

		.agri-map {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
			height: min(68vh, 640px);
			min-height: 500px;
			overflow: hidden;
			width: 100%;
		}

		.agri-panel {
			background: #fff;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			margin: 1.5rem 0;
			padding: 1rem;
		}

		.agri-panel__title {
			font-size: 1rem;
			font-weight: 800;
			margin: 0 0 .75rem;
		}

		.agri-legend {
			background: #fff;
			border-radius: 8px;
			box-shadow: 0 10px 25px rgba(17, 24, 39, .14);
			color: var(--ald-ink);
			font-size: 13px;
			line-height: 1.35;
			padding: 10px 12px;
		}

		.agri-legend strong {
			display: block;
			margin-bottom: 8px;
		}

		.agri-legend__row {
			align-items: center;
			display: flex;
			gap: 8px;
			margin: 5px 0;
		}

		.agri-legend__dot {
			background: var(--dot-color);
			border-radius: 999px;
			display: inline-block;
			height: 11px;
			width: 11px;
		}

		.leaflet-popup-content-wrapper {
			border-radius: 8px;
			box-shadow: 0 14px 30px rgba(17, 24, 39, .18);
			overflow: hidden;
			padding: 0;
		}

		.leaflet-popup-content {
			margin: 0;
			min-width: 285px;
		}

		.agri-popup {
			--popup-color: var(--ald-pink);
			color: var(--ald-ink);
			font-size: 14px;
		}

		.agri-popup__head {
			background: var(--popup-color);
			color: #fff;
			padding: 12px 14px;
		}

		.agri-popup__title {
			font-size: 16px;
			font-weight: 800;
			line-height: 1.25;
			margin: 0;
		}

		.agri-popup__body {
			padding: 12px 14px 14px;
		}

		.agri-popup__value {
			color: var(--popup-color);
			font-size: 1.45rem;
			font-weight: 850;
			line-height: 1.05;
			margin: 0 0 .65rem;
		}

		.agri-popup__line {
			color: var(--ald-muted);
			line-height: 1.35;
			margin: .35rem 0;
		}

		.agri-popup__button {
			background: var(--popup-color);
			border-radius: 6px;
			color: #fff !important;
			display: block;
			font-weight: 800;
			margin-top: .75rem;
			padding: 9px 12px;
			text-align: center;
			text-decoration: none;
		}

		@media (max-width: 991.98px) {
			.agri-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (max-width: 575.98px) {
			.agri-hero__grid,
			.agri-kpis {
				grid-template-columns: 1fr;
			}

			.agri-hero__logo { display: none; }
			.agri-map { height: 68vh; min-height: 420px; }
		}

/* squelettes/rubrique=9.html */
.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}
		.modal-content {
 
  background: #75b30e;
			
}
		.primary
		{ color: var(--ald-brand-green); }
		.btn-outline-primary { border-color: var(--ald-brand-green); color: var(--ald-brand-green); }
		.btn-outline-primary:hover { color: #fff; background-color: var(--ald-brand-green); border-color: var(--ald-brand-green); }
		
			.btn-outline-primary a, a:visited, a:focus, a:active, a:link {
	color: var(--ald-brand-green); }

			.leaflet-popup-content-wrapper {
				border-radius: 8px;
				box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
			}

			.leaflet-popup-content {
				margin: 0;
				min-width: 240px;
			}

			.popup-station {
				color: #24272d;
				font-size: 14px;
				line-height: 1.35;
				overflow: hidden;
			}

			.popup-station__header {
				color: #fff;
				padding: 12px 14px;
			}

			.popup-station__title {
				font-size: 16px;
				font-weight: 700;
				line-height: 1.25;
				margin: 0;
			}

			.popup-station__body {
				padding: 12px 14px 14px;
			}

			.popup-station__meta {
				display: grid;
				gap: 8px;
				margin-bottom: 12px;
			}

			.popup-station__label {
				color: #69707a;
				display: block;
				font-size: 12px;
				font-weight: 700;
				text-transform: uppercase;
			}

			.popup-station__value {
				color: #24272d;
				display: block;
			}

			.popup-station__price {
				align-items: baseline;
				background: #f7f8fa;
				border-left: 4px solid currentColor;
				display: flex;
				justify-content: space-between;
				margin-bottom: 12px;
				padding: 9px 10px;
			}

			.popup-station__price-value {
				font-size: 22px;
				font-weight: 800;
			}

			.popup-station__button {
				border-radius: 6px;
				color: #fff !important;
				display: block;
				font-weight: 700;
				padding: 9px 12px;
				text-align: center;
				text-decoration: none;
			}

			.popup-station__button:hover,
			.popup-station__button:focus {
				background: #24272d !important;
				color: #fff !important;
				text-decoration: none;
			}

			.fuel-kpis {
				clear: both;
				display: grid;
				gap: 14px;
				grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
				margin: 1.25rem 0 1.5rem;
			}

			.fuel-kpi {
				background: #fff;
				border: 1px solid #e7ebf1;
				border-radius: 8px;
				border-top: 4px solid var(--kpi-color, deeppink);
				box-shadow: 0 10px 24px rgba(17, 24, 39, .07);
				min-height: 128px;
				padding: 16px;
			}

			.fuel-kpi__label {
				color: #657084;
				font-size: .78rem;
				font-weight: 800;
				letter-spacing: .02em;
				line-height: 1.25;
				margin: 0 0 .55rem;
				text-transform: uppercase;
			}

			.fuel-kpi__value {
				color: var(--kpi-color, deeppink);
				font-size: clamp(1.55rem, 2.4vw, 2.05rem);
				font-weight: 850;
				line-height: 1.05;
				margin: 0;
			}

			.fuel-kpi__meta {
				color: #657084;
				font-size: .86rem;
				line-height: 1.35;
				margin: .55rem 0 0;
			}

			@media (max-width: 575.98px) {
				.fuel-kpis {
					grid-template-columns: 1fr;
				}
			}

/* squelettes/sommaire.html */
:root {
			--home-navy: #071b3d;
			--home-green: #067a3e;
			--home-blue: #2384d6;
			--home-gold: #f2a900;
			--home-violet: #8b5bc3;
			--home-rose: #c05a88;
			--home-ink: #081d3b;
			--home-muted: #5c6b80;
			--home-soft: #f5f8fb;
			--home-border: #dfe7ef;
		}
		body.home-page {
			background: #f7faf9;
			color: var(--home-ink);
		}
		.home-page .spip-admin-bloc,
		.home-page .spip-admin-float {
			z-index: 3000;
			top: 86px;
		}
		.home-main {
			min-height: 600px;
		}
		.home-hero {
			position: relative;
			min-height: 520px;
			padding: 2rem 0 1.5rem;
			background:
				linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.76) 42%, rgba(255,255,255,.26) 100%),
				linear-gradient(180deg, rgba(255,255,255,.12), rgba(7,27,61,.18)),
				url("../img/aveyron-hero-data.jpg") center / cover no-repeat;
		}
		.home-hero__inner {
			display: grid;
			grid-template-columns: minmax(0, .92fr) minmax(440px, 1fr);
			gap: 2rem;
			align-items: center;
		}
		.home-hero h1 {
			max-width: 720px;
			margin: 0;
			color: var(--home-navy);
			font-size: clamp(2.7rem, 5.2vw, 4.9rem);
			font-weight: 900;
			letter-spacing: 0;
			line-height: .98;
		}
		.home-hero h1 strong {
			color: var(--home-green);
		}
		.home-hero__text {
			max-width: 650px;
			margin: 1.2rem 0 0;
			color: #19304f;
			font-size: 1.12rem;
			line-height: 1.65;
		}
		.home-search {
			display: flex;
			align-items: center;
			max-width: 620px;
			margin-top: 2rem;
			padding: .55rem .65rem;
			border: 1px solid rgba(8,29,59,.12);
			border-radius: 8px;
			background: #fff;
			box-shadow: 0 14px 34px rgba(8,29,59,.12);
		}
		.home-search i {
			padding: 0 .75rem;
			color: #66758a;
		}
		.home-search input {
			flex: 1;
			min-width: 0;
			height: 42px;
			border: 0;
			color: var(--home-ink);
			outline: none;
		}
		.home-search button {
			border: 0;
			border-radius: 6px;
			background: var(--home-green);
			color: #fff;
			font-weight: 850;
			padding: .62rem .9rem;
		}
		.home-actions {
			display: flex;
			flex-wrap: wrap;
			gap: .8rem;
			margin-top: 1.2rem;
		}
		.home-action {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			min-height: 46px;
			padding: .65rem 1rem;
			border-radius: 8px;
			border: 1px solid rgba(8,29,59,.12);
			background: #fff;
			color: var(--home-navy) !important;
			font-weight: 850;
			box-shadow: 0 10px 24px rgba(8,29,59,.1);
		}
		.home-action--primary {
			background: var(--home-green);
			color: #fff !important;
			border-color: var(--home-green);
		}
		.home-dashboard {
			display: grid;
			grid-template-columns: minmax(0, 1.1fr) minmax(240px, .8fr);
			overflow: hidden;
			border: 1px solid rgba(255,255,255,.76);
			border-radius: 14px;
			background: rgba(255,255,255,.9);
			box-shadow: 0 22px 50px rgba(8,29,59,.18);
			backdrop-filter: blur(12px);
		}
		.home-map-card,
		.home-key-card {
			padding: 1.25rem;
		}
		.home-key-card {
			border-left: 1px solid var(--home-border);
		}
		.home-panel-title {
			margin: 0;
			font-size: 1.05rem;
			font-weight: 900;
			color: var(--home-navy);
		}
		.home-panel-subtitle {
			margin: .2rem 0 0;
			color: var(--home-muted);
			font-size: .86rem;
		}
		.home-map {
			position: relative;
			min-height: 280px;
			margin-top: .8rem;
			border-radius: 12px;
			background: linear-gradient(135deg, #eef7ef, #e7f2f7);
			overflow: hidden;
		}
		.home-map svg {
			width: 100%;
			height: 280px;
		}
		.home-map-dot {
			position: absolute;
			width: 11px;
			height: 11px;
			border-radius: 50%;
			background: var(--dot-color);
			box-shadow: 0 0 0 4px rgba(255,255,255,.7);
			left: var(--x);
			top: var(--y);
		}
		.home-mini-kpis {
			display: grid;
			gap: .75rem;
			margin-top: 1rem;
		}
		.home-mini-kpi {
			display: grid;
			grid-template-columns: 34px minmax(0, 1fr);
			gap: .65rem;
			align-items: center;
			padding: .75rem;
			border: 1px solid var(--home-border);
			border-radius: 8px;
			background: #fff;
		}
		.home-mini-kpi i,
		.home-mini-icon {
			color: var(--kpi-color);
			font-size: 1.3rem;
			text-align: center;
		}
		.home-mini-icon {
			display: block;
			width: 24px;
			height: 24px;
			margin: 0 auto;
			background-color: var(--kpi-color);
		}
		.home-mini-icon--fuel {
			-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 6h27c4 0 7 3 7 7v45H7V13c0-4 3-7 6-7Zm2 8v16h24V14H15Zm0 26v10h24V40H15Z'/%3E%3Cpath d='M48 16l9 9v23c0 4-3 7-7 7h-5v-8h4V31l-7-7 6-8Zm6 4 6 6-4 4-6-6 4-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
			mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 6h27c4 0 7 3 7 7v45H7V13c0-4 3-7 6-7Zm2 8v16h24V14H15Zm0 26v10h24V40H15Z'/%3E%3Cpath d='M48 16l9 9v23c0 4-3 7-7 7h-5v-8h4V31l-7-7 6-8Zm6 4 6 6-4 4-6-6 4-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
		}
		.home-mini-kpi span {
			display: block;
			color: var(--home-muted);
			font-size: .78rem;
			font-weight: 750;
		}
		.home-mini-kpi strong {
			display: block;
			margin-top: .1rem;
			color: var(--kpi-color);
			font-size: 1.1rem;
			line-height: 1.15;
		}
		.home-section {
			padding: 1.55rem 0;
		}
		.home-section__head {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			margin-bottom: .9rem;
		}
		.home-section__title {
			margin: 0;
			color: var(--home-navy);
			font-size: 1.45rem;
			font-weight: 900;
		}
		.home-section__link {
			color: var(--home-green) !important;
			font-weight: 850;
		}
		.home-kpis,
		.home-themes {
			display: grid;
			gap: 1rem;
		}
		.home-kpis {
			grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
		}
		.home-kpi,
		.home-theme {
			position: relative;
			overflow: hidden;
			border: 1px solid var(--home-border);
			border-radius: 10px;
			background: rgba(255,255,255,.96);
			box-shadow: 0 12px 32px rgba(8,29,59,.07);
			transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
		}
		.home-kpi:hover,
		.home-theme:hover {
			transform: translateY(-2px);
			border-color: rgba(6,122,62,.25);
			box-shadow: 0 18px 42px rgba(8,29,59,.11);
			text-decoration: none;
		}
		.home-kpi {
			display: flex;
			flex-direction: column;
			min-height: 136px;
			padding: 1rem;
			border-top: 4px solid var(--kpi-color, var(--home-green));
		}
		.home-kpi__label {
			margin: 0;
			color: var(--home-navy);
			font-size: .91rem;
			font-weight: 850;
			line-height: 1.25;
		}
		.home-kpi__value {
			margin: .5rem 0 .4rem;
			color: var(--kpi-color, var(--home-green));
			font-size: 1.8rem;
			font-weight: 900;
			line-height: 1;
		}
		.home-kpi__meta {
			margin: auto 0 0;
			color: var(--home-muted);
			font-size: .8rem;
			line-height: 1.35;
		}
		.home-themes {
			grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
		}
		.home-theme {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			min-height: 126px;
			padding: 1rem;
			text-align: center;
			color: var(--home-navy) !important;
		}
		.home-theme__icon {
			display: inline-flex;
			width: 64px;
			height: 64px;
			align-items: center;
			justify-content: center;
			margin: 0 auto .72rem;
			border-radius: 0;
			background: transparent;
			color: var(--theme-color) !important;
			box-shadow: none;
			line-height: 1;
			flex: 0 0 64px;
		}
		.home-theme__icon i {
			display: none;
		}
		.home-theme__icon::before {
			content: "";
			display: block;
			width: 62px;
			height: 62px;
			background-color: var(--theme-color) !important;
			-webkit-mask: var(--theme-icon, url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 54h50v6H4V8h6v46Zm8-4h8V34h-8v16Zm14 0h8V24h-8v26Zm14 0h8V14h-8v36Z'/%3E%3Cpath d='M19 27l11-11 9 8L54 7v15h-6v-4l-9 10-9-8-7 7h-4Z'/%3E%3C/svg%3E")) center / contain no-repeat;
			mask: var(--theme-icon, url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 54h50v6H4V8h6v46Zm8-4h8V34h-8v16Zm14 0h8V24h-8v26Zm14 0h8V14h-8v36Z'/%3E%3Cpath d='M19 27l11-11 9 8L54 7v15h-6v-4l-9 10-9-8-7 7h-4Z'/%3E%3C/svg%3E")) center / contain no-repeat;
		}
		.home-theme[href*="/eau/"] {
			--theme-color: #2384d6 !important;
			--theme-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 3C21 18 11 31 11 43a21 21 0 0 0 42 0C53 31 43 18 32 3Zm0 50a10 10 0 0 1-10-10h6a4 4 0 0 0 4 4v6Z'/%3E%3C/svg%3E");
		}
		.home-theme[href*="/economie/"] {
			--theme-color: #218f4f !important;
			--theme-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 54h50v6H4V8h6v46Zm8-4h8V35h-8v15Zm14 0h8V27h-8v23Zm14 0h8V18h-8v32Z'/%3E%3Cpath d='M17 27l13-13 10 9 17-18v18h-7v-6L40 29l-10-9-9 9-4-2Z'/%3E%3C/svg%3E");
		}
		.home-theme[href*="/agriculture/"] {
			--theme-color: #67a95f !important;
			--theme-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 45a10 10 0 1 0 20 0 10 10 0 0 0-20 0Zm7 0a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm23 2a7 7 0 1 0 14 0 7 7 0 0 0-14 0Zm5 0a2 2 0 1 1 4 0 2 2 0 0 1-4 0ZM7 39h7a14 14 0 0 1 26 0h3a11 11 0 0 1 15 0h1v8h-5a11 11 0 0 0-22 0h-2a14 14 0 0 0-28 0H7v-8Zm5-14h17l7 12H15l-3-12Zm4-13h9l2 8H14l2-8Zm21 6h8v6h-8v-6Z'/%3E%3C/svg%3E");
		}
		.home-theme[href*="/solidarite/"] {
			--theme-color: #8b5bc3 !important;
			--theme-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25 26a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm20 0a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM7 43c0-9 8-14 18-14s18 5 18 14v4H7v-4Zm32-11c10 1 18 5 18 13v3H45v-5c0-4-2-8-6-11ZM9 53h35c8 0 12-4 16-9l-5-4c-4 4-7 6-12 6H28v-5H9v12Z'/%3E%3C/svg%3E");
		}
		.home-theme[href*="/culture/"] {
			--theme-color: #c05a88 !important;
			--theme-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 6 8 18v6h48v-6L32 6ZM13 28h8v20h-8V28Zm15 0h8v20h-8V28Zm15 0h8v20h-8V28ZM9 52h46v6H9v-6Z'/%3E%3C/svg%3E");
		}
		.home-theme[href*="/infrastructures/"] {
			--theme-color: #178f99 !important;
			--theme-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25 5h14l15 54H37l-2-10h-6l-2 10H10L25 5Zm5 8-3 14h10l-3-14h-4Zm-5 22-2 9h18l-2-9H25Z'/%3E%3C/svg%3E");
		}
		.home-theme[href*="/tourisme/"] {
			--theme-color: #168b9b !important;
			--theme-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 53 22 25l9 13 12-21 17 36H4Zm21-13-5 8h13l-8-8Zm18-7-8 15h17l-9-15Z'/%3E%3C/svg%3E");
		}
		.home-theme strong,
		.home-theme span {
			display: block;
		}
		.home-theme strong {
			font-size: .98rem;
			font-weight: 900;
		}
		.home-theme span {
			color: var(--home-muted);
			font-size: .78rem;
		}
		.home-culture {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
			gap: 1rem;
		}
		@media (max-width: 991.98px) {
			.home-hero__inner,
			.home-dashboard,
			.home-culture {
				grid-template-columns: 1fr;
			}
			.home-key-card {
				border-left: 0;
				border-top: 1px solid var(--home-border);
			}
		}
		@media (max-width: 575.98px) {
			.home-hero {
				min-height: auto;
				padding: 1.7rem 0;
			}
			.home-hero h1 {
				font-size: 2.55rem;
			}
			.home-search {
				display: block;
				padding: .7rem;
			}
			.home-search input,
			.home-search button {
				width: 100%;
			}
			.home-search button {
				margin-top: .55rem;
			}
			.home-kpis {
				grid-template-columns: 1fr;
			}
		}

/* squelettes/sortie.html */
:root {
			--sortie-primary: #c026d3;
			--sortie-primary-dark: #86198f;
			--sortie-border: #ead8ef;
			--sortie-ink: #172033;
			--sortie-muted: #64748b;
			--sortie-soft: #fbf3fc;
		}
		body {
			background: #fbfafc;
			color: var(--sortie-ink);
		}
		a,
		a:visited {
			color: var(--sortie-primary-dark);
		}
		a:hover {
			color: #111827;
			background: none;
		}
		.bg-dark {
			background-color: var(--sortie-primary-dark) !important;
		}
		.sortie-shell {
			padding-bottom: 3rem;
		}
		.sortie-back {
			display: inline-flex;
			align-items: center;
			gap: .45rem;
			margin-bottom: 1rem;
			color: var(--sortie-primary-dark) !important;
			font-weight: 850;
		}
		.sortie-hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 1.25rem;
			align-items: start;
			margin-bottom: 1rem;
			padding: 1.25rem;
			background: #fff;
			border: 1px solid var(--sortie-border);
			border-radius: 10px;
			box-shadow: 0 14px 34px rgba(30, 41, 59, .07);
		}
		.sortie-eyebrow {
			display: inline-flex;
			align-items: center;
			min-height: 30px;
			padding: .25rem .6rem;
			border-radius: 999px;
			background: var(--sortie-soft);
			color: var(--sortie-primary-dark);
			font-size: .8rem;
			font-weight: 850;
			text-transform: uppercase;
		}
		.sortie-hero h1 {
			margin: .7rem 0 .8rem;
			font-size: clamp(2rem, 4vw, 3.4rem);
			font-weight: 900;
			letter-spacing: 0;
			line-height: 1.04;
		}
		.sortie-meta {
			display: flex;
			flex-wrap: wrap;
			gap: .6rem;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.sortie-meta li {
			padding: .45rem .65rem;
			border: 1px solid var(--sortie-border);
			border-radius: 8px;
			background: #fff;
			color: #475569;
			font-weight: 760;
		}
		.sortie-figure {
			margin: 0 0 1rem;
			overflow: hidden;
			border: 1px solid var(--sortie-border);
			border-radius: 10px;
			background: #fff;
			box-shadow: 0 14px 34px rgba(30, 41, 59, .07);
		}
		.sortie-figure img {
			display: block;
			width: 100%;
			max-height: 460px;
			object-fit: cover;
		}
		.sortie-figure figcaption {
			margin: 0;
			padding: .65rem .85rem;
			color: var(--sortie-muted);
			font-size: .86rem;
		}
		.sortie-logo {
			max-width: 130px;
			max-height: 130px;
			object-fit: contain;
		}
		.sortie-grid {
			display: grid;
			grid-template-columns: minmax(0, 1.05fr) minmax(320px, .7fr);
			gap: 1rem;
		}
		.sortie-card {
			padding: 1rem;
			background: #fff;
			border: 1px solid var(--sortie-border);
			border-radius: 10px;
			box-shadow: 0 12px 28px rgba(30, 41, 59, .06);
		}
		.sortie-card h2 {
			margin: 0 0 .75rem;
			color: var(--sortie-ink);
			font-size: 1.1rem;
			font-weight: 900;
		}
		.sortie-description {
			color: #334155;
			font-size: 1.02rem;
			line-height: 1.65;
			white-space: pre-line;
		}
		.sortie-list {
			display: grid;
			gap: .7rem;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.sortie-list li {
			display: grid;
			gap: .12rem;
		}
		.sortie-list span {
			color: var(--sortie-muted);
			font-size: .78rem;
			font-weight: 850;
			text-transform: uppercase;
		}
		.sortie-list strong {
			color: var(--sortie-ink);
			font-size: 1rem;
			line-height: 1.35;
		}
		.sortie-map {
			width: 100%;
			height: 330px;
			overflow: hidden;
			border: 1px solid var(--sortie-border);
			border-radius: 10px;
			background: #f8fafc;
		}
		.sortie-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 42px;
			margin-top: .9rem;
			padding: .55rem .85rem;
			border-radius: 8px;
			background: var(--sortie-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.sortie-btn:hover {
			background: var(--sortie-primary-dark);
			color: #fff !important;
			text-decoration: none;
		}
		.sortie-state {
			padding: 1rem;
			border: 1px solid var(--sortie-border);
			border-radius: 10px;
			background: #fff;
			color: var(--sortie-muted);
		}
		@media (max-width: 991.98px) {
			.sortie-hero,
			.sortie-grid {
				grid-template-columns: 1fr;
			}
			.sortie-logo {
				max-width: 100px;
			}
		}

/* squelettes/station-eau.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #ffcd14;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.station-water {
			color: var(--ald-ink);
		}
		.station-hero {
			padding: 1.5rem 0;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.station-hero h1 {
			margin: 0;
			font-size: clamp(1.9rem, 4vw, 3rem);
			line-height: 1.1;
			letter-spacing: 0;
		}
		.station-hero__meta {
			margin: .75rem 0 0;
			color: var(--ald-muted);
			font-size: 1rem;
		}
		.station-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.station-panel {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
			overflow: hidden;
		}
		.station-panel__head {
			padding: .85rem 1rem;
			background: var(--ald-pink);
			color: #fff;
			font-weight: 800;
		}
		.station-panel__body {
			padding: 1rem;
		}
		.station-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem 1rem;
			margin: 0;
		}
		.station-list dt {
			color: var(--ald-muted);
			font-size: .82rem;
			font-weight: 700;
		}
		.station-list dd {
			margin: .2rem 0 0;
			font-weight: 700;
		}
		.station-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1rem 0 1.5rem;
		}
		.station-kpi {
			min-height: 116px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.station-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .84rem;
			font-weight: 700;
		}
		.station-kpi__value {
			margin: .35rem 0;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.75rem;
			font-weight: 800;
			line-height: 1;
		}
		.station-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.station-map {
			width: 100%;
			height: 100%;
			min-height: 360px;
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.station-gauge {
			position: relative;
			max-width: 520px;
			margin: 1.25rem auto 2rem;
			text-align: center;
		}
		.station-gauge canvas {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 2 / 1;
		}
		.station-gauge__arc-label {
			position: absolute;
			z-index: 1;
			padding: .18rem .35rem;
			border-radius: 4px;
			background: rgba(255,255,255,.88);
			color: var(--arc-color, var(--ald-ink));
			font-size: .78rem;
			font-weight: 800;
			line-height: 1;
			box-shadow: 0 2px 8px rgba(23,32,51,.08);
		}
		.station-gauge__arc-label--min {
			left: 13%;
			top: 52%;
		}
		.station-gauge__arc-label--low {
			left: 43%;
			top: 13%;
			transform: translateX(-100%);
		}
		.station-gauge__arc-label--high {
			left: 57%;
			top: 13%;
		}
		.station-gauge__arc-label--max {
			right: 13%;
			top: 52%;
		}
		.station-gauge__value {
			margin-top: -.4rem;
			font-size: clamp(2rem, 6vw, 3.3rem);
			font-weight: 800;
			color: var(--gauge-color, var(--ald-pink));
		}
		.station-gauge__scale {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .75rem;
			max-width: 620px;
			margin: .75rem auto 0;
		}
		.station-gauge__scale-item {
			padding: .7rem .75rem;
			border: 1px solid var(--ald-border);
			border-top: 3px solid var(--scale-color);
			border-radius: 8px;
			background: var(--ald-soft);
			text-align: left;
		}
		.station-gauge__scale-label {
			display: block;
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 700;
		}
		.station-gauge__scale-value {
			display: block;
			margin-top: .2rem;
			color: var(--scale-color);
			font-size: 1.1rem;
			font-weight: 800;
		}
		.station-gauge__note {
			margin: .85rem auto 0;
			max-width: 620px;
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
		}
		.station-chart {
			margin: 2rem 0;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
		}
		.station-chart h2 {
			margin: 0 0 1rem;
			font-size: 1.35rem;
			font-weight: 800;
		}
		@media (max-width: 991px) {
			.station-grid,
			.station-kpis {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.station-map {
				min-height: 340px;
			}
		}
		@media (max-width: 575px) {
			.station-grid,
			.station-kpis,
			.station-list,
			.station-gauge__scale {
				grid-template-columns: 1fr;
			}
		}

/* squelettes/station-gazoil.html */
#foo{
			display: block;
			height: 220px;
			margin: 0 auto;
			max-width: 460px;
			width: 100%;
		}

			.gauge-panel {
				margin: 24px auto 0;
				max-width: 560px;
				width: 100%;
			}

			.gauge-value {
				color: deeppink;
				font-size: 2rem;
				font-weight: 800;
				line-height: 1;
				margin-top: -24px;
				text-align: center;
			}

			.gauge-value__label {
				color: #69707a;
				display: block;
				font-size: 0.85rem;
				font-weight: 700;
				margin-top: 6px;
				text-transform: uppercase;
			}

			@media (max-width: 575.98px) {
				#foo {
					height: 180px;
				}

				.gauge-value {
					font-size: 1.6rem;
					margin-top: -18px;
				}
			}

		.station-summary {
			border: 1px solid #e6e8ec;
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
			overflow: hidden;
		}

		.station-summary__header {
			background: var(--ald-brand-green);
			color: #fff;
			font-weight: 700;
			padding: 12px 16px;
		}

		.station-summary__section {
			border-bottom: 1px solid #eef0f3;
			padding: 14px 16px;
		}

		.station-summary__section:last-child {
			border-bottom: 0;
		}

		.station-summary__label {
			color: #69707a;
			display: inline-block;
			font-weight: 700;
			min-width: 180px;
		}

		.station-summary__price {
			color: deeppink;
			font-size: 1.35rem;
			font-weight: 800;
		}
		
		.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}

/* squelettes/station-sp95.html */
#foo{
			display: block;
			height: 220px;
			margin: 0 auto;
			max-width: 460px;
			width: 100%;
		}

		.gauge-panel {
			margin: 24px auto 0;
			max-width: 560px;
			width: 100%;
		}

		.gauge-value {
			color: deeppink;
			font-size: 2rem;
			font-weight: 800;
			line-height: 1;
			margin-top: -24px;
			text-align: center;
		}

		.gauge-value__label {
			color: #69707a;
			display: block;
			font-size: 0.85rem;
			font-weight: 700;
			margin-top: 6px;
			text-transform: uppercase;
		}

		@media (max-width: 575.98px) {
			#foo {
				height: 180px;
			}

			.gauge-value {
				font-size: 1.6rem;
				margin-top: -18px;
			}
		}

		.station-summary {
			border: 1px solid #e6e8ec;
			border-radius: 8px;
			box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
			overflow: hidden;
		}

		.station-summary__header {
			background: var(--ald-brand-green);
			color: #fff;
			font-weight: 700;
			padding: 12px 16px;
		}

		.station-summary__section {
			border-bottom: 1px solid #eef0f3;
			padding: 14px 16px;
		}

		.station-summary__section:last-child {
			border-bottom: 0;
		}

		.station-summary__label {
			color: #69707a;
			display: inline-block;
			font-weight: 700;
			min-width: 180px;
		}

		.station-summary__price {
			color: deeppink;
			font-size: 1.35rem;
			font-weight: 800;
		}
		
		.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}

/* squelettes/temperature-eau.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #ffcd14;
			--ald-blue: #2878d7;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.station-temperature { color: var(--ald-ink); }
		.station-hero {
			padding: 1.5rem 0;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.station-hero h1 {
			margin: 0;
			font-size: clamp(1.9rem, 4vw, 3rem);
			line-height: 1.1;
			letter-spacing: 0;
		}
		.station-hero__meta {
			margin: .75rem 0 0;
			color: var(--ald-muted);
			font-size: 1rem;
		}
		.station-alert {
			margin: 1.25rem 0 0;
			padding: 1rem;
			border: 1px solid color-mix(in srgb, var(--ald-yellow), #fff 45%);
			border-left: 5px solid var(--ald-yellow);
			border-radius: 8px;
			background: #fff9ea;
			color: #624610;
			line-height: 1.45;
		}
		.station-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.station-panel {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
			overflow: hidden;
		}
		.station-panel__head {
			padding: .85rem 1rem;
			background: var(--ald-pink);
			color: #fff;
			font-weight: 800;
		}
		.station-panel__body { padding: 1rem; }
		.station-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem 1rem;
			margin: 0;
		}
		.station-list dt {
			color: var(--ald-muted);
			font-size: .82rem;
			font-weight: 700;
		}
		.station-list dd {
			margin: .2rem 0 0;
			font-weight: 700;
		}
		.station-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1rem 0 1.5rem;
		}
		.station-kpi {
			min-height: 116px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.station-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .84rem;
			font-weight: 700;
		}
		.station-kpi__value {
			margin: .35rem 0;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.75rem;
			font-weight: 800;
			line-height: 1;
		}
		.station-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.station-map {
			width: 100%;
			height: 100%;
			min-height: 360px;
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.station-gauge {
			position: relative;
			max-width: 520px;
			margin: 1.25rem auto 2rem;
			text-align: center;
		}
		.station-gauge canvas {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 2 / 1;
		}
		.station-gauge__arc-label {
			position: absolute;
			z-index: 1;
			padding: .18rem .35rem;
			border-radius: 4px;
			background: rgba(255,255,255,.88);
			color: var(--arc-color, var(--ald-ink));
			font-size: .78rem;
			font-weight: 800;
			line-height: 1;
			box-shadow: 0 2px 8px rgba(23,32,51,.08);
		}
		.station-gauge__arc-label--min { left: 13%; top: 52%; }
		.station-gauge__arc-label--low {
			left: 43%;
			top: 13%;
			transform: translateX(-100%);
		}
		.station-gauge__arc-label--high { left: 57%; top: 13%; }
		.station-gauge__arc-label--max { right: 13%; top: 52%; }
		.station-gauge__value {
			margin-top: -.4rem;
			font-size: clamp(2rem, 6vw, 3.3rem);
			font-weight: 800;
			color: var(--gauge-color, var(--ald-pink));
		}
		.station-gauge__scale {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .75rem;
			max-width: 620px;
			margin: .75rem auto 0;
		}
		.station-gauge__scale-item {
			padding: .7rem .75rem;
			border: 1px solid var(--ald-border);
			border-top: 3px solid var(--scale-color);
			border-radius: 8px;
			background: var(--ald-soft);
			text-align: left;
		}
		.station-gauge__scale-label {
			display: block;
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 700;
		}
		.station-gauge__scale-value {
			display: block;
			margin-top: .2rem;
			color: var(--scale-color);
			font-size: 1.1rem;
			font-weight: 800;
		}
		.station-gauge__note {
			margin: .85rem auto 0;
			max-width: 620px;
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
		}
		.station-chart {
			margin: 2rem 0;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
		}
		.station-chart h2 {
			margin: 0 0 1rem;
			font-size: 1.35rem;
			font-weight: 800;
		}
		@media (max-width: 991px) {
			.station-grid,
			.station-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.station-map { min-height: 340px; }
		}
		@media (max-width: 575px) {
			.station-grid,
			.station-kpis,
			.station-list,
			.station-gauge__scale { grid-template-columns: 1fr; }
		}

/* squelettes/teneur-ctf.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-red: #d7263d;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(250deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.iron-detail { color: var(--ald-ink); }
		.iron-hero {
			padding: 1.5rem 0;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.iron-hero h1 {
			margin: 0;
			font-size: clamp(1.9rem, 4vw, 3rem);
			line-height: 1.1;
			letter-spacing: 0;
		}
		.iron-hero__meta {
			margin: .75rem 0 0;
			color: var(--ald-muted);
			font-size: 1rem;
		}
		.iron-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1.25rem 0 1.5rem;
		}
		.iron-kpi {
			min-height: 116px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.iron-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .84rem;
			font-weight: 700;
		}
		.iron-kpi__value {
			margin: .35rem 0;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.65rem;
			font-weight: 800;
			line-height: 1.05;
		}
		.iron-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.iron-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr);
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.iron-panel {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
			overflow: hidden;
		}
		.iron-panel__head {
			padding: .85rem 1rem;
			background: var(--ald-pink);
			color: #fff;
			font-weight: 800;
		}
		.iron-panel__body { padding: 1rem; }
		.iron-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem 1rem;
			margin: 0;
		}
		.iron-list dt {
			color: var(--ald-muted);
			font-size: .82rem;
			font-weight: 700;
		}
		.iron-list dd {
			margin: .2rem 0 0;
			font-weight: 700;
		}
		.iron-gauge {
			position: relative;
			max-width: 520px;
			margin: 1rem auto 1.5rem;
			text-align: center;
			--gauge-color: [(#GET{ctf_couleur})];
		}
		.iron-gauge canvas {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 2 / 1;
		}
		.iron-gauge__arc-label {
			position: absolute;
			z-index: 1;
			padding: .18rem .35rem;
			border-radius: 4px;
			background: rgba(255,255,255,.9);
			color: var(--arc-color, var(--ald-ink));
			font-size: .78rem;
			font-weight: 800;
			line-height: 1;
			box-shadow: 0 2px 8px rgba(23,32,51,.08);
		}
		.iron-gauge__arc-label--min { left: 13%; top: 52%; }
		.iron-gauge__arc-label--low { left: 43%; top: 13%; transform: translateX(-100%); }
		.iron-gauge__arc-label--high { left: 57%; top: 13%; }
		.iron-gauge__arc-label--max { right: 13%; top: 52%; }
		.iron-gauge__value {
			margin-top: -.4rem;
			color: var(--gauge-color);
			font-size: clamp(2rem, 6vw, 3.25rem);
			font-weight: 800;
			line-height: 1;
		}
		.iron-scale {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .75rem;
			max-width: 640px;
			margin: .75rem auto 0;
		}
		.iron-scale__item {
			padding: .7rem .75rem;
			border: 1px solid var(--ald-border);
			border-top: 3px solid var(--scale-color);
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.iron-scale__label {
			display: block;
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 700;
		}
		.iron-scale__value {
			display: block;
			margin-top: .2rem;
			color: var(--scale-color);
			font-size: 1.04rem;
			font-weight: 800;
		}
		.iron-note {
			margin: .9rem auto 0;
			max-width: 720px;
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
		}
		.iron-chart {
			margin: 2rem 0;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
		}
		@media (max-width: 991.98px) {
			.iron-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.iron-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.iron-kpis, .iron-list, .iron-scale { grid-template-columns: 1fr; }
			.iron-gauge__arc-label { font-size: .68rem; }
		}

/* squelettes/teneur-fer.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.iron-detail { color: var(--ald-ink); }
		.iron-hero {
			padding: 1.5rem 0;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.iron-hero h1 {
			margin: 0;
			font-size: clamp(1.9rem, 4vw, 3rem);
			line-height: 1.1;
			letter-spacing: 0;
		}
		.iron-hero__meta {
			margin: .75rem 0 0;
			color: var(--ald-muted);
			font-size: 1rem;
		}
		.iron-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1.25rem 0 1.5rem;
		}
		.iron-kpi {
			min-height: 116px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.iron-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .84rem;
			font-weight: 700;
		}
		.iron-kpi__value {
			margin: .35rem 0;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.65rem;
			font-weight: 800;
			line-height: 1.05;
		}
		.iron-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.iron-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr);
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.iron-panel {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
			overflow: hidden;
		}
		.iron-panel__head {
			padding: .85rem 1rem;
			background: var(--ald-pink);
			color: #fff;
			font-weight: 800;
		}
		.iron-panel__body { padding: 1rem; }
		.iron-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem 1rem;
			margin: 0;
		}
		.iron-list dt {
			color: var(--ald-muted);
			font-size: .82rem;
			font-weight: 700;
		}
		.iron-list dd {
			margin: .2rem 0 0;
			font-weight: 700;
		}
		.iron-gauge {
			position: relative;
			max-width: 520px;
			margin: 1rem auto 1.5rem;
			text-align: center;
			--gauge-color: [(#GET{fer_couleur})];
		}
		.iron-gauge canvas {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 2 / 1;
		}
		.iron-gauge__arc-label {
			position: absolute;
			z-index: 1;
			padding: .18rem .35rem;
			border-radius: 4px;
			background: rgba(255,255,255,.9);
			color: var(--arc-color, var(--ald-ink));
			font-size: .78rem;
			font-weight: 800;
			line-height: 1;
			box-shadow: 0 2px 8px rgba(23,32,51,.08);
		}
		.iron-gauge__arc-label--min { left: 13%; top: 52%; }
		.iron-gauge__arc-label--low { left: 43%; top: 13%; transform: translateX(-100%); }
		.iron-gauge__arc-label--high { left: 57%; top: 13%; }
		.iron-gauge__arc-label--max { right: 13%; top: 52%; }
		.iron-gauge__value {
			margin-top: -.4rem;
			color: var(--gauge-color);
			font-size: clamp(2rem, 6vw, 3.25rem);
			font-weight: 800;
			line-height: 1;
		}
		.iron-scale {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .75rem;
			max-width: 640px;
			margin: .75rem auto 0;
		}
		.iron-scale__item {
			padding: .7rem .75rem;
			border: 1px solid var(--ald-border);
			border-top: 3px solid var(--scale-color);
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.iron-scale__label {
			display: block;
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 700;
		}
		.iron-scale__value {
			display: block;
			margin-top: .2rem;
			color: var(--scale-color);
			font-size: 1.04rem;
			font-weight: 800;
		}
		.iron-note {
			margin: .9rem auto 0;
			max-width: 720px;
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
		}
		.iron-chart {
			margin: 2rem 0;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
		}
		@media (max-width: 991.98px) {
			.iron-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.iron-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.iron-kpis, .iron-list, .iron-scale { grid-template-columns: 1fr; }
			.iron-gauge__arc-label { font-size: .68rem; }
		}

/* squelettes/teneur-nitrates.html */
#foo{
 padding: 10px;
  width: 100%;
		min-height: 350px;
}
		#foo2{
 padding: 10px;
  width: 100%;
		min-height: 350px;
}
		.bg-dark
		{
			background-color: var(--ald-brand-green) !important;
		}
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover{color: black; background: none;}

/* squelettes/teneur-plomb.html */
:root {
			--ald-pink: deeppink;
			--ald-green: #75b30e;
			--ald-yellow: #f5b82e;
			--ald-red: #d7263d;
			--ald-ink: #172033;
			--ald-muted: #657084;
			--ald-soft: #f6f8fb;
			--ald-border: #e7ebf1;
		}
		.bg-dark { background-color: var(--ald-brand-green) !important; }
		img.huechange { filter: hue-rotate(120deg); }
		a, a:visited { color: var(--ald-brand-green); }
		a:hover { color: black; background: none; }
		.iron-detail { color: var(--ald-ink); }
		.iron-hero {
			padding: 1.5rem 0;
			border-bottom: 1px solid var(--ald-border);
			background: linear-gradient(180deg, #fff 0%, var(--ald-soft) 100%);
		}
		.iron-hero h1 {
			margin: 0;
			font-size: clamp(1.9rem, 4vw, 3rem);
			line-height: 1.1;
			letter-spacing: 0;
		}
		.iron-hero__meta {
			margin: .75rem 0 0;
			color: var(--ald-muted);
			font-size: 1rem;
		}
		.iron-kpis {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin: 1.25rem 0 1.5rem;
		}
		.iron-kpi {
			min-height: 116px;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-top: 4px solid var(--kpi-color, var(--ald-pink));
			border-radius: 8px;
			background: #fff;
		}
		.iron-kpi__label {
			margin: 0;
			color: var(--ald-muted);
			font-size: .84rem;
			font-weight: 700;
		}
		.iron-kpi__value {
			margin: .35rem 0;
			color: var(--kpi-color, var(--ald-pink));
			font-size: 1.65rem;
			font-weight: 800;
			line-height: 1.05;
		}
		.iron-kpi__meta {
			margin: 0;
			color: var(--ald-muted);
			font-size: .82rem;
			line-height: 1.35;
		}
		.iron-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr);
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.iron-panel {
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
			overflow: hidden;
		}
		.iron-panel__head {
			padding: .85rem 1rem;
			background: var(--ald-pink);
			color: #fff;
			font-weight: 800;
		}
		.iron-panel__body { padding: 1rem; }
		.iron-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .8rem 1rem;
			margin: 0;
		}
		.iron-list dt {
			color: var(--ald-muted);
			font-size: .82rem;
			font-weight: 700;
		}
		.iron-list dd {
			margin: .2rem 0 0;
			font-weight: 700;
		}
		.iron-gauge {
			position: relative;
			max-width: 520px;
			margin: 1rem auto 1.5rem;
			text-align: center;
			--gauge-color: [(#GET{plomb_couleur})];
		}
		.iron-gauge canvas {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 2 / 1;
		}
		.iron-gauge__arc-label {
			position: absolute;
			z-index: 1;
			padding: .18rem .35rem;
			border-radius: 4px;
			background: rgba(255,255,255,.9);
			color: var(--arc-color, var(--ald-ink));
			font-size: .78rem;
			font-weight: 800;
			line-height: 1;
			box-shadow: 0 2px 8px rgba(23,32,51,.08);
		}
		.iron-gauge__arc-label--min { left: 13%; top: 52%; }
		.iron-gauge__arc-label--low { left: 43%; top: 13%; transform: translateX(-100%); }
		.iron-gauge__arc-label--high { left: 57%; top: 13%; }
		.iron-gauge__arc-label--max { right: 13%; top: 52%; }
		.iron-gauge__value {
			margin-top: -.4rem;
			color: var(--gauge-color);
			font-size: clamp(2rem, 6vw, 3.25rem);
			font-weight: 800;
			line-height: 1;
		}
		.iron-scale {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .75rem;
			max-width: 640px;
			margin: .75rem auto 0;
		}
		.iron-scale__item {
			padding: .7rem .75rem;
			border: 1px solid var(--ald-border);
			border-top: 3px solid var(--scale-color);
			border-radius: 8px;
			background: var(--ald-soft);
		}
		.iron-scale__label {
			display: block;
			color: var(--ald-muted);
			font-size: .78rem;
			font-weight: 700;
		}
		.iron-scale__value {
			display: block;
			margin-top: .2rem;
			color: var(--scale-color);
			font-size: 1.04rem;
			font-weight: 800;
		}
		.iron-note {
			margin: .9rem auto 0;
			max-width: 720px;
			color: var(--ald-muted);
			font-size: .9rem;
			line-height: 1.45;
		}
		.iron-chart {
			margin: 2rem 0;
			padding: 1rem;
			border: 1px solid var(--ald-border);
			border-radius: 8px;
			background: #fff;
		}
		@media (max-width: 991.98px) {
			.iron-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.iron-grid { grid-template-columns: 1fr; }
		}
		@media (max-width: 575.98px) {
			.iron-kpis, .iron-list, .iron-scale { grid-template-columns: 1fr; }
			.iron-gauge__arc-label { font-size: .68rem; }
		}

/* squelettes/tiers-lieux.html */
:root {
			--tl-primary: #7c3aed;
			--tl-primary-dark: #5b21b6;
			--tl-etc: #0f766e;
			--tl-fab: #db2777;
			--tl-emn: #2563eb;
			--tl-ink: #172033;
			--tl-muted: #64748b;
			--tl-soft: #f5f3ff;
			--tl-border: #e5ddfb;
		}
		body { background: #fcfbff; color: var(--tl-ink); }
		.bg-dark { background-color: var(--tl-primary-dark)!important; }
		a, a:visited { color: var(--tl-primary-dark); }
		a:hover { color: #111827; background: none; }
		.tl-detail-hero {
			background: linear-gradient(180deg, #fff 0%, var(--tl-soft) 100%);
			border-bottom: 1px solid var(--tl-border);
			padding: 1.4rem 0 1.2rem;
		}
		.tl-detail-hero h1 {
			font-size: clamp(2rem, 4vw, 3.2rem);
			font-weight: 850;
			letter-spacing: 0;
			line-height: 1.05;
			margin: .7rem 0 .5rem;
		}
		.tl-detail-hero__text {
			color: var(--tl-muted);
			font-size: 1.05rem;
			line-height: 1.55;
			margin: 0;
			max-width: 860px;
		}
		.tl-detail-status { color: var(--tl-muted); margin: .85rem 0 0; }
		.tl-detail-badge {
			display: inline-flex;
			align-items: center;
			min-height: 32px;
			padding: .25rem .7rem;
			border-radius: 999px;
			background: var(--tl-primary);
			color: #fff;
			font-size: .85rem;
			font-weight: 850;
			text-transform: uppercase;
			letter-spacing: .04em;
		}
		.tl-detail-kpis {
			display: grid;
			gap: .8rem;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			margin: 1.2rem 0;
		}
		.tl-detail-kpi {
			background: #fff;
			border: 1px solid var(--tl-border);
			border-radius: 8px;
			min-height: 105px;
			padding: .95rem;
			box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
		}
		.tl-detail-kpi span {
			color: var(--tl-muted);
			display: block;
			font-size: .76rem;
			font-weight: 800;
			letter-spacing: .04em;
			text-transform: uppercase;
		}
		.tl-detail-kpi strong {
			color: var(--tl-primary-dark);
			display: block;
			font-size: clamp(1.2rem, 2.4vw, 1.75rem);
			font-weight: 850;
			line-height: 1.1;
			margin-top: .4rem;
			overflow-wrap: anywhere;
		}
		.tl-detail-grid {
			display: grid;
			gap: 1rem;
			grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
			margin: 1.4rem 0;
		}
		.tl-detail-card {
			background: #fff;
			border: 1px solid var(--tl-border);
			border-radius: 8px;
			box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
			padding: 1rem;
		}
		.tl-detail-card + .tl-detail-card { margin-top: 1rem; }
		.tl-detail-card h2 {
			font-size: 1.15rem;
			font-weight: 850;
			margin: 0 0 .85rem;
		}
		.tl-detail-list {
			display: grid;
			gap: .55rem;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.tl-detail-list li {
			background: #faf9ff;
			border: 1px solid var(--tl-border);
			border-radius: 8px;
			padding: .65rem .75rem;
		}
		.tl-detail-list strong {
			color: var(--tl-primary-dark);
			display: block;
			font-size: .75rem;
			text-transform: uppercase;
		}
		.tl-detail-list span {
			display: block;
			line-height: 1.35;
			margin-top: .2rem;
			overflow-wrap: anywhere;
		}
		.tl-detail-map {
			border: 1px solid var(--tl-border);
			border-radius: 8px;
			height: min(56vh, 470px);
			min-height: 330px;
			overflow: hidden;
			width: 100%;
		}
		.tl-contact {
			display: flex;
			flex-wrap: wrap;
			gap: .6rem;
			margin-top: .85rem;
		}
		.tl-contact a {
			display: inline-flex;
			align-items: center;
			min-height: 38px;
			padding: .45rem .75rem;
			border-radius: 6px;
			background: var(--tl-primary);
			color: #fff !important;
			font-weight: 850;
		}
		.tl-contact a:hover { background: var(--tl-primary-dark); text-decoration: none; }
		@media (max-width: 991.98px) {
			.tl-detail-grid { grid-template-columns: 1fr; }
			.tl-detail-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}
		@media (max-width: 575.98px) {
			.tl-detail-kpis,
			.tl-detail-list { grid-template-columns: 1fr; }
			.tl-detail-map { min-height: 300px; }
		}
/* === Fin des styles extraits des squelettes publics === */

/* === Restaurations globales apres extraction === */
/* Leaflet popups - final override after extracted page styles */
.leaflet-popup-pane .leaflet-popup-content-wrapper {
	overflow: hidden;
	padding: 0;
	border: 1px solid rgba(8, 29, 59, .08);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 22px 52px rgba(8, 29, 59, .24);
}

.leaflet-popup-pane .leaflet-popup-tip {
	background: #fff;
	box-shadow: 0 10px 20px rgba(8, 29, 59, .14);
}

.leaflet-popup-pane .leaflet-popup-content {
	min-width: min(285px, calc(100vw - 56px));
	max-width: min(340px, calc(100vw - 56px));
	margin: 0;
	padding: 0;
	color: var(--ald-ink);
	font-size: .92rem;
	line-height: 1.42;
}

.leaflet-popup-pane .leaflet-popup-content > [class$="-popup"],
.leaflet-popup-pane .leaflet-popup-content > .popup-station {
	min-width: min(285px, calc(100vw - 56px));
	max-width: min(340px, calc(100vw - 56px));
	background: #fff;
	color: var(--ald-ink);
}

.leaflet-popup-pane .cv-popup { --popup-color: var(--cv-primary, var(--ald-brand-green)); }
.leaflet-popup-pane .ly-popup { --popup-color: var(--ly-primary, var(--ald-brand-green)); }
.leaflet-popup-pane .ag-popup { --popup-color: var(--ag-primary, var(--ald-brand-green)); }
.leaflet-popup-pane .mh-popup { --popup-color: var(--mh-primary, var(--ald-brand-green)); }

.bio-directory {
	margin: 1.5rem 0 2rem;
}

.bio-directory__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.bio-directory__title {
	margin: 0;
	color: var(--ald-navy);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 900;
	line-height: 1.1;
}

.bio-directory__intro,
.bio-directory__count {
	margin: .35rem 0 0;
	color: var(--ald-muted);
	line-height: 1.45;
}

.bio-directory__count {
	flex: 0 0 auto;
	font-weight: 850;
}

.bio-directory__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1rem;
}

.bio-directory__state {
	grid-column: 1 / -1;
	padding: 1rem;
	border: 1px solid var(--ald-border);
	border-radius: 8px;
	background: #fff;
	color: var(--ald-muted);
}

.bio-producer-card {
	display: flex;
	flex-direction: column;
	min-height: 245px;
	padding: 1rem;
	border: 1px solid rgba(6, 122, 62, .14);
	border-top: 4px solid var(--ald-green);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(8, 29, 59, .08);
}

.bio-producer-card__eyebrow {
	margin: 0 0 .35rem;
	color: var(--ald-brand-green);
	font-size: .76rem;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.bio-producer-card__title {
	margin: 0;
	color: var(--ald-navy);
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.25;
}

.bio-producer-card__address {
	margin: .55rem 0 0;
	color: var(--ald-muted);
	font-size: .92rem;
	line-height: 1.4;
}

.bio-producer-card__facts {
	display: grid;
	gap: .45rem;
	margin: .9rem 0 1rem;
	padding: 0;
	list-style: none;
}

.bio-producer-card__facts li {
	display: grid;
	gap: .1rem;
	padding: .45rem .55rem;
	border-radius: 7px;
	background: rgba(6, 122, 62, .06);
}

.bio-producer-card__facts span {
	color: var(--ald-muted);
	font-size: .74rem;
	font-weight: 800;
	text-transform: uppercase;
}

.bio-producer-card__facts strong {
	color: var(--ald-ink);
	font-size: .9rem;
	line-height: 1.25;
}

.bio-producer-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	margin-top: auto;
	padding: .55rem .8rem;
	border-radius: 7px;
	background: var(--ald-brand-green);
	color: #fff !important;
	font-weight: 850;
	text-align: center;
	text-decoration: none;
}

.bio-producer-card__button:hover,
.bio-producer-card__button:focus {
	background: var(--ald-brand-green-dark);
	color: #fff !important;
	text-decoration: none;
}

.river-directory {
	margin: 1.5rem 0 2rem;
}

.rubrique-descriptif {
	max-width: 780px;
	color: var(--ald-muted, #657084);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.55;
}

.rubrique-texte-explicatif {
	margin-top: 2rem !important;
	padding-top: 1.35rem;
	border-top: 1px solid var(--ald-border, #e7ebf1);
	color: var(--ald-muted, #657084);
	line-height: 1.65;
}

.river-directory__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.river-directory__title {
	margin: 0;
	color: var(--ald-navy);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 900;
	line-height: 1.1;
}

.river-directory__intro,
.river-directory__count {
	margin: .35rem 0 0;
	color: var(--ald-muted);
	line-height: 1.45;
}

.river-directory__count {
	flex: 0 0 auto;
	font-weight: 850;
}

.river-directory__grid,
.river-station-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(265px, 1fr));
	gap: 1rem;
}

.river-directory__state {
	grid-column: 1 / -1;
	padding: 1rem;
	border: 1px solid var(--ald-border);
	border-radius: 8px;
	background: #fff;
	color: var(--ald-muted);
}

.river-station-card {
	display: flex;
	flex-direction: column;
	min-height: 270px;
	padding: 1rem;
	border: 1px solid rgba(8, 29, 59, .1);
	border-top: 4px solid var(--station-color, var(--ald-blue));
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(8, 29, 59, .08);
}

.river-station-card__eyebrow {
	margin: 0 0 .35rem;
	color: var(--station-color, var(--ald-blue));
	font-size: .76rem;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.river-station-card__title {
	margin: 0;
	color: var(--ald-navy);
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.25;
}

.river-station-card__metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .6rem;
	margin: .9rem 0;
}

.river-station-card__metrics div {
	padding: .65rem .7rem;
	border-radius: 8px;
	background: rgba(8, 29, 59, .045);
}

.river-station-card__metrics span {
	display: block;
	color: var(--ald-muted);
	font-size: .76rem;
	font-weight: 850;
	text-transform: uppercase;
}

.river-station-card__metrics strong {
	display: block;
	margin-top: .2rem;
	color: var(--station-color, var(--ald-blue));
	font-size: 1.18rem;
	font-weight: 900;
	line-height: 1.12;
}

.river-page .river-kpis {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.station-water .station-kpis {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.river-station-card__metrics {
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.station-flow-compare {
	display: grid;
	gap: .85rem;
}

.station-flow-compare__loading {
	padding: .9rem 1rem;
	border-radius: 8px;
	background: rgba(40, 120, 215, .08);
	color: var(--ald-blue);
	font-weight: 850;
}

.station-flow-row {
	padding: .85rem .95rem;
	border: 1px solid var(--ald-border);
	border-left: 4px solid var(--flow-color, var(--ald-blue));
	border-radius: 8px;
	background: #fff;
}

.station-flow-row__head {
	display: flex;
	gap: .75rem;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: .5rem;
	color: var(--ald-navy);
}

.station-flow-row__head strong {
	font-size: .92rem;
	font-weight: 900;
}

.station-flow-row__head span {
	color: var(--flow-color, var(--ald-blue));
	font-size: 1.12rem;
	font-weight: 950;
	white-space: nowrap;
}

.station-flow-row__bar {
	height: 12px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(8, 29, 59, .08);
}

.station-flow-row__bar i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--flow-color, var(--ald-blue));
}

.station-flow-row p {
	margin: .45rem 0 0;
	color: var(--ald-muted);
	font-size: .82rem;
	font-weight: 750;
}

.river-station-card__date,
.river-station-card__note {
	margin: .25rem 0 0;
	color: var(--ald-muted);
	font-size: .9rem;
	line-height: 1.4;
}

.river-station-card__badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-top: auto;
	padding: .35rem .55rem;
	border-radius: 999px;
	background: rgba(15, 107, 63, .1);
	color: var(--ald-brand-green-dark);
	font-size: .78rem;
	font-weight: 850;
	line-height: 1.2;
}

.river-station-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	margin-top: auto;
	padding: .55rem .8rem;
	border: 0;
	border-radius: 7px;
	background: var(--station-color, var(--ald-blue));
	color: #fff !important;
	cursor: pointer;
	font-weight: 850;
	text-align: center;
	text-decoration: none;
}

.river-station-card__button:hover,
.river-station-card__button:focus {
	filter: brightness(.95);
	color: #fff !important;
	text-decoration: none;
}

.access-popup {
	width: min(286px, 70vw);
	max-height: min(310px, 56vh);
	overflow: auto;
	border-radius: 10px;
	background: color-mix(in srgb, var(--access-popup-color, var(--ald-brand-green)) 9%, #ffffff);
	color: var(--ald-ink);
	box-shadow: 0 18px 38px rgba(8, 29, 59, .18);
}

.access-leaflet-popup .leaflet-popup-content-wrapper {
	border: 2px solid var(--access-popup-color, var(--ald-brand-green));
	background: color-mix(in srgb, var(--access-popup-color, var(--ald-brand-green)) 12%, #ffffff);
	box-shadow: 0 18px 42px rgba(8, 29, 59, .22);
}

.access-leaflet-popup .leaflet-popup-tip {
	background: var(--access-popup-color, var(--ald-brand-green));
}

.access-leaflet-popup .leaflet-popup-content {
	margin: 0;
}

.access-popup__head {
	padding: .62rem .7rem .55rem;
	background: var(--access-popup-color, var(--ald-brand-green)) !important;
	color: #fff;
}

.access-popup__eyebrow {
	margin: 0 0 .2rem;
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
	opacity: .9;
}

.access-popup__title {
	margin: 0;
	color: #fff !important;
	font-size: 1.08rem;
	font-weight: 900;
	line-height: 1.1;
	overflow-wrap: anywhere;
}

.access-popup__badge {
	display: inline-flex;
	margin-top: .42rem;
	padding: .24rem .44rem;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 999px;
	background: rgba(255, 255, 255, .14);
	color: #fff;
	font-size: .7rem;
	font-weight: 850;
	line-height: 1.2;
}

.access-popup__grid {
	display: grid;
	gap: .34rem;
	padding: .5rem;
}

.access-popup__item {
	margin: 0;
	padding: .42rem .5rem;
	border: 1px solid color-mix(in srgb, var(--access-popup-color, var(--ald-brand-green)) 24%, #ffffff);
	border-radius: 8px;
	background: color-mix(in srgb, var(--access-popup-color, var(--ald-brand-green)) 8%, #ffffff);
}

.access-popup__item-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .8rem;
}

.access-popup__item-head span {
	color: var(--ald-muted);
	font-size: .68rem;
	font-weight: 850;
	text-transform: uppercase;
}

.access-popup__item-head strong {
	color: var(--access-popup-color, var(--ald-brand-green-dark)) !important;
	font-size: 1rem;
	font-weight: 950;
	white-space: nowrap;
}

.access-popup__item p {
	margin: .2rem 0 0;
	color: var(--ald-navy);
	font-size: .82rem;
	font-weight: 800;
	line-height: 1.25;
}

.access-popup__item small {
	display: none;
}

.access-popup__foot {
	display: grid;
	gap: .38rem;
	padding: 0 .5rem .54rem;
}

.access-popup__method {
	margin: 0;
	color: var(--ald-muted);
	font-size: .66rem;
	line-height: 1.35;
}

.access-popup__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: .48rem .62rem;
	border-radius: 7px;
	background: var(--access-popup-color, var(--ald-brand-green)) !important;
	color: #fff !important;
	font-size: .82rem;
	font-weight: 900;
	text-decoration: none;
}

.access-popup__button:hover,
.access-popup__button:focus {
	filter: brightness(.94);
	color: #fff !important;
	text-decoration: none;
}

.handicap-popup {
	width: min(286px, 70vw);
	max-height: min(330px, 58vh);
	overflow: auto;
	border-radius: 10px;
	background: color-mix(in srgb, var(--handicap-popup-color, var(--ald-brand-green)) 9%, #ffffff);
	color: var(--ald-ink);
	box-shadow: 0 18px 38px rgba(8, 29, 59, .18);
}

.handicap-leaflet-popup .leaflet-popup-content-wrapper {
	border: 2px solid var(--handicap-popup-color, var(--ald-brand-green));
	background: color-mix(in srgb, var(--handicap-popup-color, var(--ald-brand-green)) 12%, #ffffff);
	box-shadow: 0 18px 42px rgba(8, 29, 59, .22);
}

.handicap-leaflet-popup .leaflet-popup-tip {
	background: var(--handicap-popup-color, var(--ald-brand-green));
}

.handicap-leaflet-popup .leaflet-popup-content {
	margin: 0;
}

.handicap-popup__head {
	padding: .62rem .7rem .55rem;
	background: var(--handicap-popup-color, var(--ald-brand-green));
	color: #fff;
}

.handicap-popup__eyebrow {
	margin: 0 0 .2rem;
	color: rgba(255, 255, 255, .9);
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.handicap-popup__title {
	margin: 0;
	color: #fff !important;
	font-size: 1.02rem;
	font-weight: 900;
	line-height: 1.12;
	overflow-wrap: anywhere;
}

.handicap-popup__badge {
	display: inline-flex;
	margin-top: .42rem;
	padding: .24rem .44rem;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 999px;
	background: rgba(255, 255, 255, .14);
	color: #fff;
	font-size: .68rem;
	font-weight: 850;
	line-height: 1.2;
}

.handicap-popup__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .38rem;
	padding: .52rem .52rem 0;
}

.handicap-popup__grid article {
	margin: 0;
	padding: .4rem .46rem;
	border: 1px solid color-mix(in srgb, var(--handicap-popup-color, var(--ald-brand-green)) 24%, #ffffff);
	border-radius: 8px;
	background: color-mix(in srgb, var(--handicap-popup-color, var(--ald-brand-green)) 8%, #ffffff);
}

.handicap-popup__grid span,
.handicap-popup__flags span {
	display: block;
	color: var(--ald-muted);
	font-size: .66rem;
	font-weight: 850;
	text-transform: uppercase;
}

.handicap-popup__grid strong {
	display: block;
	color: var(--handicap-popup-color, var(--ald-brand-green-dark)) !important;
	font-size: 1.04rem;
	font-weight: 950;
	line-height: 1.1;
}

.handicap-popup__body {
	padding: .52rem;
}

.handicap-popup__body p {
	margin: 0 0 .28rem;
	color: var(--ald-navy);
	font-size: .8rem;
	line-height: 1.28;
}

.handicap-popup__flags {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .32rem;
	padding: 0 .52rem .52rem;
}

.handicap-popup__flags span {
	padding: .28rem .36rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--handicap-popup-color, var(--ald-brand-green)) 10%, #ffffff);
	color: var(--ald-navy);
	font-size: .62rem;
	line-height: 1.15;
	text-transform: none;
}

.handicap-popup__button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	margin: 0 .52rem .58rem;
	padding: .48rem .62rem;
	border-radius: 7px;
	background: var(--handicap-popup-color, var(--ald-brand-green)) !important;
	color: #fff !important;
	font-size: .82rem;
	font-weight: 900;
	text-decoration: none;
}

.handicap-popup__button:hover,
.handicap-popup__button:focus {
	filter: brightness(.94);
	color: #fff !important;
	text-decoration: none;
}

.handicap-detail .health-chart-wrap {
	min-height: 290px;
}

.access-health-page #access-map {
	min-height: 640px;
}

@media (max-width: 767.98px) {
	.access-popup {
		width: min(278px, 74vw);
		max-height: 56vh;
	}

	.access-health-page #access-map {
		min-height: 520px;
	}

	.handicap-popup {
		width: min(278px, 74vw);
		max-height: 58vh;
	}
}

.access-detail__summary {
	border-top: 5px solid var(--ald-brand-green);
}

.access-detail-services {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 1rem;
	margin: 0 0 1.5rem;
}

.access-detail-service {
	display: grid;
	gap: .35rem;
	min-height: 170px;
	padding: 1rem;
	border: 1px solid color-mix(in srgb, var(--access-service-color, var(--ald-brand-green)) 24%, #ffffff);
	border-top: 5px solid var(--access-service-color, var(--ald-brand-green));
	border-radius: 8px;
	background: linear-gradient(180deg, color-mix(in srgb, var(--access-service-color, var(--ald-brand-green)) 8%, #ffffff), #fff);
	box-shadow: 0 10px 24px rgba(8, 29, 59, .08);
}

.access-detail-service__label {
	color: var(--ald-muted);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.access-detail-service strong {
	color: var(--access-service-color, var(--ald-brand-green));
	font-size: clamp(1.55rem, 3vw, 2.35rem);
	font-weight: 950;
	line-height: 1;
}

.access-detail-service p {
	margin: 0;
	color: var(--ald-navy);
	font-weight: 850;
}

.access-detail-service small {
	color: var(--ald-muted);
	font-size: .84rem;
	line-height: 1.35;
}

.access-detail__map {
	min-height: 430px;
}

.access-chart-wrap {
	min-height: 310px;
}

@media (max-width: 767.98px) {
	.access-detail-services {
		grid-template-columns: 1fr;
	}

	.access-detail-service {
		min-height: auto;
	}

	.access-detail__map {
		min-height: 360px;
	}
}

.otex-detail__summary {
	border-top: 5px solid var(--otex-color, var(--ald-brand-green));
}

.otex-detail__eyebrow {
	margin: 0 0 .35rem;
	color: var(--ald-muted);
	font-size: .82rem;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.otex-detail__kpis .ft-kpi__value {
	font-size: clamp(1.05rem, 2vw, 1.8rem);
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.otex-detail__bars {
	display: grid;
	gap: .85rem;
}

.otex-detail__bar-head {
	display: flex;
	gap: .8rem;
	justify-content: space-between;
	color: var(--ald-ink);
	font-weight: 850;
	line-height: 1.25;
}

.otex-detail__bar-head span {
	color: var(--ald-muted);
	font-weight: 750;
}

.otex-detail__bar-track {
	height: .7rem;
	margin-top: .35rem;
	overflow: hidden;
	border-radius: 999px;
	background: #e5e7eb;
}

.otex-detail__bar-track span {
	display: block;
	width: var(--bar-width);
	height: 100%;
	border-radius: inherit;
	background: var(--bar-color);
}

.otex-detail__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
}

.meteo-detail__status {
	margin-bottom: 1rem;
	padding: .9rem 1rem;
	border-radius: 10px;
	background: #eff6ff;
	color: #1d4ed8;
	font-weight: 850;
}

.meteo-detail__status--error {
	background: #fef2f2;
	color: #b91c1c;
}

.meteo-detail__kpis {
	margin-bottom: 1.5rem;
}

.meteo-detail__grid {
	align-items: stretch;
	margin-bottom: 1.5rem;
}

.meteo-detail__map {
	min-height: 420px;
}

.meteo-detail__summary {
	color: var(--ft-muted);
	line-height: 1.6;
}

.meteo-detail__forecast {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: .85rem;
}

.meteo-day-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .08);
	border-radius: 10px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .92)),
		linear-gradient(135deg, color-mix(in srgb, var(--meteo-color, var(--ald-brand-green)) 18%, transparent), transparent 62%);
	padding: 1rem;
	box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.meteo-day-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 6px;
	background: var(--meteo-color, var(--ald-brand-green));
}

.meteo-day-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: .75rem;
}

.meteo-day-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--meteo-color, var(--ald-brand-green)) 14%, #fff);
	color: var(--meteo-color, var(--ald-brand-green));
	font-size: 1.25rem;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--meteo-color, var(--ald-brand-green)) 26%, transparent);
}

.meteo-day-card__date {
	margin: 0 0 .35rem;
	color: var(--ft-muted);
	font-size: .78rem;
	font-weight: 850;
	text-transform: uppercase;
}

.meteo-day-card__title {
	margin: 0 0 .85rem;
	color: var(--ft-ink);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.25;
}

.meteo-day-card__temps {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	color: var(--ft-ink);
	font-size: .92rem;
}

.meteo-day-card__temps span {
	display: inline-flex;
	align-items: baseline;
	gap: .28rem;
	padding: .35rem .5rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .82);
	box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .08);
}

.meteo-day-card__temps b {
	color: var(--meteo-color, var(--ald-brand-green));
	font-size: 1.15rem;
}

.meteo-day-card__range {
	position: relative;
	height: .58rem;
	margin: .85rem 0 .75rem;
	overflow: hidden;
	border-radius: 999px;
	background: linear-gradient(90deg, #2563eb, #0ea5e9, #2f9e44, #f59f00, #d9480f, #8f2d1c);
	opacity: .92;
}

.meteo-day-card__range span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--range-start, 0%);
	width: var(--range-width, 0%);
	border-radius: inherit;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 0 0 2px rgba(15, 23, 42, .16);
}

.meteo-day-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-top: .75rem;
}

.meteo-day-card__chips span {
	display: inline-flex;
	align-items: center;
	gap: .28rem;
	padding: .3rem .48rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	color: var(--ft-muted);
	font-size: .8rem;
	font-weight: 800;
	line-height: 1.35;
}

.meteo-day-card__chips i {
	color: var(--meteo-color, var(--ald-brand-green));
}

.meteo-detail__empty {
	grid-column: 1 / -1;
	padding: 1rem;
	border-radius: 10px;
	background: #f8fafc;
	color: var(--ft-muted);
	font-weight: 800;
}

.meteo-detail__table-wrap {
	overflow-x: auto;
}

.meteo-detail__table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}

.meteo-detail__table caption {
	caption-side: top;
	padding: 0 0 .75rem;
	color: var(--ft-muted);
	font-weight: 750;
	text-align: left;
}

.meteo-detail__table th,
.meteo-detail__table td {
	border-bottom: 1px solid rgba(15, 23, 42, .1);
	padding: .8rem .65rem;
	text-align: left;
}

.meteo-detail__table thead th {
	color: var(--ft-muted);
	font-size: .78rem;
	text-transform: uppercase;
}

.arcade-page .ft-kpis {
	margin-bottom: 1.5rem;
}

.arcade-map {
	min-height: 620px;
	margin-bottom: 1.5rem;
}

.arcade-directory {
	margin-top: 1.5rem;
}

.arcade-directory__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.arcade-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .08);
	border-radius: 10px;
	background: #fff;
	padding: 1rem;
	box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.arcade-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 6px;
	background: var(--arcade-color, var(--ald-brand-green));
}

.arcade-card__eyebrow {
	margin: 0 0 .35rem;
	color: var(--ft-muted);
	font-size: .78rem;
	font-weight: 850;
	text-transform: uppercase;
}

.arcade-card__title {
	margin: 0 0 .8rem;
	color: var(--ft-ink);
	font-size: 1.08rem;
	font-weight: 900;
	line-height: 1.25;
}

.arcade-card__title a,
.arcade-card__title a:visited {
	color: var(--ft-ink);
	text-decoration: none;
}

.arcade-card__title a:hover,
.arcade-card__title a:focus {
	color: var(--ald-brand-green-dark);
	text-decoration: underline;
	text-underline-offset: .16em;
}

.arcade-card__meta {
	display: grid;
	gap: .45rem;
}

.arcade-card__meta span {
	display: grid;
	gap: .1rem;
	color: var(--ft-muted);
	font-size: .9rem;
	line-height: 1.35;
}

.arcade-card__meta b {
	color: var(--ft-ink);
	font-size: .76rem;
	text-transform: uppercase;
}

.arcade-card__meta a,
.arcade-card__source a {
	color: #1f5f8f;
	font-weight: 750;
	text-decoration: underline;
	text-underline-offset: .16em;
}

.arcade-card__meta a:hover,
.arcade-card__meta a:focus,
.arcade-card__source a:hover,
.arcade-card__source a:focus {
	color: var(--ald-brand-green-dark);
}

.arcade-card__theme,
.arcade-card__source {
	margin: .75rem 0 0;
	color: var(--ft-muted);
	font-size: .9rem;
	line-height: 1.4;
}

.arcade-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: .9rem;
	border-radius: 999px;
	background: var(--ald-brand-green);
	color: #fff;
	font-weight: 850;
	padding: .62rem .9rem;
	text-decoration: none;
}

.arcade-card__button:visited,
.arcade-card__button:hover,
.arcade-card__button:focus {
	background: #075e2d;
	color: #fff;
	text-decoration: none;
}

.arcade-page .arcade-card a.arcade-card__button,
.arcade-page .arcade-card a.arcade-card__button:visited,
.arcade-page .arcade-card a.arcade-card__button:hover,
.arcade-page .arcade-card a.arcade-card__button:focus,
.arcade-city-page .arcade-card a.arcade-card__button,
.arcade-city-page .arcade-card a.arcade-card__button:visited,
.arcade-city-page .arcade-card a.arcade-card__button:hover,
.arcade-city-page .arcade-card a.arcade-card__button:focus {
	color: #fff !important;
	text-decoration: none !important;
}

.arcade-popup__list {
	margin: .55rem 0 0;
	padding-left: 1.1rem;
	color: var(--ft-muted);
	font-size: .9rem;
}

.arcade-city-grid {
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
	margin: 1.4rem 0 1.6rem;
}

.arcade-city-map {
	min-height: 360px;
	margin-bottom: 0;
}

.arcade-city-cards {
	display: grid;
	gap: 1rem;
}

.arcade-card--full {
	padding: 1.15rem 1.2rem 1.2rem;
}

.arcade-card__meta--full {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.arcade-card__meta--full span {
	border-top: 1px solid rgba(15, 23, 42, .08);
	padding-top: .55rem;
}

.bnvd-map {
	min-height: 620px;
	margin-bottom: 1.5rem;
}

.bnvd-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem .9rem;
	margin: .9rem 0 1rem;
	color: var(--ft-muted);
	font-size: .88rem;
}

.bnvd-legend span {
	display: inline-flex;
	align-items: center;
	gap: .36rem;
}

.bnvd-legend i {
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	border: 1px solid rgba(15, 23, 42, .14);
	border-radius: 3px;
}

.bnvd-popup__list {
	margin: .25rem 0 0;
	padding-left: 1rem;
	color: #526074;
	font-size: .9rem;
}

.bnvd-card__substances {
	display: grid;
	gap: .25rem;
	margin-top: .75rem;
	color: var(--ft-muted);
	font-size: .88rem;
}

.bnvd-card__substances span {
	display: flex;
	justify-content: space-between;
	gap: .8rem;
	border-top: 1px solid rgba(15, 23, 42, .08);
	padding-top: .25rem;
}

.bnvd-card__substances strong {
	color: var(--ft-ink);
	white-space: nowrap;
}

.bnvd-card__actions {
	display: grid;
	gap: .55rem;
	margin-top: auto;
}

.bnvd-vigilance-alert {
	border-color: rgba(185, 28, 28, .18);
	background: #fff7ed;
}

.bnvd-vigilance-badges {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	margin-top: .55rem;
}

.bnvd-vigilance-badges span,
.bnvd-vigilance-chip {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	border: 1px solid rgba(249, 115, 22, .28);
	border-radius: 999px;
	background: rgba(249, 115, 22, .1);
	padding: .2rem .55rem;
	color: #9a3412;
	font-size: .78rem;
	font-weight: 800;
	line-height: 1.25;
}

.bnvd-vigilance-badges span.is-strong,
.bnvd-vigilance-chip.is-strong {
	border-color: rgba(185, 28, 28, .28);
	background: rgba(185, 28, 28, .1);
	color: #7f1d1d;
}

.bnvd-vigilance-none {
	color: var(--ft-muted);
}

.bnvd-detail-map {
	min-height: 430px;
}

.bnvd-method-note {
	display: grid;
	gap: .65rem;
	color: var(--ft-muted);
}

.bnvd-method-note p {
	margin: 0;
	border-left: 4px solid var(--ald-brand-green, #067a3e);
	padding: .7rem .85rem;
	border-radius: 0 8px 8px 0;
	background: rgba(6, 122, 62, .08);
}

.bnvd-detail-intro {
	max-width: 760px;
	color: var(--ft-muted);
}

.bnvd-detail-tools {
	margin-bottom: .9rem;
}

.bnvd-detail-table-wrap {
	overflow-x: auto;
	border: 1px solid rgba(15, 23, 42, .08);
	border-radius: 10px;
	background: #fff;
}

.bnvd-detail-table {
	width: 100%;
	min-width: 1120px;
	margin: 0;
	border-collapse: collapse;
	font-size: .92rem;
}

.bnvd-detail-table th,
.bnvd-detail-table td {
	padding: .78rem .85rem;
	border-bottom: 1px solid rgba(15, 23, 42, .08);
	vertical-align: top;
}

.bnvd-detail-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: #f7faf8;
	color: var(--ald-navy, #081d3b);
	font-weight: 800;
	white-space: nowrap;
}

.bnvd-detail-table tbody th {
	max-width: 300px;
	color: var(--ald-navy, #081d3b);
	font-weight: 800;
}

.bnvd-detail-table tbody tr:hover {
	background: rgba(6, 122, 62, .05);
}

.bnvd-detail-table tbody tr.has-vigilance {
	background: rgba(249, 115, 22, .035);
}

.bnvd-detail-vigilance-cell {
	min-width: 190px;
}

.bnvd-detail-vigilance-cell small {
	display: block;
	margin-top: .28rem;
	color: var(--ft-muted);
	line-height: 1.3;
}

.demo-map {
	min-height: 620px;
	margin-bottom: 1.5rem;
}

.age-map {
	min-height: 620px;
	margin-bottom: 1.5rem;
}

.logement-map {
	min-height: 620px;
	margin-bottom: 1.5rem;
}

.demo-intro {
	margin-bottom: 1.2rem;
}

.age-intro {
	margin-bottom: 1.2rem;
}

.logement-intro {
	margin-bottom: 1.2rem;
}

.demo-kpis.ft-kpis {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.age-kpis.ft-kpis {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.logement-kpis.ft-kpis {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.age-table {
	min-width: 1500px;
}

.logement-table {
	min-width: 1700px;
}

.density-table {
	min-width: 1180px;
}

.health-table {
	min-width: 1650px;
}

.health-kpis.ft-kpis {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 24px;
}

.health-kpis .ft-kpi {
	min-height: 126px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: #ffffff;
	border-top: 4px solid var(--ald-brand-green, #0b7a3b);
}

.health-rankings {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 24px 0;
}

.health-intro p {
	color: var(--ft-muted);
}

.logement-detail__kpis.ft-kpis {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.logement-detail__charts {
	align-items: stretch;
}

.logement-detail__intro,
.logement-detail__reading p {
	color: var(--ft-muted);
}

.logement-chart-wrap {
	position: relative;
	min-height: 320px;
}

.logement-detail__map {
	min-height: 380px;
}

.logement-detail-table {
	min-width: 1400px;
}

.age-detail__kpis.ft-kpis {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.age-detail__charts {
	align-items: stretch;
}

.age-detail__intro,
.age-detail__reading p {
	color: var(--ft-muted);
}

.age-chart-wrap {
	position: relative;
	min-height: 320px;
}

.age-detail__map {
	min-height: 380px;
}

.age-detail-table {
	min-width: 1300px;
}

.density-detail__kpis.ft-kpis {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.density-detail__charts {
	align-items: stretch;
}

.density-detail__intro,
.density-detail__reading p {
	color: var(--ft-muted);
}

.density-chart-wrap {
	position: relative;
	min-height: 320px;
}

.density-detail__map {
	min-height: 380px;
}

.density-detail-table {
	min-width: 1200px;
}

.maize-kpis.ft-kpis {
	grid-template-columns: 1.35fr repeat(4, minmax(0, 1fr));
	margin-bottom: 24px;
}

.maize-kpi {
	position: relative;
	overflow: hidden;
	min-height: 132px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-top: 4px solid #df7c23;
	background:
		linear-gradient(135deg, rgba(223, 124, 35, .1), rgba(255, 255, 255, 0) 46%),
		#ffffff;
}

.maize-kpi--primary {
	border-top-color: #8a3b12;
	background:
		linear-gradient(135deg, rgba(138, 59, 18, .14), rgba(11, 122, 59, .08)),
		#ffffff;
}

.maize-sort {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	width: 100%;
	border: 0;
	padding: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 850;
	text-align: left;
	cursor: pointer;
}

.maize-sort::after {
	content: "↕";
	color: rgba(8, 29, 59, .45);
	font-size: .8rem;
	line-height: 1;
}

.maize-sort[data-direction="asc"]::after {
	content: "↑";
	color: var(--ald-brand-green, #0b7a3b);
}

.maize-sort[data-direction="desc"]::after {
	content: "↓";
	color: var(--ald-brand-green, #0b7a3b);
}

.maize-sort:focus-visible {
	outline: 3px solid rgba(11, 122, 59, .25);
	outline-offset: 3px;
	border-radius: 4px;
}

.maize-detail__kpis.ft-kpis {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.maize-detail__charts {
	align-items: stretch;
}

.maize-detail__intro,
.maize-detail__reading p {
	color: var(--ft-muted);
}

.maize-chart-wrap {
	position: relative;
	min-height: 320px;
}

.maize-detail__map {
	min-height: 380px;
}

.maize-history-table {
	min-width: 900px;
}

.demo-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem .9rem;
	margin: .9rem 0 1rem;
	color: var(--ft-muted);
	font-size: .88rem;
}

.demo-legend span {
	display: inline-flex;
	align-items: center;
	gap: .36rem;
}

.demo-legend i {
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	border: 1px solid rgba(15, 23, 42, .14);
	border-radius: 3px;
}

.demo-table-section {
	margin: 1.5rem 0;
}

.demo-table-wrap {
	overflow-x: auto;
	border: 1px solid rgba(15, 23, 42, .08);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(8, 29, 59, .06);
}

.demo-table {
	width: 100%;
	min-width: 1120px;
	margin: 0;
	border-collapse: collapse;
	font-size: .9rem;
}

.demo-table th,
.demo-table td {
	padding: .78rem .85rem;
	border-bottom: 1px solid rgba(15, 23, 42, .08);
	vertical-align: top;
}

.demo-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: #f7faf8;
	color: var(--ald-navy, #081d3b);
	font-weight: 850;
	white-space: nowrap;
}

.demo-table tbody th {
	color: var(--ald-navy, #081d3b);
	font-weight: 850;
}

.demo-table tbody tr:hover {
	background: rgba(6, 122, 62, .05);
}

.demo-type {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	background: color-mix(in srgb, var(--demo-type-color) 13%, white);
	border: 1px solid color-mix(in srgb, var(--demo-type-color) 30%, white);
	color: var(--demo-type-color);
	padding: .22rem .55rem;
	font-size: .78rem;
	font-weight: 850;
	line-height: 1.25;
}

.demo-source-list {
	margin: 0 0 .8rem;
	padding-left: 1.2rem;
}

.demo-detail__kpis.ft-kpis {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.demo-detail__summary {
	border-left: 6px solid var(--demo-type-color, #2878d7);
	background: linear-gradient(90deg, rgba(6, 122, 62, .06), #fff 42%);
}

.demo-detail__eyebrow {
	margin: 0 0 .3rem;
	color: var(--demo-type-color, #2878d7);
	font-size: .78rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.demo-detail__map {
	min-height: 380px;
}

.demo-detail__reading p,
.demo-detail__intro {
	color: var(--ft-muted);
}

.demo-detail__series {
	display: grid;
	gap: .55rem;
	margin-top: 1rem;
}

.demo-detail__series-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem 1rem;
	margin-top: .85rem;
	color: var(--ft-muted);
	font-size: .88rem;
}

.demo-detail__series-legend span {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

.demo-detail__series-legend i {
	width: .9rem;
	height: .9rem;
	border-radius: 999px;
}

.demo-detail__series-legend .is-birth {
	background: #2f9e44;
}

.demo-detail__series-legend .is-death {
	background: #7048e8;
}

.demo-detail__series-row {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	align-items: center;
	gap: .75rem;
}

.demo-detail__series-year {
	color: var(--ald-navy, #081d3b);
	font-weight: 850;
}

.demo-detail__series-bars {
	display: grid;
	gap: .25rem;
}

.demo-detail__bar {
	display: block;
	min-width: 2.2rem;
	border-radius: 999px;
	padding: .1rem .45rem;
	color: #fff;
	font-size: .76rem;
	font-weight: 850;
	line-height: 1.45;
	text-align: right;
}

.demo-detail__bar.is-birth {
	background: #2f9e44;
}

.demo-detail__bar.is-death {
	background: #7048e8;
}

.demo-detail__bar em {
	font-style: normal;
}

@media (max-width: 767.98px) {
	.otex-detail__links {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1199.98px) {
	.meteo-detail__forecast {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.meteo-detail__forecast {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.meteo-detail__map {
		min-height: 340px;
	}
	.arcade-directory__grid {
		grid-template-columns: 1fr;
	}
	.arcade-map {
		min-height: 460px;
	}
	.arcade-city-grid,
	.arcade-card__meta--full {
		grid-template-columns: 1fr;
	}
	.arcade-city-map {
		min-height: 320px;
	}
	.bnvd-map {
		min-height: 460px;
	}
	.bnvd-detail-map {
		min-height: 340px;
	}
	.demo-map {
		min-height: 460px;
	}
	.age-map {
		min-height: 460px;
	}
	.logement-map {
		min-height: 460px;
	}
	.demo-detail__kpis.ft-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.age-kpis.ft-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.logement-kpis.ft-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.health-kpis.ft-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.health-rankings {
		grid-template-columns: 1fr;
	}
	.logement-detail__kpis.ft-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.age-detail__kpis.ft-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.density-detail__kpis.ft-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.maize-kpis.ft-kpis,
	.maize-detail__kpis.ft-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.age-chart-wrap {
		min-height: 280px;
	}
	.logement-chart-wrap {
		min-height: 280px;
	}
	.density-chart-wrap {
		min-height: 280px;
	}
	.demo-detail__series-row {
		grid-template-columns: 3.8rem minmax(0, 1fr);
	}
}

@media (max-width: 479.98px) {
	.meteo-detail__forecast {
		grid-template-columns: 1fr;
	}
	.demo-detail__kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
	.age-kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
	.logement-kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
	.health-kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
	.logement-detail__kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
	.age-detail__kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
	.density-detail__kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
	.maize-kpis.ft-kpis,
	.maize-detail__kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575.98px) {
	.river-directory__head,
	.river-station-card__metrics {
		grid-template-columns: 1fr;
		flex-direction: column;
		align-items: flex-start;
	}
	.demo-kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
}

.leaflet-popup-pane [class$="-popup__head"],
.leaflet-popup-pane .popup-station__header {
	margin: 0;
	padding: .85rem 1rem;
	background: var(--popup-color, var(--ald-brand-green));
	color: #fff;
}

.leaflet-popup-pane :is(.cv-popup, .ly-popup, .ag-popup, .mh-popup) > h3:first-child {
	margin: 0 0 .75rem;
	padding: .85rem 1rem;
	background: var(--popup-color, var(--ald-brand-green));
	color: #fff;
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.25;
}

.leaflet-popup-pane :is(.river-popup, .temperature-popup, .nitrate-popup, .festival-popup, .lordi-popup) {
	padding: .95rem 1rem 1rem;
}

.leaflet-popup-pane :is(.cv-popup, .ly-popup, .ag-popup, .mh-popup) > :not(h3) {
	margin-right: 1rem;
	margin-left: 1rem;
}

.leaflet-popup-pane :is(.cv-popup, .ly-popup, .ag-popup, .mh-popup, .tl-popup, .irve-popup, .lio-popup, .fish-popup) p {
	margin-top: .34rem;
	margin-bottom: .34rem;
	color: #526074;
	line-height: 1.42;
}

.leaflet-popup-pane .leaflet-popup-content strong,
.leaflet-popup-pane .leaflet-popup-content b {
	color: var(--ald-navy);
	font-weight: 850;
}

.leaflet-popup-pane [class$="-popup__title"],
.leaflet-popup-pane .popup-station__title {
	margin: 0;
	color: inherit;
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.25;
}

.leaflet-popup-pane :is(.river-popup__title, .temperature-popup__title, .nitrate-popup__title, .festival-popup__title, .lordi-popup__title) {
	margin: 0 0 .75rem;
	padding-bottom: .55rem;
	border-bottom: 3px solid var(--popup-color, var(--ald-brand-green));
	color: var(--ald-navy);
}

.leaflet-popup-pane [class$="-popup__body"],
.leaflet-popup-pane .popup-station__body {
	padding: .9rem 1rem 1rem;
}

.leaflet-popup-pane [class$="-popup__value"],
.leaflet-popup-pane [class$="-popup__price"],
.leaflet-popup-pane .popup-station__price-value {
	color: var(--popup-color, var(--ald-brand-green));
	font-weight: 850;
}

.leaflet-popup-pane [class$="-popup__line"],
.leaflet-popup-pane .popup-station__meta {
	color: #526074;
}

.leaflet-popup-pane .leaflet-popup-content :is(a[class$="-popup__button"], a[class$="popup__button"], .cv-btn, .ly-btn, .tl-btn, .irve-btn, .lio-btn, .ag-btn, .fish-detail-btn, .btn) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 38px;
	margin-top: .8rem;
	padding: .55rem .85rem;
	border: 1px solid var(--popup-color, var(--ald-brand-green));
	border-radius: 7px;
	background: var(--popup-color, var(--ald-brand-green));
	color: #fff !important;
	font-weight: 850;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 8px 18px rgba(8, 29, 59, .14);
}

.leaflet-popup-pane .leaflet-popup-content :is(a[class$="-popup__button"], a[class$="popup__button"], .cv-btn, .ly-btn, .tl-btn, .irve-btn, .lio-btn, .ag-btn, .fish-detail-btn, .btn):hover,
.leaflet-popup-pane .leaflet-popup-content :is(a[class$="-popup__button"], a[class$="popup__button"], .cv-btn, .ly-btn, .tl-btn, .irve-btn, .lio-btn, .ag-btn, .fish-detail-btn, .btn):focus {
	filter: brightness(.95);
	color: #fff !important;
	text-decoration: none;
	transform: translateY(-1px);
}

@media (max-width: 575.98px) {
	.leaflet-popup-pane .leaflet-popup-content,
	.leaflet-popup-pane .leaflet-popup-content > [class$="-popup"],
	.leaflet-popup-pane .leaflet-popup-content > .popup-station {
		min-width: min(270px, calc(100vw - 44px));
		max-width: min(310px, calc(100vw - 44px));
	}
}

/* Detail pages: keep content full-width, with KPI blocks like rubric pages */
main:is(
	[class*="-detail"],
	.station-water,
	.station-temperature,
	.station-nitrates,
	.borne-shell,
	.trout-shell,
	.lio-detail-shell
) :is(
	[class$="-grid"],
	[class*="-detail__grid"],
	.lycee2-grid
) {
	grid-template-columns: 1fr !important;
}

main:is(
	[class*="-detail"],
	.station-water,
	.station-temperature,
	.station-nitrates,
	.borne-shell,
	.trout-shell,
	.lio-detail-shell
) :is(
	[class$="-kpis"],
	[class*="-detail-kpis"],
	.lycee2-kpis
) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	width: 100%;
}

main:is(
	[class*="-detail"],
	.station-water,
	.station-temperature,
	.station-nitrates,
	.borne-shell,
	.trout-shell,
	.lio-detail-shell
) :is(
	[class$="-kpi"],
	[class*="-detail-kpi"],
	.lycee2-kpi
) {
	width: 100%;
	min-width: 0;
}

@media (max-width: 991.98px) {
	main:is(
		[class*="-detail"],
		.station-water,
		.station-temperature,
		.station-nitrates,
		.borne-shell,
		.trout-shell,
		.lio-detail-shell
	) :is(
		[class$="-kpis"],
		[class*="-detail-kpis"],
		.lycee2-kpis
	) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 575.98px) {
	main:is(
		[class*="-detail"],
		.station-water,
		.station-temperature,
		.station-nitrates,
		.borne-shell,
		.trout-shell,
		.lio-detail-shell
	) :is(
		[class$="-kpis"],
		[class*="-detail-kpis"],
		.lycee2-kpis
	) {
		grid-template-columns: 1fr !important;
	}
}

body {
	background: #fbfcfb;
	color: var(--ald-ink);
}

a,
a:visited {
	color: var(--ald-brand-green);
}

a:hover,
a:focus {
	color: var(--ald-brand-green-dark);
	background: none;
	text-decoration-thickness: .08em;
	text-underline-offset: .16em;
}

.primary {
	color: var(--ald-brand-green);
}

.bg-dark {
	background-color: var(--ald-brand-green) !important;
}

.btn-primary,
.btn2,
.list-group-item.active,
.list-group-item-action.active {
	border-color: var(--ald-brand-green) !important;
	background-color: var(--ald-brand-green) !important;
	color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn2:hover,
.btn2:focus,
.list-group-item.active:hover,
.list-group-item-action.active:hover {
	border-color: var(--ald-brand-green-dark) !important;
	background-color: var(--ald-brand-green-dark) !important;
	color: #fff !important;
}

.btn-outline-primary {
	border-color: var(--ald-brand-green);
	color: var(--ald-brand-green);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
	border-color: var(--ald-brand-green);
	background: var(--ald-brand-green);
	color: #fff;
}

.dropdown-item {
	color: var(--ald-ink) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background: rgba(6, 122, 62, .08);
	color: var(--ald-brand-green-dark) !important;
}

.modal-content {
	background: var(--ald-green);
	color: #fff;
}

.ald-nav.navbar {
	position: sticky;
	top: 0;
	z-index: 1040;
	min-height: 72px;
	padding: .65rem 2.6rem;
	background: rgba(255, 255, 255, .96) !important;
	backdrop-filter: blur(12px);
	box-shadow: 0 1px 0 rgba(8, 29, 59, .08);
}

.ald-nav .navbar-brand img {
	max-height: 50px;
}

.ald-nav.navbar-dark .navbar-nav .nav-link {
	color: var(--ald-navy);
	font-weight: 850;
}

.ald-nav.navbar-dark .navbar-nav .active > .nav-link,
.ald-nav.navbar-dark .navbar-nav .nav-link.active,
.ald-nav.navbar-dark .navbar-nav .nav-link:hover,
.ald-nav.navbar-dark .navbar-nav .nav-link:focus {
	color: var(--ald-brand-green);
}

.ald-nav .dropdown-menu {
	border: 1px solid rgba(6, 122, 62, .12);
	border-radius: var(--ald-radius);
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 18px 40px rgba(8, 29, 59, .12);
}

.ald-nav .dropdown-item,
.ald-nav .dropdown-item:visited {
	color: var(--ald-brand-green) !important;
	font-weight: 800;
}

.ald-nav .dropdown-item:hover,
.ald-nav .dropdown-item:focus {
	color: var(--ald-brand-green-dark) !important;
	background: rgba(6, 122, 62, .08);
}

.ald-nav.navbar-dark .navbar-toggler {
	border-color: rgba(8, 29, 59, .18);
}

.ald-nav.navbar-dark .navbar-toggler-icon {
	filter: invert(1);
}

.ald-search-modal .modal-dialog {
	width: auto;
	min-width: 0;
	height: auto;
	margin: 1.75rem auto;
	padding: 0;
}

.ald-search-modal .modal-content {
	overflow: hidden;
	min-width: 0;
	min-height: 0;
	border: 1px solid rgba(6, 122, 62, .16);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(8, 29, 59, .2);
	color: var(--ald-ink);
}

.ald-search-modal .modal-body {
	background: none;
	text-align: left;
}

.ald-search-modal h1,
.ald-search-modal h2 {
	color: var(--ald-navy);
	font-family: inherit;
	font-size: 1.8rem;
	font-weight: 900;
	text-align: left;
}

.ald-search-modal .btn2 {
	border: 1px solid var(--ald-brand-green) !important;
	background: none !important;
	color: var(--ald-brand-green) !important;
}

.ald-search-modal .btn2:hover,
.ald-search-modal .btn2:focus {
	background: rgba(6, 122, 62, .08) !important;
	color: var(--ald-brand-green) !important;
}

.ald-footer.page-footer {
	background: linear-gradient(135deg, #031a36, #052c55) !important;
	color: #fff;
}

.ald-footer a,
.ald-footer a:visited {
	color: #fff !important;
}

.ald-footer a:hover,
.ald-footer a:focus {
	color: #9be5b6 !important;
	text-decoration: none;
}

.ald-footer__logo {
	display: block;
	width: min(230px, 100%);
	height: auto;
	object-fit: contain;
}

@media (max-width: 991.98px) {
	.ald-nav.navbar {
		padding: .55rem 1rem;
	}

	.ald-nav.navbar-dark .navbar-nav .nav-link {
		padding-right: 0;
		padding-left: 0;
	}
}
/**************** PUB ***********/
/* Bannière sticky Revive - Aveyron Loves Data */

/* Sticky footer Revive - Aveyron Loves Data */

.pub-sticky-revive {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 9999;

  width: 760px;
  max-width: calc(100% - 32px);

  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 16px;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.22);

  padding: 8px 38px 8px 8px;
  box-sizing: border-box;
  text-align: center;

  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    visibility 0.18s ease;
}

.pub-sticky-revive.is-loaded {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.pub-sticky-revive.is-closing {
  opacity: 0;
  transform: translateX(-50%) translateY(12px);
}

.pub-sticky-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.pub-sticky-label {
  flex: 0 0 auto;
  writing-mode: vertical-rl;
  transform: rotate(180deg);

  font-size: 0.66rem;
  line-height: 1;
  opacity: 0.62;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.pub-sticky-content {
  flex: 0 1 728px;
  width: 728px;
  height: 90px;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
  border-radius: 10px;
}

.pub-sticky-content img {
  display: block;
  width: 728px;
  max-width: 100%;
  height: auto;
  border: 0;
}

.pub-sticky-content a {
  display: block;
  max-width: 100%;
}

.pub-sticky-content iframe,
.pub-sticky-content ins {
  max-width: 100%;
}

.pub-sticky-close {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);

  width: 26px;
  height: 26px;

  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #222222;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.22);

  font-size: 20px;
  line-height: 26px;
  text-align: center;
  cursor: pointer;
}

.pub-sticky-close:hover,
.pub-sticky-close:focus {
  background: #f1f1f1;
  outline: none;
}

.density-rankings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 24px 0;
}

.density-kpis.ft-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 24px;
}

.density-kpis .ft-kpi {
  min-height: 126px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #ffffff;
  border-top: 4px solid #147a3f;
}

.density-kpis .ft-kpi__label,
.density-kpis .ft-kpi__value,
.density-kpis small {
  display: block;
}

.density-kpis .ft-kpi__value {
  overflow-wrap: anywhere;
}

.density-kpis small {
  color: #5c6675;
  font-weight: 700;
  line-height: 1.25;
}

.density-ranking-list {
  margin: 0;
  padding-left: 1.25rem;
}

.density-ranking-list li {
  padding: 10px 0;
  border-bottom: 1px solid rgba(15, 35, 57, 0.08);
}

.density-ranking-list li:last-child {
  border-bottom: 0;
}

.density-ranking-list span,
.density-ranking-list strong {
  display: block;
}

.density-ranking-list span {
  color: #0f2339;
  font-weight: 700;
}

.density-ranking-list strong {
  color: #0f7a3f;
  font-size: 0.95rem;
}

/* Desktop uniquement */
@media (max-width: 768px) {
  .density-kpis.ft-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .density-kpis .ft-kpi {
    min-height: 110px;
  }

  .density-rankings {
    grid-template-columns: 1fr;
  }

  .pub-sticky-revive {
    display: none;
  }
}

@media (max-width: 520px) {
  .density-kpis.ft-kpis {
    grid-template-columns: 1fr;
  }
}

.health-detail__kpis.ft-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 24px;
}

.health-detail__kpis .ft-kpi {
  min-height: 126px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #ffffff;
  border-top: 4px solid var(--kpi-color, #147a3f);
}

.health-detail__kpis .ft-kpi__label,
.health-detail__kpis .ft-kpi__value,
.health-detail__kpis .ft-kpi__meta {
  display: block;
}

.health-detail__kpis .ft-kpi__value {
  overflow-wrap: anywhere;
}

.health-detail__kpis .ft-kpi__meta {
  color: #5c6675;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
}

.health-detail__charts {
  align-items: stretch;
  margin-bottom: 24px;
}

.health-detail__charts .ft-card {
  min-height: 390px;
}

.health-chart-wrap {
  position: relative;
  min-height: 250px;
}

.health-detail__intro,
.health-detail__reading p {
  color: #526173;
  line-height: 1.6;
}

.health-history-note {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-left: 4px solid #0b7a3b;
  border-radius: 8px;
  background: #edf7f0;
  color: #0f2339;
}

.health-detail__map {
  min-height: 360px;
}

.health-detail-table {
  min-width: 720px;
}

.health-detail-table th {
  width: 42%;
  color: #0f2339;
}

.health-table a,
.health-detail-table a {
  color: #0b7a3b;
  font-weight: 800;
  text-decoration: none;
}

.health-table a:hover,
.health-table a:focus,
.health-detail-table a:hover,
.health-detail-table a:focus {
  color: #064f2c;
  text-decoration: underline;
}

.ft-data-date {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin: 14px 0 0;
  padding: 9px 14px;
  border: 1px solid rgba(11, 122, 59, 0.2);
  border-radius: 999px;
  background: rgba(237, 247, 240, 0.94);
  color: #064f2c;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.35;
}

@media (max-width: 992px) {
  .health-detail__kpis.ft-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .health-detail__kpis.ft-kpis {
    grid-template-columns: 1fr;
  }

  .health-detail__charts .ft-card {
    min-height: auto;
  }

  .health-chart-wrap {
    min-height: 230px;
  }

  .ft-data-date {
    border-radius: 10px;
  }
}

.hospital-kpis.ft-kpis {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hospital-kpi-wide {
  grid-column: span 2;
}

.hospital-kpi-name {
  font-size: clamp(1rem, 1.4vw, 1.35rem);
  line-height: 1.25;
}

.hospital-map {
  min-height: 560px;
}

.hospital-table {
  min-width: 1680px;
}

.hospital-rankings {
  margin-top: 24px;
}

.hospital-detail__kpis.ft-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hospital-detail__kpi-wide {
  grid-column: span 2;
}

.hospital-detail__layout {
  align-items: stretch;
  margin-bottom: 24px;
}

.hospital-detail__layout .ft-card {
  min-height: 360px;
}

.hospital-detail__map {
  min-height: 320px;
}

.hospital-detail__charts {
  margin-bottom: 24px;
}

.hospital-detail-table {
  min-width: 820px;
}

.hospital-detail .river-station-card__button,
.hospital-detail .ft-popup__button {
  border-color: #0b7a3b;
  background: #0b7a3b;
  color: #ffffff;
}

.hospital-detail .river-station-card__button:hover,
.hospital-detail .river-station-card__button:focus,
.hospital-detail .ft-popup__button:hover,
.hospital-detail .ft-popup__button:focus {
  border-color: #064f2c;
  background: #064f2c;
  color: #ffffff;
}

@media (max-width: 1200px) {
  .hospital-kpis.ft-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .hospital-kpis.ft-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hospital-kpi-wide {
    grid-column: span 2;
  }

  .hospital-map {
    min-height: 460px;
  }

  .hospital-detail__kpis.ft-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hospital-detail__kpi-wide {
    grid-column: span 2;
  }
}

@media (max-width: 520px) {
  .hospital-kpis.ft-kpis {
    grid-template-columns: 1fr;
  }

  .hospital-kpi-wide {
    grid-column: span 1;
  }

  .hospital-detail__kpis.ft-kpis {
    grid-template-columns: 1fr;
  }

  .hospital-detail__kpi-wide {
    grid-column: span 1;
  }

  .hospital-detail__layout .ft-card {
    min-height: auto;
  }
}

/* Final safeguard for handicap map popups after global Leaflet overrides. */
.leaflet-popup-pane .handicap-popup {
	background: color-mix(in srgb, var(--handicap-popup-color, var(--ald-brand-green)) 9%, #ffffff);
}

.leaflet-popup-pane .handicap-leaflet-popup .leaflet-popup-content-wrapper {
	border-color: var(--handicap-popup-color, var(--ald-brand-green));
	background: color-mix(in srgb, var(--handicap-popup-color, var(--ald-brand-green)) 12%, #ffffff);
}

.leaflet-popup-pane .handicap-leaflet-popup .leaflet-popup-tip,
.leaflet-popup-pane .handicap-popup__head,
.leaflet-popup-pane .handicap-popup__button {
	background: var(--handicap-popup-color, var(--ald-brand-green)) !important;
}

.leaflet-popup-pane .handicap-popup__title,
.leaflet-popup-pane .handicap-popup__eyebrow,
.leaflet-popup-pane .handicap-popup__badge,
.leaflet-popup-pane .handicap-popup__button {
	color: #fff !important;
}

.leaflet-popup-pane .handicap-popup__grid strong {
	color: var(--handicap-popup-color, var(--ald-brand-green-dark)) !important;
}

/* Final safeguard for protection de l'enfance map popups after global Leaflet overrides. */
.leaflet-popup-pane .protection-popup {
	display: grid;
	gap: 8px;
	width: min(268px, calc(100vw - 58px));
	max-height: min(330px, calc(100vh - 150px));
	overflow: auto;
	padding: 0;
	border-radius: 10px;
	background: color-mix(in srgb, var(--protection-popup-color, var(--ald-brand-green)) 9%, #ffffff);
	color: #172234;
}

.leaflet-popup-pane .protection-leaflet-popup .leaflet-popup-content-wrapper {
	border: 2px solid var(--protection-popup-color, var(--ald-brand-green));
	border-radius: 12px;
	background: color-mix(in srgb, var(--protection-popup-color, var(--ald-brand-green)) 12%, #ffffff);
	box-shadow: 0 14px 34px rgba(10, 35, 57, 0.2);
}

.leaflet-popup-pane .protection-leaflet-popup .leaflet-popup-content {
	margin: 0;
}

.leaflet-popup-pane .protection-leaflet-popup .leaflet-popup-tip,
.leaflet-popup-pane .protection-popup__head {
	background: var(--protection-popup-color, var(--ald-brand-green)) !important;
}

.leaflet-popup-pane .protection-popup__head {
	padding: 10px 12px;
	border-radius: 9px 9px 0 0;
}

.leaflet-popup-pane .protection-popup__eyebrow {
	margin: 0 0 3px;
	color: #fff !important;
	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.leaflet-popup-pane .protection-popup__title {
	margin: 0;
	color: #fff !important;
	font-size: 0.92rem;
	font-weight: 900;
	line-height: 1.18;
}

.leaflet-popup-pane .protection-popup__badge {
	display: inline-flex;
	margin-top: 6px;
	padding: 4px 7px;
	border: 1px solid rgba(255, 255, 255, 0.44);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	color: #fff !important;
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1.2;
}

.leaflet-popup-pane .protection-popup__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	padding: 0 10px;
}

.leaflet-popup-pane .protection-popup__grid article {
	min-width: 0;
	padding: 7px;
	border: 1px solid color-mix(in srgb, var(--protection-popup-color, var(--ald-brand-green)) 24%, #ffffff);
	border-radius: 8px;
	background: color-mix(in srgb, var(--protection-popup-color, var(--ald-brand-green)) 8%, #ffffff);
}

.leaflet-popup-pane .protection-popup__grid span,
.leaflet-popup-pane .protection-popup__flags span {
	display: block;
	color: #536273;
	font-size: 0.66rem;
	font-weight: 800;
}

.leaflet-popup-pane .protection-popup__grid strong {
	display: block;
	margin-top: 2px;
	color: var(--protection-popup-color, var(--ald-brand-green-dark)) !important;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.1;
}

.leaflet-popup-pane .protection-popup__body {
	padding: 0 10px;
}

.leaflet-popup-pane .protection-popup__body p {
	margin: 0 0 4px;
	color: #172234;
	font-size: 0.76rem;
	line-height: 1.28;
}

.leaflet-popup-pane .protection-popup__flags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	padding: 0 10px;
}

.leaflet-popup-pane .protection-popup__flags span {
	padding: 4px 7px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--protection-popup-color, var(--ald-brand-green)) 10%, #ffffff);
	color: #25364c;
	font-size: 0.64rem;
}

.leaflet-popup-pane .protection-popup__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 10px 10px;
	padding: 7px 10px;
	border-radius: 8px;
	background: var(--protection-popup-color, var(--ald-brand-green)) !important;
	color: #fff !important;
	font-size: 0.76rem;
	font-weight: 900;
	text-decoration: none;
}

.leaflet-popup-pane .protection-popup__button:hover,
.leaflet-popup-pane .protection-popup__button:focus {
	background: color-mix(in srgb, var(--protection-popup-color, var(--ald-brand-green)) 82%, #000000) !important;
	color: #fff !important;
	text-decoration: none;
}

@media (max-width: 520px) {
	.leaflet-popup-pane .protection-popup {
		width: min(248px, calc(100vw - 54px));
		max-height: 300px;
	}
}

.patrimoine-page .ft-hero__intro {
	max-width: 780px;
}

.patrimoine-kpis.ft-kpis {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.patrimoine-map {
	min-height: 720px;
	border: 1px solid rgba(6, 122, 62, 0.16);
}

.patrimoine-filters {
	align-items: center;
}

.ft-map-tools .patrimoine-checkbox {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	gap: 0.45rem;
	height: 46px;
	min-width: 178px;
	margin: 0;
	padding: 0 0.85rem;
	border: 1px solid rgba(6, 122, 62, 0.18);
	border-radius: 8px;
	background: #ffffff;
	color: #0b355d;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1;
	text-transform: none;
	white-space: nowrap;
}

.ft-map-tools .patrimoine-checkbox input {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: var(--ald-brand-green, #067a3e);
}

.patrimoine-directory__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.patrimoine-card {
	position: relative;
	display: flex;
	min-height: 100%;
	flex-direction: column;
	gap: 0.7rem;
	padding: 1rem;
	overflow: hidden;
	border: 1px solid rgba(11, 53, 93, 0.1);
	border-top: 4px solid var(--patrimoine-color, #067a3e);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 12px 30px rgba(11, 53, 93, 0.08);
}

.patrimoine-card__eyebrow {
	margin: 0;
	color: var(--patrimoine-color, #067a3e);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.patrimoine-card__title {
	margin: 0;
	color: #0b355d;
	font-size: 1.05rem;
	line-height: 1.25;
}

.patrimoine-card__meta {
	display: grid;
	gap: 0.5rem;
}

.patrimoine-card__meta span {
	display: grid;
	gap: 0.05rem;
	color: #4c5b68;
	font-size: 0.88rem;
}

.patrimoine-card__meta b {
	color: #0b355d;
	font-size: 0.76rem;
	text-transform: uppercase;
}

.patrimoine-card__desc {
	margin: 0;
	color: #405366;
	font-size: 0.92rem;
	line-height: 1.45;
}

.patrimoine-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: 0.65rem 0.85rem;
	border-radius: 8px;
	background: var(--patrimoine-color, #067a3e);
	color: #ffffff !important;
	font-weight: 800;
	text-decoration: none !important;
}

.patrimoine-card__button:hover,
.patrimoine-card__button:focus {
	background: color-mix(in srgb, var(--patrimoine-color, #067a3e) 82%, #000000);
	color: #ffffff !important;
}

.leaflet-popup-pane .patrimoine-popup,
.leaflet-popup-pane .ald-map-popup {
	max-width: min(300px, calc(100vw - 56px));
	overflow: hidden;
	border: 2px solid var(--popup-color, #067a3e);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 16px 34px rgba(11, 53, 93, 0.18);
}

.leaflet-popup-pane .ald-map-popup__head {
	padding: 0.75rem 0.85rem;
	background: var(--popup-color, #067a3e);
	color: #ffffff;
}

.leaflet-popup-pane .ald-map-popup__eyebrow {
	margin: 0 0 0.2rem;
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.leaflet-popup-pane .ald-map-popup__head h3 {
	margin: 0;
	color: #ffffff;
	font-size: 1rem;
	line-height: 1.25;
}

.leaflet-popup-pane .ald-map-popup__body {
	padding: 0.8rem 0.85rem 0.9rem;
	background: color-mix(in srgb, var(--popup-color, #067a3e) 8%, #ffffff);
}

.leaflet-popup-pane .ald-map-popup__body p {
	margin: 0 0 0.45rem;
	color: #0b355d;
	font-size: 0.86rem;
}

.leaflet-popup-pane .ald-map-popup__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 0.25rem;
	padding: 0.58rem 0.75rem;
	border-radius: 8px;
	background: var(--popup-color, #067a3e);
	color: #ffffff !important;
	font-weight: 800;
	text-decoration: none !important;
}

.patrimoine-notice__grid {
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
	align-items: start;
}

.patrimoine-notice__main p {
	color: #31465a;
	line-height: 1.7;
}

.patrimoine-definition-list {
	display: grid;
	gap: 0.6rem;
	margin: 0 0 1rem;
}

.patrimoine-definition-list dt {
	margin: 0;
	color: #0b355d;
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.patrimoine-definition-list dd {
	margin: 0;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid rgba(11, 53, 93, 0.08);
	color: #405366;
}

.patrimoine-notice-map {
	min-height: 420px;
}

@media (max-width: 1024px) {
	.patrimoine-kpis.ft-kpis,
	.patrimoine-directory__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.patrimoine-notice__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.patrimoine-kpis.ft-kpis,
	.patrimoine-directory__grid {
		grid-template-columns: 1fr;
	}
	.patrimoine-map {
		min-height: 520px;
	}
	.ft-map-tools .patrimoine-checkbox {
		width: 100%;
		justify-content: flex-start;
		min-width: 0;
	}
}

.objets-kpis.ft-kpis {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.objets-filters.ft-map-tools {
	flex-wrap: wrap;
}

.objets-filters .ft-map-tools__input {
	flex: 1 1 190px;
}

.objets-card__image {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 8px;
	background: #f4f7f3;
}

.objets-load-more {
	display: block;
	margin: 1rem auto 0;
}

.objets-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 0.85rem;
	align-items: center;
	margin: 0.75rem 0 0;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(11, 53, 93, 0.1);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
	color: #405366;
	font-size: 0.88rem;
}

.objets-legend strong {
	color: #0b355d;
	font-size: 0.86rem;
	text-transform: uppercase;
}

.objets-legend span {
	display: inline-flex;
	align-items: center;
	gap: 0.38rem;
	white-space: nowrap;
}

.objets-legend i {
	width: 0.85rem;
	height: 0.85rem;
	border-radius: 999px;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.95), 0 0 0 3px rgba(11, 53, 93, 0.1);
}

.objets-legend em {
	color: #6b7785;
	font-style: normal;
	font-weight: 800;
}

.objets-legend small {
	flex-basis: 100%;
	color: #6b7785;
}

@media (max-width: 1200px) {
	.objets-kpis.ft-kpis {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.objets-kpis.ft-kpis {
		grid-template-columns: 1fr;
	}
}

.trains-page .ft-hero__eyebrow,
.gare-ter-eyebrow {
	color: var(--ald-brand-green-dark);
}

.train-kpis.ft-kpis {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.train-kpi-text {
	font-size: clamp(1rem, 1.8vw, 1.35rem) !important;
	line-height: 1.25;
}

.trains-filters.ft-map-tools {
	flex-wrap: wrap;
}

.trains-filters .ft-map-tools__input {
	flex: 1 1 220px;
}

.trains-map {
	min-height: 560px;
	border: 1px solid var(--ald-border);
	border-radius: 8px;
	overflow: hidden;
}

.trains-legend {
	margin-top: 0.75rem;
}

.train-popup .ald-map-popup__body {
	max-height: 230px;
	overflow: auto;
}

.train-popup__lines {
	display: grid;
	gap: 0.35rem;
	margin: 0 0 0.55rem;
	padding: 0;
	list-style: none;
	color: #0b355d;
	font-size: 0.84rem;
}

.train-popup__lines li {
	display: flex;
	gap: 0.4rem;
	align-items: center;
}

.train-card {
	min-height: 100%;
}

.train-line-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0.25rem 0 0.65rem;
}

.train-line-badges--table {
	margin: 0;
}

.train-line-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.8rem;
	padding: 0.22rem 0.45rem;
	border-radius: 999px;
	background: var(--line-color, var(--ald-brand-green));
	color: var(--line-text, #ffffff) !important;
	font-size: 0.76rem;
	font-weight: 900;
	line-height: 1.1;
	white-space: nowrap;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.95), 0 4px 10px rgba(15, 23, 42, 0.12);
}

.train-line-badge--large {
	align-self: flex-start;
	min-width: 3.4rem;
	padding: 0.35rem 0.65rem;
	font-size: 0.88rem;
}

.train-line-badge--schedule {
	min-width: 3.2rem;
	border-radius: 6px;
}

.train-departures {
	margin-top: 0.6rem;
}

.train-departure .lio-schedule__time {
	text-align: right;
}

.ald-data-table {
	margin: 0;
	color: var(--ald-ink);
}

.ald-data-table caption {
	caption-side: top;
	color: var(--ald-muted);
	font-size: 0.9rem;
}

.ald-data-table thead th {
	border-top: 0;
	border-bottom: 2px solid rgba(6, 122, 62, 0.18);
	color: var(--ald-brand-green-dark);
	font-size: 0.82rem;
	text-transform: uppercase;
}

.ald-data-table tbody th,
.ald-data-table tbody td {
	vertical-align: middle;
	border-color: rgba(11, 53, 93, 0.08);
}

.train-lines-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.train-lines-intro {
	max-width: 760px;
	margin: -0.25rem 0 1rem;
	color: var(--ald-muted);
	line-height: 1.55;
}

.train-line-card {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-height: 100%;
	padding: 1rem;
	border: 1px solid rgba(6, 122, 62, 0.14);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.train-line-card h3 {
	margin: 0;
	font-size: 1rem;
	font-weight: 850;
}

.train-line-card span,
.train-line-card small {
	color: var(--ald-muted);
	line-height: 1.45;
}

.train-line-card ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0.2rem 0 0;
	padding: 0;
	list-style: none;
}

.train-line-card li {
	padding: 0.28rem 0.5rem;
	border-radius: 999px;
	background: rgba(6, 122, 62, 0.08);
	color: var(--ald-brand-green-dark);
	font-size: 0.82rem;
	font-weight: 750;
}

.gare-ter-page {
	padding-top: 1rem;
	padding-bottom: 2rem;
}

.gare-ter-hero {
	margin: 1rem 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid color-mix(in srgb, var(--gare-ter-color, #067a3e) 22%, #ffffff);
	border-radius: 10px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--gare-ter-color, #067a3e) 10%, #ffffff), #ffffff);
	box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}

.gare-ter-eyebrow {
	margin: 0 0 0.35rem;
	font-size: 0.82rem;
	font-weight: 850;
	text-transform: uppercase;
}

.gare-ter-hero h1 {
	margin: 0 0 0.65rem;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	line-height: 1.06;
}

.gare-ter-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
	gap: 1rem;
	align-items: start;
}

.gare-ter-map {
	min-height: 420px;
	border: 1px solid var(--ald-border);
	border-radius: 8px;
	overflow: hidden;
}

.train-route-list {
	display: grid;
	gap: 0.7rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.train-route-list li {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	align-items: center;
	justify-content: space-between;
	padding: 0.8rem 0.9rem;
	border: 1px solid rgba(6, 122, 62, 0.12);
	border-radius: 8px;
	background: rgba(6, 122, 62, 0.05);
}

.train-route-list strong {
	color: var(--ald-ink);
}

.train-route-list span {
	color: var(--ald-muted);
	font-size: 0.85rem;
}

@media (max-width: 1100px) {
	.train-kpis.ft-kpis,
	.train-lines-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.train-kpis.ft-kpis,
	.train-lines-grid,
	.gare-ter-grid {
		grid-template-columns: 1fr;
	}
	.trains-map,
	.gare-ter-map {
		min-height: 460px;
	}
}
