/*
 * Spartan 2026
 * Socle de mise en page reconstruit a partir du comportement valide d'Abril.
 * La feuille est chargee apres les styles historiques et le menu RGAA.
 */

body.wp-theme-krea3-spartan {
	--spartan-gutter: clamp(24px, 5vw, 80px);
	--spartan-content: 1440px;
	--spartan-header-height: 104px;
	--spartan-header-reduced-height: 72px;
}

body.wp-theme-krea3-spartan *,
body.wp-theme-krea3-spartan *::before,
body.wp-theme-krea3-spartan *::after {
	box-sizing: border-box;
}

body.wp-theme-krea3-spartan .largeur92 {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--spartan-content) !important;
	width: calc(100% - (2 * var(--spartan-gutter))) !important;
}

/* Header : meme squelette stable qu'Abril, avec l'identite Spartan. */
body.wp-theme-krea3-spartan #header.site-header {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	box-shadow: 0 1px 0 rgba(29, 50, 77, 0.12) !important;
	display: flex !important;
	height: var(--spartan-header-height) !important;
	min-height: var(--spartan-header-height) !important;
	position: relative !important;
	top: auto !important;
	width: 100% !important;
	z-index: 30000 !important;
}

body.wp-theme-krea3-spartan #header.site-header.menu-reduit,
body.wp-theme-krea3-spartan.menu-open-desktop #header.site-header {
	height: var(--spartan-header-reduced-height) !important;
	left: 0 !important;
	min-height: var(--spartan-header-reduced-height) !important;
	position: fixed !important;
	right: 0 !important;
	top: 0 !important;
	transition: none !important;
}

body.wp-theme-krea3-spartan.menu-open-desktop #header.site-header {
	transition: none !important;
}

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

body.wp-theme-krea3-spartan:not(.home) #header.site-header {
	height: var(--spartan-header-reduced-height) !important;
	left: 0 !important;
	min-height: var(--spartan-header-reduced-height) !important;
	position: fixed !important;
	right: 0 !important;
	top: 0 !important;
}

body.wp-theme-krea3-spartan #header #logo {
	align-items: center !important;
	display: flex !important;
	flex: 0 0 auto !important;
	height: 100% !important;
	left: var(--spartan-gutter) !important;
	margin: 0 !important;
	padding: 0 !important;
	position: absolute !important;
	top: 0 !important;
	transform: none !important;
	width: clamp(158px, 16vw, 210px) !important;
	z-index: 30030 !important;
}

body.wp-theme-krea3-spartan #header #logo img {
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	max-height: 58px !important;
	max-width: 100% !important;
	object-fit: contain !important;
	padding: 0 !important;
	width: auto !important;
}

body.wp-theme-krea3-spartan #header.menu-reduit #logo img,
body.wp-theme-krea3-spartan.menu-open-desktop #header #logo img {
	max-height: 42px !important;
}

body.wp-theme-krea3-spartan #menu-principal,
body.wp-theme-krea3-spartan #header #menu {
	float: none !important;
	height: 100% !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	position: static !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan #header #menu #nav {
	align-items: stretch !important;
	background: transparent !important;
	border: 0 !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	height: 100% !important;
	justify-content: flex-end !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 clamp(78px, 7vw, 104px) 0 clamp(250px, 25vw, 390px) !important;
	position: relative !important;
	top: 0 !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan #header #menu #nav > li {
	align-items: stretch !important;
	display: flex !important;
	float: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan #header #menu #nav > li > a,
body.wp-theme-krea3-spartan #header #menu #nav > li > button.menu-item {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-left: 1px solid rgba(29, 50, 77, 0.12) !important;
	border-radius: 0 !important;
	color: var(--couleur-noir, #000) !important;
	display: flex !important;
	font-family: var(--police-secondaire, Arial, sans-serif) !important;
	font-size: clamp(0.88rem, 1.15vw, 1.08rem) !important;
	font-weight: 700 !important;
	height: 100% !important;
	justify-content: center !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	min-height: 44px !important;
	padding: 0 clamp(12px, 1.55vw, 26px) !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}

body.wp-theme-krea3-spartan #header #menu #nav > li:last-child > a,
body.wp-theme-krea3-spartan #header #menu #nav > li:last-child > button.menu-item {
	border-right: 1px solid rgba(29, 50, 77, 0.12) !important;
}

body.wp-theme-krea3-spartan #header #menu #nav > li > a::before,
body.wp-theme-krea3-spartan #header #menu #nav > li > button.menu-item::before {
	background: var(--couleur-secondaire, #4e7cb0) !important;
	bottom: 0 !important;
	content: "" !important;
	height: 4px !important;
	left: 50% !important;
	position: absolute !important;
	transform: translateX(-50%) scaleX(0) !important;
	transform-origin: center !important;
	transition: transform 0.2s ease !important;
	width: calc(100% - 24px) !important;
}

