@charset "UTF-8";
/*
Theme Name: Krea3 Atelier
Theme URI: https://www.krea3.fr/
Description: Thème municipal 2027 éditorial, modulaire et graphique.
Version: 1.0.6
Author: Krea3
Author URI: http://www.krea3.fr
Text Domain: krea3
Domain Path: /languages
*/

/*
 * Personnalisation Krea3 Atelier.
 * Le socle structurel du theme est dans assets/css/parent.css.
 * Les variables globales de couleurs, typographies et espacements sont definies dans header.php.
 */

/******RGPD******/
.rgpd-btn.primary {
    color: #fff !important;
}

.rgpd-btn.primary,
.rgpd-btn.primary *,
.rgpd-btn.button-primary,
.rgpd-btn.button-primary *,
.rgpd-button.primary,
.rgpd-button.primary *,
.krea3-rgpd .primary,
.krea3-rgpd .primary *,
.krea3-rgpd .button-primary,
.krea3-rgpd .button-primary *,
[class*="rgpd"] .primary,
[class*="rgpd"] .primary *,
[class*="rgpd"] .button-primary,
[class*="rgpd"] .button-primary *,
[id*="rgpd"] .primary,
[id*="rgpd"] .primary *,
[id*="rgpd"] .button-primary,
[id*="rgpd"] .button-primary *,
[class*="cookie"] .primary,
[class*="cookie"] .primary *,
[class*="cookie"] .button-primary,
[class*="cookie"] .button-primary *,
[id*="cookie"] .primary,
[id*="cookie"] .primary *,
[id*="cookie"] .button-primary,
[id*="cookie"] .button-primary *,
[class*="consent"] .primary,
[class*="consent"] .primary *,
[class*="consent"] .button-primary,
[class*="consent"] .button-primary *,
[id*="consent"] .primary,
[id*="consent"] .primary *,
[id*="consent"] .button-primary,
[id*="consent"] .button-primary *,
[class*="nsc"] .primary,
[class*="nsc"] .primary *,
[class*="nsc"] .button-primary,
[class*="nsc"] .button-primary * {
	background: #000 !important;
	background-color: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
	opacity: 1 !important;
	text-shadow: none !important;
}

/* Accessibilite : masquer visuellement sans retirer les labels de l'arbre accessible. */
label.screen-reader-text,
.sr-only,
.visually-hidden,
#top-header ul#recherche_site label.screen-reader-text,
#top-header ul#recherche_site label.visually-hidden {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	display: block !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

/* Les liens icones reseaux/contact doivent garder un nom accessible sans texte visible. */
.liens-reseaux a .listing-hidden {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	display: block !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
	visibility: visible !important;
}

/* Partage : icones lisibles et libelles caches correctement pour l'accessibilite. */
#share_buttons a,
#share_buttons a:visited,
#share_buttons a i,
#share_buttons a .fa,
#share_buttons a .fab,
#share_buttons a .fa-brands,
#share_buttons a .svg-inline--fa {
	color: #245f70 !important;
}

#share_buttons a:hover,
#share_buttons a:focus,
#share_buttons a:hover i,
#share_buttons a:focus i,
#share_buttons a:hover .svg-inline--fa,
#share_buttons a:focus .svg-inline--fa {
	color: #174859 !important;
}

#share_buttons a:focus-visible {
	outline: 3px solid #174859 !important;
	outline-offset: 4px !important;
}

/* Formulaire de contact Abril: sobre, lisible et aligne avec le theme. */
.krea3_formulaire {
	background: var(--couleur-blanc) !important;
	border: 1px solid rgba(57, 128, 150, 0.16) !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.07) !important;
	box-sizing: border-box !important;
	color: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
	font-weight: var(--reguliere) !important;
	margin: 42px auto 70px !important;
	max-width: 1180px !important;
	padding: 38px clamp(22px, 4vw, 58px) !important;
	position: relative !important;
}

.krea3_formulaire::before {
	background: var(--couleur-secondaire) !important;
	content: "" !important;
	height: 5px !important;
	left: 0 !important;
	position: absolute !important;
	top: 0 !important;
	width: 130px !important;
}

.krea3_formulaire fieldset {
	background: transparent !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.krea3_formulaire fieldset legend.obligatoire,
.krea3_formulaire p.obligatoire {
	color: var(--couleur-principale) !important;
	display: block !important;
	font-family: var(--police) !important;
	font-size: clamp(1.55rem, 2vw, 2.15rem) !important;
	font-weight: var(--reguliere) !important;
	line-height: 1.15 !important;
	margin: 0 0 30px !important;
	padding: 0 !important;
	text-align: left !important;
}

.krea3_formulaire p {
	background: transparent !important;
	clear: none !important;
	display: block !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
}

.krea3_formulaire label:not([for="rgpd"]) {
	color: var(--gris-fonce) !important;
	display: block !important;
	float: none !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1rem !important;
	font-weight: var(--demi-gras) !important;
	line-height: 1.3 !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	text-align: left !important;
	width: 100% !important;
}

.krea3_formulaire input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.krea3_formulaire select,
.krea3_formulaire textarea {
	background: #fff !important;
	border: 1px solid rgba(57, 128, 150, 0.28) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--gris-fonce) !important;
	display: block !important;
	float: none !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1.05rem !important;
	line-height: 1.45 !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 52px !important;
	padding: 13px 16px !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	width: 100% !important;
}

.krea3_formulaire textarea {
	min-height: 170px !important;
	resize: vertical !important;
}

.krea3_formulaire input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.krea3_formulaire select:focus,
.krea3_formulaire textarea:focus {
	border-color: var(--couleur-secondaire) !important;
	box-shadow: 0 0 0 4px rgba(219, 155, 86, 0.18) !important;
	outline: 0 !important;
}

.krea3_formulaire ::placeholder {
	color: rgba(51, 51, 51, 0.52) !important;
	opacity: 1 !important;
}

.descriptioncontact {
	color: rgba(51, 51, 51, 0.68) !important;
	display: block !important;
	font-size: 0.86rem !important;
	line-height: 1.35 !important;
	margin: 7px 0 0 !important;
	padding: 0 !important;
}

.krea3_formulaire .phrase_form_contact_rgpd {
	border: 0 !important;
	border-top: 1px solid rgba(57, 128, 150, 0.16) !important;
	color: rgba(51, 51, 51, 0.74) !important;
	font-size: 0.96rem !important;
	line-height: 1.55 !important;
	margin: 28px 0 0 !important;
	padding: 24px 0 0 !important;
	text-align: left !important;
}

.krea3_formulaire p:has(input#rgpd) {
	align-items: flex-start !important;
	background: rgba(57, 128, 150, 0.08) !important;
	border: 1px solid rgba(57, 128, 150, 0.2) !important;
	border-left: 5px solid var(--couleur-principale) !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-wrap: wrap !important;
	column-gap: 20px !important;
	row-gap: 16px !important;
	margin: 22px 0 26px !important;
	padding: 18px 20px !important;
	text-align: left !important;
}

.krea3_formulaire label[for="rgpd"] {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--gris-fonce) !important;
	display: block !important;
	float: none !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1rem !important;
	font-weight: var(--demi-gras) !important;
	line-height: 1.45 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	text-align: left !important;
	width: 100% !important;
}

.krea3_formulaire label[for="rgpd"] input#rgpd,
.krea3_formulaire input#rgpd,
.krea3_formulaire input[type="checkbox"]#rgpd {
	appearance: auto !important;
	-webkit-appearance: checkbox !important;
	accent-color: var(--couleur-principale) !important;
	background: #fff !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	display: block !important;
	float: none !important;
	flex: 0 0 18px !important;
	height: 18px !important;
	left: auto !important;
	margin: 3px 0 0 !important;
	max-width: 18px !important;
	min-height: 0 !important;
	padding: 0 !important;
	position: static !important;
	top: auto !important;
	width: 18px !important;
}

.krea3_formulaire label[for="rgpd"] input#rgpd {
	display: inline-block !important;
	margin-right: 12px !important;
	vertical-align: -2px !important;
}

.krea3_formulaire p:has(input#rgpd) .descriptioncontact {
	flex: 1 1 auto !important;
	line-height: 1.35 !important;
	margin: 1px 0 0 !important;
	max-width: none !important;
	padding: 0 !important;
	white-space: nowrap !important;
}

.krea3_formulaire p:has(input#rgpd) input#rgpd {
	float: left !important;
	margin: 4px 22px 0 0 !important;
}

.krea3_formulaire p:has(input#rgpd) > label[for="rgpd"] {
	flex: 0 0 100% !important;
}

.krea3_formulaire input[type="submit"] {
	background: var(--couleur-principale) !important;
	border: 2px solid var(--couleur-principale) !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1rem !important;
	font-weight: var(--gras) !important;
	justify-content: center !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	margin: 8px 0 0 !important;
	min-height: 52px !important;
	padding: 15px 28px !important;
	text-align: center !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
	width: auto !important;
}

.krea3_formulaire input[type="submit"]:hover,
.krea3_formulaire input[type="submit"]:focus {
	background: var(--couleur-secondaire) !important;
	border-color: var(--couleur-secondaire) !important;
	color: var(--couleur-noir) !important;
	outline: 0 !important;
}

@media (max-width: 680px) {
	.krea3_formulaire {
		margin: 28px 0 48px !important;
		padding: 30px 18px !important;
	}

	.krea3_formulaire fieldset legend.obligatoire,
	.krea3_formulaire p.obligatoire {
		font-size: 1.45rem !important;
	}

	.krea3_formulaire input[type="submit"] {
		width: 100% !important;
	}

	.krea3_formulaire p:has(input#rgpd) .descriptioncontact {
		white-space: normal !important;
	}
}

/* Page de resultats de recherche Abril. */
body.search #image-header-page {
	margin-bottom: 0 !important;
}

body.search #image-header-page img {
	display: block !important;
	height: 100% !important;
	object-fit: cover !important;
	width: 100% !important;
}

body.search #main-page {
	background: linear-gradient(180deg, rgba(57, 128, 150, 0.06), rgba(255, 255, 255, 0) 220px) !important;
}

body.search #la-page.largeur92 {
	box-sizing: border-box !important;
	margin: 0 auto !important;
	max-width: 1280px !important;
	padding: 34px clamp(18px, 4vw, 58px) 80px !important;
	width: 100% !important;
}

.page-resultats-recherche {
	color: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
}

.page-resultats-recherche > .taille-texte-variable > div {
	position: relative !important;
}

.page-resultats-recherche .page-title {
	color: var(--couleur-principale) !important;
	font-family: var(--police) !important;
	font-size: clamp(2.4rem, 5vw, 5.2rem) !important;
	font-weight: var(--reguliere) !important;
	letter-spacing: 0 !important;
	line-height: 1.05 !important;
	margin: 30px 0 34px !important;
	padding: 0 0 22px !important;
	position: relative !important;
}

.page-resultats-recherche .page-title::after {
	background: var(--couleur-secondaire) !important;
	bottom: 0 !important;
	content: "" !important;
	height: 5px !important;
	left: 0 !important;
	position: absolute !important;
	width: 125px !important;
}

.page-resultats-recherche .page-title span {
	color: var(--couleur-noir) !important;
	font-family: var(--police-secondaire) !important;
	font-size: 0.58em !important;
	font-weight: var(--gras) !important;
}

.page-resultats-recherche .krea3-resultat-recherche {
	background: var(--couleur-blanc) !important;
	border: 1px solid rgba(57, 128, 150, 0.14) !important;
	border-left: 6px solid var(--couleur-principale) !important;
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.055) !important;
	box-sizing: border-box !important;
	display: block !important;
	margin: 0 0 22px !important;
	padding: 26px clamp(20px, 3vw, 38px) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.page-resultats-recherche .krea3-resultat-recherche::after {
	clear: both !important;
	content: "" !important;
	display: block !important;
}

.page-resultats-recherche .search-result-thumbnail {
	background: rgba(57, 128, 150, 0.08) !important;
	border: 1px solid rgba(57, 128, 150, 0.18) !important;
	box-sizing: border-box !important;
	display: block !important;
	float: left !important;
	height: 150px !important;
	margin: 0 24px 12px 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 150px !important;
}

.page-resultats-recherche .search-result-thumbnail img {
	display: block !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.25s ease !important;
	width: 100% !important;
}

.page-resultats-recherche .krea3-resultat-recherche:hover .search-result-thumbnail img,
.page-resultats-recherche .krea3-resultat-recherche:focus-within .search-result-thumbnail img {
	transform: scale(1.04) !important;
}

.page-resultats-recherche .krea3-resultat-recherche:hover,
.page-resultats-recherche .krea3-resultat-recherche:focus-within {
	border-left-color: var(--couleur-secondaire) !important;
	box-shadow: 0 20px 55px rgba(0, 0, 0, 0.085) !important;
	transform: translateY(-2px) !important;
}

.page-resultats-recherche h2,
.page-resultats-recherche h3.entry-title {
	font-family: var(--police) !important;
	font-size: clamp(1.45rem, 2.1vw, 2.2rem) !important;
	font-weight: var(--reguliere) !important;
	line-height: 1.2 !important;
	margin: 0 0 12px !important;
}

.page-resultats-recherche h2 a,
.page-resultats-recherche h3.entry-title a {
	color: var(--couleur-noir) !important;
	text-decoration: none !important;
}

.page-resultats-recherche h2 a:hover,
.page-resultats-recherche h2 a:focus,
.page-resultats-recherche h3.entry-title a:hover,
.page-resultats-recherche h3.entry-title a:focus {
	color: var(--couleur-principale) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--couleur-secondaire) !important;
	text-decoration-thickness: 3px !important;
	text-underline-offset: 6px !important;
}

.page-resultats-recherche .entry-summary,
.page-resultats-recherche .entry-content {
	color: rgba(51, 51, 51, 0.78) !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1.08rem !important;
	line-height: 1.65 !important;
	margin: 0 !important;
}

.page-resultats-recherche .entry-summary p,
.page-resultats-recherche .entry-content p {
	margin: 0 !important;
}

