/*
 * SPSR 1.0.15
 * Couche de mise en page finale : squelette Abril, expression graphique SPSR.
 */

:root {
	--spsr-header-height: 94px;
	--spsr-header-compact: 76px;
	--spsr-content: 1320px;
	--spsr-gutter: clamp(20px, 4vw, 64px);
	--spsr-ink: #12333b;
	--spsr-muted: #536a70;
	--spsr-primary: var(--couleur-principale, #125d60);
	--spsr-secondary: var(--couleur-secondaire, #047d8a);
	--spsr-pale: #edf5f5;
	--spsr-sand: #f6f2eb;
	--spsr-white: #fff;
	--spsr-line: rgba(18, 51, 59, 0.18);
	--spsr-shadow: 0 24px 60px rgba(18, 51, 59, 0.12);
}

body.wp-theme-krea3-spsr,
body.wp-theme-krea3-spsr * {
	box-sizing: border-box;
}

body.wp-theme-krea3-spsr {
	background: var(--spsr-white);
	color: var(--spsr-ink);
	font-family: var(--police, "Inter", sans-serif);
	overflow-x: clip;
}

body.wp-theme-krea3-spsr img {
	display: block;
	max-width: 100%;
}

body.wp-theme-krea3-spsr a,
body.wp-theme-krea3-spsr button,
body.wp-theme-krea3-spsr input {
	font: inherit;
}

body.wp-theme-krea3-spsr .largeur92 {
	float: none !important;
	width: calc(100% - (2 * var(--spsr-gutter))) !important;
	max-width: var(--spsr-content);
	margin-inline: auto !important;
}

body.wp-theme-krea3-spsr [hidden] {
	display: none !important;
}

body.wp-theme-krea3-spsr .clearer {
	display: none !important;
}

/* Header commun. */
body.wp-theme-krea3-spsr #header {
	position: absolute !important;
	inset: 0 0 auto !important;
	z-index: 1000;
	height: var(--spsr-header-height) !important;
	min-height: 0 !important;
	background: rgba(255, 255, 255, 0.97) !important;
	border: 0 !important;
	box-shadow: 0 1px 0 rgba(18, 51, 59, 0.1);
	transform: none !important;
	transition: box-shadow 180ms ease;
}

body.wp-theme-krea3-spsr:not(.home) {
	padding-top: var(--spsr-header-compact) !important;
}

body.wp-theme-krea3-spsr:not(.home) #header,
body.wp-theme-krea3-spsr #header.menu-reduit,
body.wp-theme-krea3-spsr.menu-open #header,
body.wp-theme-krea3-spsr.menu-open-desktop #header {
	position: fixed !important;
	top: 0 !important;
	height: var(--spsr-header-compact) !important;
	box-shadow: 0 10px 30px rgba(18, 51, 59, 0.1);
}

body.wp-theme-krea3-spsr #header > .largeur92 {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between;
	gap: 28px;
	height: 100% !important;
}

body.wp-theme-krea3-spsr #header #logo {
	position: static !important;
	display: flex !important;
	align-items: center;
	flex: 0 0 auto;
	width: min(190px, 20vw) !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 10px 0 !important;
	background: transparent !important;
}

body.wp-theme-krea3-spsr #header #logo img {
	width: 100% !important;
	height: 100% !important;
	max-height: 68px;
	object-fit: contain;
	object-position: left center;
}

body.wp-theme-krea3-spsr #header.menu-reduit #logo img,
body.wp-theme-krea3-spsr:not(.home) #header #logo img {
	max-height: 54px;
}

body.wp-theme-krea3-spsr #menu-principal {
	position: static !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end;
	align-self: stretch;
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #nav {
	display: flex;
	align-items: stretch;
	align-self: stretch;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.wp-theme-krea3-spsr #nav > li {
	display: flex;
	align-items: stretch;
	float: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border-left: 1px solid rgba(18, 51, 59, 0.1);
}

body.wp-theme-krea3-spsr #nav > li:last-child {
	border-right: 1px solid rgba(18, 51, 59, 0.1);
}

body.wp-theme-krea3-spsr #nav > li > button,
body.wp-theme-krea3-spsr #nav > li > a {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: auto !important;
	margin: 0 !important;
	padding: 0 clamp(15px, 1.7vw, 28px) !important;
	color: var(--spsr-ink) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-size: clamp(0.82rem, 1vw, 0.98rem) !important;
	font-weight: 750 !important;
	line-height: 1.15 !important;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
}

body.wp-theme-krea3-spsr #nav > li > button::after,
body.wp-theme-krea3-spsr #nav > li > a::after {
	position: absolute;
	inset: auto 20px 0;
	height: 4px;
	content: "";
	background: var(--spsr-secondary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 180ms ease;
}

body.wp-theme-krea3-spsr #nav > li > button:hover::after,
body.wp-theme-krea3-spsr #nav > li > button:focus-visible::after,
body.wp-theme-krea3-spsr #nav > li > button[aria-expanded="true"]::after,
body.wp-theme-krea3-spsr #nav > li > a:hover::after,
body.wp-theme-krea3-spsr #nav > li > a:focus-visible::after {
	transform: scaleX(1);
}

body.wp-theme-krea3-spsr #nav button:focus-visible,
body.wp-theme-krea3-spsr #nav a:focus-visible,
body.wp-theme-krea3-spsr .toggleMenu:focus-visible {
	outline: 3px solid #f2bc55 !important;
	outline-offset: -3px;
}

body.wp-theme-krea3-spsr .toggleMenu {
	display: none;
}