body.wp-theme-krea3-spartan #header #menu #nav > li:hover > a::before,
body.wp-theme-krea3-spartan #header #menu #nav > li:hover > button.menu-item::before,
body.wp-theme-krea3-spartan #header #menu #nav > li > button.menu-item[aria-expanded="true"]::before {
	transform: translateX(-50%) scaleX(1) !important;
}

/* Recherche plein ecran : elle doit dominer le header, le menu et les cartes. */
body.wp-theme-krea3-spartan #volet_clos {
	height: 0 !important;
	inset: 0 !important;
	pointer-events: none !important;
	position: fixed !important;
	width: 100% !important;
	z-index: 2147483500 !important;
}

body.wp-theme-krea3-spartan #volet {
	background: transparent !important;
	color: var(--couleur-noir, #000) !important;
	height: 0 !important;
	inset: 0 !important;
	overflow: visible !important;
	pointer-events: none !important;
	position: fixed !important;
	transform: none !important;
	transition: none !important;
	width: 100vw !important;
	z-index: 2147483500 !important;
}

body.wp-theme-krea3-spartan #volet:target {
	transform: none !important;
}

body.wp-theme-krea3-spartan #volet_clos:target #volet {
	transform: none !important;
}

body.wp-theme-krea3-spartan #volet a.ouvrir,
body.wp-theme-krea3-spartan #volet a.fermer {
	align-items: center !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	height: 48px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	overflow: visible !important;
	padding: 0 !important;
	pointer-events: auto !important;
	position: fixed !important;
	right: max(20px, env(safe-area-inset-right, 0px)) !important;
	top: 28px !important;
	width: 48px !important;
	z-index: 2147483600 !important;
}

body.wp-theme-krea3-spartan #volet a.ouvrir {
	background: transparent !important;
	bottom: auto !important;
	color: var(--couleur-noir, #000) !important;
}

body.wp-theme-krea3-spartan:has(#header.menu-reduit) #volet a.ouvrir,
body.wp-theme-krea3-spartan.menu-open-desktop #volet a.ouvrir {
	top: 12px !important;
}

body.wp-theme-krea3-spartan #volet a.fermer {
	background: var(--couleur-principale, #1d324d) !important;
	border: 2px solid var(--couleur-principale, #1d324d) !important;
	color: var(--couleur-blanc, #fff) !important;
	display: none !important;
	top: max(22px, env(safe-area-inset-top, 0px)) !important;
}

body.wp-theme-krea3-spartan #volet:target a.fermer {
	display: inline-flex !important;
}

body.wp-theme-krea3-spartan #volet:target a.ouvrir {
	display: none !important;
}

body.wp-theme-krea3-spartan #volet a svg {
	display: block !important;
	height: 1.35rem !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 1.35rem !important;
}

body.wp-theme-krea3-spartan #volet #recherche_header {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	display: flex !important;
	height: 100vh !important;
	height: 100dvh !important;
	inset: 0 !important;
	justify-content: center !important;
	min-height: 100% !important;
	overflow: auto !important;
	padding: 80px var(--spartan-gutter) !important;
	pointer-events: none !important;
	position: fixed !important;
	text-align: center !important;
	transform: translateY(-105%) !important;
	transition: transform 0.32s ease !important;
	width: 100% !important;
	z-index: 2147483500 !important;
}

body.wp-theme-krea3-spartan #volet:target #recherche_header {
	pointer-events: auto !important;
	transform: translateY(0) !important;
}

body.wp-theme-krea3-spartan #volet_clos:target #volet #recherche_header {
	pointer-events: none !important;
	transform: translateY(-105%) !important;
}

body.wp-theme-krea3-spartan #volet #content-recherche-drawer {
	display: block !important;
	max-width: 760px !important;
	padding: 0 !important;
	text-transform: none !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan #volet #recherche_header h2 {
	color: var(--couleur-principale, #1d324d) !important;
	font-family: var(--police, sans-serif) !important;
	font-size: clamp(2rem, 5vw, 4.5rem) !important;
	line-height: 1.05 !important;
	margin: 0 0 42px !important;
	padding: 0 !important;
	position: relative !important;
	text-transform: uppercase !important;
}

body.wp-theme-krea3-spartan #volet #recherche_header h2::before {
	display: none !important;
}