.page-resultats-recherche .entry-meta,
.page-resultats-recherche .entry-utility {
	color: rgba(51, 51, 51, 0.58) !important;
	font-size: 0.9rem !important;
	margin: 0 0 10px !important;
}

.page-resultats-recherche .nav-results {
	align-items: center !important;
	border: 0 !important;
	clear: both !important;
	display: flex !important;
	gap: 16px !important;
	justify-content: space-between !important;
	list-style: none !important;
	margin: 16px 0 28px !important;
	padding: 0 !important;
	width: 100% !important;
}

.page-resultats-recherche .nav-results-bottom {
	border-top: 1px solid rgba(57, 128, 150, 0.16) !important;
	margin-top: 34px !important;
	padding-top: 24px !important;
}

.page-resultats-recherche .nav-results li {
	display: block !important;
	padding: 0 !important;
	width: auto !important;
}

.page-resultats-recherche .nav-results li.nav-suivant {
	margin-left: auto !important;
}

.page-resultats-recherche .nav-results a {
	align-items: center !important;
	background: var(--couleur-principale) !important;
	border: 2px solid var(--couleur-principale) !important;
	color: var(--couleur-blanc) !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire) !important;
	font-weight: var(--gras) !important;
	justify-content: center !important;
	line-height: 1.2 !important;
	min-height: 48px !important;
	padding: 12px 20px !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.page-resultats-recherche .nav-results a:hover,
.page-resultats-recherche .nav-results a:focus {
	background: var(--couleur-secondaire) !important;
	border-color: var(--couleur-secondaire) !important;
	color: var(--couleur-noir) !important;
	outline: 0 !important;
}

.page-resultats-recherche .nav-results a span {
	display: inline-block !important;
	padding: 0 !important;
}

.page-resultats-recherche .nav-results .icon-nav {
	display: none !important;
}

.page-resultats-recherche .no-results,
.page-resultats-recherche .not-found {
	background: var(--couleur-blanc) !important;
	border: 1px solid rgba(57, 128, 150, 0.14) !important;
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.055) !important;
	margin: 30px 0 !important;
	padding: clamp(24px, 4vw, 52px) !important;
}

.page-resultats-recherche .no-results .entry-title {
	color: var(--couleur-principale) !important;
	font-family: var(--police) !important;
	font-size: clamp(2rem, 4vw, 4rem) !important;
	margin: 0 0 18px !important;
}

.page-resultats-recherche #searchform {
	background: rgba(57, 128, 150, 0.08) !important;
	border: 1px solid rgba(57, 128, 150, 0.18) !important;
	box-sizing: border-box !important;
	margin: 24px 0 0 !important;
	max-width: 720px !important;
	padding: 18px !important;
	text-align: left !important;
}

.page-resultats-recherche #searchform div {
	align-items: center !important;
	display: flex !important;
	gap: 12px !important;
	width: 100% !important;
}

.page-resultats-recherche #searchform input[type="text"] {
	background: var(--couleur-blanc) !important;
	border: 1px solid rgba(57, 128, 150, 0.28) !important;
	box-sizing: border-box !important;
	color: var(--gris-fonce) !important;
	flex: 1 1 auto !important;
	float: none !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1.05rem !important;
	height: 52px !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 16px !important;
	text-align: left !important;
	width: auto !important;
}

.page-resultats-recherche #searchform input[type="submit"] {
	background: var(--couleur-principale) !important;
	border: 2px solid var(--couleur-principale) !important;
	color: var(--couleur-blanc) !important;
	cursor: pointer !important;
	float: none !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1rem !important;
	font-weight: var(--gras) !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 22px !important;
	text-indent: 0 !important;
	text-transform: uppercase !important;
	width: auto !important;
}

.page-resultats-recherche #searchform input[type="submit"]:hover,
.page-resultats-recherche #searchform input[type="submit"]:focus {
	background: var(--couleur-secondaire) !important;
	border-color: var(--couleur-secondaire) !important;
	color: var(--couleur-noir) !important;
	outline: 0 !important;
}

@media (max-width: 720px) {
	body.search #la-page.largeur92 {
		padding: 24px 18px 56px !important;
	}

	.page-resultats-recherche .page-title {
		margin-top: 20px !important;
	}

	.page-resultats-recherche .krea3-resultat-recherche {
		padding: 22px 18px !important;
	}

	.page-resultats-recherche .search-result-thumbnail {
		float: none !important;
		height: auto !important;
		margin: 0 0 18px !important;
		width: 150px !important;
	}

	.page-resultats-recherche .search-result-thumbnail img {
		aspect-ratio: 1 / 1 !important;
		height: auto !important;
	}

	.page-resultats-recherche .nav-results {
		align-items: stretch !important;
		flex-direction: column !important;
	}

	.page-resultats-recherche .nav-results li,
	.page-resultats-recherche .nav-results li.nav-suivant {
		margin: 0 !important;
		width: 100% !important;
	}

	.page-resultats-recherche .nav-results a {
		width: 100% !important;
	}

	.page-resultats-recherche #searchform div {
		align-items: stretch !important;
		flex-direction: column !important;
	}

	.page-resultats-recherche #searchform input[type="submit"] {
		width: 100% !important;
	}
}

/* Citations editoriales Abril. */
#la-page blockquote,
.entry-content blockquote,
.wp-block-quote {
	background: linear-gradient(90deg, rgba(57, 128, 150, 0.1), rgba(57, 128, 150, 0.035)) !important;
	border: 0 !important;
	border-left: 7px solid var(--couleur-principale) !important;
	box-sizing: border-box !important;
	color: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
	font-style: normal !important;
	font-weight: var(--reguliere) !important;
	height: auto !important;
	margin: 42px 0 !important;
	max-width: 980px !important;
	padding: clamp(24px, 3vw, 38px) clamp(24px, 4vw, 54px) !important;
	position: relative !important;
}

#la-page blockquote::before,
.entry-content blockquote::before,
.wp-block-quote::before {
	color: var(--couleur-secondaire) !important;
	content: "“" !important;
	display: block !important;
	font-family: var(--police) !important;
	font-size: clamp(4rem, 7vw, 7.5rem) !important;
	font-style: normal !important;
	left: clamp(16px, 2vw, 28px) !important;
	line-height: 0.7 !important;
	opacity: 0.42 !important;
	position: absolute !important;
	top: clamp(20px, 3vw, 34px) !important;
}

#la-page blockquote p,
.entry-content blockquote p,
.wp-block-quote p {
	color: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
	font-size: clamp(1.15rem, 1.5vw, 1.45rem) !important;
	font-style: italic !important;
	font-weight: var(--demi-gras) !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	padding: 0 0 0 clamp(54px, 6vw, 92px) !important;
	text-align: left !important;
}

#la-page blockquote p + p,
.entry-content blockquote p + p,
.wp-block-quote p + p {
	margin-top: 14px !important;
}

#la-page blockquote cite,
.entry-content blockquote cite,
.wp-block-quote cite {
	border-top: 2px solid rgba(57, 128, 150, 0.2) !important;
	color: var(--couleur-principale) !important;
	display: block !important;
	font-family: var(--police-secondaire) !important;
	font-size: 0.95rem !important;
	font-style: normal !important;
	font-weight: var(--gras) !important;
	margin: 20px 0 0 clamp(54px, 6vw, 92px) !important;
	padding-top: 14px !important;
}

@media (max-width: 680px) {
	#la-page blockquote,
	.entry-content blockquote,
	.wp-block-quote {
		margin: 30px 0 !important;
		padding: 24px 20px !important;
	}

	#la-page blockquote::before,
	.entry-content blockquote::before,
	.wp-block-quote::before {
		font-size: 4rem !important;
		left: 18px !important;
		top: 24px !important;
	}

	#la-page blockquote p,
	.entry-content blockquote p,
	.wp-block-quote p {
		padding-left: 54px !important;
	}

	#la-page blockquote cite,
	.entry-content blockquote cite,
	.wp-block-quote cite {
		margin-left: 54px !important;
	}
}

/* Cartographie Leaflet : le menu principal doit toujours passer au-dessus. */
#header,
#header #menu,
#menu-principal {
	z-index: 30000 !important;
}

#nav {
	position: relative !important;
	z-index: 30010 !important;
}

#nav li > ul,
#nav li > button[aria-expanded="true"] + ul,
body.menu-open #nav,
body.menu-open #nav li > ul {
	z-index: 30020 !important;
}

#map_canvas,
#carte,
.leaflet-container {
	position: relative !important;
	z-index: 0 !important;
}

.leaflet-control-container,
.leaflet-top,
.leaflet-bottom {
	z-index: 900 !important;
}

/* Sidebar cartographie Abril. */
#sidebar-carto {
	box-sizing: border-box !important;
	color: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
	padding: 0 !important;
}

#sidebar-carto .filtres-carte,
.filtres-carte {
	background: rgba(255, 255, 255, 0.94) !important;
	border: 1px solid rgba(57, 128, 150, 0.16) !important;
	box-shadow: 0 18px 55px rgba(0, 0, 0, 0.14) !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	max-width: 620px !important;
	min-height: 420px !important;
	padding: 22px 28px 30px 118px !important;
	position: relative !important;
}

#sidebar-carto .filtres-carte::before,
.filtres-carte::before {
	background: rgba(57, 128, 150, 0.08) !important;
	bottom: 0 !important;
	content: "" !important;
	left: 0 !important;
	position: absolute !important;
	top: 0 !important;
	width: 78px !important;
}

#sidebar-carto .filtres-carte #titre-filtrer,
.filtres-carte #titre-filtrer {
	color: var(--couleur-principale) !important;
	display: block !important;
	font-family: var(--police) !important;
	font-size: clamp(1.7rem, 2.4vw, 2.35rem) !important;
	line-height: 1.1 !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
}

#sidebar-carto .filtres-carte > ul,
.filtres-carte > ul {
	margin: 0 !important;
	padding: 0 !important;
}

#sidebar-carto .filtres-carte > ul > li,
.filtres-carte > ul > li {
	border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important;
	box-sizing: border-box !important;
	height: auto !important;
	min-height: 76px !important;
	overflow: hidden !important;
	padding: 0 !important;
}

#sidebar-carto .filtres-carte > ul > li.show,
.filtres-carte > ul > li.show {
	overflow: visible !important;
}

#sidebar-carto .filtres-carte > ul > li > div,
.filtres-carte > ul > li > div {
	display: flex !important;
	height: auto !important;
	min-height: 76px !important;
}

#sidebar-carto .filtres-carte > ul > li > div > a,
.filtres-carte > ul > li > div > a {
	align-items: center !important;
	box-sizing: border-box !important;
	color: var(--gris-fonce) !important;
	display: flex !important;
	font-family: var(--police) !important;
	font-size: 1.18rem !important;
	font-weight: var(--reguliere) !important;
	gap: 14px !important;
	line-height: 1.2 !important;
	padding: 18px 54px 18px 0 !important;
	text-decoration: none !important;
	width: 100% !important;
}

#sidebar-carto .filtres-carte > ul > li > div > a > .svg-inline--fa,
.filtres-carte > ul > li > div > a > .svg-inline--fa {
	color: var(--couleur-principale) !important;
	height: 1.1em !important;
	right: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 1.1em !important;
}

#sidebar-carto .filtres-carte > ul > li ul,
.filtres-carte > ul > li ul {
	background: rgba(255, 255, 255, 0.72) !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

#sidebar-carto .filtres-carte > ul > li ul li,
.filtres-carte > ul > li ul li {
	border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
	box-sizing: border-box !important;
	color: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
	font-size: 0.98rem !important;
	font-weight: var(--gras) !important;
	min-height: 58px !important;
	padding: 16px 52px 16px 0 !important;
}

#sidebar-carto .filtres-carte > ul > li.show li span,
.filtres-carte > ul > li.show li span {
	color: var(--gris-fonce) !important;
	padding-right: 46px !important;
}

#sidebar-carto .filtres-carte > ul > li > ul > li > span > svg,
.filtres-carte > ul > li > ul > li > span > svg {
	color: var(--couleur-principale) !important;
	right: 0 !important;
	width: 24px !important;
}

@media (max-width: 900px) {
	#sidebar-carto .filtres-carte,
	.filtres-carte {
		max-width: none !important;
		min-height: 0 !important;
		padding: 20px 18px 24px 88px !important;
	}

	#sidebar-carto .filtres-carte::before,
	.filtres-carte::before {
		width: 62px !important;
	}
}

/* Ajustements Font Awesome : header + acces rapides */
#top-header .liens-reseaux {
	align-items: center !important;
	display: inline-flex !important;
	margin: 17px 8px 0 0 !important;
}

#top-header .liens-reseaux ul {
	align-items: center !important;
	display: flex !important;
	gap: 14px !important;
	margin: 0 !important;
	padding: 0 !important;
}

#top-header .liens-reseaux li {
	display: flex !important;
	padding: 0 !important;
}

#top-header .liens-reseaux li a {
	align-items: center !important;
	color: var(--couleur-noir) !important;
	display: inline-flex !important;
	font-size: 1.3rem !important;
	height: 30px !important;
	justify-content: center !important;
	line-height: 1 !important;
	padding: 0 !important;
	text-decoration: none !important;
	width: 30px !important;
}

#top-header .liens-reseaux li a:hover,
#top-header .liens-reseaux li a:focus {
	color: var(--couleur-principale) !important;
}

#top-header .liens-reseaux li a i,
#top-header .liens-reseaux li a svg,
#top-header .liens-reseaux li a .svg-inline--fa {
	color: currentColor !important;
	display: block !important;
	font-size: 1em !important;
	height: 1em !important;
	line-height: 1 !important;
	padding: 0 !important;
	width: 1em !important;
}

#top-header #searchform input[type="submit"] {
	background-image: url(assets/images/loupe.png) !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: 25px 25px !important;
}

#top-header #recherche_site,
#top-header #recherche_site *,
#top-header #searchform,
#top-header #searchform div {
	box-sizing: border-box !important;
}

#top-header #recherche_site {
	overflow: hidden !important;
}