/* Mega-menu plein ecran : compact en haut, scrollable si le contenu est long. */
@media screen and (min-width: 1218px) {
	body.wp-theme-krea3-spsr.menu-open-desktop {
		overflow: hidden;
	}

	body.wp-theme-krea3-spsr #nav > li > ul {
		position: fixed !important;
		z-index: 1010;
		top: var(--krea3-menu-header-bottom, var(--spsr-header-compact)) !important;
		left: 0 !important;
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-content: start;
		gap: clamp(22px, 3vw, 48px);
		width: 100vw !important;
		height: calc(100dvh - var(--krea3-menu-header-bottom, var(--spsr-header-compact))) !important;
		max-height: none !important;
		margin: 0 !important;
		padding: clamp(70px, 8vh, 105px) max(var(--spsr-gutter), calc((100vw - var(--spsr-content)) / 2)) 48px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		background: #fff !important;
		box-shadow: inset 0 1px 0 var(--spsr-line), 0 30px 60px rgba(18, 51, 59, 0.14);
		list-style: none;
	}

	body.wp-theme-krea3-spsr.menu-open-desktop #nav > li > ul {
		top: var(--krea3-menu-header-bottom, var(--spsr-header-compact)) !important;
	}

	body.wp-theme-krea3-spsr #nav > li > ul > li:not(.krea3-mega-close-item) {
		position: relative !important;
		display: block !important;
		float: none !important;
		min-width: 0;
		min-height: 76px !important;
		height: auto !important;
		margin: 0 !important;
		padding: 18px 0 20px !important;
		border: 0 !important;
		border-top: 1px solid var(--spsr-line) !important;
		background: transparent !important;
	}

	body.wp-theme-krea3-spsr #nav > li > ul > li:not(.krea3-mega-close-item)::before {
		position: absolute;
		top: -2px;
		left: 0;
		width: 54px;
		height: 3px;
		content: "";
		background: var(--spsr-secondary);
	}

	body.wp-theme-krea3-spsr #nav > li > ul > li > a,
	body.wp-theme-krea3-spsr #nav > li > ul > li > button {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		color: var(--spsr-ink) !important;
		background: transparent !important;
		border: 0 !important;
		font-size: clamp(1rem, 1.35vw, 1.35rem) !important;
		font-weight: 750 !important;
		line-height: 1.25 !important;
		text-align: left !important;
		text-decoration: none !important;
		cursor: pointer;
	}

	body.wp-theme-krea3-spsr #nav > li > ul > li > a:hover,
	body.wp-theme-krea3-spsr #nav > li > ul > li > a:focus-visible,
	body.wp-theme-krea3-spsr #nav > li > ul > li > button:hover,
	body.wp-theme-krea3-spsr #nav > li > ul > li > button:focus-visible {
		color: var(--spsr-secondary) !important;
	}

	body.wp-theme-krea3-spsr #nav > li > ul > li > ul {
		position: static !important;
		display: grid !important;
		gap: 8px;
		width: 100% !important;
		height: auto !important;
		margin: 14px 0 0 !important;
		padding: 0 0 0 16px !important;
		background: transparent !important;
		box-shadow: none !important;
		list-style: none;
	}

	body.wp-theme-krea3-spsr #nav > li > ul > li > ul > li {
		float: none !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	body.wp-theme-krea3-spsr #nav > li > ul > li > ul a {
		display: inline-flex !important;
		align-items: center;
		min-height: 32px;
		padding: 3px 0 !important;
		color: var(--spsr-muted) !important;
		font-size: 0.98rem !important;
		font-weight: 550 !important;
		line-height: 1.35 !important;
		text-decoration: none !important;
	}

	body.wp-theme-krea3-spsr #nav > li > ul > li > ul a:hover,
	body.wp-theme-krea3-spsr #nav > li > ul > li > ul a:focus-visible {
		color: var(--spsr-primary) !important;
		text-decoration: underline !important;
		text-underline-offset: 4px;
	}

	body.wp-theme-krea3-spsr #nav .krea3-mega-close-item {
		position: absolute !important;
		top: 18px;
		right: max(var(--spsr-gutter), calc((100vw - var(--spsr-content)) / 2));
		display: block !important;
		width: 48px !important;
		height: 48px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	body.wp-theme-krea3-spsr #nav .krea3-mega-close {
		display: grid !important;
		place-items: center;
		width: 48px !important;
		height: 48px !important;
		padding: 0 !important;
		color: #fff !important;
		background: var(--spsr-primary) !important;
		border: 0 !important;
		border-radius: 50% !important;
		font-size: 2rem !important;
		line-height: 1 !important;
		cursor: pointer;
	}
}

/* Diaporama et recherche d'accueil. */
body.wp-theme-krea3-spsr #diapo-accueil {
	position: relative !important;
	z-index: 1;
	width: 100% !important;
	height: clamp(520px, 52vw, 720px) !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: var(--spsr-ink);
}

body.wp-theme-krea3-spsr #diapo-accueil::after {
	position: absolute;
	z-index: 2;
	inset: 0;
	content: "";
	pointer-events: none;
	background: linear-gradient(90deg, rgba(8, 37, 45, 0.76) 0%, rgba(8, 37, 45, 0.36) 48%, rgba(8, 37, 45, 0.08) 78%);
}

body.wp-theme-krea3-spsr #diapo-accueil .rslides,
body.wp-theme-krea3-spsr #diapo-accueil .rslides li,
body.wp-theme-krea3-spsr #diapo-accueil .rslides img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #diapo-accueil .rslides img {
	object-fit: cover;
	object-position: center;
}

body.wp-theme-krea3-spsr #diapo-texte {
	position: absolute !important;
	z-index: 4;
	top: 54% !important;
	left: max(var(--spsr-gutter), calc((100vw - var(--spsr-content)) / 2)) !important;
	width: min(650px, calc(100% - (2 * var(--spsr-gutter)))) !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	background: transparent !important;
	transform: translateY(-42%);
	text-align: left !important;
}

body.wp-theme-krea3-spsr #h1accueil {
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: clamp(3rem, 6vw, 6.4rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.05em;
	line-height: 0.95 !important;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
}

body.wp-theme-krea3-spsr #diapo-texte > span {
	display: block !important;
	max-width: 540px;
	margin: 0 0 30px !important;
	color: #fff !important;
	font-size: clamp(1.05rem, 1.8vw, 1.4rem) !important;
	font-weight: 500;
	line-height: 1.45 !important;
}

body.wp-theme-krea3-spsr #recherche_site {
	position: static !important;
	display: block !important;
	width: min(590px, 100%) !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	list-style: none;
}

body.wp-theme-krea3-spsr #recherche_site li,
body.wp-theme-krea3-spsr #recherche_site form,
body.wp-theme-krea3-spsr #recherche_site form > div {
	position: static !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #recherche_site form > div {
	display: flex !important;
	align-items: stretch;
	min-height: 60px;
	padding: 6px !important;
	background: #fff !important;
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
}

body.wp-theme-krea3-spsr #s-diaporama {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	color: var(--spsr-ink) !important;
	background: #fff !important;
	border: 0 !important;
	font-size: 1rem !important;
}

body.wp-theme-krea3-spsr #searchsubmit-diaporama {
	flex: 0 0 auto;
	width: auto !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 24px !important;
	color: #fff !important;
	background: var(--spsr-primary) !important;
	border: 0 !important;
	border-radius: 5px !important;
	font-size: 0.9rem !important;
	font-weight: 750 !important;
	text-transform: uppercase;
	cursor: pointer;
}

body.wp-theme-krea3-spsr #searchsubmit-diaporama:hover,
body.wp-theme-krea3-spsr #searchsubmit-diaporama:focus-visible {
	background: var(--spsr-secondary) !important;
}

body.wp-theme-krea3-spsr #liens-reseaux {
	position: absolute !important;
	z-index: 5;
	right: max(var(--spsr-gutter), calc((100vw - var(--spsr-content)) / 2)) !important;
	bottom: 26px !important;
	left: auto !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.wp-theme-krea3-spsr #liens-reseaux ul {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.wp-theme-krea3-spsr #liens-reseaux li {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #liens-reseaux a {
	display: grid !important;
	place-items: center;
	width: 42px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	background: rgba(18, 51, 59, 0.74) !important;
	border: 1px solid rgba(255, 255, 255, 0.7) !important;
	border-radius: 50% !important;
	text-decoration: none !important;
}