body.wp-theme-krea3-spartan #volet #recherche_site-drawer {
	background: transparent !important;
	border: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan #volet #searchform-drawer > div {
	align-items: stretch !important;
	display: flex !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan #volet #searchform-drawer input[type="text"] {
	background: var(--couleur-blanc, #fff) !important;
	border: 2px solid var(--couleur-principale, #1d324d) !important;
	border-radius: 0 !important;
	color: var(--couleur-noir, #000) !important;
	flex: 1 1 auto !important;
	font-family: var(--police-secondaire, Arial, sans-serif) !important;
	font-size: 1.15rem !important;
	height: 64px !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 20px !important;
	width: auto !important;
}

body.wp-theme-krea3-spartan #volet #searchform-drawer input[type="submit"] {
	background-color: var(--couleur-principale, #1d324d) !important;
	background-position: center !important;
	background-size: 27px 27px !important;
	border: 2px solid var(--couleur-principale, #1d324d) !important;
	border-radius: 0 !important;
	flex: 0 0 64px !important;
	height: 64px !important;
	margin: 0 !important;
	width: 64px !important;
}

/* Hero d'accueil : hauteur reservee, image recadree, contenu lisible. */
body.wp-theme-krea3-spartan.home #diapo-accueil {
	background: var(--couleur-principale, #1d324d) !important;
	height: clamp(500px, 41vw, 640px) !important;
	margin: 0 !important;
	min-height: 500px !important;
	overflow: hidden !important;
	position: relative !important;
	z-index: 0 !important;
}

body.wp-theme-krea3-spartan.home #diapo-accueil > .rslides,
body.wp-theme-krea3-spartan.home #diapo-accueil > .rslides > li,
body.wp-theme-krea3-spartan.home #diapo-accueil > .rslides > li > picture {
	display: block !important;
	height: 100% !important;
	margin: 0 !important;
	min-height: 100% !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #diapo-accueil > .rslides > li > picture > img {
	display: block !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #diapo-accueil::after {
	background: linear-gradient(90deg, rgba(10, 22, 37, 0.72) 0%, rgba(10, 22, 37, 0.16) 55%, rgba(10, 22, 37, 0) 78%) !important;
	content: "" !important;
	inset: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	z-index: 3 !important;
}

body.wp-theme-krea3-spartan.home #content-recherche {
	bottom: clamp(42px, 7vw, 90px) !important;
	left: var(--spartan-gutter) !important;
	margin: 0 !important;
	max-width: 560px !important;
	padding: 0 !important;
	right: auto !important;
	top: auto !important;
	width: min(560px, calc(100% - (2 * var(--spartan-gutter)))) !important;
	z-index: 5 !important;
}

body.wp-theme-krea3-spartan.home #content-recherche > .largeur92 {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #h1accueil {
	color: var(--couleur-blanc, #fff) !important;
	font-family: var(--police, sans-serif) !important;
	font-size: clamp(2.35rem, 4.25vw, 4.6rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.025em !important;
	line-height: 0.98 !important;
	margin: 0 0 26px !important;
	padding: 0 !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

body.wp-theme-krea3-spartan.home #content-recherche #recherche_site {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 2px solid var(--couleur-blanc, #fff) !important;
	border-radius: 999px !important;
	height: 56px !important;
	margin: 0 !important;
	max-width: 520px !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #content-recherche #searchform > div {
	align-items: center !important;
	display: flex !important;
	height: 100% !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #content-recherche #searchform input[type="text"] {
	background: transparent !important;
	border: 0 !important;
	color: var(--couleur-blanc, #fff) !important;
	flex: 1 1 auto !important;
	font-family: var(--police-secondaire, Arial, sans-serif) !important;
	font-size: 1rem !important;
	height: 52px !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 22px !important;
	width: auto !important;
}

body.wp-theme-krea3-spartan.home #content-recherche #searchform input[type="text"]::placeholder {
	color: rgba(255, 255, 255, 0.82) !important;
	opacity: 1 !important;
}

body.wp-theme-krea3-spartan.home #content-recherche #searchform input[type="submit"] {
	background-color: transparent !important;
	background-position: center !important;
	background-size: 25px 25px !important;
	border: 0 !important;
	border-radius: 50% !important;
	flex: 0 0 52px !important;
	height: 52px !important;
	margin: 0 2px 0 0 !important;
	padding: 0 !important;
	width: 52px !important;
}

/* Les icones FA restent centrees, qu'elles soient encore <i> ou deja converties en SVG. */
body.wp-theme-krea3-spartan .liens-reseaux,
body.wp-theme-krea3-spartan .liens-reseaux ul,
body.wp-theme-krea3-spartan .liens-reseaux li {
	align-items: center !important;
	display: flex !important;
}

body.wp-theme-krea3-spartan .liens-reseaux {
	float: none !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan .liens-reseaux ul {
	gap: 10px !important;
	justify-content: center !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

body.wp-theme-krea3-spartan .liens-reseaux li {
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan .liens-reseaux li a {
	align-items: center !important;
	border: 0 !important;
	box-shadow: none !important;
	display: inline-flex !important;
	font-size: 1.15rem !important;
	height: 42px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
	text-decoration: none !important;
	width: 42px !important;
}

body.wp-theme-krea3-spartan .liens-reseaux li a::before,
body.wp-theme-krea3-spartan .liens-reseaux li a::after {
	content: none !important;
	display: none !important;
}

body.wp-theme-krea3-spartan .liens-reseaux li a > i,
body.wp-theme-krea3-spartan .liens-reseaux li a > svg,
body.wp-theme-krea3-spartan .liens-reseaux li a > .svg-inline--fa {
	display: block !important;
	font-size: 1em !important;
	height: 1em !important;
	line-height: 1 !important;
	margin: 0 !important;
	max-height: 1em !important;
	max-width: 1em !important;
	padding: 0 !important;
	transform: none !important;
	width: 1em !important;
}

body.wp-theme-krea3-spartan.home #content-recherche .liens-reseaux {
	justify-content: flex-start !important;
	margin-top: 18px !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #content-recherche .liens-reseaux li a {
	background: rgba(29, 50, 77, 0.76) !important;
	color: var(--couleur-blanc, #fff) !important;
}

/* Accueil : respirations et hierarchie, sur la trame des blocs Abril. */
body.wp-theme-krea3-spartan.home #main-accueil {
	background: var(--couleur-blanc, #fff) !important;
	position: relative !important;
	z-index: 1 !important;
}

body.wp-theme-krea3-spartan.home #ligne1 {
	background: linear-gradient(180deg, rgba(78, 124, 176, 0.24) 0%, rgba(78, 124, 176, 0.07) 100%) !important;
	margin: 0 !important;
	padding: clamp(64px, 7vw, 104px) 0 clamp(72px, 8vw, 120px) !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne1 > .largeur92 {
	display: block !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .titre-ligne1 {
	align-items: center !important;
	display: flex !important;
	gap: 28px !important;
	justify-content: space-between !important;
	margin: 0 0 clamp(32px, 4vw, 54px) !important;
	padding: 0 !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne1 h2,
body.wp-theme-krea3-spartan.home #ligne2 h2 {
	font-family: var(--police, sans-serif) !important;
	font-size: clamp(2.25rem, 4.3vw, 4.8rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.02 !important;
	text-transform: uppercase !important;
}

body.wp-theme-krea3-spartan.home #ligne1 h2 {
	color: var(--couleur-principale, #1d324d) !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .titre-ligne1 > a,
body.wp-theme-krea3-spartan.home #ligne2 .gauche-ligne2 > a {
	align-items: center !important;
	background: var(--couleur-principale, #1d324d) !important;
	border: 2px solid var(--couleur-principale, #1d324d) !important;
	border-radius: 999px !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire, Arial, sans-serif) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	justify-content: center !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	min-height: 48px !important;
	padding: 12px 22px !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .content-ligne1 {
	display: grid !important;
	gap: clamp(16px, 2vw, 30px) !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .content-ligne1 > a {
	background: var(--couleur-principale, #1d324d) !important;
	border: 0 !important;
	box-shadow: 0 18px 42px rgba(20, 36, 56, 0.13) !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: relative !important;
	text-decoration: none !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .content-ligne1 > a::before,
body.wp-theme-krea3-spartan.home #ligne1 .content-ligne1 > a::after {
	content: none !important;
	display: none !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .actu-img {
	aspect-ratio: 1 / 1 !important;
	display: block !important;
	height: auto !important;
	overflow: hidden !important;
	position: relative !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .actu-img::after {
	background: linear-gradient(180deg, rgba(10, 24, 41, 0.2) 0%, rgba(10, 24, 41, 0.28) 46%, rgba(10, 24, 41, 0.92) 100%) !important;
	content: "" !important;
	inset: 0 !important;
	position: absolute !important;
	z-index: 1 !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .actu-img img {
	display: block !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
	transition: transform 0.35s ease !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .content-ligne1 > a:hover .actu-img img,
body.wp-theme-krea3-spartan.home #ligne1 .content-ligne1 > a:focus .actu-img img {
	transform: scale(1.035) !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .titre-actu {
	align-items: flex-end !important;
	background: transparent !important;
	bottom: 0 !important;
	color: var(--couleur-blanc, #fff) !important;
	display: flex !important;
	font-family: var(--police, sans-serif) !important;
	font-size: clamp(1.05rem, 1.55vw, 1.4rem) !important;
	font-weight: 700 !important;
	height: auto !important;
	inset-inline: 0 !important;
	line-height: 1.12 !important;
	margin: 0 !important;
	min-height: 35% !important;
	padding: clamp(18px, 2vw, 28px) !important;
	position: absolute !important;
	text-align: left !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.72) !important;
	text-transform: uppercase !important;
	width: 100% !important;
	z-index: 3 !important;
}

body.wp-theme-krea3-spartan.home #ligne1 .titre-actu > span {
	background: transparent !important;
	color: inherit !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
}

body.wp-theme-krea3-spartan.home #ligne2 {
	background: #eef3f8 !important;
	background-image: none !important;
	display: block !important;
	margin: 0 !important;
	overflow: hidden !important;
	padding: clamp(64px, 7vw, 104px) 0 clamp(72px, 8vw, 116px) !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne2::before {
	content: none !important;
	display: none !important;
}

body.wp-theme-krea3-spartan.home #content-ligne2 {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .gauche-ligne2 {
	align-items: flex-end !important;
	background: transparent !important;
	color: var(--couleur-principale, #1d324d) !important;
	border-bottom: 1px solid rgba(29, 50, 77, 0.2) !important;
	display: flex !important;
	gap: 28px !important;
	justify-content: space-between !important;
	margin: 0 0 clamp(30px, 4vw, 48px) !important;
	min-width: 0 !important;
	padding: 0 0 28px !important;
	position: relative !important;
	text-align: left !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .gauche-ligne2 h2 {
	color: var(--couleur-principale, #1d324d) !important;
	font-size: clamp(2.15rem, 4vw, 4rem) !important;
	line-height: 0.98 !important;
	margin: 0 !important;
	max-width: 900px !important;
	padding: 0 !important;
	text-align: left !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .gauche-ligne2 > a {
	background: transparent !important;
	border-color: var(--couleur-principale, #1d324d) !important;
	border-radius: 2px !important;
	color: var(--couleur-principale, #1d324d) !important;
	flex: 0 0 auto !important;
	min-height: 46px !important;
	padding: 10px 18px !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .gauche-ligne2 > a:hover,
body.wp-theme-krea3-spartan.home #ligne2 .gauche-ligne2 > a:focus-visible {
	background: var(--couleur-principale, #1d324d) !important;
	color: var(--couleur-blanc, #fff) !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .droite-ligne2 {
	display: grid !important;
	gap: clamp(18px, 2.5vw, 34px) !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .agenda {
	background: var(--couleur-blanc, #fff) !important;
	border: 1px solid rgba(29, 50, 77, 0.14) !important;
	border-radius: 3px !important;
	box-shadow: 0 14px 34px rgba(20, 36, 56, 0.09) !important;
	color: var(--couleur-principale, #1d324d) !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: relative !important;
	text-decoration: none !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .agenda::before,
body.wp-theme-krea3-spartan.home #ligne2 .agenda::after {
	content: none !important;
	display: none !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .agenda:hover,
body.wp-theme-krea3-spartan.home #ligne2 .agenda:focus-visible {
	box-shadow: 0 20px 44px rgba(20, 36, 56, 0.16) !important;
	opacity: 1 !important;
	transform: translateY(-3px) !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .agenda-img {
	aspect-ratio: 16 / 10 !important;
	display: block !important;
	height: auto !important;
	overflow: hidden !important;
	position: relative !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .agenda-img img {
	display: block !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
	transition: transform 0.35s ease !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .agenda:hover .agenda-img img,
body.wp-theme-krea3-spartan.home #ligne2 .agenda:focus .agenda-img img {
	transform: scale(1.035) !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .date-manif {
	background: var(--couleur-principale, #1d324d) !important;
	bottom: 0 !important;
	color: var(--couleur-blanc, #fff) !important;
	display: flex !important;
	font-family: var(--police, sans-serif) !important;
	font-size: clamp(0.88rem, 1.1vw, 1.02rem) !important;
	font-weight: 700 !important;
	gap: 7px !important;
	left: 0 !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	max-width: calc(100% - 18px) !important;
	padding: 12px 16px !important;
	position: absolute !important;
	text-transform: uppercase !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .jour_date,
body.wp-theme-krea3-spartan.home #ligne2 .au_date {
	color: inherit !important;
	display: inline !important;
	font: inherit !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .agenda-texte {
	background: var(--couleur-blanc, #fff) !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	min-height: 96px !important;
	padding: 22px 22px 24px !important;
	position: static !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan.home #ligne2 .titre-agenda {
	color: var(--couleur-principale, #1d324d) !important;
	display: block !important;
	font-family: var(--police, sans-serif) !important;
	font-size: clamp(1.08rem, 1.35vw, 1.32rem) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

body.wp-theme-krea3-spartan.home .k3-home-projects-kiosk {
	margin: 0 !important;
	padding-bottom: clamp(76px, 8vw, 128px) !important;
	padding-top: clamp(76px, 8vw, 128px) !important;
}

body.wp-theme-krea3-spartan.home #main-accueil .k3-home-projects-kiosk__kiosk-content > .k3-home-projects-kiosk__archive {
	align-self: center !important;
	flex: 0 0 auto !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.035em !important;
	min-height: 42px !important;
	padding: 9px 14px !important;
	text-transform: uppercase !important;
	width: auto !important;
}

/* Footer : colonnes alignees et icones centrees. */
body.wp-theme-krea3-spartan #content-footer {
	background: var(--gris-clair, #eee) !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan #content-footer .top-footer {
	align-items: center !important;
	background: var(--couleur-principale, #1d324d) !important;
	display: flex !important;
	justify-content: center !important;
	min-height: 86px !important;
	padding: 18px var(--spartan-gutter) !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan #content-footer .top-footer .liens-reseaux li a {
	background: rgba(255, 255, 255, 0.12) !important;
	color: var(--couleur-blanc, #fff) !important;
}

body.wp-theme-krea3-spartan #content-footer > .largeur92 {
	align-items: start !important;
	display: grid !important;
	gap: clamp(36px, 6vw, 90px) !important;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr) !important;
	padding-bottom: clamp(54px, 6vw, 88px) !important;
	padding-top: clamp(54px, 6vw, 88px) !important;
}

body.wp-theme-krea3-spartan #content-footer #coordonnees {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

body.wp-theme-krea3-spartan #content-footer #coordonnees h2 {
	font-size: clamp(2rem, 3.2vw, 3.4rem) !important;
	line-height: 1 !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan #content-footer #adresse-footer {
	display: block !important;
	line-height: 1.55 !important;
	margin-bottom: 24px !important;
}

body.wp-theme-krea3-spartan #content-footer #contact-footer,
body.wp-theme-krea3-spartan #content-footer .tel-footer {
	background: var(--couleur-principale, #1d324d) !important;
	border-color: var(--couleur-principale, #1d324d) !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	font-weight: 700 !important;
	margin: 8px 14px 0 0 !important;
	text-decoration: none !important;
}

body.wp-theme-krea3-spartan #content-footer #contact-footer span {
	color: inherit !important;
}

body.wp-theme-krea3-spartan #content-footer #contact-footer:hover,
body.wp-theme-krea3-spartan #content-footer #contact-footer:focus-visible,
body.wp-theme-krea3-spartan #content-footer .tel-footer:hover,
body.wp-theme-krea3-spartan #content-footer .tel-footer:focus-visible {
	background: #10243c !important;
	border-color: #10243c !important;
	color: var(--couleur-blanc, #fff) !important;
}

body.wp-theme-krea3-spartan #content-footer #menu_footer {
	display: grid !important;
	float: none !important;
	gap: 0 !important;
	grid-template-columns: 1fr !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

body.wp-theme-krea3-spartan #content-footer #menu_footer li {
	border-bottom: 1px solid rgba(29, 50, 77, 0.18) !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wp-theme-krea3-spartan #content-footer #menu_footer li a {
	align-items: center !important;
	display: flex !important;
	min-height: 48px !important;
	padding: 10px 0 !important;
	text-align: left !important;
}

body.wp-theme-krea3-spartan #content-footer #menu_footer li:last-child a {
	gap: 9px !important;
}

body.wp-theme-krea3-spartan #content-footer #menu_footer li:last-child a img:first-child {
	height: 11px !important;
	width: 11px !important;
}

body.wp-theme-krea3-spartan #content-footer #menu_footer li:last-child a img:last-child {
	height: auto !important;
	max-width: 48px !important;
	width: 48px !important;
}

body.wp-theme-krea3-spartan #content-footer #menu_footer li:last-child a span {
	display: inline-block !important;
	font-size: 1rem !important;
	line-height: 1.2 !important;
}

/* Menu RGAA plein ecran : reduction du header puis panneau sous celui-ci. */
@media (min-width: 1218px) {
	body.wp-theme-krea3-spartan.menu-open-desktop #header #menu #nav > li > button.menu-item[aria-expanded="true"] + ul:not([hidden]) {
		align-content: start !important;
		background: var(--couleur-principale, #1d324d) !important;
		bottom: 0 !important;
		columns: auto !important;
		display: grid !important;
		gap: clamp(28px, 3vw, 54px) !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-auto-rows: min-content !important;
		height: calc(100dvh - var(--spartan-header-reduced-height)) !important;
		left: 0 !important;
		margin: 0 !important;
		max-height: calc(100dvh - var(--spartan-header-reduced-height)) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		padding: clamp(82px, 8vh, 112px) var(--spartan-gutter) clamp(54px, 7vh, 92px) !important;
		position: fixed !important;
		right: 0 !important;
		top: var(--spartan-header-reduced-height) !important;
		width: 100vw !important;
		z-index: 30020 !important;
	}

	body.wp-theme-krea3-spartan.menu-open-desktop #header #nav > li > ul > li {
		align-self: start !important;
		border: 0 !important;
		display: block !important;
		height: auto !important;
		margin: 0 !important;
		min-width: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	body.wp-theme-krea3-spartan.menu-open-desktop #header #nav > li > ul > li > a,
	body.wp-theme-krea3-spartan.menu-open-desktop #header #nav > li > ul > li > button.menu-item {
		background: transparent !important;
		border: 0 !important;
		border-bottom: 2px solid rgba(255, 255, 255, 0.35) !important;
		color: var(--couleur-blanc, #fff) !important;
		display: block !important;
		font-family: var(--police, sans-serif) !important;
		font-size: clamp(1.05rem, 1.35vw, 1.35rem) !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		margin: 0 !important;
		min-height: 52px !important;
		padding: 12px 0 14px !important;
		text-align: left !important;
		text-transform: uppercase !important;
		width: 100% !important;
	}

	body.wp-theme-krea3-spartan.menu-open-desktop #header #nav > li > ul > li > ul {
		background: transparent !important;
		border: 0 !important;
		display: block !important;
		height: auto !important;
		margin: 0 !important;
		padding: 10px 0 0 !important;
		position: static !important;
		width: 100% !important;
	}

	body.wp-theme-krea3-spartan.menu-open-desktop #header #nav > li > ul > li > ul > li {
		border: 0 !important;
		display: block !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	body.wp-theme-krea3-spartan.menu-open-desktop #header #nav > li > ul > li > ul > li > a,
	body.wp-theme-krea3-spartan.menu-open-desktop #header #nav > li > ul > li > ul > li > button.menu-item {
		background: transparent !important;
		border: 0 !important;
		color: var(--couleur-blanc, #fff) !important;
		display: block !important;
		font-family: var(--police-secondaire, Arial, sans-serif) !important;
		font-size: 0.98rem !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		margin: 0 !important;
		min-height: 0 !important;
		padding: 8px 0 !important;
		text-align: left !important;
		text-transform: none !important;
		width: 100% !important;
	}

	body.wp-theme-krea3-spartan.menu-open-desktop #header #nav .krea3-mega-close {
		background: var(--couleur-blanc, #fff) !important;
		border: 2px solid var(--couleur-blanc, #fff) !important;
		border-radius: 50% !important;
		color: var(--couleur-principale, #1d324d) !important;
		font-size: 2rem !important;
		height: 54px !important;
		line-height: 1 !important;
		min-height: 54px !important;
		min-width: 54px !important;
		padding: 0 !important;
		width: 54px !important;
	}
}

@media (max-width: 1217px) {
	body.wp-theme-krea3-spartan {
		--spartan-gutter: clamp(18px, 5vw, 42px);
		--spartan-header-height: 78px;
		--spartan-header-reduced-height: 78px;
	}

	body.wp-theme-krea3-spartan #header.site-header,
	body.wp-theme-krea3-spartan #header.site-header.menu-reduit,
	body.wp-theme-krea3-spartan.menu-open #header.site-header {
		background: #fff !important;
		background-image: none !important;
		box-shadow: 0 1px 0 rgba(29, 50, 77, 0.12) !important;
		height: var(--spartan-header-height) !important;
		min-height: var(--spartan-header-height) !important;
	}

	body.wp-theme-krea3-spartan #header.site-header.menu-reduit,
	body.wp-theme-krea3-spartan.menu-open #header.site-header {
		left: 0 !important;
		position: fixed !important;
		right: 0 !important;
		top: 0 !important;
	}

	body.wp-theme-krea3-spartan #header #logo {
		display: flex !important;
		left: var(--spartan-gutter) !important;
		opacity: 1 !important;
		visibility: visible !important;
		width: clamp(126px, 38vw, 165px) !important;
	}

	body.wp-theme-krea3-spartan #header #logo img,
	body.wp-theme-krea3-spartan #header.menu-reduit #logo img {
		max-height: 42px !important;
	}

	body.wp-theme-krea3-spartan #header button.toggleMenu {
		align-items: center !important;
		background-color: var(--couleur-principale, #1d324d) !important;
		background-position: center !important;
		border: 0 !important;
		border-radius: 50% !important;
		display: inline-flex !important;
		height: 48px !important;
		justify-content: center !important;
		margin: 0 !important;
		min-height: 48px !important;
		min-width: 48px !important;
		padding: 0 !important;
		position: absolute !important;
		right: 16px !important;
		top: 15px !important;
		width: 48px !important;
		z-index: 30100 !important;
	}

	body.wp-theme-krea3-spartan.menu-open #header.site-header button.toggleMenu.active {
		background: var(--couleur-principale, #1d324d) !important;
		border: 0 !important;
		border-radius: 50% !important;
		height: 48px !important;
		min-height: 48px !important;
		right: 16px !important;
		top: 15px !important;
		width: 48px !important;
	}

	body.wp-theme-krea3-spartan #volet a.ouvrir {
		right: 74px !important;
		top: 15px !important;
	}

	body.wp-theme-krea3-spartan #header #menu #nav {
		display: none !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav:not([hidden]),
	html body.wp-theme-krea3-spartan.menu-open #menu-principal #nav:not([hidden]) {
		background: var(--couleur-principale, #1d324d) !important;
		bottom: 0 !important;
		display: block !important;
		height: calc(100vh - var(--spartan-header-height)) !important;
		height: calc(100dvh - var(--spartan-header-height)) !important;
		left: 0 !important;
		margin: 0 !important;
		max-height: calc(100dvh - var(--spartan-header-height)) !important;
		min-height: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		padding: 24px var(--spartan-gutter) calc(42px + env(safe-area-inset-bottom, 0px)) !important;
		position: fixed !important;
		right: 0 !important;
		top: var(--spartan-header-height) !important;
		width: 100vw !important;
		z-index: 30080 !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #logo {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
		z-index: 30110 !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav > li {
		align-items: normal !important;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.28) !important;
		display: block !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav > li > a,
	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav > li > button.menu-item {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		color: var(--couleur-blanc, #fff) !important;
		display: flex !important;
		font-size: clamp(1.2rem, 5vw, 1.55rem) !important;
		height: auto !important;
		justify-content: space-between !important;
		min-height: 58px !important;
		padding: 16px 46px 16px 0 !important;
		position: relative !important;
		text-align: left !important;
		white-space: normal !important;
		width: 100% !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav > li > a::before,
	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav > li > button.menu-item::before {
		display: none !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav > li > button.menu-item::after,
	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li li > button.menu-item::after {
		align-items: center !important;
		background: none !important;
		color: var(--couleur-blanc, #fff) !important;
		content: "+" !important;
		display: inline-flex !important;
		font-size: 1.65rem !important;
		font-weight: 900 !important;
		height: auto !important;
		justify-content: center !important;
		line-height: 1 !important;
		position: absolute !important;
		right: 0 !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		width: 32px !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav button.menu-item[aria-expanded="true"]::after {
		content: "\2212" !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li > ul {
		background: transparent !important;
		border: 0 !important;
		border-left: 3px solid var(--couleur-secondaire, #4e7cb0) !important;
		box-shadow: none !important;
		height: auto !important;
		margin: 0 0 18px !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow: visible !important;
		padding: 5px 0 5px 14px !important;
		position: static !important;
		width: 100% !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li > ul[hidden] {
		display: none !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li > ul:not([hidden]) {
		display: block !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li li {
		background: transparent !important;
		border: 0 !important;
		display: block !important;
		height: auto !important;
		margin: 0 0 7px !important;
		min-height: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li li > a,
	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li li > button.menu-item {
		align-items: center !important;
		background: rgba(255, 255, 255, 0.08) !important;
		border: 1px solid rgba(255, 255, 255, 0.22) !important;
		border-radius: 6px !important;
		color: var(--couleur-blanc, #fff) !important;
		display: flex !important;
		font-size: 1rem !important;
		height: auto !important;
		justify-content: space-between !important;
		line-height: 1.25 !important;
		margin: 0 !important;
		min-height: 50px !important;
		padding: 12px 42px 12px 14px !important;
		position: relative !important;
		text-align: left !important;
		text-transform: none !important;
		width: 100% !important;
	}

	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li li li > a,
	html body.wp-theme-krea3-spartan.menu-open #header #menu #nav li li li > button.menu-item {
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
		border-radius: 0 !important;
		min-height: 44px !important;
		padding: 10px 0 !important;
	}

	body.wp-theme-krea3-spartan.home #diapo-accueil {
		height: clamp(470px, 125vw, 600px) !important;
		min-height: 470px !important;
	}

	body.wp-theme-krea3-spartan.home #diapo-accueil #content-recherche {
		display: block !important;
	}

	body.wp-theme-krea3-spartan.home #diapo-accueil #h1accueil {
		display: block !important;
	}

	body.wp-theme-krea3-spartan.home #diapo-accueil #content-recherche .liens-reseaux {
		display: flex !important;
	}

	body.wp-theme-krea3-spartan.home #content-recherche {
		bottom: 28px !important;
		left: var(--spartan-gutter) !important;
	}

	body.wp-theme-krea3-spartan.home #ligne1 .content-ligne1 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.wp-theme-krea3-spartan.home #content-ligne2 {
		display: block !important;
	}

	body.wp-theme-krea3-spartan.home #ligne2 .droite-ligne2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 680px) {
	body.wp-theme-krea3-spartan.home #h1accueil {
		font-size: clamp(2.15rem, 12vw, 3.5rem) !important;
	}

	body.wp-theme-krea3-spartan.home #ligne1 .titre-ligne1 {
		align-items: flex-start !important;
		flex-direction: column !important;
	}

	body.wp-theme-krea3-spartan.home #ligne2 .gauche-ligne2 {
		align-items: flex-start !important;
		flex-direction: column !important;
	}

	body.wp-theme-krea3-spartan.home #ligne1 .content-ligne1,
	body.wp-theme-krea3-spartan.home #ligne2 .droite-ligne2 {
		grid-template-columns: 1fr !important;
	}

	body.wp-theme-krea3-spartan.home #ligne1 .actu-img {
		aspect-ratio: 4 / 3 !important;
	}

	body.wp-theme-krea3-spartan.home #ligne2 .agenda-img {
		aspect-ratio: 16 / 10 !important;
	}

	body.wp-theme-krea3-spartan.home #main-accueil .k3-home-projects-kiosk__kiosk-content > .k3-home-projects-kiosk__archive {
		align-self: center !important;
		width: auto !important;
	}

	body.wp-theme-krea3-spartan #content-footer > .largeur92 {
		grid-template-columns: 1fr !important;
	}

	body.wp-theme-krea3-spartan #volet #searchform-drawer input[type="text"] {
		font-size: 1rem !important;
		height: 56px !important;
	}

	body.wp-theme-krea3-spartan #volet #searchform-drawer input[type="submit"] {
		flex-basis: 56px !important;
		height: 56px !important;
		width: 56px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.wp-theme-krea3-spartan #volet,
	body.wp-theme-krea3-spartan #volet #recherche_header,
	body.wp-theme-krea3-spartan.home #ligne1 .actu-img img,
	body.wp-theme-krea3-spartan.home #ligne2 .agenda-img img {
		transition: none !important;
	}
}