#top-header #searchform div {
	align-items: center !important;
	display: flex !important;
	height: 100% !important;
	width: 100% !important;
}

#top-header #searchform input[type="text"] {
	background: transparent !important;
	border: 0 !important;
	flex: 1 1 auto !important;
	float: none !important;
	height: 40px !important;
	margin: 0 !important;
	min-width: 0 !important;
	width: auto !important;
}

#top-header #searchform input[type="submit"] {
	border: 0 !important;
	flex: 0 0 44px !important;
	float: none !important;
	height: 40px !important;
	margin: 0 !important;
	width: 44px !important;
}

@media screen and (max-width: 680px) {
	#top-header #recherche_site {
		height: 44px !important;
		padding: 0 8px 0 14px !important;
		width: min(54vw, 360px) !important;
	}
}

#acces-rapides li a > i[class*="fa-"],
#acces-rapides li a > svg,
#acces-rapides li a > .svg-inline--fa {
	align-items: center !important;
	background: var(--couleur-blanc) !important;
	border-radius: 50% !important;
	box-sizing: border-box !important;
	color: var(--couleur-noir) !important;
	display: flex !important;
	font-size: 1.65rem !important;
	height: 62px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 auto 14px auto !important;
	padding: 0 !important;
	position: relative !important;
	vertical-align: middle !important;
	width: 62px !important;
}

#acces-rapides li a > svg,
#acces-rapides li a > .svg-inline--fa {
	padding: 16px !important;
}

#acces-rapides li a > i[class*="fa-"]::before {
	line-height: 1 !important;
}

@media screen and (max-width: 950px) {
	#top-header .liens-reseaux {
		margin-top: 15px !important;
	}

	#top-header .liens-reseaux ul {
		gap: 8px !important;
	}

	#top-header .liens-reseaux li a {
		font-size: 1.05rem !important;
		height: 28px !important;
		width: 28px !important;
	}
}

@media screen and (max-width: 480px) {
	#top-header .liens-reseaux li a {
		font-size: 0.95rem !important;
		height: 25px !important;
		width: 25px !important;
	}

	#acces-rapides li a > i[class*="fa-"],
	#acces-rapides li a > svg,
	#acces-rapides li a > .svg-inline--fa {
		font-size: 1.1rem !important;
		height: 45px !important;
		margin-bottom: 8px !important;
		width: 45px !important;
	}

	#acces-rapides li a > svg,
	#acces-rapides li a > .svg-inline--fa {
		padding: 12px !important;
	}
}

/* Cartographie Abril : reset propre de la sidebar Leaflet. */
body #sidebar-carto.leaflet-sidebar {
	background: transparent !important;
	box-sizing: border-box !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	font-size: 1rem !important;
	margin: 0 !important;
	max-width: calc(100% - 1.5rem) !important;
	padding: 0 !important;
	transition: width 0.2s ease !important;
	width: min(420px, calc(100% - 1.5rem)) !important;
}

body #sidebar-carto.leaflet-sidebar.collapsed,
body #sidebar-carto.leaflet-sidebar.krea3-carto-collapsed {
	width: 50px !important;
}

body #sidebar-carto .leaflet-sidebar-tabs {
	background: var(--couleur-blanc, #fff) !important;
	border-right: 1px solid rgba(57, 128, 150, 0.18) !important;
	border-radius: 6px 0 0 6px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	overflow: hidden !important;
	width: 50px !important;
}

body #sidebar-carto .leaflet-sidebar-tabs ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body #sidebar-carto .leaflet-sidebar-tabs li,
body #sidebar-carto .leaflet-sidebar-tabs a {
	box-sizing: border-box !important;
	height: 50px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 50px !important;
}

body #sidebar-carto .leaflet-sidebar-tabs li {
	background: transparent !important;
	display: block !important;
}

body #sidebar-carto .leaflet-sidebar-tabs a {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	color: var(--couleur-noir, #222) !important;
	display: flex !important;
	font-size: 1.15rem !important;
	justify-content: center !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

body #sidebar-carto .leaflet-sidebar-tabs li.active a,
body #sidebar-carto .leaflet-sidebar-tabs a:hover,
body #sidebar-carto .leaflet-sidebar-tabs a:focus {
	background: var(--couleur-principale, #398096) !important;
	color: var(--couleur-blanc, #fff) !important;
}

body #sidebar-carto.collapsed .leaflet-sidebar-tabs li.active a,
body #sidebar-carto.krea3-carto-collapsed .leaflet-sidebar-tabs li.active a {
	background: var(--couleur-blanc, #fff) !important;
	color: var(--couleur-noir, #222) !important;
}

body #sidebar-carto .leaflet-sidebar-content {
	background: rgba(255, 255, 255, 0.96) !important;
	border-radius: 0 6px 6px 0 !important;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.12) !important;
	box-sizing: border-box !important;
	left: 50px !important;
	margin: 0 !important;
	max-height: min(78vh, 700px) !important;
	max-width: calc(100% - 50px) !important;
	min-height: 360px !important;
	min-width: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	position: absolute !important;
	right: auto !important;
	top: 0 !important;
	width: calc(100% - 50px) !important;
}

body #sidebar-carto.collapsed .leaflet-sidebar-content,
body #sidebar-carto.krea3-carto-collapsed .leaflet-sidebar-content {
	display: none !important;
}

body #sidebar-carto .leaflet-sidebar-pane {
	box-sizing: border-box !important;
	display: none !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 1.1rem 1.2rem !important;
	width: 100% !important;
}

body #sidebar-carto .leaflet-sidebar-pane.active {
	display: block !important;
}

body #sidebar-carto .leaflet-sidebar-header {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	border-bottom: 1px solid rgba(57, 128, 150, 0.16) !important;
	box-sizing: border-box !important;
	color: var(--couleur-principale, #398096) !important;
	display: flex !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	font-size: clamp(1.35rem, 2.2vw, 1.65rem) !important;
	font-weight: var(--gras, 700) !important;
	justify-content: space-between !important;
	letter-spacing: 0 !important;
	line-height: 1.15 !important;
	margin: 0 -1.1rem 1rem !important;
	min-height: 58px !important;
	overflow: hidden !important;
	padding: 0.9rem 0.75rem 0.9rem 1.1rem !important;
	text-transform: none !important;
	white-space: normal !important;
	width: auto !important;
}

body #sidebar-carto .leaflet-sidebar-header::before,
body #sidebar-carto .leaflet-sidebar-header::after {
	content: none !important;
	display: none !important;
}

body #sidebar-carto .leaflet-sidebar-close {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 50% !important;
	box-sizing: border-box !important;
	color: var(--couleur-principale, #398096) !important;
	display: inline-flex !important;
	flex: 0 0 2rem !important;
	font-size: 1rem !important;
	height: 2rem !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin-left: 1rem !important;
	padding: 0 !important;
	position: static !important;
	text-align: center !important;
	width: 2rem !important;
}

body #sidebar-carto .leaflet-sidebar-close i,
body #sidebar-carto .leaflet-sidebar-close svg,
body #sidebar-carto .leaflet-sidebar-close .svg-inline--fa {
	align-items: center !important;
	color: currentColor !important;
	display: inline-flex !important;
	font-size: inherit !important;
	height: 1em !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	transform: none !important;
	vertical-align: middle !important;
	width: 1em !important;
}

body #sidebar-carto .filtres-carte,
body #sidebar-carto #filtres-carte {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	padding: 0 !important;
	position: static !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte::before,
body #sidebar-carto #filtres-carte::before {
	content: none !important;
	display: none !important;
}

body #sidebar-carto .filtres-carte ul,
body #sidebar-carto #liste-filtres-carte {
	box-sizing: border-box !important;
	list-style: none !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte > ul > li,
body #sidebar-carto #liste-filtres-carte > li {
	border: 0 !important;
	box-sizing: border-box !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-height: 0 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: relative !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte > ul > li.show,
body #sidebar-carto #liste-filtres-carte > li.show {
	overflow: visible !important;
}

body #sidebar-carto .filtres-carte ul.parent {
	background: transparent !important;
	box-sizing: border-box !important;
	display: block !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte ul.parent > li,
body #sidebar-carto #liste-filtres-carte > li.show > ul.parent > li {
	background: transparent !important;
	border-bottom: 1px solid rgba(57, 128, 150, 0.18) !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-height: 0 !important;
	min-width: 0 !important;
	opacity: 1 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: relative !important;
	transform: none !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte ul.parent > li:hover,
body #sidebar-carto .filtres-carte ul.parent > li:focus-within,
body #sidebar-carto .filtres-carte ul.parent > li.show {
	background: rgba(57, 128, 150, 0.06) !important;
}

body #sidebar-carto .filtres-carte ul.parent > li span,
body #sidebar-carto #liste-filtres-carte > li.show > ul.parent > li span {
	box-sizing: border-box !important;
	color: var(--gris-fonce, #333) !important;
	display: block !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	font-size: 1rem !important;
	font-weight: var(--gras, 700) !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-height: 3rem !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0.86rem 2.4rem 0.86rem 0 !important;
	position: relative !important;
	text-overflow: ellipsis !important;
	white-space: normal !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte ul.parent > li span::before,
body #sidebar-carto .filtres-carte ul.parent > li span::after {
	content: none !important;
	display: none !important;
}

body #sidebar-carto .filtres-carte ul.parent > li span i.fa-dot-circle,
body #sidebar-carto .filtres-carte ul.parent > li span i.fas,
body #sidebar-carto .filtres-carte ul.parent > li span svg.svg-inline--fa,
body #sidebar-carto .filtres-carte ul.parent > li span .svg-inline--fa {
	display: none !important;
}

body #sidebar-carto .filtres-carte ul.parent > li::after,
body #sidebar-carto #liste-filtres-carte > li.show > ul.parent > li::after {
	background: var(--couleur-blanc, #fff) !important;
	border: 2px solid var(--couleur-principale, #398096) !important;
	border-radius: 50% !important;
	box-sizing: border-box !important;
	content: "" !important;
	display: block !important;
	height: 0.82rem !important;
	margin: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	right: 0.2rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 0.82rem !important;
	z-index: 2 !important;
}

body #sidebar-carto .filtres-carte ul.parent > li.show::after,
body #sidebar-carto #liste-filtres-carte > li.show > ul.parent > li.show::after {
	background: var(--couleur-principale, #398096) !important;
	box-shadow: inset 0 0 0 2px var(--couleur-blanc, #fff) !important;
}

@media screen and (max-width: 900px) {
	body #sidebar-carto.leaflet-sidebar {
		max-width: calc(100% - 1rem) !important;
		width: min(360px, calc(100% - 1rem)) !important;
	}

	body #sidebar-carto.leaflet-sidebar.collapsed,
	body #sidebar-carto.leaflet-sidebar.krea3-carto-collapsed,
	body #sidebar-carto .leaflet-sidebar-tabs,
	body #sidebar-carto .leaflet-sidebar-tabs li,
	body #sidebar-carto .leaflet-sidebar-tabs a {
		width: 46px !important;
	}

	body #sidebar-carto .leaflet-sidebar-tabs li,
	body #sidebar-carto .leaflet-sidebar-tabs a {
		height: 46px !important;
	}

	body #sidebar-carto .leaflet-sidebar-content {
		left: 46px !important;
		max-height: 72vh !important;
		min-height: 300px !important;
		width: calc(100% - 46px) !important;
	}

	body #sidebar-carto .leaflet-sidebar-pane {
		padding: 0 1rem 1.15rem !important;
	}

	body #sidebar-carto .leaflet-sidebar-header {
		font-size: 1.15rem !important;
		margin: 0 -1rem 0.85rem !important;
		min-height: 50px !important;
		padding: 0.75rem 0.7rem 0.75rem 1rem !important;
	}
}

/* Cartographie Abril : popups Leaflet compactes et lisibles. */
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso),
body .leaflet-popup {
	max-width: min(760px, calc(100vw - 2rem)) !important;
	z-index: 70000 !important;
}

body .leaflet-popup-content {
	box-sizing: border-box !important;
	max-width: min(760px, calc(100vw - 2rem)) !important;
	overflow-wrap: anywhere !important;
	width: min(760px, calc(100vw - 2rem)) !important;
}