body.wp-theme-krea3-spsr #liens-reseaux a:hover,
body.wp-theme-krea3-spsr #liens-reseaux a:focus-visible {
	background: var(--spsr-secondary) !important;
}

body.wp-theme-krea3-spsr #liens-reseaux i,
body.wp-theme-krea3-spsr #liens-reseaux svg {
	display: block;
	width: 17px !important;
	height: 17px !important;
	margin: auto !important;
	font-size: 17px !important;
	line-height: 1 !important;
}

/* Acces rapides : une ligne stable, sans rail lateral ni debordement. */
body.wp-theme-krea3-spsr #volet_clos {
	position: relative !important;
	z-index: 10;
	inset: auto !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	background: #fff !important;
	border: 0 !important;
}

body.wp-theme-krea3-spsr #volet {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	border: 0 !important;
	transform: none !important;
}

body.wp-theme-krea3-spsr #volet .acces-rapides-toggle,
body.wp-theme-krea3-spsr #volet .spsr-acces-logo,
body.wp-theme-krea3-spsr #volet > #logo {
	display: none !important;
}

body.wp-theme-krea3-spsr #acces-rapides {
	position: static !important;
	display: block !important;
	width: calc(100% - (2 * var(--spsr-gutter))) !important;
	max-width: var(--spsr-content);
	height: auto !important;
	margin: 0 auto !important;
	padding: 0 !important;
	overflow: visible !important;
	background: #fff !important;
	border: 0 !important;
}

body.wp-theme-krea3-spsr #acces-rapides ul {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.wp-theme-krea3-spsr #acces-rapides li {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border-left: 1px solid var(--spsr-line);
}

body.wp-theme-krea3-spsr #acces-rapides li:last-child {
	border-right: 1px solid var(--spsr-line);
}

body.wp-theme-krea3-spsr #acces-rapides a {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100% !important;
	min-height: 148px !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 22px 16px !important;
	color: var(--spsr-ink) !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-align: center;
	text-decoration: none !important;
	transition: color 160ms ease, background 160ms ease;
}

body.wp-theme-krea3-spsr #acces-rapides a:hover,
body.wp-theme-krea3-spsr #acces-rapides a:focus-visible {
	color: #fff !important;
	background: var(--spsr-primary) !important;
}

body.wp-theme-krea3-spsr #acces-rapides i,
body.wp-theme-krea3-spsr #acces-rapides svg {
	display: block;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	font-size: 30px !important;
	line-height: 1 !important;
}

body.wp-theme-krea3-spsr #acces-rapides a span,
body.wp-theme-krea3-spsr #acces-rapides a i,
body.wp-theme-krea3-spsr #acces-rapides a svg {
	display: block !important;
	color: inherit !important;
	fill: currentColor !important;
}

body.wp-theme-krea3-spsr #acces-rapides ul li a,
body.wp-theme-krea3-spsr #acces-rapides ul li a span,
body.wp-theme-krea3-spsr #acces-rapides ul li a i,
body.wp-theme-krea3-spsr #acces-rapides ul li a svg {
	color: var(--spsr-ink) !important;
}

body.wp-theme-krea3-spsr #acces-rapides ul li a:hover,
body.wp-theme-krea3-spsr #acces-rapides ul li a:focus-visible,
body.wp-theme-krea3-spsr #acces-rapides ul li a:hover span,
body.wp-theme-krea3-spsr #acces-rapides ul li a:focus-visible span,
body.wp-theme-krea3-spsr #acces-rapides ul li a:hover i,
body.wp-theme-krea3-spsr #acces-rapides ul li a:focus-visible i,
body.wp-theme-krea3-spsr #acces-rapides ul li a:hover svg,
body.wp-theme-krea3-spsr #acces-rapides ul li a:focus-visible svg {
	color: #fff !important;
}

/* Titres communs des sections d'accueil. */
body.wp-theme-krea3-spsr #main-accueil {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

body.wp-theme-krea3-spsr .spsr-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 36px;
	margin: 0 0 clamp(34px, 5vw, 64px);
}

body.wp-theme-krea3-spsr .spsr-section-heading > div {
	min-width: 0;
}

body.wp-theme-krea3-spsr .spsr-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 14px;
	color: var(--spsr-secondary);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.wp-theme-krea3-spsr .spsr-eyebrow::before {
	width: 42px;
	height: 3px;
	content: "";
	background: #dc6545;
}

body.wp-theme-krea3-spsr .spsr-section-heading h2 {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--spsr-ink) !important;
	font-size: clamp(2.65rem, 5.3vw, 5.3rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.055em;
	line-height: 0.98 !important;
}

body.wp-theme-krea3-spsr .spsr-section-heading p {
	max-width: 650px;
	margin: 18px 0 0 !important;
	color: var(--spsr-muted) !important;
	font-size: 1.04rem !important;
	line-height: 1.55 !important;
}

body.wp-theme-krea3-spsr .spsr-section-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex: 0 0 auto;
	min-height: 52px;
	margin: 0 !important;
	padding: 13px 20px !important;
	color: var(--spsr-primary) !important;
	background: transparent !important;
	border: 2px solid var(--spsr-primary) !important;
	border-radius: 4px !important;
	font-size: 0.92rem !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	white-space: nowrap;
}

body.wp-theme-krea3-spsr .spsr-section-link:hover,
body.wp-theme-krea3-spsr .spsr-section-link:focus-visible {
	color: #fff !important;
	background: var(--spsr-primary) !important;
}

/* Agenda : cartes illustrees, image entiere sur fond de carte. */
body.wp-theme-krea3-spsr #ligne1 {
	position: relative !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: clamp(72px, 8vw, 118px) 0 !important;
	overflow: hidden !important;
	background: var(--spsr-pale) !important;
}

body.wp-theme-krea3-spsr #ligne1::after {
	position: absolute;
	right: -120px;
	bottom: -170px;
	width: 420px;
	height: 420px;
	content: "";
	background: var(--spsr-primary);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	opacity: 0.055;
	transform: rotate(24deg);
}

body.wp-theme-krea3-spsr #ligne1::before {
	display: none !important;
	content: none !important;
	border: 0 !important;
}

body.wp-theme-krea3-spsr #ligne1 > .largeur92,
body.wp-theme-krea3-spsr #ligne1 .spsr-agenda {
	position: relative;
	z-index: 1;
	display: block !important;
	height: auto !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #ligne1 > .largeur92::before,
body.wp-theme-krea3-spsr #ligne1 > .largeur92::after,
body.wp-theme-krea3-spsr #ligne1 .spsr-agenda::before,
body.wp-theme-krea3-spsr #ligne1 .spsr-agenda::after {
	display: none !important;
	content: none !important;
}

body.wp-theme-krea3-spsr .spsr-agenda-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: clamp(20px, 2.4vw, 34px);
	width: 100% !important;
}

body.wp-theme-krea3-spsr .spsr-agenda-card {
	position: relative;
	display: flex !important;
	flex-direction: column;
	min-width: 0;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	color: var(--spsr-ink) !important;
	background: #fff !important;
	border: 1px solid #fff !important;
	border-radius: 7px !important;
	box-shadow: 0 14px 36px rgba(18, 51, 59, 0.08);
	text-decoration: none !important;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

body.wp-theme-krea3-spsr .spsr-agenda-card:hover,
body.wp-theme-krea3-spsr .spsr-agenda-card:focus-visible {
	transform: translateY(-6px);
	box-shadow: var(--spsr-shadow);
}

body.wp-theme-krea3-spsr .spsr-agenda-card .agenda-img {
	display: grid !important;
	place-items: center;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: #fff !important;
	border: 12px solid #fff !important;
}

body.wp-theme-krea3-spsr .spsr-agenda-card .agenda-img img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: center;
}

body.wp-theme-krea3-spsr .spsr-agenda-card .agenda-texte {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 25px 26px 28px !important;
	background: #fff !important;
}

body.wp-theme-krea3-spsr .spsr-agenda-card .date-manif {
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	width: auto !important;
	height: auto !important;
	margin: 0 0 17px !important;
	padding: 0 !important;
	color: var(--spsr-secondary) !important;
	background: transparent !important;
	font-size: 0.76rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

body.wp-theme-krea3-spsr .spsr-agenda-card .jour_date,
body.wp-theme-krea3-spsr .spsr-agenda-card .jour-manif,
body.wp-theme-krea3-spsr .spsr-agenda-card .mois-manif,
body.wp-theme-krea3-spsr .spsr-agenda-card .annee-manif,
body.wp-theme-krea3-spsr .spsr-agenda-card .au_date {
	display: inline !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	background: transparent !important;
	font: inherit !important;
}

body.wp-theme-krea3-spsr .spsr-agenda-card .titre-agenda {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--spsr-ink) !important;
	font-size: clamp(1.12rem, 1.65vw, 1.48rem) !important;
	font-weight: 750 !important;
	line-height: 1.25 !important;
}

body.wp-theme-krea3-spsr .spsr-agenda-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 24px;
	color: var(--spsr-primary);
	font-size: 0.84rem;
	font-weight: 800;
}

/* Actualites : une carte forte et deux cartes secondaires, toutes lisibles. */
body.wp-theme-krea3-spsr #ligne2 {
	position: relative !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: clamp(72px, 8vw, 118px) 0 !important;
	overflow: hidden !important;
	background: #fff !important;
}

body.wp-theme-krea3-spsr #content-ligne2 {
	display: block !important;
	height: auto !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr .spsr-news-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.75fr);
	grid-template-rows: repeat(2, minmax(245px, 1fr));
	gap: clamp(18px, 2vw, 28px);
	width: 100%;
	min-height: 580px;
}

body.wp-theme-krea3-spsr .spsr-news-card {
	position: relative;
	display: block !important;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	color: #fff !important;
	background: var(--spsr-ink) !important;
	border: 0 !important;
	border-radius: 7px !important;
	text-decoration: none !important;
	isolation: isolate;
}

body.wp-theme-krea3-spsr .spsr-news-card--featured {
	grid-row: 1 / span 2;
}

body.wp-theme-krea3-spsr .spsr-news-card__media,
body.wp-theme-krea3-spsr .spsr-news-card__media img,
body.wp-theme-krea3-spsr .spsr-news-card__overlay {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr .spsr-news-card__media img {
	object-fit: cover;
	object-position: center;
	transition: transform 450ms ease;
}

body.wp-theme-krea3-spsr .spsr-news-card__overlay {
	z-index: 1;
	background: linear-gradient(180deg, rgba(9, 34, 42, 0.02) 18%, rgba(9, 34, 42, 0.9) 100%);
}

body.wp-theme-krea3-spsr .spsr-news-card--featured .spsr-news-card__overlay {
	background: linear-gradient(90deg, rgba(9, 34, 42, 0.88) 0%, rgba(9, 34, 42, 0.46) 52%, rgba(9, 34, 42, 0.12) 100%);
}

body.wp-theme-krea3-spsr .spsr-news-card__body {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: auto !important;
	margin: 0 !important;
	padding: clamp(22px, 3vw, 38px) !important;
}

body.wp-theme-krea3-spsr .spsr-news-card--featured .spsr-news-card__body {
	top: 0;
	right: auto;
	justify-content: flex-end;
	width: min(64%, 560px) !important;
}

body.wp-theme-krea3-spsr .spsr-news-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px 14px;
	margin-bottom: 13px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.wp-theme-krea3-spsr .spsr-news-card__category {
	padding-bottom: 4px;
	border-bottom: 2px solid #f2bc55;
}

body.wp-theme-krea3-spsr .spsr-news-card__title {
	display: block;
	color: #fff;
	font-size: clamp(1.15rem, 1.8vw, 1.62rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

body.wp-theme-krea3-spsr .spsr-news-card--featured .spsr-news-card__title {
	font-size: clamp(1.7rem, 3.4vw, 3rem);
}

body.wp-theme-krea3-spsr .spsr-news-card__excerpt {
	display: -webkit-box;
	max-width: 520px;
	margin-top: 16px;
	overflow: hidden;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.98rem;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body.wp-theme-krea3-spsr .spsr-news-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	color: #fff;
	font-size: 0.8rem;
	font-weight: 800;
}

body.wp-theme-krea3-spsr .spsr-news-card:hover .spsr-news-card__media img,
body.wp-theme-krea3-spsr .spsr-news-card:focus-visible .spsr-news-card__media img {
	transform: scale(1.045);
}

/* Carte de la commune. */
body.wp-theme-krea3-spsr #ligne-carte {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: clamp(72px, 8vw, 118px) 0 !important;
	background: var(--spsr-sand) !important;
}

body.wp-theme-krea3-spsr #ligne-carte > .largeur92 {
	display: grid !important;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.7fr);
	align-items: stretch;
	min-height: 470px;
	padding: 0 !important;
	overflow: hidden;
	background: #fff;
	border-radius: 8px;
	box-shadow: var(--spsr-shadow);
}

body.wp-theme-krea3-spsr #carte-interactive {
	display: block !important;
	grid-column: 1;
	width: 100% !important;
	height: 100% !important;
	min-height: 470px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.wp-theme-krea3-spsr #ligne-carte .texte-carte {
	position: static !important;
	display: flex !important;
	grid-column: 2;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: clamp(34px, 5vw, 68px) !important;
	color: #fff !important;
	background: var(--spsr-primary) !important;
	transform: none !important;
	text-align: left !important;
}