body .leaflet-popup-content p,
body .leaflet-popup-content div {
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup {
	box-sizing: border-box !important;
	max-width: 760px !important;
	padding: clamp(22px, 2vw, 32px) !important;
	width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-general-wrapper {
	align-items: flex-start !important;
	display: grid !important;
	gap: clamp(22px, 2.5vw, 32px) !important;
	grid-template-columns: 150px minmax(0, 1fr) !important;
	width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso):has(.popup-general-wrapper:not(:has(.popup-image))),
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso):has(.popup-general-wrapper:not(:has(.popup-image))) .leaflet-popup-content {
	max-width: min(560px, calc(100vw - 2rem)) !important;
	width: min(560px, calc(100vw - 2rem)) !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-general-wrapper:not(:has(.popup-image)) {
	display: block !important;
	max-width: 100% !important;
	width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-general-wrapper:not(:has(.popup-image)) .popup-content {
	max-width: 100% !important;
	width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-image {
	flex: none !important;
	max-width: 150px !important;
	min-width: 0 !important;
	width: 150px !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-image img {
	aspect-ratio: 4 / 3 !important;
	display: block !important;
	max-height: 115px !important;
	object-fit: cover !important;
	width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content {
	min-width: 0 !important;
	width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-title {
	color: var(--couleur-principale, #398096) !important;
	font-family: var(--police, "Abril Fatface", serif) !important;
	font-size: clamp(1.35rem, 1.7vw, 1.85rem) !important;
	font-weight: var(--reguliere, 400) !important;
	line-height: 1.12 !important;
	margin: 0 0 18px !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-description {
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: clamp(0.95rem, 1.05vw, 1.05rem) !important;
	line-height: 1.5 !important;
	margin: 0 0 20px !important;
	max-height: none !important;
	overflow: visible !important;
	padding-right: 10px !important;
}

#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn,
#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup a:not(.leaflet-popup-close-button),
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content a,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content .btn,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content button,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_suite,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_actu {
	align-items: center !important;
	background: var(--couleur-principale, #398096) !important;
	border: 2px solid var(--couleur-principale, #398096) !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	color: #ffffff !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-weight: var(--gras, 700) !important;
	justify-content: center !important;
	line-height: 1.15 !important;
	margin: 8px 10px 0 0 !important;
	min-height: 42px !important;
	padding: 10px 18px !important;
	text-decoration: none !important;
	text-decoration-color: #ffffff !important;
}

#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn *,
#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn::before,
#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn::after,
#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn *,
#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn::before,
#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn::after,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn::before,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn::after,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup a:not(.leaflet-popup-close-button) *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup a:not(.leaflet-popup-close-button)::before,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup a:not(.leaflet-popup-close-button)::after,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content a *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content .btn *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content button *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_suite *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_actu * {
	color: #ffffff !important;
	fill: #ffffff !important;
	stroke: #ffffff !important;
}

#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:hover,
#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:focus,
#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:hover,
#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:focus,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:hover,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:focus,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup a:not(.leaflet-popup-close-button):hover,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup a:not(.leaflet-popup-close-button):focus,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content a:hover,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content a:focus,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content .btn:hover,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content .btn:focus,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content button:hover,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content button:focus,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_suite:hover,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_suite:focus,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_actu:hover,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_actu:focus {
	background: var(--couleur-secondaire, #db9b56) !important;
	border-color: var(--couleur-secondaire, #db9b56) !important;
	color: var(--couleur-noir, #000) !important;
	text-decoration: none !important;
}

#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:hover *,
#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:focus *,
#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:hover *,
#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:focus *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:hover *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn:focus *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup a:not(.leaflet-popup-close-button):hover *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup a:not(.leaflet-popup-close-button):focus *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content a:hover *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content a:focus *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content .btn:hover *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content .btn:focus *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content button:hover *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content button:focus *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_suite:hover *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_suite:focus *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_actu:hover *,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.lire_actu:focus * {
	color: var(--couleur-noir, #000) !important;
	fill: var(--couleur-noir, #000) !important;
	stroke: var(--couleur-noir, #000) !important;
}

@media screen and (min-width: 901px) {
	body:has(#sidebar-carto.leaflet-sidebar:not(.collapsed):not(.krea3-carto-collapsed)) .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) {
		margin-left: clamp(100px, 14vw, 210px) !important;
	}
}

@media screen and (max-width: 760px) {
	body .leaflet-popup,
	body .leaflet-popup-content {
		max-width: min(280px, calc(100vw - 6rem)) !important;
		width: auto !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso),
	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .leaflet-popup-content {
		max-width: min(340px, calc(100vw - 6rem)) !important;
		width: min(340px, calc(100vw - 6rem)) !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup {
		padding: 12px !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-general-wrapper {
		align-items: center !important;
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: 80px minmax(0, 1fr) !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-general-wrapper:not(:has(.popup-image)) {
		display: block !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-general-wrapper:not(:has(.popup-image)) .popup-content {
		width: 100% !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-image {
		margin: 0 !important;
		max-width: 80px !important;
		width: 80px !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-image img {
		aspect-ratio: 1 / 1 !important;
		height: 80px !important;
		max-height: 80px !important;
		width: 80px !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-title {
		font-size: 1rem !important;
		line-height: 1.12 !important;
		margin: 0 !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-description,
	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content button {
		display: none !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		grid-column: 1 / -1 !important;
		margin-top: 12px !important;
		width: 100% !important;
	}

	#content .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn,
	#content_large .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn,
	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons a.popup-btn {
		color: #ffffff !important;
		display: inline-flex !important;
		flex: 1 1 calc(50% - 4px) !important;
		font-size: 0.82rem !important;
		margin: 0 !important;
		min-height: 38px !important;
		padding: 9px 10px !important;
		text-decoration-color: #ffffff !important;
	}
}

/* Footer Abril : memes icones sociales que dans le header. */
#content-footer #btn-footer .liens-reseaux {
	clear: both !important;
	display: flex !important;
	float: none !important;
	justify-content: center !important;
	margin: 28px 0 0 !important;
	padding: 0 !important;
	position: relative !important;
	width: 100% !important;
}

#content-footer #btn-footer .liens-reseaux ul {
	align-items: center !important;
	display: flex !important;
	gap: clamp(22px, 3vw, 34px) !important;
	justify-content: center !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

#content-footer #btn-footer .liens-reseaux li {
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
}

#content-footer #btn-footer .liens-reseaux li a {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--couleur-noir, #000) !important;
	display: inline-flex !important;
	font-size: 1.35rem !important;
	height: 34px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
	text-decoration: none !important;
	width: 34px !important;
}

#content-footer #btn-footer .liens-reseaux li a:hover,
#content-footer #btn-footer .liens-reseaux li a:focus {
	color: var(--couleur-principale, #398096) !important;
}

#content-footer #btn-footer .liens-reseaux li a i,
#content-footer #btn-footer .liens-reseaux li a svg,
#content-footer #btn-footer .liens-reseaux li a .svg-inline--fa {
	color: currentColor !important;
	display: block !important;
	font-size: 1em !important;
	height: 1em !important;
	line-height: 1 !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	padding: 0 !important;
	width: 1em !important;
}

@media screen and (max-width: 700px) {
	#content-footer #btn-footer .liens-reseaux ul {
		gap: 18px !important;
	}

	#content-footer #btn-footer .liens-reseaux li a {
		font-size: 1.18rem !important;
		height: 30px !important;
		width: 30px !important;
	}
}

/* Accueil Abril : bloc projets + kiosque, adapte du #ligne3 SPSR. */
#main-accueil #ligne4 {
	display: block !important;
	margin: 80px 0 !important;
	position: relative !important;
	width: 100% !important;
}

#main-accueil #ligne4::before {
	border-bottom: 800px solid var(--couleur-secondaire, #db9b56) !important;
	border-right: 500px solid transparent !important;
	content: "" !important;
	display: block !important;
	height: 0 !important;
	left: 0 !important;
	position: absolute !important;
	top: 0 !important;
	width: 0 !important;
	z-index: 0 !important;
}

#main-accueil #ligne4 .largeur92 {
	align-items: stretch !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	max-width: 1600px !important;
	position: relative !important;
	width: 92% !important;
	z-index: 1 !important;
}

#main-accueil #gauche-ligne4,
#main-accueil #droite-ligne4 {
	box-sizing: border-box !important;
	min-width: 0 !important;
	position: relative !important;
}

#main-accueil #gauche-ligne4 {
	background: var(--couleur-blanc, #fff) !important;
	border-radius: 8px 0 0 8px !important;
	color: var(--couleur-noir, #000) !important;
	overflow: hidden !important;
}

#main-accueil #content-gauche-ligne4 {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

#main-accueil #img-ligne4 {
	display: block !important;
	position: relative !important;
	width: 100% !important;
}

#main-accueil #img-ligne4::before {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.68), rgba(0, 0, 0, 0.08)) !important;
	bottom: 0 !important;
	content: "" !important;
	display: block !important;
	left: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	z-index: 10 !important;
}

#main-accueil #img-ligne4 img {
	aspect-ratio: 16 / 10 !important;
	display: block !important;
	height: auto !important;
	object-fit: cover !important;
	width: 100% !important;
}

#main-accueil #img-ligne4 .titre-ligne4 {
	background: transparent !important;
	bottom: 0 !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc, #fff) !important;
	left: 0 !important;
	padding: clamp(2rem, 4vw, 3.8rem) !important;
	position: absolute !important;
	right: 0 !important;
	z-index: 15 !important;
}

#main-accueil #img-ligne4 .titre-ligne4 h2 {
	background: var(--couleur-noir, #000) !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-block !important;
	font-family: var(--police, "Abril Fatface", serif) !important;
	font-size: clamp(3.6rem, 6.6vw, 6.8rem) !important;
	font-weight: var(--reguliere, 400) !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	margin: 0 0 1.35rem !important;
	padding: 0.08em 0.16em 0.14em !important;
}

#main-accueil #img-ligne4 .titre-ligne4 h2::after {
	display: none !important;
}

#main-accueil #img-ligne4 .titre-ligne4 span {
	background: var(--couleur-noir, #000) !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-block !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: clamp(1.35rem, 2.5vw, 2.45rem) !important;
	font-weight: var(--demi-gras, 600) !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	padding: 0.25em 0.55em !important;
	text-transform: uppercase !important;
}

#main-accueil #gauche-ligne4 p {
	color: var(--couleur-noir, #000) !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: clamp(1.25rem, 1.8vw, 1.8rem) !important;
	font-weight: var(--reguliere, 400) !important;
	line-height: 1.28 !important;
	margin: 0 !important;
	padding: clamp(2rem, 3vw, 3.8rem) clamp(2rem, 4vw, 3.8rem) !important;
}

#main-accueil #gauche-ligne4 > #content-gauche-ligne4 > a {
	align-self: flex-end !important;
	background: #245f70 !important;
	border: 2px solid #245f70 !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-block !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: clamp(1rem, 1.35vw, 1.35rem) !important;
	font-weight: var(--demi-gras, 600) !important;
	line-height: 1 !important;
	margin: auto 0 0 !important;
	padding: 1.25rem 2.35rem !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease, color 0.2s ease !important;
}

#main-accueil #gauche-ligne4 > #content-gauche-ligne4 > a:visited {
	background: #245f70 !important;
	border-color: #245f70 !important;
	color: var(--couleur-blanc, #fff) !important;
}

#main-accueil #gauche-ligne4 > #content-gauche-ligne4 > a:hover,
#main-accueil #gauche-ligne4 > #content-gauche-ligne4 > a:focus {
	background: var(--couleur-noir, #000) !important;
	border-color: var(--couleur-noir, #000) !important;
	color: var(--couleur-blanc, #fff) !important;
	outline: 0 !important;
}

#main-accueil #droite-ligne4 {
	align-items: center !important;
	background: var(--couleur-secondaire, #db9b56) !important;
	border-radius: 0 8px 8px 0 !important;
	display: flex !important;
	gap: clamp(1.5rem, 3vw, 3rem) !important;
	justify-content: center !important;
	padding: clamp(2rem, 4vw, 4rem) !important;
	text-align: center !important;
	z-index: 0 !important;
}

#main-accueil #img-kiosque {
	display: block !important;
	flex: 0 1 230px !important;
	max-width: 230px !important;
	min-width: 140px !important;
	width: 40% !important;
}

#main-accueil #img-kiosque img {
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.16) !important;
	display: block !important;
	height: auto !important;
	margin: 0 auto !important;
	max-width: 100% !important;
	padding: 0 !important;
	position: relative !important;
	width: 100% !important;
	z-index: 10 !important;
}

#main-accueil #texte-kiosque {
	box-sizing: border-box !important;
	color: var(--couleur-noir, #000) !important;
	display: block !important;
	flex: 1 1 260px !important;
	min-width: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

#main-accueil #droite-ligne4 h2 {
	color: var(--couleur-noir, #000) !important;
	display: block !important;
	font-family: var(--police, "Abril Fatface", serif) !important;
	font-size: clamp(2.1rem, 3vw, 3.2rem) !important;
	font-weight: var(--reguliere, 400) !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
}

#main-accueil #droite-ligne4 h2 span {
	display: inline !important;
}

#main-accueil #texte-ligne4 {
	color: var(--couleur-noir, #000) !important;
	display: block !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: clamp(1.05rem, 1.35vw, 1.35rem) !important;
	font-weight: var(--demi-gras, 600) !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
}

#main-accueil #texte-ligne4 a,
#main-accueil #btn-kiosque {
	align-items: center !important;
	border: 2px solid #245f70 !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-weight: var(--demi-gras, 600) !important;
	hyphens: none !important;
	justify-content: center !important;
	line-height: 1.1 !important;
	margin: 0.35rem !important;
	overflow-wrap: normal !important;
	padding: 0.8rem 1.2rem !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
	word-break: normal !important;
}

#main-accueil #texte-ligne4 a {
	background: #245f70 !important;
	color: var(--couleur-blanc, #fff) !important;
	font-size: 0.85em !important;
	min-width: 12rem !important;
}

#main-accueil #texte-ligne4 a:hover,
#main-accueil #texte-ligne4 a:focus {
	background: var(--couleur-blanc, #fff) !important;
	border-color: var(--couleur-blanc, #fff) !important;
	color: var(--couleur-noir, #000) !important;
	outline: 0 !important;
}

#main-accueil #btn-kiosque {
	background: #245f70 !important;
	border-color: #245f70 !important;
	color: var(--couleur-blanc, #fff) !important;
	font-size: clamp(0.95rem, 1vw, 1.05rem) !important;
	margin-top: 1.25rem !important;
	text-transform: uppercase !important;
	width: auto !important;
}

#main-accueil #btn-kiosque:hover,
#main-accueil #btn-kiosque:focus {
	background: var(--couleur-blanc, #fff) !important;
	border-color: var(--couleur-blanc, #fff) !important;
	color: var(--couleur-noir, #000) !important;
	outline: 0 !important;
}

#main-accueil #ligne4 a:focus-visible {
	outline: 3px solid var(--couleur-noir, #000) !important;
	outline-offset: 4px !important;
}

@media screen and (max-width: 1024px) {
	#main-accueil #ligne4 {
		margin: 50px 0 0 !important;
		padding: 0 0 50px !important;
	}

	#main-accueil #ligne4::before {
		border-right-width: min(360px, 100vw) !important;
		bottom: 0 !important;
		top: auto !important;
	}

	#main-accueil #ligne4 .largeur92 {
		grid-template-columns: 1fr !important;
	}

	#main-accueil #gauche-ligne4 {
		border-radius: 8px 8px 0 0 !important;
	}

	#main-accueil #droite-ligne4 {
		border-radius: 0 0 8px 8px !important;
	}
}

@media screen and (max-width: 700px) {
	#main-accueil #img-ligne4 .titre-ligne4 {
		padding: 1.6rem !important;
	}

	#main-accueil #img-ligne4 .titre-ligne4 h2 {
		font-size: clamp(2.55rem, 12vw, 4.2rem) !important;
		margin-bottom: 0.8rem !important;
	}

	#main-accueil #img-ligne4 .titre-ligne4 span {
		font-size: clamp(1rem, 5vw, 1.45rem) !important;
	}

	#main-accueil #gauche-ligne4 p {
		font-size: 1.12rem !important;
		padding: 1.6rem !important;
	}

	#main-accueil #gauche-ligne4 > #content-gauche-ligne4 > a {
		align-self: stretch !important;
		font-size: 1rem !important;
		padding: 1rem 1.25rem !important;
		text-align: center !important;
	}

	#main-accueil #droite-ligne4 {
		flex-direction: column !important;
		gap: 1.35rem !important;
		padding: 1.6rem !important;
	}

	#main-accueil #img-kiosque {
		max-width: 150px !important;
		width: 100% !important;
	}

	#main-accueil #texte-ligne4 a,
	#main-accueil #btn-kiosque {
		width: 100% !important;
	}
}