body.wp-theme-krea3-spsr #ligne-carte .texte-carte > i {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin: 0 0 24px;
	color: var(--spsr-primary);
	background: #fff;
	border-radius: 50%;
	font-size: 24px;
}

body.wp-theme-krea3-spsr #ligne-carte .titre-carte {
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: clamp(2rem, 3.6vw, 3.6rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.04em;
	line-height: 1 !important;
}

body.wp-theme-krea3-spsr #ligne-carte .texte-carte p {
	margin: 0 0 28px !important;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 1rem !important;
	line-height: 1.55 !important;
}

body.wp-theme-krea3-spsr #ligne-carte .btn-carte {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0 !important;
	padding: 12px 18px !important;
	color: var(--spsr-primary) !important;
	background: #fff !important;
	border: 2px solid #fff !important;
	border-radius: 4px !important;
	font-size: 0.86rem !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-transform: none !important;
}

body.wp-theme-krea3-spsr #ligne-carte .btn-carte:hover,
body.wp-theme-krea3-spsr #ligne-carte .btn-carte:focus-visible {
	color: #fff !important;
	background: transparent !important;
}

/* Projets et kiosque. */
body.wp-theme-krea3-spsr #ligne3 {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: clamp(72px, 8vw, 118px) 0 !important;
	background: #fff !important;
}

body.wp-theme-krea3-spsr #ligne3 > .largeur92 {
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
	gap: clamp(28px, 4vw, 64px);
	align-items: stretch;
	height: auto !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #gauche-ligne3,
body.wp-theme-krea3-spsr #droite-ligne3 {
	position: static !important;
	display: block !important;
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #content-gauche-ligne3 {
	display: flex !important;
	flex-direction: column;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 0 30px !important;
	overflow: hidden;
	background: var(--spsr-pale) !important;
	border-radius: 8px;
}

body.wp-theme-krea3-spsr #img-ligne3 {
	position: relative !important;
	width: 100% !important;
	height: clamp(300px, 34vw, 480px) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}

body.wp-theme-krea3-spsr #img-ligne3 > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

body.wp-theme-krea3-spsr #img-ligne3::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, transparent 35%, rgba(9, 34, 42, 0.82));
}

body.wp-theme-krea3-spsr #img-ligne3 .titre-ligne3 {
	position: absolute !important;
	z-index: 1;
	right: 0;
	bottom: 0;
	left: 0;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 32px !important;
	color: #fff !important;
	background: transparent !important;
}

body.wp-theme-krea3-spsr #img-ligne3 .titre-ligne3 h2 {
	margin: 0 0 5px !important;
	color: #fff !important;
	font-size: clamp(2rem, 3.5vw, 3.5rem) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

body.wp-theme-krea3-spsr #content-gauche-ligne3 > p,
body.wp-theme-krea3-spsr #content-gauche-ligne3 > a {
	margin-right: 32px !important;
	margin-left: 32px !important;
}

body.wp-theme-krea3-spsr #content-gauche-ligne3 > p {
	margin-top: 28px !important;
	color: var(--spsr-muted) !important;
	line-height: 1.55 !important;
}

body.wp-theme-krea3-spsr #content-gauche-ligne3 > a {
	align-self: flex-start;
	margin-top: auto !important;
	padding-top: 18px !important;
	color: var(--spsr-primary) !important;
	font-weight: 800 !important;
}

body.wp-theme-krea3-spsr #droite-ligne3 {
	display: grid !important;
	grid-template-columns: minmax(120px, 0.85fr) minmax(0, 1.15fr);
	align-items: center;
	overflow: hidden;
	background: var(--spsr-primary) !important;
	border-radius: 8px;
}

body.wp-theme-krea3-spsr #img-kiosque {
	position: static !important;
	display: grid !important;
	place-items: center;
	width: auto !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 30px 0 30px 30px !important;
}

body.wp-theme-krea3-spsr #img-kiosque img {
	width: 100% !important;
	height: auto !important;
	max-height: 420px;
	object-fit: contain;
	filter: drop-shadow(0 18px 20px rgba(0, 0, 0, 0.24));
}

body.wp-theme-krea3-spsr #texte-kiosque {
	position: static !important;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 38px 34px !important;
	color: #fff !important;
	background: transparent !important;
}

body.wp-theme-krea3-spsr #texte-kiosque h2 {
	margin: 0 0 20px !important;
	color: #fff !important;
	font-size: clamp(1.8rem, 3vw, 3.1rem) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

body.wp-theme-krea3-spsr #texte-ligne3,
body.wp-theme-krea3-spsr #texte-ligne3 a,
body.wp-theme-krea3-spsr #btn-kiosque {
	color: #fff !important;
}

body.wp-theme-krea3-spsr #texte-ligne3 {
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.45 !important;
}

body.wp-theme-krea3-spsr #texte-ligne3 a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	margin: 8px 8px 0 0 !important;
	padding: 9px 12px !important;
	color: var(--spsr-primary) !important;
	background: #fff !important;
	border: 2px solid #fff !important;
	border-radius: 3px !important;
	font-size: 0.75rem !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
}

body.wp-theme-krea3-spsr #btn-kiosque {
	display: inline-flex !important;
	width: auto !important;
	height: auto !important;
	margin: 28px 0 0 !important;
	padding: 12px 16px !important;
	background: transparent !important;
	border: 2px solid #fff !important;
	border-radius: 4px !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

body.wp-theme-krea3-spsr #btn-kiosque span {
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	background: transparent !important;
	font: inherit !important;
}

/* Pages interieures. */
body.wp-theme-krea3-spsr #image-header-page {
	position: relative !important;
	width: 100% !important;
	height: clamp(190px, 23vw, 300px) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: var(--spsr-ink);
}

body.wp-theme-krea3-spsr #image-header-page::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(9, 34, 42, 0.5), rgba(9, 34, 42, 0.08));
}

body.wp-theme-krea3-spsr #image-header-page img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
}

body.wp-theme-krea3-spsr #main-page {
	width: 100% !important;
	margin: 0 !important;
	padding: clamp(48px, 6vw, 82px) 0 !important;
	background: #fff !important;
}

body.wp-theme-krea3-spsr #main-page #la-page {
	display: grid !important;
	grid-template-columns: minmax(230px, 0.27fr) minmax(0, 1fr);
	gap: clamp(34px, 5vw, 72px);
	align-items: start;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #main-page #gauche,
body.wp-theme-krea3-spsr #main-page #content,
body.wp-theme-krea3-spsr #main-page #content_large {
	position: static !important;
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #main-page #content_large {
	grid-column: 1 / -1;
}

body.wp-theme-krea3-spsr #main-page h1 {
	margin: 0 0 34px !important;
	color: var(--spsr-ink) !important;
	font-size: clamp(2.2rem, 5vw, 4.4rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.045em;
	line-height: 1 !important;
}

/* Footer : icones centrees et jamais fixes au viewport. */
body.wp-theme-krea3-spsr #liens-reseaux-footer {
	position: static !important;
	inset: auto !important;
	z-index: auto !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--spsr-primary) !important;
	border: 0 !important;
}

body.wp-theme-krea3-spsr #liens-reseaux-footer > .largeur92 {
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #liens-reseaux-footer ul {
	display: flex !important;
	align-items: stretch;
	justify-content: center;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.wp-theme-krea3-spsr #liens-reseaux-footer li {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border-left: 1px solid rgba(255, 255, 255, 0.18);
}

body.wp-theme-krea3-spsr #liens-reseaux-footer li:last-child {
	border-right: 1px solid rgba(255, 255, 255, 0.18);
}

body.wp-theme-krea3-spsr #liens-reseaux-footer a {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 116px !important;
	min-height: 94px !important;
	margin: 0 !important;
	padding: 14px 18px !important;
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
}

body.wp-theme-krea3-spsr #liens-reseaux-footer a:hover,
body.wp-theme-krea3-spsr #liens-reseaux-footer a:focus-visible {
	background: rgba(255, 255, 255, 0.12) !important;
}

body.wp-theme-krea3-spsr #liens-reseaux-footer i,
body.wp-theme-krea3-spsr #liens-reseaux-footer svg {
	display: block;
	width: 22px !important;
	height: 22px !important;
	margin: 0 auto !important;
	font-size: 22px !important;
	line-height: 1 !important;
}

body.wp-theme-krea3-spsr #content-footer {
	position: static !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 46px 0 !important;
	color: rgba(255, 255, 255, 0.84) !important;
	background: var(--spsr-ink) !important;
	border: 0 !important;
}

body.wp-theme-krea3-spsr #content-footer > .largeur92 {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
	height: auto !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #coordonnees {
	position: static !important;
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 18px;
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #logo-footer {
	display: flex !important;
	align-items: center;
	width: 145px !important;
	height: 58px !important;
	margin: 0 12px 0 0 !important;
	padding: 6px 10px !important;
	background: #fff !important;
	border-radius: 4px;
}

body.wp-theme-krea3-spsr #logo-footer img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
}

body.wp-theme-krea3-spsr #content-footer a,
body.wp-theme-krea3-spsr #content-footer span {
	color: inherit !important;
}

body.wp-theme-krea3-spsr #contact-footer {
	padding: 4px 0 !important;
	font-weight: 750 !important;
}

body.wp-theme-krea3-spsr #menu_footer {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px 24px;
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.wp-theme-krea3-spsr #menu_footer li {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spsr #menu_footer a {
	font-size: 0.8rem !important;
	text-underline-offset: 4px;
}

/* Tablettes. */
@media screen and (max-width: 1024px) {
	body.wp-theme-krea3-spsr .spsr-agenda-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.wp-theme-krea3-spsr .spsr-agenda-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		width: calc(50% - 10px);
		justify-self: center;
	}

	body.wp-theme-krea3-spsr .spsr-news-grid {
		grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
	}

	body.wp-theme-krea3-spsr #ligne-carte > .largeur92,
	body.wp-theme-krea3-spsr #ligne3 > .largeur92 {
		grid-template-columns: 1fr;
	}

	body.wp-theme-krea3-spsr #carte-interactive,
	body.wp-theme-krea3-spsr #ligne-carte .texte-carte {
		grid-column: 1;
	}

	body.wp-theme-krea3-spsr #ligne-carte .texte-carte {
		align-items: center;
		text-align: center !important;
	}

	body.wp-theme-krea3-spsr #droite-ligne3 {
		min-height: 430px;
	}

	body.wp-theme-krea3-spsr #main-page #la-page {
		display: block !important;
	}
}

/* Menu mobile et accueil mobile. */
@media screen and (max-width: 1217px) {
	:root {
		--spsr-header-height: 74px;
		--spsr-header-compact: 74px;
	}

	body.wp-theme-krea3-spsr #header,
	body.wp-theme-krea3-spsr #header.menu-reduit {
		height: var(--spsr-header-compact) !important;
	}

	body.wp-theme-krea3-spsr #header > .largeur92 {
		width: calc(100% - 32px) !important;
		gap: 14px;
	}

	body.wp-theme-krea3-spsr #header #logo {
		width: min(156px, 56vw) !important;
		padding: 8px 0 !important;
	}

	body.wp-theme-krea3-spsr #header #logo img,
	body.wp-theme-krea3-spsr #header.menu-reduit #logo img {
		max-height: 54px;
	}

	body.wp-theme-krea3-spsr #menu-principal {
		position: static !important;
		display: flex !important;
		align-items: center !important;
		margin-left: auto !important;
	}

	body.wp-theme-krea3-spsr .toggleMenu {
		position: relative !important;
		display: grid !important;
		place-items: center;
		width: 48px !important;
		height: 48px !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #fff !important;
		background: var(--spsr-primary) !important;
		border: 0 !important;
		border-radius: 50% !important;
		cursor: pointer;
	}

	body.wp-theme-krea3-spsr .toggleMenu > span[aria-hidden="true"]::before {
		content: "\2630";
		font-size: 24px;
		line-height: 1;
	}

	body.wp-theme-krea3-spsr .toggleMenu.active > span[aria-hidden="true"]::before {
		content: "\00d7";
		font-size: 34px;
		font-weight: 300;
	}

	body.wp-theme-krea3-spsr.menu-open {
		overflow: hidden;
	}

	body.wp-theme-krea3-spsr #nav {
		position: fixed !important;
		z-index: 1005;
		top: var(--krea3-menu-header-bottom, var(--spsr-header-compact)) !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		display: block !important;
		width: 100% !important;
		height: calc(100dvh - var(--krea3-menu-header-bottom, var(--spsr-header-compact))) !important;
		margin: 0 !important;
		padding: 18px 20px 50px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		background: #fff !important;
		box-shadow: inset 0 1px 0 var(--spsr-line);
	}

	body.wp-theme-krea3-spsr.menu-open #nav {
		top: var(--krea3-menu-header-bottom, var(--spsr-header-compact)) !important;
	}

	body.wp-theme-krea3-spsr #nav > li {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-bottom: 1px solid var(--spsr-line) !important;
	}

	body.wp-theme-krea3-spsr #nav > li > button,
	body.wp-theme-krea3-spsr #nav > li > a {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		width: 100% !important;
		min-height: 58px;
		padding: 14px 4px !important;
		font-size: 1rem !important;
		text-align: left !important;
	}

	body.wp-theme-krea3-spsr #nav > li > button::after,
	body.wp-theme-krea3-spsr #nav > li > a::after {
		display: none;
	}

	body.wp-theme-krea3-spsr #nav li > ul {
		position: static !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 0 14px 18px !important;
		background: transparent !important;
		box-shadow: none !important;
		list-style: none;
	}

	body.wp-theme-krea3-spsr #nav li > ul > li {
		display: block !important;
		float: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	body.wp-theme-krea3-spsr #nav li > ul a,
	body.wp-theme-krea3-spsr #nav li > ul button {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		width: 100% !important;
		min-height: 44px;
		margin: 0 !important;
		padding: 9px 4px !important;
		color: var(--spsr-ink) !important;
		background: transparent !important;
		border: 0 !important;
		font-size: 0.94rem !important;
		font-weight: 650 !important;
		line-height: 1.3 !important;
		text-align: left !important;
		text-decoration: none !important;
	}

	body.wp-theme-krea3-spsr #nav li > ul ul {
		padding-left: 16px !important;
		border-left: 2px solid var(--spsr-pale);
	}
}