/* Personnalisation Abril du plugin Krea3 Service Public / co-marquage. */
:is(#content, #content_large) #menu-top-guide-demarches,
:is(#content, #content_large) #menu2-guide-demarches {
	list-style: none !important;
	margin: 2rem 0 !important;
	padding: 0 !important;
}

:is(#content, #content_large) #menu-top-guide-demarches {
	align-items: stretch !important;
	display: grid !important;
	gap: clamp(0.9rem, 2vw, 1.5rem) !important;
	grid-template-columns: repeat(3, minmax(11rem, 1fr)) !important;
	width: 100% !important;
}

:is(#content, #content_large) #menu-top-guide-demarches li,
:is(#content, #content_large) #menu2-guide-demarches li {
	box-sizing: border-box !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	border: 1px solid rgba(57, 128, 150, 0.16) !important;
	border-top: 5px solid transparent !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06) !important;
	box-sizing: border-box !important;
	color: var(--couleur-principale, #398096) !important;
	display: flex !important;
	flex-direction: column !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: clamp(0.82rem, 1vw, 1.05rem) !important;
	font-weight: var(--gras, 700) !important;
	gap: 0.85rem !important;
	height: 100% !important;
	hyphens: none !important;
	justify-content: center !important;
	line-height: 1.12 !important;
	min-height: clamp(8rem, 12vw, 10.5rem) !important;
	min-width: 0 !important;
	overflow-wrap: normal !important;
	padding: clamp(1.15rem, 2vw, 1.75rem) !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
	white-space: normal !important;
	width: 100% !important;
	word-break: keep-all !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a:hover,
:is(#content, #content_large) #menu-top-guide-demarches a:focus,
:is(#content, #content_large) #menu-top-guide-demarches a.current-profil-comarquage {
	border-color: rgba(57, 128, 150, 0.18) !important;
	border-top-color: var(--couleur-secondaire, #db9b56) !important;
	box-shadow: 0 18px 42px rgba(57, 128, 150, 0.15) !important;
	color: var(--couleur-principale, #398096) !important;
	outline: 0 !important;
	transform: translateY(-2px) !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a img,
:is(#content, #content_large) #menu-top-guide-demarches a svg {
	display: block !important;
	height: clamp(3.8rem, 6vw, 5.2rem) !important;
	margin: 0 auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	width: auto !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a span {
	display: block !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-wrap: normal !important;
	white-space: normal !important;
	word-break: keep-all !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a:focus-visible,
:is(#content, #content_large) #menu2-guide-demarches a:focus-visible,
:is(#content, #content_large) .un-bloc-liens-comarquage a:focus-visible {
	outline: 3px solid var(--couleur-secondaire, #db9b56) !important;
	outline-offset: 4px !important;
}

:is(#content, #content_large) #menu2-guide-demarches {
	border-bottom: 1px solid rgba(57, 128, 150, 0.12) !important;
	border-top: 1px solid rgba(57, 128, 150, 0.12) !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.75rem 0.9rem !important;
	justify-content: center !important;
	padding: 2rem 0 !important;
	width: 100% !important;
}

:is(#content, #content_large) #menu2-guide-demarches a {
	align-items: center !important;
	background: var(--couleur-principale, #398096) !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: clamp(0.85rem, 1vw, 1rem) !important;
	font-weight: var(--demi-gras, 600) !important;
	justify-content: center !important;
	line-height: 1.25 !important;
	min-height: 2.75rem !important;
	padding: 0.75rem 1rem !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
	white-space: normal !important;
}

:is(#content, #content_large) #menu2-guide-demarches a:hover,
:is(#content, #content_large) #menu2-guide-demarches a:focus {
	background: var(--couleur-secondaire, #db9b56) !important;
	color: var(--couleur-noir, #000) !important;
	transform: translateY(-1px) !important;
}

:is(#content, #content_large) #menu-top-guide-demarches + hr,
:is(#content, #content_large) #menu2-guide-demarches + hr,
:is(#content, #content_large) .un-bloc-liens-comarquage hr {
	background: rgba(57, 128, 150, 0.12) !important;
	border: 0 !important;
	height: 1px !important;
	margin: 2rem 0 !important;
}

:is(#content, #content_large) #menu2-guide-demarches + hr + h1,
:is(#content, #content_large) h1 + .un-bloc-liens-comarquage {
	margin-top: 2rem !important;
}

:is(#content, #content_large) {
	--comarquage-gap: clamp(1.2rem, 2.2vw, 2rem);
}

:is(#content, #content_large):has(.un-bloc-liens-comarquage) {
	align-items: stretch !important;
	display: grid !important;
	gap: var(--comarquage-gap) !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

:is(#content, #content_large):has(.un-bloc-liens-comarquage) > :not(.un-bloc-liens-comarquage) {
	grid-column: 1 / -1 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage {
	background: var(--couleur-blanc, #fff) !important;
	border: 1px solid rgba(57, 128, 150, 0.13) !important;
	border-radius: 8px !important;
	box-shadow: 0 16px 42px rgba(57, 128, 150, 0.08) !important;
	box-sizing: border-box !important;
	clear: none !important;
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
	grid-column: auto !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	overflow: hidden !important;
	padding: clamp(1.35rem, 2vw, 2rem) !important;
	position: relative !important;
	width: 100% !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage.large,
:is(#content, #content_large) .un-bloc-liens-comarquage.small,
:is(#content, #content_large) .un-bloc-liens-comarquage.large + .un-bloc-liens-comarquage.small {
	grid-column: auto !important;
	margin: 0 !important;
	width: 100% !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage::before {
	background: var(--couleur-secondaire, #db9b56) !important;
	content: "" !important;
	height: 5px !important;
	left: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage h2 {
	color: var(--couleur-principale, #398096) !important;
	font-family: var(--police, "Abril Fatface", serif) !important;
	font-size: clamp(1.8rem, 2.4vw, 2.65rem) !important;
	font-weight: var(--reguliere, 400) !important;
	letter-spacing: 0 !important;
	line-height: 1.05 !important;
	margin: 0 0 1.1rem !important;
	padding: 0 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p {
	border-bottom: 1px dashed rgba(57, 128, 150, 0.22) !important;
	color: var(--gris-fonce, #333) !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: 1rem !important;
	line-height: 1.45 !important;
	margin: 0 !important;
	padding: 0.75rem 0 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p:last-child {
	border-bottom: 0 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p a {
	color: var(--couleur-principale, #398096) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.18em !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p a::before {
	color: var(--couleur-secondaire, #db9b56) !important;
	content: ">" !important;
	display: inline-block !important;
	font-weight: var(--gras, 700) !important;
	margin-right: 0.55rem !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p a:hover,
:is(#content, #content_large) .un-bloc-liens-comarquage p a:focus {
	color: var(--couleur-secondaire, #db9b56) !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les {
	border: 0 !important;
	margin-top: auto !important;
	padding-bottom: 0 !important;
	padding-top: 1rem !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a {
	align-items: center !important;
	background: var(--couleur-principale, #398096) !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-weight: var(--gras, 700) !important;
	justify-content: center !important;
	padding: 0.75rem 1rem !important;
	text-decoration: none !important;
	width: 100% !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a::before {
	color: currentColor !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:hover,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:focus {
	background: var(--couleur-secondaire, #db9b56) !important;
	color: var(--couleur-noir, #000) !important;
}

:is(#content, #content_large):has(.un-bloc-liens-comarquage)::after {
	display: none !important;
}

@media screen and (max-width: 1024px) {
	:is(#content, #content_large):has(.un-bloc-liens-comarquage) {
		grid-template-columns: 1fr !important;
	}

	:is(#content, #content_large) .un-bloc-liens-comarquage,
	:is(#content, #content_large) .un-bloc-liens-comarquage.large,
	:is(#content, #content_large) .un-bloc-liens-comarquage.small {
		display: flex !important;
		float: none !important;
		grid-column: 1 / -1 !important;
		margin: 0 !important;
		width: 100% !important;
	}

	:is(#content, #content_large) #menu-top-guide-demarches {
		grid-template-columns: 1fr !important;
	}
}

@media screen and (max-width: 640px) {
	:is(#content, #content_large) #menu2-guide-demarches {
		align-items: stretch !important;
		flex-direction: column !important;
	}

	:is(#content, #content_large) #menu2-guide-demarches a {
		width: 100% !important;
	}

	:is(#content, #content_large) .un-bloc-liens-comarquage h2 {
		font-size: clamp(1.55rem, 9vw, 2.2rem) !important;
	}
}

/* Co-marquage : contraste AA des textes et boutons. */
:is(#content, #content_large):has(#menu-top-guide-demarches),
:is(#content, #content_large):has(#menu2-guide-demarches),
:is(#content, #content_large):has(.un-bloc-liens-comarquage) {
	--comarquage-bleu: #245f70;
	--comarquage-bleu-fonce: #1f5262;
	--comarquage-focus: #174859;
	--comarquage-orange: #db9b56;
	color: var(--gris-fonce, #333) !important;
}

:is(#content, #content_large):has(.un-bloc-liens-comarquage) h1,
:is(#content, #content_large):has(.un-bloc-liens-comarquage) h2,
:is(#content, #content_large):has(.un-bloc-liens-comarquage) h3 {
	color: var(--comarquage-bleu, #245f70) !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a,
:is(#content, #content_large) #menu-top-guide-demarches a span,
:is(#content, #content_large) #menu-top-guide-demarches a:hover,
:is(#content, #content_large) #menu-top-guide-demarches a:focus,
:is(#content, #content_large) #menu-top-guide-demarches a.current-profil-comarquage {
	color: var(--comarquage-bleu, #245f70) !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a:hover,
:is(#content, #content_large) #menu-top-guide-demarches a:focus,
:is(#content, #content_large) #menu-top-guide-demarches a.current-profil-comarquage {
	border-top-color: var(--comarquage-bleu, #245f70) !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a:focus-visible,
:is(#content, #content_large) #menu2-guide-demarches a:focus-visible,
:is(#content, #content_large) .un-bloc-liens-comarquage a:focus-visible {
	outline-color: var(--comarquage-focus, #174859) !important;
}

:is(#content, #content_large) #menu2-guide-demarches a,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a {
	background: var(--comarquage-bleu, #245f70) !important;
	border-color: var(--comarquage-bleu, #245f70) !important;
	color: var(--couleur-blanc, #fff) !important;
}

:is(#content, #content_large) #menu2-guide-demarches a:hover,
:is(#content, #content_large) #menu2-guide-demarches a:focus,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:hover,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:focus {
	background: var(--comarquage-orange, #db9b56) !important;
	border-color: var(--comarquage-orange, #db9b56) !important;
	color: var(--gris-fonce, #333) !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage h2 {
	color: var(--comarquage-bleu, #245f70) !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage a,
:is(#content, #content_large) .un-bloc-liens-comarquage p a {
	color: var(--comarquage-bleu-fonce, #1f5262) !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p a::before {
	color: var(--comarquage-bleu, #245f70) !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage a:hover,
:is(#content, #content_large) .un-bloc-liens-comarquage a:focus,
:is(#content, #content_large) .un-bloc-liens-comarquage p a:hover,
:is(#content, #content_large) .un-bloc-liens-comarquage p a:focus {
	color: var(--comarquage-focus, #174859) !important;
	text-decoration-thickness: 2px !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a::before {
	color: var(--couleur-blanc, #fff) !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:hover,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:focus,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:hover::before,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:focus::before {
	color: var(--gris-fonce, #333) !important;
}

/* Listings actualites/agenda : un bloc court doit garder toute la largeur. */
:is(#content, #content_large) .listing ul:has(> li.un-bloc-listing.post > .extrait_actu_page),
:is(#content, #content_large) ul:has(> li.un-bloc-listing.post > .extrait_actu_page) {
	box-sizing: border-box !important;
	display: block !important;
	max-width: 100% !important;
	text-align: left !important;
	width: 100% !important;
}

:is(#content, #content_large) .listing li.un-bloc-listing.post:has(> .extrait_actu_page),
:is(#content, #content_large) li.un-bloc-listing.post:has(> .extrait_actu_page) {
	box-sizing: border-box !important;
	clear: both !important;
	display: block !important;
	float: none !important;
	margin: 0 0 20px !important;
	max-width: 100% !important;
	width: 100% !important;
}

:is(#content, #content_large) li.un-bloc-listing.post:has(> .extrait_actu_page) > .extrait_actu_page {
	box-sizing: border-box !important;
	margin: 0 !important;
	width: 100% !important;
}

/* Actualites : les images gardent leur ratio en responsive. */
#content_large.single-post-area img,
#content_large.single-post-area figure img,
#content_large.single-post-area .wp-caption img,
#content_large.single-post-area .wp-block-image img {
	height: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	width: auto;
}

:is(#content, #content_large) .extrait_actu_page .vignette img {
	height: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	width: 100% !important;
}

#content_large.single-post-area figure,
#content_large.single-post-area .wp-caption,
#content_large.single-post-area .wp-block-image {
	max-width: 100% !important;
}

@media screen and (max-width: 680px) {
	#content_large.single-post-area img,
	#content_large.single-post-area figure img,
	#content_large.single-post-area .wp-caption img,
	#content_large.single-post-area .wp-block-image img {
		display: block !important;
		width: 100% !important;
	}

	:is(#content, #content_large) .extrait_actu_page .vignette {
		float: none !important;
		margin: 0 0 16px !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	:is(#content, #content_large) .extrait_actu_page .vignette img {
		display: block !important;
		width: 100% !important;
	}
}

/* Images inserees dans le contenu : ne jamais conserver la hauteur HTML en mobile. */
#content figure.krea3-content-image-wrap,
#content_large figure.krea3-content-image-wrap {
	height: auto !important;
	max-width: 100% !important;
}

#content img.krea3-content-image,
#content_large img.krea3-content-image,
#content figure.krea3-content-image-wrap > img.krea3-content-image,
#content_large figure.krea3-content-image-wrap > img.krea3-content-image {
	aspect-ratio: auto !important;
	display: block !important;
	height: auto !important;
	max-height: none !important;
	max-width: 100% !important;
	object-fit: contain !important;
	width: auto !important;
}

@media screen and (max-width: 680px) {
	#content figure.krea3-content-image-wrap,
	#content_large figure.krea3-content-image-wrap {
		width: 100% !important;
	}

	#content img.krea3-content-image,
	#content_large img.krea3-content-image,
	#content figure.krea3-content-image-wrap > img.krea3-content-image,
	#content_large figure.krea3-content-image-wrap > img.krea3-content-image {
		height: auto !important;
		width: 100% !important;
	}
}

/* Navigation single : boutons plus nets pour retour / precedent / suivant. */
#entete-fiche .nav.nav-fiche,
#entete-fiche .nav.nav-actus {
	align-items: center !important;
	display: flex !important;
	gap: 10px !important;
	justify-content: flex-end !important;
	list-style: none !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

#entete-fiche .nav.nav-fiche li,
#entete-fiche .nav.nav-actus li,
#entete-fiche .nav.nav-fiche li.nav-precedent,
#entete-fiche .nav.nav-fiche li.nav-suivant {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
}

#entete-fiche .nav.nav-fiche li a,
#entete-fiche .nav.nav-actus li a {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	border: 1px solid rgba(36, 95, 112, 0.28) !important;
	box-shadow: 0 10px 24px rgba(36, 95, 112, 0.1) !important;
	box-sizing: border-box !important;
	color: #245f70 !important;
	display: inline-flex !important;
	height: 44px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
	width: 44px !important;
}

#entete-fiche .nav.nav-fiche li.nav-retour-annuaire a,
#entete-fiche .nav.nav-actus li.nav-retour-annuaire a {
	margin-right: 0 !important;
}

#entete-fiche .nav.nav-fiche li a:hover,
#entete-fiche .nav.nav-fiche li a:focus,
#entete-fiche .nav.nav-actus li a:hover,
#entete-fiche .nav.nav-actus li a:focus {
	background: #245f70 !important;
	border-color: #245f70 !important;
	color: var(--couleur-blanc, #fff) !important;
	transform: translateY(-1px) !important;
}

#entete-fiche .nav.nav-fiche li a:focus-visible,
#entete-fiche .nav.nav-actus li a:focus-visible {
	outline: 3px solid var(--couleur-secondaire, #db9b56) !important;
	outline-offset: 3px !important;
}

#entete-fiche .nav.nav-fiche li a > span,
#entete-fiche .nav.nav-actus li a > span,
#entete-fiche .nav.nav-fiche li a span.icon-nav,
#entete-fiche .nav.nav-actus li a span.icon-nav {
	align-items: center !important;
	color: currentColor !important;
	display: inline-flex !important;
	height: auto !important;
	justify-content: center !important;
	line-height: 1 !important;
	padding: 0 !important;
	vertical-align: middle !important;
	width: auto !important;
}

#entete-fiche .nav.nav-fiche li a i,
#entete-fiche .nav.nav-actus li a i,
#entete-fiche .nav.nav-fiche li a > span.fas,
#entete-fiche .nav.nav-actus li a > span.fas {
	color: currentColor !important;
	display: block !important;
	font-size: 1.05rem !important;
	height: 1em !important;
	line-height: 1 !important;
	width: 1em !important;
}

#entete-fiche .nav.nav-fiche li.nav-retour-annuaire span.icon-nav:empty::before,
#entete-fiche .nav.nav-actus li.nav-retour-annuaire span.icon-nav:empty::before {
	color: currentColor !important;
	content: "\f03a" !important;
	display: block !important;
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Solid" !important;
	font-size: 1.05rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

#entete-fiche .nav.nav-fiche li a span.text-nav,
#entete-fiche .nav.nav-actus li a span.text-nav {
	display: none !important;
}

@media screen and (max-width: 680px) {
	#entete-fiche .nav.nav-fiche,
	#entete-fiche .nav.nav-actus {
		justify-content: flex-start !important;
		margin-top: 16px !important;
	}
}

/* Dates des manifestations. */
ul#date-manif-fiche {
	box-sizing: border-box !important;
	display: flex !important;
	flex-wrap: wrap !important;
	font-family: var(--police-secondaire, "Nunito", Arial, sans-serif) !important;
	gap: 12px !important;
	list-style: none !important;
	margin: 0 0 clamp(24px, 4vw, 36px) !important;
	padding: 0 !important;
	width: 100% !important;
}

ul#date-manif-fiche li,
ul#date-manif-fiche li.list-dates__item {
	align-items: center !important;
	background: rgba(57, 128, 150, 0.08) !important;
	border: 1px solid rgba(57, 128, 150, 0.22) !important;
	border-left: 5px solid var(--couleur-secondaire, #db9b56) !important;
	box-shadow: 0 16px 34px rgba(57, 128, 150, 0.08) !important;
	box-sizing: border-box !important;
	color: var(--gris-fonce, #333) !important;
	display: inline-flex !important;
	flex-wrap: wrap !important;
	font-size: clamp(1rem, 1.7vw, 1.2rem) !important;
	font-weight: var(--demi-gras, 600) !important;
	gap: 0.35rem !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-height: 58px !important;
	padding: 0.9rem 1.1rem !important;
}

ul#date-manif-fiche li::before,
ul#date-manif-fiche li.list-dates__item::before {
	align-items: center !important;
	background: #245f70 !important;
	color: var(--couleur-blanc, #fff) !important;
	content: "\f073" !important;
	display: inline-flex !important;
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Solid" !important;
	font-size: 0.92rem !important;
	font-weight: 900 !important;
	height: 34px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin-right: 0.45rem !important;
	width: 34px !important;
}

ul#date-manif-fiche .agenda_jour_texte {
	color: #1f5262 !important;
	font-weight: var(--gras, 700) !important;
	text-transform: capitalize !important;
}

@media screen and (max-width: 680px) {
	ul#date-manif-fiche {
		gap: 10px !important;
		margin-bottom: 22px !important;
	}

	ul#date-manif-fiche li,
	ul#date-manif-fiche li.list-dates__item {
		display: flex !important;
		font-size: 0.98rem !important;
		min-height: 0 !important;
		padding: 0.85rem 0.95rem !important;
		width: 100% !important;
	}

	ul#date-manif-fiche li::before,
	ul#date-manif-fiche li.list-dates__item::before {
		height: 30px !important;
		width: 30px !important;
	}
}

/* Taxonomies des fiches single. */
.bloc-fiche.taxonomies,
#annuaire-taxonomies.bloc-fiche,
#commerce-taxonomies.bloc-fiche,
#entreprise-taxonomies.bloc-fiche,
#association-taxonomies.bloc-fiche,
#hebergement-taxonomies.bloc-fiche,
#agenda-taxonomies.bloc-fiche {
	background: var(--couleur-blanc, #fff) !important;
	border: 1px solid rgba(57, 128, 150, 0.18) !important;
	border-left: 5px solid #245f70 !important;
	box-shadow: 0 18px 42px rgba(57, 128, 150, 0.08) !important;
	box-sizing: border-box !important;
	clear: both !important;
	font-family: var(--police-secondaire, "Nunito", Arial, sans-serif) !important;
	font-weight: var(--reguliere, 400) !important;
	margin: clamp(24px, 4vw, 36px) 0 !important;
	padding: clamp(18px, 2.6vw, 28px) !important;
	width: 100% !important;
}

.bloc-fiche.taxonomies p,
#annuaire-taxonomies.bloc-fiche p,
#commerce-taxonomies.bloc-fiche p,
#entreprise-taxonomies.bloc-fiche p,
#association-taxonomies.bloc-fiche p,
#hebergement-taxonomies.bloc-fiche p,
#agenda-taxonomies.bloc-fiche p {
	align-items: center !important;
	color: var(--gris-fonce, #333) !important;
	display: flex !important;
	flex-wrap: wrap !important;
	font-size: 1rem !important;
	gap: 10px !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bloc-fiche.taxonomies p + p,
#annuaire-taxonomies.bloc-fiche p + p,
#commerce-taxonomies.bloc-fiche p + p,
#entreprise-taxonomies.bloc-fiche p + p,
#association-taxonomies.bloc-fiche p + p,
#hebergement-taxonomies.bloc-fiche p + p,
#agenda-taxonomies.bloc-fiche p + p {
	border-top: 1px solid rgba(57, 128, 150, 0.14) !important;
	margin-top: 14px !important;
	padding-top: 14px !important;
}

.bloc-fiche.taxonomies span.taxo,
#annuaire-taxonomies.bloc-fiche span.taxo,
#commerce-taxonomies.bloc-fiche span.taxo,
#entreprise-taxonomies.bloc-fiche span.taxo,
#association-taxonomies.bloc-fiche span.taxo,
#hebergement-taxonomies.bloc-fiche span.taxo,
#agenda-taxonomies.bloc-fiche span.taxo {
	color: var(--gris-fonce, #333) !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire, "Nunito", Arial, sans-serif) !important;
	font-size: 1rem !important;
	font-weight: var(--gras, 700) !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bloc-fiche.taxonomies span.term,
#annuaire-taxonomies.bloc-fiche span.term,
#commerce-taxonomies.bloc-fiche span.term,
#entreprise-taxonomies.bloc-fiche span.term,
#association-taxonomies.bloc-fiche span.term,
#hebergement-taxonomies.bloc-fiche span.term,
#agenda-taxonomies.bloc-fiche span.term {
	align-items: center !important;
	background: rgba(57, 128, 150, 0.1) !important;
	border: 1px solid rgba(36, 95, 112, 0.24) !important;
	border-left: 4px solid var(--couleur-secondaire, #db9b56) !important;
	border-radius: 4px !important;
	box-sizing: border-box !important;
	color: #1f5262 !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire, "Nunito", Arial, sans-serif) !important;
	font-size: 0.94rem !important;
	font-weight: var(--gras, 700) !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-height: 34px !important;
	padding: 0.42rem 0.72rem !important;
}

.bloc-fiche.taxonomies span.term a,
#annuaire-taxonomies.bloc-fiche span.term a,
#commerce-taxonomies.bloc-fiche span.term a,
#entreprise-taxonomies.bloc-fiche span.term a,
#association-taxonomies.bloc-fiche span.term a,
#hebergement-taxonomies.bloc-fiche span.term a,
#agenda-taxonomies.bloc-fiche span.term a {
	color: inherit !important;
	text-decoration: none !important;
}

.bloc-fiche.taxonomies span.term:hover,
.bloc-fiche.taxonomies span.term:focus-within,
#annuaire-taxonomies.bloc-fiche span.term:hover,
#annuaire-taxonomies.bloc-fiche span.term:focus-within,
#commerce-taxonomies.bloc-fiche span.term:hover,
#commerce-taxonomies.bloc-fiche span.term:focus-within,
#entreprise-taxonomies.bloc-fiche span.term:hover,
#entreprise-taxonomies.bloc-fiche span.term:focus-within,
#association-taxonomies.bloc-fiche span.term:hover,
#association-taxonomies.bloc-fiche span.term:focus-within,
#hebergement-taxonomies.bloc-fiche span.term:hover,
#hebergement-taxonomies.bloc-fiche span.term:focus-within,
#agenda-taxonomies.bloc-fiche span.term:hover,
#agenda-taxonomies.bloc-fiche span.term:focus-within {
	background: rgba(57, 128, 150, 0.16) !important;
	border-color: rgba(36, 95, 112, 0.34) !important;
	color: #174859 !important;
}

@media screen and (max-width: 680px) {
	.bloc-fiche.taxonomies,
	#annuaire-taxonomies.bloc-fiche,
	#commerce-taxonomies.bloc-fiche,
	#entreprise-taxonomies.bloc-fiche,
	#association-taxonomies.bloc-fiche,
	#hebergement-taxonomies.bloc-fiche,
	#agenda-taxonomies.bloc-fiche {
		margin: 22px 0 !important;
		padding: 18px !important;
	}

	.bloc-fiche.taxonomies p,
	#annuaire-taxonomies.bloc-fiche p,
	#commerce-taxonomies.bloc-fiche p,
	#entreprise-taxonomies.bloc-fiche p,
	#association-taxonomies.bloc-fiche p,
	#hebergement-taxonomies.bloc-fiche p,
	#agenda-taxonomies.bloc-fiche p {
		align-items: flex-start !important;
		gap: 8px !important;
	}

	.bloc-fiche.taxonomies span.taxo,
	#annuaire-taxonomies.bloc-fiche span.taxo,
	#commerce-taxonomies.bloc-fiche span.taxo,
	#entreprise-taxonomies.bloc-fiche span.taxo,
	#association-taxonomies.bloc-fiche span.taxo,
	#hebergement-taxonomies.bloc-fiche span.taxo,
	#agenda-taxonomies.bloc-fiche span.taxo {
		width: 100% !important;
	}

	.bloc-fiche.taxonomies span.term,
	#annuaire-taxonomies.bloc-fiche span.term,
	#commerce-taxonomies.bloc-fiche span.term,
	#entreprise-taxonomies.bloc-fiche span.term,
	#association-taxonomies.bloc-fiche span.term,
	#hebergement-taxonomies.bloc-fiche span.term,
	#agenda-taxonomies.bloc-fiche span.term {
		font-size: 0.9rem !important;
		min-height: 32px !important;
	}
}

/* Navigation article precedent / suivant. */
.single-post-area .navigation-area {
	border-bottom: 1px solid rgba(57, 128, 150, 0.16) !important;
	border-top: 1px solid rgba(57, 128, 150, 0.16) !important;
	margin: clamp(42px, 6vw, 70px) 0 0 !important;
	padding: clamp(24px, 4vw, 38px) 0 !important;
}

.single-post-area .navigation-area .row {
	display: grid !important;
	gap: clamp(18px, 3vw, 32px) !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin: 0 !important;
	width: 100% !important;
}

.single-post-area .navigation-area .nav-left,
.single-post-area .navigation-area .nav-right {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	border: 1px solid rgba(57, 128, 150, 0.16) !important;
	box-shadow: 0 18px 45px rgba(57, 128, 150, 0.08) !important;
	box-sizing: border-box !important;
	display: grid !important;
	gap: 16px !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 132px !important;
	min-width: 0 !important;
	padding: 18px !important;
	position: relative !important;
	text-align: left !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
	width: 100% !important;
}

.single-post-area .navigation-area .nav-left {
	grid-template-columns: 92px 44px minmax(0, 1fr) !important;
}

.single-post-area .navigation-area .nav-right {
	grid-template-columns: minmax(0, 1fr) 44px 92px !important;
	text-align: right !important;
}

.single-post-area .navigation-area .nav-left:has(a):hover,
.single-post-area .navigation-area .nav-left:focus-within,
.single-post-area .navigation-area .nav-right:has(a):hover,
.single-post-area .navigation-area .nav-right:focus-within {
	border-color: rgba(36, 95, 112, 0.36) !important;
	box-shadow: 0 22px 55px rgba(57, 128, 150, 0.13) !important;
	transform: translateY(-2px) !important;
}

.single-post-area .navigation-area .thumb {
	background: rgba(57, 128, 150, 0.08) !important;
	border: 0 !important;
	box-sizing: border-box !important;
	height: 92px !important;
	margin: 0 !important;
	overflow: hidden !important;
	width: 92px !important;
}

.single-post-area .navigation-area .thumb a,
.single-post-area .navigation-area .thumb img {
	display: block !important;
	height: 100% !important;
	width: 100% !important;
}

.single-post-area .navigation-area .thumb img,
.single-post-area .navigation-area .thumb img.img-fluid,
.single-post-area .navigation-area .thumb img.previous-post,
.single-post-area .navigation-area .thumb img.next-post {
	min-width: 0 !important;
	object-fit: cover !important;
	transition: transform 0.25s ease, opacity 0.25s ease !important;
}

.single-post-area .navigation-area .nav-left:hover .thumb img,
.single-post-area .navigation-area .nav-right:hover .thumb img,
.single-post-area .navigation-area .nav-left:focus-within .thumb img,
.single-post-area .navigation-area .nav-right:focus-within .thumb img {
	opacity: 0.92 !important;
	transform: scale(1.04) !important;
}

.single-post-area .navigation-area .arrow {
	align-items: center !important;
	display: flex !important;
	justify-content: center !important;
	margin: 0 !important;
	position: static !important;
}

.single-post-area .navigation-area .arrow a {
	align-items: center !important;
	background: #245f70 !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	height: 44px !important;
	justify-content: center !important;
	text-decoration: none !important;
	width: 44px !important;
}

.single-post-area .navigation-area .arrow a:hover,
.single-post-area .navigation-area .arrow a:focus {
	background: var(--couleur-secondaire, #db9b56) !important;
	color: var(--gris-fonce, #333) !important;
}

.single-post-area .navigation-area .arrow a:focus-visible,
.single-post-area .navigation-area .detials h4 a:focus-visible,
.single-post-area .navigation-area .thumb a:focus-visible {
	outline: 3px solid var(--couleur-secondaire, #db9b56) !important;
	outline-offset: 3px !important;
}

.single-post-area .navigation-area .arrow .lnr {
	display: none !important;
}

.single-post-area .navigation-area .nav-left .arrow a::before,
.single-post-area .navigation-area .nav-right .arrow a::before {
	display: block !important;
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Solid" !important;
	font-size: 1rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

.single-post-area .navigation-area .nav-left .arrow a::before {
	content: "\f060" !important;
}

.single-post-area .navigation-area .nav-right .arrow a::before {
	content: "\f061" !important;
}

.single-post-area .navigation-area .detials {
	min-width: 0 !important;
}

.single-post-area .navigation-area .detials p {
	color: #245f70 !important;
	font-family: var(--police-secondaire, "Nunito", sans-serif) !important;
	font-size: 0.82rem !important;
	font-weight: var(--gras, 700) !important;
	letter-spacing: 0.06em !important;
	line-height: 1.2 !important;
	margin: 0 0 8px !important;
	text-transform: uppercase !important;
}

.single-post-area .navigation-area .detials h4 {
	color: var(--gris-fonce, #333) !important;
	font-family: var(--police, "Abril Fatface", serif) !important;
	font-size: clamp(1.25rem, 2vw, 1.75rem) !important;
	font-weight: var(--reguliere, 400) !important;
	line-height: 1.1 !important;
	margin: 0 !important;
}

.single-post-area .navigation-area .detials h4 a {
	color: var(--gris-fonce, #333) !important;
	display: inline !important;
	text-decoration: none !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 0.18em !important;
}

.single-post-area .navigation-area .detials h4 a:hover,
.single-post-area .navigation-area .detials h4 a:focus {
	color: #245f70 !important;
	text-decoration: underline !important;
	text-decoration-color: var(--couleur-secondaire, #db9b56) !important;
}

@media screen and (max-width: 900px) {
	.single-post-area .navigation-area .row {
		grid-template-columns: 1fr !important;
	}
}

@media screen and (max-width: 560px) {
	.single-post-area .navigation-area .nav-left,
	.single-post-area .navigation-area .nav-right {
		gap: 12px !important;
		grid-template-columns: 74px 40px minmax(0, 1fr) !important;
		min-height: 108px !important;
		padding: 14px !important;
		text-align: left !important;
	}

	.single-post-area .navigation-area .nav-right .thumb {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.single-post-area .navigation-area .nav-right .arrow {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	.single-post-area .navigation-area .nav-right .detials {
		grid-column: 3 !important;
		grid-row: 1 !important;
	}

	.single-post-area .navigation-area .thumb {
		height: 74px !important;
		width: 74px !important;
	}

	.single-post-area .navigation-area .arrow a {
		height: 40px !important;
		width: 40px !important;
	}

	.single-post-area .navigation-area .detials p {
		font-size: 0.72rem !important;
		letter-spacing: 0.04em !important;
	}

	.single-post-area .navigation-area .detials h4 {
		font-size: 1.18rem !important;
	}
}

@media screen and (max-width: 380px) {
	.single-post-area .navigation-area .nav-left,
	.single-post-area .navigation-area .nav-right {
		grid-template-columns: 64px minmax(0, 1fr) !important;
	}

	.single-post-area .navigation-area .thumb {
		height: 64px !important;
		width: 64px !important;
	}

	.single-post-area .navigation-area .arrow {
		display: none !important;
	}

	.single-post-area .navigation-area .nav-right .thumb {
		grid-column: 1 !important;
	}

	.single-post-area .navigation-area .nav-right .detials {
		grid-column: 2 !important;
	}
}



/* Leaflet single/fiches : ne pas casser les panes internes en voulant passer le menu au-dessus. */
.leaflet-container {
	background: #ddd !important;
	overflow: hidden !important;
	position: relative !important;
}

.leaflet-pane,
.leaflet-layer,
.leaflet-tile-container {
	left: 0 !important;
	position: absolute !important;
	top: 0 !important;
}

.leaflet-container img,
:is(#content, #content_large) .leaflet-container img {
	max-width: none !important;
}

.leaflet-map-pane {
	z-index: auto !important;
}

.leaflet-tile-pane {
	z-index: 200 !important;
}

.leaflet-overlay-pane {
	z-index: 400 !important;
}

.leaflet-shadow-pane {
	z-index: 500 !important;
}

.leaflet-marker-pane {
	z-index: 600 !important;
}

.leaflet-tooltip-pane {
	z-index: 650 !important;
}

.leaflet-popup-pane {
	z-index: 700 !important;
}

.leaflet-tile,
:is(#content, #content_large) .leaflet-container img.leaflet-tile,
.leaflet-tile-container img {
	display: block !important;
	height: 256px !important;
	left: 0 !important;
	max-width: none !important;
	opacity: 1 !important;
	position: absolute !important;
	top: 0 !important;
	visibility: visible !important;
	width: 256px !important;
}

.leaflet-container img.leaflet-tile-loaded,
:is(#content, #content_large) .leaflet-container img.leaflet-tile-loaded {
	visibility: inherit !important;
}

.leaflet-marker-icon,
.leaflet-marker-shadow,
:is(#content, #content_large) .leaflet-container img.leaflet-marker-icon,
:is(#content, #content_large) .leaflet-container img.leaflet-marker-shadow {
	height: auto !important;
	max-width: none !important;
	width: auto !important;
}

.leaflet-control-container,
.leaflet-top,
.leaflet-bottom {
	z-index: 800 !important;
}

/* === Krea3 Abril : fiches annuaire, alignement des pictos - fin === */

/* === Krea3 Abril : personnalisation annuaires Krea3CustomPosts - debut ===
   Ce bloc est volontairement place a la fin du theme client.
   Il ne doit pas piloter la structure, le sticky, les colonnes, la carte ou le JS :
   ces comportements restent dans le plugin. Le theme ne change ici que les
   couleurs, typographies, graisses, rayons et quelques etats visuels.
*/

:root {
	/* Typographies */
	--k3-cpt-annuaire-font-family: var(--police, inherit);
	--k3-cpt-annuaire-title-font-family: var(--police-secondaire, var(--police, inherit));

	/* Couleurs principales */
	--k3-cpt-annuaire-text: #202725;
	--k3-cpt-annuaire-muted: #6d7773;
	--k3-cpt-annuaire-surface: #ffffff;
	--k3-cpt-annuaire-soft: #f7f5ef;
	--k3-cpt-annuaire-line: #e7e2d8;
	--k3-cpt-annuaire-white: #ffffff;

	/* Couleurs d'action */
	--k3-cpt-annuaire-primary: #355f58;
	--k3-cpt-annuaire-primary-light: #8aa57e;
	--k3-cpt-annuaire-primary-soft: #edf3ed;
	--k3-cpt-annuaire-accent: #db6b57;

	/* Graisses */
	--k3-cpt-annuaire-title-weight: 820;
	--k3-cpt-annuaire-kicker-weight: 800;
	--k3-cpt-annuaire-meta-weight: 750;

	/* Formes et ombres */
	--k3-cpt-annuaire-card-radius: 22px;
	--k3-cpt-annuaire-map-radius: 22px;
	--k3-cpt-annuaire-mobile-card-radius: 28px;
	--k3-cpt-annuaire-shadow: 0 20px 44px rgba(26, 42, 39, .12);

	/* Mobile */
	--k3-cpt-annuaire-mobile-title-color: #557f84;
	--k3-cpt-annuaire-mobile-title-weight: 650;
	--k3-cpt-annuaire-mobile-map-button-bg: #050505;
	--k3-cpt-annuaire-mobile-filter-button-bg: #557f84;
}

/* Mode moderne "Carte + liste modernisee".
   Les variables ci-dessous sont celles consommees par le CSS du plugin.
   Le prefixe body augmente la priorite sans utiliser !important. */
body .k3-annuaire-modern-pro {
	--k3-annuaire-pro-font-family: var(--k3-cpt-annuaire-font-family);
	--k3-annuaire-pro-title-font-family: var(--k3-cpt-annuaire-title-font-family);
	--k3-annuaire-pro-text: var(--k3-cpt-annuaire-text);
	--k3-annuaire-pro-muted: var(--k3-cpt-annuaire-muted);
	--k3-annuaire-pro-surface: var(--k3-cpt-annuaire-surface);
	--k3-annuaire-pro-soft: var(--k3-cpt-annuaire-soft);
	--k3-annuaire-pro-line: var(--k3-cpt-annuaire-line);
	--k3-annuaire-pro-white: var(--k3-cpt-annuaire-white);
	--k3-annuaire-pro-sage: var(--k3-cpt-annuaire-primary-light);
	--k3-annuaire-pro-sage-dark: var(--k3-cpt-annuaire-primary);
	--k3-annuaire-pro-sage-soft: var(--k3-cpt-annuaire-primary-soft);
	--k3-annuaire-pro-coral: var(--k3-cpt-annuaire-accent);
	--k3-annuaire-pro-title-color: var(--k3-cpt-annuaire-text);
	--k3-annuaire-pro-title-weight: var(--k3-cpt-annuaire-title-weight);
	--k3-annuaire-pro-kicker-weight: var(--k3-cpt-annuaire-kicker-weight);
	--k3-annuaire-pro-meta-weight: var(--k3-cpt-annuaire-meta-weight);
	--k3-annuaire-pro-card-radius: var(--k3-cpt-annuaire-card-radius);
	--k3-annuaire-pro-map-radius: var(--k3-cpt-annuaire-map-radius);
	--k3-annuaire-pro-mobile-card-radius: var(--k3-cpt-annuaire-mobile-card-radius);
	--k3-annuaire-pro-shadow: var(--k3-cpt-annuaire-shadow);
	--k3-annuaire-pro-mobile-title-color: var(--k3-cpt-annuaire-mobile-title-color);
	--k3-annuaire-pro-mobile-title-weight: var(--k3-cpt-annuaire-mobile-title-weight);
	--k3-annuaire-pro-mobile-map-button-bg: var(--k3-cpt-annuaire-mobile-map-button-bg);
	--k3-annuaire-pro-mobile-filter-button-bg: var(--k3-cpt-annuaire-mobile-filter-button-bg);
}

/* Mode classique historique : surcharges legeres, sans changer le layout. */
body .listing-centrale .listing-item-annuaire {
	color: var(--k3-cpt-annuaire-text);
	font-family: var(--k3-cpt-annuaire-font-family);
}

body .listing-centrale .listing-item-annuaire h3,
body .listing-centrale .listing-item-annuaire h3 * {
	color: var(--k3-cpt-annuaire-text);
	font-family: var(--k3-cpt-annuaire-title-font-family);
	font-weight: var(--k3-cpt-annuaire-title-weight);
}

body .listing-centrale .categorie-annuaire-bloc-listing,
body .listing-centrale .commune-fiche,
body .listing-centrale .ville-agenda-listing {
	color: var(--k3-cpt-annuaire-muted);
	font-weight: var(--k3-cpt-annuaire-meta-weight);
}

body .listing-centrale .ville-agenda-listing i,
body .listing-centrale .partenaire-privilege {
	color: var(--k3-cpt-annuaire-accent);
}

body .listing-centrale .listing-item-annuaire a:hover h3,
body .listing-centrale .listing-item-annuaire a:focus h3 {
	color: var(--k3-cpt-annuaire-primary);
}

/* Variantes possibles par type de contenu, a activer au besoin.
body .k3-annuaire-modern-pro-loisir {
	--k3-cpt-annuaire-primary: #355f58;
	--k3-cpt-annuaire-mobile-filter-button-bg: #557f84;
}

body .k3-annuaire-modern-pro-commerce {
	--k3-cpt-annuaire-primary: #2f5f73;
	--k3-cpt-annuaire-accent: #d95f4b;
}
*/

/* === Krea3 Abril : personnalisation annuaires Krea3CustomPosts - fin === */

/* ==========================================================================
   Krea3CustomPosts - Annuaire moderne : personnalisation des cards agenda
   A placer tout a la fin du style.css du theme client.
   Ces regles ne ciblent que les cards agenda du mode moderne.
   ========================================================================== */

/* Variables principales : modifier ici les couleurs, typos, arrondis, ombres */
.k3-annuaire-modern-pro {
	/* Badge date agenda */
	--k3-annuaire-pro-agenda-date-bg: rgba(32, 39, 37, .92);
	--k3-annuaire-pro-agenda-date-color: #ffffff;
	--k3-annuaire-pro-agenda-date-radius: 4px;
	--k3-annuaire-pro-agenda-date-font-size: 18px;
	--k3-annuaire-pro-agenda-date-weight: 800;
	--k3-annuaire-pro-agenda-date-transform: uppercase;
	--k3-annuaire-pro-agenda-date-shadow: 0 10px 24px rgba(0, 0, 0, .18);

	/* Card agenda */
	--k3-annuaire-pro-agenda-card-radius: var(--k3-annuaire-pro-card-radius);
	--k3-annuaire-pro-agenda-title-color: var(--k3-annuaire-pro-title-color);
	--k3-annuaire-pro-agenda-kicker-color: var(--k3-annuaire-pro-muted);
	--k3-annuaire-pro-agenda-place-color: var(--k3-annuaire-pro-muted);
	--k3-annuaire-pro-agenda-marker-color: var(--k3-annuaire-pro-coral);
}

/* Card agenda uniquement */
.k3-annuaire-modern-pro-card--agenda {
	border-radius: var(--k3-annuaire-pro-agenda-card-radius);
}

/* Zone image agenda */
.k3-annuaire-modern-pro-card--agenda .k3-annuaire-modern-pro-card-visual {
	border-radius: var(--k3-annuaire-pro-agenda-card-radius);
}

/* Image agenda */
.k3-annuaire-modern-pro-card--agenda .k3-annuaire-modern-pro-card-media img {
	filter: saturate(1.02) contrast(1.02);
}

/* Badge date affiche sur l'image */
.k3-annuaire-modern-pro-card--agenda .k3-annuaire-modern-pro-card-date {
	background: var(--k3-annuaire-pro-agenda-date-bg);
	border-radius: var(--k3-annuaire-pro-agenda-date-radius);
	box-shadow: var(--k3-annuaire-pro-agenda-date-shadow);
	color: var(--k3-annuaire-pro-agenda-date-color);
	font-size: var(--k3-annuaire-pro-agenda-date-font-size);
	font-weight: var(--k3-annuaire-pro-agenda-date-weight);
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: var(--k3-annuaire-pro-agenda-date-transform);
}

/* Lignes du badge date : "du..." / "au..." */
.k3-annuaire-modern-pro-card--agenda .k3-annuaire-modern-pro-card-date span {
	display: block;
	white-space: nowrap;
}

/* Type / categorie agenda */
.k3-annuaire-modern-pro-card--agenda .k3-annuaire-modern-pro-card-kicker {
	color: var(--k3-annuaire-pro-agenda-kicker-color);
	font-weight: var(--k3-annuaire-pro-kicker-weight);
	text-transform: none;
}

/* Titre agenda */
.k3-annuaire-modern-pro-card--agenda h3 {
	color: var(--k3-annuaire-pro-agenda-title-color);
	font-family: var(--k3-annuaire-pro-title-font-family);
	font-weight: var(--k3-annuaire-pro-title-weight);
}

/* Commune / meta */
.k3-annuaire-modern-pro-card--agenda .k3-annuaire-modern-pro-card-place {
	color: var(--k3-annuaire-pro-agenda-place-color);
	font-weight: var(--k3-annuaire-pro-meta-weight);
}

/* Picto commune */
.k3-annuaire-modern-pro-card--agenda .k3-annuaire-modern-pro-card-place i {
	color: var(--k3-annuaire-pro-agenda-marker-color);
}

/* Resume agenda */
.k3-annuaire-modern-pro-card--agenda .k3-annuaire-modern-pro-card-summary {
	color: var(--k3-annuaire-pro-muted);
}

/* Placeholder si l'evenement n'a pas d'image */
.k3-annuaire-modern-pro-card--agenda.k3-annuaire-modern-pro-card--no-image .k3-annuaire-modern-pro-card-placeholder {
	background: var(--k3-annuaire-pro-soft);
	color: var(--k3-annuaire-pro-sage-dark);
}

/* Mobile : badge plus compact */
@media (max-width: 767px) {
	.k3-annuaire-modern-pro {
		--k3-annuaire-pro-agenda-date-font-size: 15px;
		--k3-annuaire-pro-agenda-card-radius: var(--k3-annuaire-pro-mobile-card-radius);
	}
}


/* ==========================================================================
   Krea3 : passerelle du theme vers les annuaires et les cards agenda
   Les fallbacks conservent la palette native des plugins Krea3.
   La structure et le responsive restent entierement geres par les plugins.
   ========================================================================== */

:root {
	/* Typographies heritees du theme actif. */
	--k3-theme-listing-font-family: inherit;
	--k3-theme-listing-title-font-family: var(--police, inherit);

	/* Couleurs de contenu : teintes sombres pour conserver le contraste RGAA. */
	--k3-theme-listing-text: var(--gris-fonce, #202725);
	--k3-theme-listing-muted: var(--gris-fonce, #6d7773);
	--k3-theme-listing-surface: var(--couleur-blanc, #ffffff);
	--k3-theme-listing-soft: var(--gris-tres-clair, #f7f5ef);
	--k3-theme-listing-line: var(--gris-clair, #e7e2d8);
	--k3-theme-listing-white: var(--couleur-blanc, #ffffff);

	/* Identite du theme, avec les couleurs annuaire en solution de repli. */
	--k3-theme-listing-brand: var(--couleur-principale, #355f58);
	--k3-theme-listing-secondary: var(--couleur-secondaire, #8aa57e);
	--k3-theme-listing-action: var(--gris-fonce, #355f58);
	--k3-theme-listing-accent: #70483f;
	--k3-theme-listing-brand-soft: var(--gris-tres-clair, #edf3ed);
	--k3-theme-listing-shadow: 0 20px 44px rgba(26, 42, 39, .12);
}

/* Les couleurs de marque sont assombries quand elles portent du texte blanc
   ou constituent une information visuelle, afin de garantir leur contraste. */
@supports (color: color-mix(in srgb, #000 50%, #fff)) {
	:root {
		--k3-theme-listing-action: color-mix(
			in srgb,
			var(--couleur-principale, #355f58) 45%,
			var(--couleur-noir, #000000)
		);
		--k3-theme-listing-accent: color-mix(
			in srgb,
			var(--couleur-secondaire, #db6b57) 45%,
			var(--couleur-noir, #000000)
		);
		--k3-theme-listing-brand-soft: color-mix(
			in srgb,
			var(--couleur-principale, #355f58) 9%,
			var(--couleur-blanc, #ffffff)
		);
	}
}

/* Krea3CustomPosts : annuaires et cards agenda du mode moderne. */
body .k3-annuaire-modern-pro {
	--k3-annuaire-pro-font-family: var(--k3-theme-listing-font-family);
	--k3-annuaire-pro-title-font-family: var(--k3-theme-listing-title-font-family);
	--k3-annuaire-pro-text: var(--k3-theme-listing-text);
	--k3-annuaire-pro-muted: var(--k3-theme-listing-muted);
	--k3-annuaire-pro-surface: var(--k3-theme-listing-surface);
	--k3-annuaire-pro-soft: var(--k3-theme-listing-soft);
	--k3-annuaire-pro-line: var(--k3-theme-listing-line);
	--k3-annuaire-pro-white: var(--k3-theme-listing-white);
	--k3-annuaire-pro-sage: var(--k3-theme-listing-brand);
	--k3-annuaire-pro-sage-dark: var(--k3-theme-listing-action);
	--k3-annuaire-pro-sage-soft: var(--k3-theme-listing-brand-soft);
	--k3-annuaire-pro-coral: var(--k3-theme-listing-accent);
	--k3-annuaire-pro-title-color: var(--k3-theme-listing-text);
	--k3-annuaire-pro-title-weight: var(--gras, 820);
	--k3-annuaire-pro-kicker-weight: var(--gras, 800);
	--k3-annuaire-pro-meta-weight: var(--demi-gras, 750);
	--k3-annuaire-pro-shadow: var(--k3-theme-listing-shadow);
	--k3-annuaire-pro-mobile-title-color: var(--k3-theme-listing-action);
	--k3-annuaire-pro-mobile-title-weight: var(--demi-gras, 650);
	--k3-annuaire-pro-mobile-map-button-bg: var(--k3-theme-listing-action);
	--k3-annuaire-pro-mobile-filter-button-bg: var(--k3-theme-listing-accent);
	--k3-annuaire-pro-agenda-date-bg: var(--k3-theme-listing-action);
	--k3-annuaire-pro-agenda-date-color: var(--k3-theme-listing-white);
}

/* Krea3Agenda : namespace autonome, utilisable sans Krea3CustomPosts. */
body .k3-agenda-modern-pro {
	--k3-agenda-pro-font-family: var(--k3-theme-listing-font-family);
	--k3-agenda-pro-title-font-family: var(--k3-theme-listing-title-font-family);
	--k3-agenda-pro-text: var(--k3-theme-listing-text);
	--k3-agenda-pro-muted: var(--k3-theme-listing-muted);
	--k3-agenda-pro-surface: var(--k3-theme-listing-surface);
	--k3-agenda-pro-soft: var(--k3-theme-listing-soft);
	--k3-agenda-pro-line: var(--k3-theme-listing-line);
	--k3-agenda-pro-white: var(--k3-theme-listing-white);
	--k3-agenda-pro-sage: var(--k3-theme-listing-brand);
	--k3-agenda-pro-sage-dark: var(--k3-theme-listing-action);
	--k3-agenda-pro-sage-soft: var(--k3-theme-listing-brand-soft);
	--k3-agenda-pro-coral: var(--k3-theme-listing-accent);
	--k3-agenda-pro-title-color: var(--k3-theme-listing-text);
	--k3-agenda-pro-title-weight: var(--gras, 820);
	--k3-agenda-pro-kicker-weight: var(--gras, 800);
	--k3-agenda-pro-meta-weight: var(--demi-gras, 750);
	--k3-agenda-pro-shadow: var(--k3-theme-listing-shadow);
	--k3-agenda-pro-mobile-title-color: var(--k3-theme-listing-action);
	--k3-agenda-pro-mobile-title-weight: var(--demi-gras, 650);
	--k3-agenda-pro-mobile-map-button-bg: var(--k3-theme-listing-action);
	--k3-agenda-pro-mobile-filter-button-bg: var(--k3-theme-listing-accent);
	--k3-agenda-pro-agenda-date-bg: var(--k3-theme-listing-action);
	--k3-agenda-pro-agenda-date-color: var(--k3-theme-listing-white);
}

/* Modes historiques : personnalisation visuelle seulement, sans toucher au layout. */
body .listing-centrale .listing-item-annuaire {
	color: var(--k3-theme-listing-text);
	font-family: var(--k3-theme-listing-font-family);
}

body .listing-centrale .listing-item-annuaire h3,
body .listing-centrale .listing-item-annuaire h3 * {
	color: var(--k3-theme-listing-text);
	font-family: var(--k3-theme-listing-title-font-family);
	font-weight: var(--gras, 820);
}

body .listing-centrale .categorie-annuaire-bloc-listing,
body .listing-centrale .commune-fiche,
body .listing-centrale .ville-agenda-listing {
	color: var(--k3-theme-listing-muted);
	font-weight: var(--demi-gras, 750);
}

body .listing-centrale .ville-agenda-listing i,
body .listing-centrale .partenaire-privilege {
	color: var(--k3-theme-listing-accent);
}

body .listing-centrale .listing-item-annuaire a:hover h3,
body .listing-centrale .listing-item-annuaire a:focus h3 {
	color: var(--k3-theme-listing-action);
}

/* === Krea3 : passerelle theme / annuaires / agenda - fin === */