@media screen and (max-width: 767px) {
	body.wp-theme-krea3-spsr {
		--spsr-gutter: 18px;
	}

	body.wp-theme-krea3-spsr #diapo-accueil {
		height: 440px !important;
		padding-top: var(--spsr-header-compact) !important;
	}

	body.wp-theme-krea3-spsr #diapo-accueil::after {
		background: linear-gradient(180deg, rgba(8, 37, 45, 0.2) 20%, rgba(8, 37, 45, 0.78) 100%);
	}

	body.wp-theme-krea3-spsr #diapo-texte {
		top: auto !important;
		right: var(--spsr-gutter) !important;
		bottom: 70px !important;
		left: var(--spsr-gutter) !important;
		width: auto !important;
		transform: none;
	}

	body.wp-theme-krea3-spsr #h1accueil {
		font-size: clamp(2.55rem, 13vw, 4.2rem) !important;
	}

	body.wp-theme-krea3-spsr #diapo-texte > span {
		margin-bottom: 20px !important;
		font-size: 1rem !important;
	}

	body.wp-theme-krea3-spsr #recherche_site form > div {
		min-height: 54px;
		padding: 5px !important;
	}

	body.wp-theme-krea3-spsr #s-diaporama,
	body.wp-theme-krea3-spsr #searchsubmit-diaporama {
		height: 44px !important;
	}

	body.wp-theme-krea3-spsr #searchsubmit-diaporama {
		width: auto !important;
		padding: 0 13px !important;
		font-size: 0.72rem !important;
	}

	body.wp-theme-krea3-spsr #liens-reseaux {
		display: none !important;
	}

	body.wp-theme-krea3-spsr #acces-rapides {
		width: 100% !important;
		max-width: none;
		overflow-x: auto !important;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
	}

	body.wp-theme-krea3-spsr #acces-rapides ul {
		grid-template-columns: none;
		grid-auto-columns: minmax(145px, 43vw);
		grid-auto-flow: column;
		width: max-content !important;
		min-width: 100%;
	}

	body.wp-theme-krea3-spsr #acces-rapides li {
		scroll-snap-align: start;
	}

	body.wp-theme-krea3-spsr #acces-rapides a {
		min-height: 116px !important;
		padding: 18px 12px !important;
		font-size: 0.82rem !important;
	}

	body.wp-theme-krea3-spsr #acces-rapides i,
	body.wp-theme-krea3-spsr #acces-rapides svg {
		width: 25px !important;
		height: 25px !important;
		font-size: 25px !important;
	}

	body.wp-theme-krea3-spsr .spsr-section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 24px;
		margin-bottom: 32px;
	}

	body.wp-theme-krea3-spsr .spsr-section-heading h2 {
		font-size: clamp(2.35rem, 12vw, 3.5rem) !important;
	}

	body.wp-theme-krea3-spsr .spsr-section-heading p {
		margin-top: 12px !important;
		font-size: 0.95rem !important;
	}

	body.wp-theme-krea3-spsr .spsr-section-link {
		min-height: 48px;
		padding: 11px 16px !important;
	}

	body.wp-theme-krea3-spsr #ligne1,
	body.wp-theme-krea3-spsr #ligne2,
	body.wp-theme-krea3-spsr #ligne-carte,
	body.wp-theme-krea3-spsr #ligne3 {
		padding: 58px 0 !important;
	}

	body.wp-theme-krea3-spsr .spsr-agenda-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	body.wp-theme-krea3-spsr .spsr-agenda-card:last-child:nth-child(odd) {
		grid-column: auto;
		width: 100%;
	}

	body.wp-theme-krea3-spsr .spsr-agenda-card .agenda-img {
		aspect-ratio: 4 / 3;
		border-width: 9px !important;
	}

	body.wp-theme-krea3-spsr .spsr-agenda-card .agenda-texte {
		padding: 22px !important;
	}

	body.wp-theme-krea3-spsr .spsr-news-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		gap: 18px;
		min-height: 0;
	}

	body.wp-theme-krea3-spsr .spsr-news-card,
	body.wp-theme-krea3-spsr .spsr-news-card--featured {
		grid-row: auto;
		min-height: 260px;
	}

	body.wp-theme-krea3-spsr .spsr-news-card--featured {
		min-height: 390px;
	}

	body.wp-theme-krea3-spsr .spsr-news-card--featured .spsr-news-card__overlay {
		background: linear-gradient(180deg, rgba(9, 34, 42, 0.06) 15%, rgba(9, 34, 42, 0.92) 100%);
	}

	body.wp-theme-krea3-spsr .spsr-news-card--featured .spsr-news-card__body {
		top: auto;
		right: 0;
		width: auto !important;
	}

	body.wp-theme-krea3-spsr .spsr-news-card__body {
		padding: 22px !important;
	}

	body.wp-theme-krea3-spsr .spsr-news-card--featured .spsr-news-card__title {
		font-size: 1.7rem;
	}

	body.wp-theme-krea3-spsr #ligne-carte > .largeur92 {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	body.wp-theme-krea3-spsr #carte-interactive {
		min-height: 360px;
	}

	body.wp-theme-krea3-spsr #ligne-carte .texte-carte {
		align-items: flex-start;
		padding: 32px 24px !important;
		text-align: left !important;
	}

	body.wp-theme-krea3-spsr #droite-ligne3 {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	body.wp-theme-krea3-spsr #img-kiosque {
		height: 280px !important;
		padding: 26px 26px 0 !important;
	}

	body.wp-theme-krea3-spsr #img-kiosque img {
		width: auto !important;
		height: 100% !important;
	}

	body.wp-theme-krea3-spsr #texte-kiosque {
		align-items: center;
		padding: 30px 24px 36px !important;
		text-align: center;
	}

	body.wp-theme-krea3-spsr #image-header-page {
		height: 190px !important;
	}

	body.wp-theme-krea3-spsr #main-page {
		padding: 42px 0 58px !important;
	}

	body.wp-theme-krea3-spsr #liens-reseaux-footer > .largeur92 {
		width: 100% !important;
	}

	body.wp-theme-krea3-spsr #liens-reseaux-footer ul {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.wp-theme-krea3-spsr #liens-reseaux-footer a {
		min-width: 0 !important;
		min-height: 82px !important;
		padding: 12px 6px !important;
		font-size: 0.66rem !important;
	}

	body.wp-theme-krea3-spsr #content-footer {
		padding: 38px 0 !important;
	}

	body.wp-theme-krea3-spsr #content-footer > .largeur92,
	body.wp-theme-krea3-spsr #coordonnees,
	body.wp-theme-krea3-spsr #menu_footer {
		align-items: flex-start;
		flex-direction: column;
		justify-content: flex-start;
	}

	body.wp-theme-krea3-spsr #logo-footer {
		margin: 0 0 10px !important;
	}
}

/* Neutralisation des anciens selecteurs mobiles tres specifiques de SPSR. */
@media screen and (max-width: 1217px) {
	html body.wp-theme-krea3-spsr.menu-open #header #menu-principal #nav,
	html body.wp-theme-krea3-spsr.menu-open-at-top #header #menu-principal #nav,
	html body.wp-theme-krea3-spsr.menu-open-scrolled #header #menu-principal #nav {
		position: fixed !important;
		top: var(--spsr-header-compact) !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		display: block !important;
		width: 100% !important;
		height: calc(100dvh - var(--spsr-header-compact)) !important;
		margin: 0 !important;
		padding: 18px 20px 50px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		color: var(--spsr-ink) !important;
		background: #fff !important;
		box-shadow: inset 0 1px 0 var(--spsr-line) !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr #header #menu-principal #nav li,
	html body.wp-theme-krea3-spsr #header #menu-principal #nav li:hover,
	html body.wp-theme-krea3-spsr #header #menu-principal #nav li.hover {
		color: var(--spsr-ink) !important;
		background: transparent !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr #header #menu-principal #nav li > a,
	html body.wp-theme-krea3-spsr #header #menu-principal #nav li > button {
		color: var(--spsr-ink) !important;
		background: transparent !important;
		font-family: var(--police, "Inter", sans-serif) !important;
		font-style: normal !important;
		letter-spacing: 0 !important;
		text-indent: 0 !important;
		text-shadow: none !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr.menu-open #header,
	html body.wp-theme-krea3-spsr.menu-open-at-top #header,
	html body.wp-theme-krea3-spsr.menu-open-scrolled #header {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		left: 0 !important;
		display: block !important;
		height: var(--spsr-header-compact) !important;
		opacity: 1 !important;
		visibility: visible !important;
		background: #fff !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr.menu-open #header > .largeur92,
	html body.wp-theme-krea3-spsr.menu-open-at-top #header > .largeur92,
	html body.wp-theme-krea3-spsr.menu-open-scrolled #header > .largeur92 {
		display: flex !important;
		align-items: center !important;
		height: 100% !important;
	}

	html body.wp-theme-krea3-spsr.menu-open #header #logo,
	html body.wp-theme-krea3-spsr.menu-open-at-top #header #logo,
	html body.wp-theme-krea3-spsr.menu-open-scrolled #header #logo {
		position: static !important;
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr.menu-open #nav,
	html body.wp-theme-krea3-spsr.menu-open-at-top #nav,
	html body.wp-theme-krea3-spsr.menu-open-scrolled #nav {
		position: fixed !important;
		top: var(--spsr-header-compact) !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		display: block !important;
		width: 100% !important;
		height: calc(100dvh - var(--spsr-header-compact)) !important;
		padding: 18px 20px 50px !important;
		overflow-y: auto !important;
		color: var(--spsr-ink) !important;
		background: #fff !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr #nav li,
	html body.wp-theme-krea3-spsr #nav li:hover,
	html body.wp-theme-krea3-spsr #nav li.hover {
		color: var(--spsr-ink) !important;
		background: transparent !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr #nav li > a,
	html body.wp-theme-krea3-spsr #nav li > button {
		position: relative !important;
		color: var(--spsr-ink) !important;
		background: transparent !important;
		font-family: var(--police, "Inter", sans-serif) !important;
		font-style: normal !important;
		letter-spacing: 0 !important;
		text-indent: 0 !important;
		text-shadow: none !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr #nav li > a::before,
	html body.wp-theme-krea3-spsr #nav li > a::after,
	html body.wp-theme-krea3-spsr #nav li > button::before {
		display: none !important;
		content: none !important;
	}

	html body.wp-theme-krea3-spsr #nav li.has_children > button::after {
		position: static !important;
		display: block !important;
		flex: 0 0 auto;
		width: auto !important;
		height: auto !important;
		margin-left: 14px;
		content: "+" !important;
		color: var(--spsr-secondary) !important;
		background: transparent !important;
		font-size: 1.35rem;
		font-weight: 500;
		line-height: 1;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr #nav li.has_children > button[aria-expanded="true"]::after {
		content: "\2212" !important;
	}
}

@media screen and (max-width: 767px) {
	html body.wp-theme-krea3-spsr #diapo-texte h1#h1accueil {
		position: static !important;
		display: block !important;
		width: auto !important;
		height: auto !important;
		margin: 0 0 10px !important;
		padding: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		color: #fff !important;
		background: transparent !important;
		font-size: clamp(2.55rem, 13vw, 4.2rem) !important;
		font-weight: 800 !important;
		letter-spacing: -0.05em !important;
		line-height: 0.95 !important;
		text-indent: 0 !important;
		text-shadow: 0 4px 24px rgba(0, 0, 0, 0.18) !important;
		transform: none !important;
	}

	html body.wp-theme-krea3-spsr #volet_clos,
	html body.wp-theme-krea3-spsr #volet,
	html body.wp-theme-krea3-spsr #volet #acces-rapides {
		background: #fff !important;
	}

	html body.wp-theme-krea3-spsr #volet #acces-rapides ul {
		display: flex !important;
		width: max-content !important;
		min-width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	html body.wp-theme-krea3-spsr #volet #acces-rapides ul li {
		display: block !important;
		flex: 0 0 150px !important;
		width: 150px !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	html body.wp-theme-krea3-spsr #volet #acces-rapides ul li a span {
		position: static !important;
		display: block !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		opacity: 1 !important;
		visibility: visible !important;
		clip: auto !important;
		clip-path: none !important;
		color: var(--spsr-ink) !important;
		font-size: 0.82rem !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		text-indent: 0 !important;
		transform: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.wp-theme-krea3-spsr *,
	body.wp-theme-krea3-spsr *::before,
	body.wp-theme-krea3-spsr *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
