/*
 * Krea3 2027 — structural and accessibility layer.
 * Loaded after the historical Abril and fullscreen-menu styles.
 */

:root {
	--k3-ink: #102f3e;
	--k3-text: #29424e;
	--k3-primary: #145b73;
	--k3-primary-dark: #0d4356;
	--k3-secondary: #d85c3f;
	--k3-accent: #f3c969;
	--k3-surface: #f5f7f5;
	--k3-surface-strong: #e8f0ef;
	--k3-paper: #fff;
	--k3-line: #ccdadd;
	--k3-on-primary: #fff;
	--k3-on-secondary: #fff;
	--krea3-available: #2e7d32;
	--krea3-validated: #14532d;
	--krea3-pending: #8a4b08;
	--krea3-refused: #9f1d2d;
	--k3-radius-sm: 12px;
	--k3-radius: 24px;
	--k3-radius-lg: 42px;
	--k3-shadow: 0 22px 60px rgba(16, 47, 62, .11);
	--k3-shadow-hover: 0 28px 72px rgba(16, 47, 62, .17);
	--k3-max: 1540px;
	--k3-gutter: clamp(20px, 5vw, 76px);
	--k3-section-space: clamp(72px, 9vw, 138px);
	--couleur-noir: var(--k3-ink);
	--couleur-blanc: var(--k3-paper);
	--couleur-principale: var(--k3-primary);
	--couleur-secondaire: var(--k3-secondary);
	--autre-couleur-secondaire: var(--k3-accent);
	--gris-fonce: var(--k3-text);
	--gris-clair: var(--k3-line);
	--gris-tres-clair: var(--k3-surface);
	--police: "Nunito", Arial, sans-serif;
	--police-secondaire: "Nunito", Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body.krea3-theme-2027 {
	background: var(--k3-paper);
	color: var(--k3-text);
	font-family: var(--police-secondaire);
	font-size: 1rem;
	line-height: 1.62;
	margin: 0;
	overflow-x: hidden;
}

body.k3-search-open {
	overflow: hidden;
}

body.krea3-theme-2027 img {
	height: auto;
	max-width: 100%;
}

body.krea3-theme-2027 button,
body.krea3-theme-2027 input,
body.krea3-theme-2027 select,
body.krea3-theme-2027 textarea {
	font: inherit;
}

body.krea3-theme-2027 a {
	text-decoration-thickness: .1em;
	text-underline-offset: .18em;
}

body.krea3-theme-2027 :focus-visible {
	outline: 3px solid var(--k3-secondary);
	outline-offset: 4px;
}

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

body.krea3-theme-2027 .screen-reader-text,
body.krea3-theme-2027 .visually-hidden {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	display: block !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

body.krea3-theme-2027 .skip-link:focus {
	background: var(--k3-paper) !important;
	border: 3px solid var(--k3-ink) !important;
	clip: auto !important;
	clip-path: none !important;
	color: var(--k3-ink) !important;
	display: block !important;
	font-weight: 900;
	height: auto !important;
	left: 18px;
	margin: 0 !important;
	overflow: visible !important;
	padding: 12px 18px !important;
	position: fixed !important;
	top: 18px;
	white-space: normal !important;
	width: auto !important;
	z-index: 60000;
}

body.krea3-theme-2027 .largeur92,
.k3-home-shell,
.k3-home-projects-kiosk__inner {
	margin-inline: auto !important;
	max-width: var(--k3-max) !important;
	padding-inline: var(--k3-gutter) !important;
	width: 100% !important;
}

.k3-icon,
.k3-arrow {
	display: block;
	flex: 0 0 auto;
	height: 1.25em;
	width: 1.25em;
}

.k3-arrow {
	height: 1.1em;
	width: 1.1em;
}

.k3-eyebrow {
	color: var(--k3-primary);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .16em;
	line-height: 1.25;
	margin: 0 0 12px;
	text-transform: uppercase;
}

/* Header and brand ------------------------------------------------------- */

#top-header {
	background: transparent !important;
	height: 52px !important;
	left: 0 !important;
	pointer-events: none;
	position: absolute !important;
	top: 0 !important;
	width: 100% !important;
	z-index: 30012 !important;
}

#top-header > .largeur92 {
	align-items: center;
	display: flex !important;
	height: 52px;
	justify-content: flex-end;
}

#top-header .k3-utility-nav {
	pointer-events: auto;
}

#top-header ul.liens-reseaux,
#top-header .liens-reseaux {
	align-items: center !important;
	display: flex !important;
	float: none !important;
	gap: 8px;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

#top-header .liens-reseaux li {
	float: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

#top-header .liens-reseaux a,
#top-header .k3-search-toggle {
	align-items: center;
	background: var(--k3-surface) !important;
	border: 1px solid var(--k3-line) !important;
	border-radius: 999px !important;
	color: var(--k3-primary) !important;
	cursor: pointer;
	display: inline-flex !important;
	height: 40px !important;
	justify-content: center;
	margin: 0 !important;
	min-height: 40px !important;
	padding: 0 !important;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
	width: 40px !important;
}

#top-header .liens-reseaux a:hover,
#top-header .liens-reseaux a:focus-visible,
#top-header .k3-search-toggle:hover,
#top-header .k3-search-toggle:focus-visible {
	background: var(--k3-primary) !important;
	color: var(--k3-on-primary) !important;
	transform: translateY(-2px);
}

#top-header .k3-icon {
	height: 19px;
	width: 19px;
}

#header.site-header {
	background: var(--k3-paper) !important;
	border: 0 !important;
	box-shadow: 0 1px 0 var(--k3-line) !important;
	height: 140px !important;
	margin: 0 !important;
	min-height: 140px !important;
	padding: 42px 0 0 !important;
	position: relative;
	z-index: 30010;
}

#header.site-header > .largeur92 {
	align-items: center;
	display: grid !important;
	gap: clamp(30px, 4vw, 84px);
	grid-template-columns: minmax(210px, 330px) minmax(0, 1fr);
	height: 98px;
}

#logo.k3-brand {
	align-items: center;
	color: var(--k3-ink) !important;
	display: inline-flex !important;
	float: none !important;
	gap: 15px;
	height: auto !important;
	justify-self: start;
	margin: 0 !important;
	max-width: 100% !important;
	padding: 0 !important;
	position: relative !important;
	text-decoration: none !important;
	top: auto !important;
	width: auto !important;
}

.k3-brand-mark {
	align-items: flex-end;
	display: flex;
	gap: 4px;
	height: 48px;
	position: relative;
	width: 47px;
}

.k3-brand-mark span {
	background: var(--k3-primary);
	border-radius: 999px 999px 3px 3px;
	display: block;
	width: 13px;
}

.k3-brand-mark span:nth-child(1) { height: 52%; }
.k3-brand-mark span:nth-child(2) { background: var(--k3-secondary); height: 100%; }
.k3-brand-mark span:nth-child(3) { background: var(--k3-accent); height: 72%; }

.k3-brand-copy {
	display: grid;
	line-height: 1;
}

.k3-brand-kicker {
	color: var(--k3-text);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .13em;
	margin-bottom: 7px;
	text-transform: uppercase;
}

.k3-brand-name {
	color: var(--k3-ink);
	font-size: clamp(1.55rem, 2.2vw, 2.4rem);
	font-weight: 900;
	letter-spacing: -.045em;
	line-height: .92;
}

#menu-principal {
	align-self: end;
	float: none !important;
	justify-self: stretch;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

@media (min-width: 1218px) {
	#menu-principal #nav {
		align-items: stretch !important;
		display: flex !important;
		gap: clamp(4px, 1vw, 18px) !important;
		justify-content: flex-end !important;
		margin: 0 !important;
		padding: 0 !important;
		position: static !important;
		width: 100% !important;
	}

	#menu-principal #nav > li {
		border: 0 !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
		position: static !important;
		width: auto !important;
	}

	#menu-principal #nav > li > a,
	#menu-principal #nav > li > button.menu-item {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 4px solid transparent !important;
		border-radius: 0 !important;
		color: var(--k3-ink) !important;
		display: inline-flex !important;
		font-family: var(--police-secondaire) !important;
		font-size: clamp(.9rem, 1.02vw, 1.08rem) !important;
		font-weight: 900 !important;
		height: 72px !important;
		line-height: 1.15 !important;
		margin: 0 !important;
		max-width: 190px;
		padding: 16px clamp(10px, 1.05vw, 20px) 13px !important;
		text-align: center !important;
		text-decoration: none !important;
		text-transform: uppercase !important;
		width: auto !important;
	}

	#menu-principal #nav > li > button.menu-item::after {
		display: none !important;
	}

	#menu-principal #nav > li.current_page_item > a,
	#menu-principal #nav > li.current_page_ancestor > button,
	#menu-principal #nav > li > a:hover,
	#menu-principal #nav > li > a:focus-visible,
	#menu-principal #nav > li > button.menu-item:hover,
	#menu-principal #nav > li > button.menu-item:focus-visible,
	#menu-principal #nav > li > button.menu-item[aria-expanded="true"] {
		border-bottom-color: var(--k3-secondary) !important;
		color: var(--k3-primary) !important;
	}

	#menu-principal #nav > li > button[aria-expanded="true"] + ul:not([hidden]) {
		background: var(--k3-paper) !important;
		border-top: 1px solid var(--k3-line) !important;
		box-shadow: var(--k3-shadow) !important;
		top: 140px !important;
	}

	#menu-principal #nav > li > ul > li > a,
	#menu-principal #nav > li > ul > li > button.menu-item {
		border-bottom-color: var(--k3-secondary) !important;
		color: var(--k3-primary) !important;
	}

	#menu-principal #nav > li > ul > li > ul > li > a,
	#menu-principal #nav > li > ul > li > ul > li > button.menu-item,
	#menu-principal #nav .menu-see-all a {
		color: var(--k3-text) !important;
	}

	#menu-principal #nav .krea3-mega-close {
		align-items: center !important;
		background: var(--k3-ink) !important;
		border: 0 !important;
		border-radius: 999px !important;
		color: var(--k3-paper) !important;
		display: flex !important;
		font-size: 2rem !important;
		height: 56px !important;
		justify-content: center !important;
		right: var(--k3-gutter) !important;
		top: 174px !important;
		width: 56px !important;
	}

	#menu-principal #nav .krea3-mega-close:hover,
	#menu-principal #nav .krea3-mega-close:focus-visible {
		background: var(--k3-secondary) !important;
		color: var(--k3-on-secondary) !important;
	}
}

/* Search dialog --------------------------------------------------------- */

.k3-search-overlay {
	align-items: center;
	display: grid;
	inset: 0;
	justify-items: center;
	overflow: auto;
	padding: clamp(20px, 5vw, 72px);
	position: fixed;
	z-index: 50000;
}

.k3-search-backdrop {
	background: rgba(9, 27, 39, .82);
	backdrop-filter: blur(8px);
	inset: 0;
	position: absolute;
}

.k3-search-dialog {
	background: var(--k3-paper);
	border-radius: var(--k3-radius-lg);
	box-shadow: 0 34px 100px rgba(0, 0, 0, .28);
	color: var(--k3-text);
	max-width: 980px;
	padding: clamp(34px, 6vw, 82px);
	position: relative;
	width: min(100%, 980px);
	z-index: 1;
}

.k3-search-dialog__topline {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: clamp(32px, 5vw, 62px);
}

.k3-search-site {
	color: var(--k3-ink);
	font-size: 1rem;
	font-weight: 900;
}

.k3-search-close {
	align-items: center;
	background: var(--k3-ink);
	border: 2px solid var(--k3-ink);
	border-radius: 999px;
	color: var(--k3-paper);
	cursor: pointer;
	display: inline-flex;
	height: 56px;
	justify-content: center;
	padding: 0;
	width: 56px;
}

.k3-search-close:hover,
.k3-search-close:focus-visible {
	background: var(--k3-secondary);
	border-color: var(--k3-secondary);
	color: var(--k3-on-secondary);
}

.k3-search-dialog h2 {
	color: var(--k3-ink);
	font-family: var(--police);
	font-size: clamp(2.3rem, 5vw, 5.2rem);
	font-weight: 900;
	letter-spacing: -.055em;
	line-height: .98;
	margin: 0 0 clamp(34px, 5vw, 58px);
}

.k3-search-form label {
	color: var(--k3-ink);
	display: block;
	font-weight: 800;
	margin-bottom: 10px;
}

.k3-search-field {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}

.k3-search-field input {
	background: var(--k3-paper);
	border: 2px solid var(--k3-primary);
	border-radius: var(--k3-radius-sm) 0 0 var(--k3-radius-sm);
	color: var(--k3-ink);
	font-size: 1.08rem;
	min-height: 62px;
	min-width: 0;
	padding: 14px 20px;
	width: 100%;
}

.k3-search-field button {
	align-items: center;
	background: var(--k3-primary);
	border: 2px solid var(--k3-primary);
	border-radius: 0 var(--k3-radius-sm) var(--k3-radius-sm) 0;
	color: var(--k3-on-primary);
	cursor: pointer;
	display: inline-flex;
	font-weight: 900;
	gap: 14px;
	justify-content: center;
	min-height: 62px;
	padding: 14px 28px;
}

.k3-search-field button:hover,
.k3-search-field button:focus-visible {
	background: var(--k3-primary-dark);
	border-color: var(--k3-primary-dark);
}

/* Hero and quick access ------------------------------------------------- */

#diapo-accueil {
	background: var(--k3-ink) !important;
	height: clamp(470px, 61vw, 720px) !important;
	margin: 0 !important;
	overflow: hidden !important;
	position: relative !important;
}

#diapo-accueil > .largeur92 {
	height: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	position: relative !important;
	width: 100% !important;
}

#diapo-accueil .widget,
#diapo-accueil .rslides,
#diapo-accueil .rslides li,
#diapo-accueil .slides,
#diapo-accueil .slide,
#diapo-accueil .k3-hero-picture {
	height: 100% !important;
	margin: 0 !important;
	width: 100% !important;
}

#diapo-accueil img,
#diapo-accueil picture,
#diapo-accueil picture img {
	display: block !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	width: 100% !important;
}

/* The administrable Krea3 slideshow owns its aspect ratio at every breakpoint. */
body.home #diapo-accueil.krea3-diaporama-host {
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
}

body.home #diapo-accueil.krea3-diaporama-host > .largeur92,
body.home #diapo-accueil.krea3-diaporama-host .widget,
body.home #diapo-accueil.krea3-diaporama-host .krea3-diaporama,
body.home #diapo-accueil.krea3-diaporama-host .krea3-diaporama__media {
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
}

#diapo-accueil.krea3-diaporama-host::after {
	display: none;
}

#diapo-accueil.krea3-diaporama-host .krea3-diaporama__caption {
	background: color-mix(in srgb, var(--k3-ink) 88%, transparent);
	border-left: 5px solid var(--k3-accent);
	border-radius: 0 var(--k3-radius-sm) var(--k3-radius-sm) 0;
	box-shadow: 0 18px 50px rgba(8, 25, 35, .24);
	padding: clamp(20px, 3vw, 36px);
	text-shadow: none;
}

#diapo-accueil.krea3-diaporama-host .krea3-diaporama__title,
#diapo-accueil.krea3-diaporama-host .krea3-diaporama__text {
	color: #fff !important;
}

#diapo-accueil.krea3-diaporama-host .krea3-diaporama__title {
	font-family: var(--police) !important;
	font-size: clamp(2rem, 4.5vw, 4.8rem) !important;
	font-weight: 900;
	letter-spacing: -.045em;
	line-height: .98;
}

#diapo-accueil.krea3-diaporama-host .krea3-diaporama__more {
	background: var(--k3-accent);
	border-radius: 999px;
	color: var(--k3-on-accent);
	min-height: 44px;
	padding: 11px 20px;
}

#diapo-accueil.krea3-diaporama-host .swiper-button-next,
#diapo-accueil.krea3-diaporama-host .swiper-button-prev,
#diapo-accueil.krea3-diaporama-host .krea3-diaporama__autoplay {
	background: color-mix(in srgb, var(--k3-ink) 82%, transparent);
	border: 2px solid #fff;
	border-radius: 999px;
	color: #fff;
	min-height: 44px;
	min-width: 44px;
}

#diapo-accueil::after {
	background: linear-gradient(90deg, rgba(8, 25, 35, .66), rgba(8, 25, 35, .12) 65%, transparent);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 4;
}

#diapo-texte,
#diapo-accueil > .largeur92 > #h1accueil {
	bottom: clamp(38px, 7vw, 92px) !important;
	left: var(--k3-gutter) !important;
	margin: 0 !important;
	position: absolute !important;
	right: var(--k3-gutter) !important;
	top: auto !important;
	z-index: 6 !important;
}

#diapo-texte {
	display: flex;
	flex-direction: column;
	pointer-events: none;
}

#diapo-texte .k3-hero-kicker {
	color: #fff;
	font-size: clamp(.74rem, 1vw, .9rem);
	font-weight: 900;
	letter-spacing: .18em;
	margin: 0 0 18px;
	order: -1;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .35);
	text-transform: uppercase;
}

#diapo-texte .k3-hero-description {
	color: #fff;
	font-size: clamp(1rem, 1.4vw, 1.28rem);
	font-weight: 700;
	margin: 24px 0 0;
	max-width: 640px;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .4);
}

#diapo-texte #h1accueil,
#diapo-accueil > .largeur92 > #h1accueil {
	display: block !important;
	color: #fff !important;
	font-family: var(--police) !important;
	font-size: clamp(3rem, 7vw, 7.4rem) !important;
	font-weight: 900 !important;
	letter-spacing: -.065em !important;
	line-height: .88 !important;
	max-width: 950px;
	text-shadow: 0 4px 28px rgba(0, 0, 0, .28);
}

#diapo-texte #h1accueil {
	position: static !important;
}

#acces-rapides {
	background: var(--k3-paper) !important;
	border-bottom: 1px solid var(--k3-line);
	box-shadow: 0 16px 50px rgba(16, 47, 62, .08);
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
	z-index: 10;
}

#acces-rapides > .largeur92 {
	align-items: stretch;
	background: var(--k3-paper) !important;
	display: grid !important;
	grid-template-columns: minmax(120px, .65fr) minmax(0, 4fr);
	min-height: 128px;
}

#acces-rapides #titre-acces {
	align-items: center;
	background: var(--k3-primary) !important;
	color: var(--k3-on-primary) !important;
	display: flex !important;
	flex-direction: column;
	font-family: var(--police);
	font-size: 1.55rem;
	font-weight: 900;
	justify-content: center;
	line-height: .92;
	margin: 0 !important;
	padding: 20px !important;
	text-align: center;
	width: auto !important;
}

#acces-rapides #titre-acces span {
	color: inherit !important;
	display: block;
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
}

#acces-rapides ul {
	align-items: stretch;
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

#acces-rapides li {
	border-right: 1px solid var(--k3-line);
	float: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

#acces-rapides li:last-child { border-right: 0; }

#acces-rapides li a {
	align-items: center;
	background: transparent !important;
	color: var(--k3-ink) !important;
	display: flex !important;
	flex-direction: column;
	font-size: .92rem !important;
	font-weight: 800 !important;
	gap: 12px;
	height: 100% !important;
	justify-content: center;
	min-height: 128px;
	padding: 20px 12px !important;
	text-align: center;
	text-decoration: none !important;
	width: 100% !important;
}

#acces-rapides li a:hover,
#acces-rapides li a:focus-visible {
	background: var(--k3-surface) !important;
	color: var(--k3-primary) !important;
}

#acces-rapides li a i,
#acces-rapides li a svg {
	color: var(--k3-secondary) !important;
	font-size: 1.7rem !important;
	height: 30px !important;
	width: 30px !important;
}

#acces-rapides li a i {
	align-items: center;
	display: flex !important;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
}

#acces-rapides li a svg {
	background: transparent !important;
	border-radius: 0 !important;
	display: block !important;
	margin: 0 !important;
	opacity: 1 !important;
	padding: 0 !important;
	position: static !important;
	visibility: visible !important;
}

#acces-rapides .texte-acces,
#acces-rapides .texte-acces span {
	color: inherit !important;
	display: inline !important;
	font-size: inherit !important;
}

/* Home sections and cards ---------------------------------------------- */

.k3-home {
	background: var(--k3-paper);
}

.k3-home-section {
	padding-block: var(--k3-section-space);
}

.k3-home-news {
	background: var(--k3-paper);
}

.k3-home-agenda {
	background: var(--k3-surface);
}

.k3-section-heading {
	align-items: flex-end;
	display: flex;
	gap: 30px;
	justify-content: space-between;
	margin-bottom: clamp(34px, 5vw, 68px);
}

.k3-section-heading h2,
.k3-home-projects-kiosk h2,
.k3-home-map h2 {
	color: var(--k3-ink);
	font-family: var(--police);
	font-size: clamp(2.5rem, 5.2vw, 5.6rem);
	font-weight: 900;
	letter-spacing: -.06em;
	line-height: .92;
	margin: 0;
}

.k3-section-link,
.k3-card-action {
	align-items: center;
	color: var(--k3-primary) !important;
	display: inline-flex;
	font-weight: 900;
	gap: 13px;
	text-decoration: none !important;
}

.k3-section-link {
	border-bottom: 2px solid currentColor;
	padding: 8px 0;
}

.k3-section-link:hover,
.k3-section-link:focus-visible {
	color: var(--k3-secondary) !important;
}

.k3-home-feed {
	display: grid;
	gap: clamp(20px, 2.5vw, 38px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.k3-home-feed > .widget {
	display: contents !important;
}

.k3-home-empty {
	background: var(--k3-surface);
	border: 1px solid var(--k3-line);
	border-radius: var(--k3-radius);
	grid-column: 1 / -1;
	margin: 0;
	padding: 32px;
}

.k3-news-card,
.k3-agenda-card {
	background: var(--k3-paper);
	border: 1px solid var(--k3-line);
	border-radius: var(--k3-radius);
	box-shadow: 0 14px 44px rgba(16, 47, 62, .07);
	margin: 0;
	min-width: 0;
	overflow: hidden;
	position: relative;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.k3-news-card:hover,
.k3-news-card:focus-within,
.k3-agenda-card:hover,
.k3-agenda-card:focus-within {
	border-color: var(--k3-primary);
	box-shadow: var(--k3-shadow-hover);
	transform: translateY(-6px);
}

.k3-news-card__link,
.k3-agenda-card__link {
	color: var(--k3-text) !important;
	display: flex !important;
	flex-direction: column;
	height: 100%;
	text-decoration: none !important;
}

.k3-news-card__media,
.k3-agenda-card__media {
	background: var(--k3-surface-strong);
	display: block;
	height: clamp(220px, 22vw, 350px);
	overflow: hidden;
	position: relative;
}

.k3-news-card__media img,
.k3-agenda-card__media img {
	display: block;
	height: 100% !important;
	object-fit: cover;
	transition: transform .35s ease;
	width: 100% !important;
}

.k3-news-card:hover img,
.k3-news-card:focus-within img,
.k3-agenda-card:hover img,
.k3-agenda-card:focus-within img {
	transform: scale(1.035);
}

.k3-news-card__body,
.k3-agenda-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: clamp(24px, 3vw, 38px);
}

.k3-news-card__date,
.k3-agenda-card__date {
	color: var(--k3-primary);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .08em;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.k3-news-card__title,
.k3-agenda-card__title {
	color: var(--k3-ink) !important;
	font-family: var(--police);
	font-size: clamp(1.35rem, 2vw, 2rem) !important;
	font-weight: 900 !important;
	letter-spacing: -.035em;
	line-height: 1.08 !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	text-align: left !important;
}

.k3-news-card .k3-card-action {
	margin-top: auto;
}

.k3-agenda-card__date {
	align-self: flex-start;
	background: var(--k3-primary);
	border-radius: 999px;
	color: var(--k3-on-primary);
	margin: -54px 0 22px;
	padding: 11px 16px;
	position: relative;
	z-index: 2;
}

.k3-agenda-card__place {
	align-items: center;
	color: var(--k3-primary);
	display: flex;
	font-size: .92rem;
	font-weight: 800;
	gap: 8px;
	margin-top: auto;
}

.k3-agenda-card__place .k3-icon {
	height: 18px;
	width: 18px;
}

/* Neutralise les dimensions historiques de `.agenda` sans affecter les
 * fiches agenda du Framework. Les cartes d'accueil doivent toujours occuper
 * toute leur cellule de grille, y compris lorsque parent.css est chargé. */
body.home .k3-agenda-card .k3-agenda-card__link,
body.front-page .k3-agenda-card .k3-agenda-card__link {
	display: flex !important;
	height: 100% !important;
	margin: 0 !important;
	text-align: left !important;
	width: 100% !important;
}

body.home .k3-agenda-card .k3-agenda-card__media,
body.front-page .k3-agenda-card .k3-agenda-card__media,
body.home .k3-agenda-card .k3-agenda-card__body,
body.front-page .k3-agenda-card .k3-agenda-card__body {
	float: none !important;
	width: 100% !important;
}

body.home .k3-agenda-card .k3-agenda-card__date,
body.front-page .k3-agenda-card .k3-agenda-card__date {
	bottom: auto !important;
	display: inline-flex !important;
	left: auto !important;
	position: relative !important;
	right: auto !important;
	top: auto !important;
}

body.home .k3-agenda-card .k3-agenda-card__title,
body.front-page .k3-agenda-card .k3-agenda-card__title {
	text-transform: none !important;
}

body.home .k3-agenda-card .k3-agenda-card__body::after,
body.front-page .k3-agenda-card .k3-agenda-card__body::after {
	content: none !important;
	display: none !important;
}

/* Shared projects + kiosk ---------------------------------------------- */

.k3-home-projects-kiosk {
	background: var(--k3-ink);
	color: var(--k3-paper);
	padding-block: var(--k3-section-space);
}

.k3-home-projects-kiosk__inner {
	display: grid;
	gap: clamp(24px, 4vw, 56px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.k3-home-projects-kiosk__card {
	background: var(--k3-paper);
	border: 0;
	border-radius: var(--k3-radius-lg);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .2);
	color: var(--k3-text);
	margin: 0;
	min-height: 590px;
	overflow: hidden;
	position: relative;
}

.k3-home-projects-kiosk__project-visual,
.k3-home-projects-kiosk__media {
	height: 390px;
	overflow: hidden;
	position: relative;
}

.k3-home-projects-kiosk__project-visual::after {
	background: linear-gradient(0deg, rgba(9, 26, 36, .75), transparent 75%);
	content: "";
	inset: 0;
	position: absolute;
}

.k3-home-projects-kiosk__project-visual img,
.k3-home-projects-kiosk__media img {
	display: block;
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

.k3-home-projects-kiosk__project-heading {
	bottom: 0;
	color: #fff;
	left: 0;
	padding: clamp(26px, 4vw, 50px);
	position: absolute;
	right: 0;
	z-index: 2;
}

.k3-home-projects-kiosk__project-heading h2,
.k3-home-projects-kiosk__project-heading p {
	color: #fff !important;
}

.k3-home-projects-kiosk__project-heading p {
	font-size: .86rem;
	font-weight: 900;
	letter-spacing: .12em;
	margin: 14px 0 0;
	text-transform: uppercase;
}

.k3-home-projects-kiosk__project-content,
.k3-home-projects-kiosk__content {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: clamp(26px, 4vw, 46px);
}

.k3-home-projects-kiosk__project-content p {
	margin: 0;
	max-width: 38rem;
}

.k3-home-projects-kiosk__button {
	align-items: center;
	background: var(--k3-primary) !important;
	border: 2px solid var(--k3-primary) !important;
	border-radius: 999px !important;
	color: var(--k3-on-primary) !important;
	display: inline-flex !important;
	font-weight: 900 !important;
	gap: 10px;
	justify-content: center;
	min-height: 48px;
	padding: 10px 22px !important;
	text-align: center;
	text-decoration: none !important;
}

.k3-home-projects-kiosk__button:hover,
.k3-home-projects-kiosk__button:focus-visible {
	background: var(--k3-primary-dark) !important;
	border-color: var(--k3-primary-dark) !important;
}

.k3-home-projects-kiosk__kiosk {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr);
	padding: clamp(26px, 4vw, 52px);
}

.k3-home-projects-kiosk__cover {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	min-width: 0;
	padding: 18px;
}

.k3-home-projects-kiosk__cover img {
	box-shadow: 0 22px 50px rgba(0, 0, 0, .18);
	max-height: 390px;
	object-fit: contain;
	width: auto;
}

.k3-home-projects-kiosk__kiosk-content {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 18px;
}

.k3-home-projects-kiosk__kiosk-content h2 {
	font-size: clamp(2.4rem, 4vw, 4.8rem);
}

.k3-home-projects-kiosk__publication-title {
	font-size: 1.1rem;
	font-weight: 800;
	margin: 24px 0;
}

.k3-home-projects-kiosk__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.k3-home-projects-kiosk__archive {
	background: transparent !important;
	color: var(--k3-primary) !important;
	margin-top: 14px;
	width: 100%;
}

.k3-home-projects-kiosk__archive:hover,
.k3-home-projects-kiosk__archive:focus-visible {
	background: var(--k3-primary) !important;
	color: var(--k3-on-primary) !important;
}

/* Map ------------------------------------------------------------------- */

.k3-home-map {
	background: var(--k3-paper);
	padding-top: var(--k3-section-space);
}

.k3-home-map__heading {
	align-items: flex-end;
	display: flex;
	gap: 40px;
	justify-content: space-between;
	margin-bottom: clamp(34px, 5vw, 62px) !important;
}

.k3-home-map__address {
	align-items: center;
	background: var(--k3-surface);
	border: 1px solid var(--k3-line);
	border-radius: var(--k3-radius);
	display: grid;
	gap: 8px 16px;
	grid-template-columns: auto minmax(0, 1fr);
	max-width: 520px;
	padding: 20px 24px;
}

.k3-home-map__address > .k3-icon {
	color: var(--k3-secondary);
	grid-row: 1 / 3;
	height: 32px;
	width: 32px;
}

.k3-home-map__address p {
	color: var(--k3-ink);
	font-weight: 800;
	margin: 0;
}

.k3-home-map__address a {
	align-items: center;
	color: var(--k3-primary) !important;
	display: inline-flex;
	font-weight: 900;
	gap: 9px;
}

.k3-home-map__frame {
	background: var(--k3-surface-strong);
	height: clamp(410px, 42vw, 650px);
	overflow: hidden;
	width: 100%;
}

.k3-home-map__frame iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

/* Inner pages ----------------------------------------------------------- */

#image-header-page {
	background: var(--k3-surface-strong);
	height: clamp(180px, 21.875vw, 350px) !important;
	overflow: hidden;
	position: relative;
}

#image-header-page img,
#image-header-page picture {
	display: block;
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

#main-page {
	background: var(--k3-paper);
	padding: clamp(48px, 7vw, 100px) 0 clamp(80px, 10vw, 150px) !important;
}

#main-page #la-page {
	align-items: start;
	display: grid !important;
	gap: clamp(36px, 5vw, 76px);
	grid-template-columns: minmax(250px, 340px) minmax(0, 1fr);
}

#main-page #gauche,
#main-page #content {
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	min-width: 0;
	padding: 0 !important;
	width: 100% !important;
}

/* Full-width templates (large pages, search, 404 and singles) have no sidebar. */
#main-page #la-page > #content_large {
	float: none !important;
	grid-column: 1 / -1;
	margin: 0 !important;
	max-width: none !important;
	min-width: 0;
	padding: 0 !important;
	width: 100% !important;
}

#main-page #content h1,
#main-page #content .titre-listing,
#main-page #content .titre-fiche {
	color: var(--k3-ink) !important;
	font-family: var(--police) !important;
	font-size: clamp(2.6rem, 5vw, 5.4rem) !important;
	font-weight: 900 !important;
	letter-spacing: -.06em !important;
	line-height: .94 !important;
	margin: clamp(20px, 3vw, 42px) 0 clamp(34px, 5vw, 64px) !important;
}

#main-page #content h2,
#main-page #content h3,
#main-page #content h4 {
	color: var(--k3-ink);
	font-family: var(--police);
	font-weight: 900;
	letter-spacing: -.025em;
}

#main-page #content a:not(.k3-archive-card__link):not(.k3-home-projects-kiosk__button) {
	color: var(--k3-primary);
}

#ligne-outils {
	align-items: center;
	border-bottom: 1px solid var(--k3-line);
	display: flex !important;
	gap: 20px;
	justify-content: space-between;
	margin: 0 0 24px !important;
	min-height: 54px;
	padding: 0 0 16px !important;
}

#ligne-outils #outils {
	float: none !important;
	margin-left: auto;
}

.k3-section-nav-toggle {
	align-items: center;
	background: var(--k3-ink);
	border: 0;
	border-radius: var(--k3-radius-sm);
	color: var(--k3-paper);
	cursor: pointer;
	display: flex;
	font-weight: 900;
	justify-content: space-between;
	min-height: 54px;
	padding: 12px 18px;
	text-align: left;
	width: 100%;
}

.k3-section-nav-toggle__icon {
	font-size: 1.6rem;
	line-height: 1;
}

#sidebar-pages {
	background: var(--k3-paper);
	border: 1px solid var(--k3-line);
	border-radius: var(--k3-radius);
	box-shadow: var(--k3-shadow);
	overflow: hidden;
	padding: 0 !important;
}

#sidebar-pages ul,
#menu_pages,
#menu_pages ul {
	float: none !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

#menu_pages > li,
#sidebar-pages > ul > li,
#sidebar-pages .pagenav {
	color: var(--k3-ink);
	font-family: var(--police);
	font-size: clamp(1.45rem, 2vw, 2rem);
	font-weight: 900;
	margin: 0 !important;
	padding: 28px 24px 18px !important;
}

#menu_pages li,
#sidebar-pages li {
	float: none !important;
	height: auto !important;
	position: relative;
	width: 100% !important;
}

#menu_pages a,
#sidebar-pages li a {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--k3-line) !important;
	color: var(--k3-ink) !important;
	display: block !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	padding: 18px 22px !important;
	text-decoration: none !important;
	width: 100% !important;
}

#menu_pages a:hover,
#menu_pages a:focus-visible,
#sidebar-pages li a:hover,
#sidebar-pages li a:focus-visible {
	background: var(--k3-surface) !important;
	color: var(--k3-primary) !important;
}

#menu_pages .current_page_item > a,
#menu_pages .current_page_ancestor > a,
#sidebar-pages .current_page_item > a,
#sidebar-pages .current_page_ancestor > a {
	background: var(--k3-surface-strong) !important;
	box-shadow: inset 5px 0 0 var(--k3-primary);
	color: var(--k3-primary) !important;
}

#menu_pages ul ul,
#sidebar-pages ul ul ul {
	background: var(--k3-surface) !important;
	border-left: 4px solid var(--k3-secondary);
	padding: 10px 14px 14px !important;
}

#menu_pages ul ul li + li,
#sidebar-pages ul ul ul li + li {
	margin-top: 8px !important;
}

#menu_pages ul ul a,
#sidebar-pages ul ul ul a {
	background: var(--k3-paper) !important;
	border: 1px solid var(--k3-line) !important;
	border-radius: 10px !important;
	font-size: .94rem !important;
	padding: 13px 15px !important;
}

#menu_pages ul ul ul,
#sidebar-pages ul ul ul ul {
	background: transparent !important;
	border-left-color: var(--k3-primary);
	margin: 8px 0 4px 12px !important;
	padding: 0 0 0 10px !important;
}

/* Forms, listings and archive cards ------------------------------------ */

#main-page form input[type="text"],
#main-page form input[type="search"],
#main-page form input[type="email"],
#main-page form input[type="tel"],
#main-page form input[type="date"],
#main-page form select,
#main-page form textarea {
	background: var(--k3-paper);
	border: 1px solid var(--k3-line);
	border-radius: var(--k3-radius-sm);
	color: var(--k3-ink);
	min-height: 52px;
	padding: 12px 16px;
}

#main-page form input:focus,
#main-page form select:focus,
#main-page form textarea:focus {
	border-color: var(--k3-primary);
	box-shadow: 0 0 0 3px rgba(20, 91, 115, .13);
	outline: 2px solid transparent;
}

#main-page form input[type="submit"],
#main-page form button[type="submit"],
#main-page .bouton,
#main-page .btn {
	background: var(--k3-primary) !important;
	border: 2px solid var(--k3-primary) !important;
	border-radius: 999px !important;
	color: var(--k3-on-primary) !important;
	cursor: pointer;
	font-weight: 900 !important;
	min-height: 48px;
	padding: 10px 22px !important;
	text-decoration: none !important;
}

#main-page form input[type="submit"]:hover,
#main-page form input[type="submit"]:focus-visible,
#main-page form button[type="submit"]:hover,
#main-page form button[type="submit"]:focus-visible,
#main-page .bouton:hover,
#main-page .bouton:focus-visible,
#main-page .btn:hover,
#main-page .btn:focus-visible {
	background: var(--k3-primary-dark) !important;
	border-color: var(--k3-primary-dark) !important;
}

#content.widecolumn > .taille-texte-variable {
	display: grid;
	gap: clamp(20px, 3vw, 36px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.k3-generic-heading {
	margin-bottom: clamp(32px, 5vw, 64px);
}

.k3-generic-heading h1 {
	margin-bottom: 0 !important;
}

.k3-generic-loop .navigation,
.k3-generic-loop .nav-links,
.k3-generic-loop > .k3-home-empty {
	grid-column: 1 / -1;
}

#content.widecolumn #entete-listing,
#content.widecolumn #nav-bas-listing,
#content.widecolumn .navigation,
#content.widecolumn .krea3-pagination,
#content.widecolumn .content-none {
	grid-column: 1 / -1;
}

.k3-archive-card {
	background: var(--k3-paper);
	border: 1px solid var(--k3-line);
	border-radius: var(--k3-radius);
	box-shadow: 0 14px 42px rgba(16, 47, 62, .08);
	margin: 0 !important;
	min-width: 0;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}

.k3-archive-card:hover,
.k3-archive-card:focus-within {
	box-shadow: var(--k3-shadow-hover);
	transform: translateY(-5px);
}

.k3-archive-card__link {
	color: var(--k3-text) !important;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none !important;
}

.k3-archive-card__media {
	display: block;
	height: 240px;
	overflow: hidden;
}

.k3-archive-card__media img {
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

.k3-archive-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 26px;
}

.k3-archive-card time {
	color: var(--k3-primary);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.k3-archive-card h2 {
	color: var(--k3-ink) !important;
	font-size: clamp(1.3rem, 2vw, 1.8rem) !important;
	line-height: 1.08 !important;
	margin: 14px 0 30px !important;
}

.k3-archive-card .k3-card-action { margin-top: auto; }

#liste-agenda,
.liste-agenda,
ul.listing-agenda {
	display: grid !important;
	gap: clamp(20px, 3vw, 34px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 30px 0 !important;
	padding: 0 !important;
}

.un-bloc-listing {
	background: var(--k3-paper);
	border: 1px solid var(--k3-line);
	border-radius: var(--k3-radius);
	overflow: hidden;
}

.un-bloc-listing .listing-item {
	float: none !important;
	margin: 0 !important;
	padding: 0 0 24px !important;
	width: 100% !important;
}

.un-bloc-listing .listing-item > img {
	height: 250px !important;
	object-fit: cover;
	width: 100% !important;
}

.un-bloc-listing .date-manif-listing,
.un-bloc-listing .listing-item > a {
	display: block;
	margin: 0 !important;
	padding: 20px 24px 0 !important;
}

body.search #content .krea3-resultat-recherche,
body.search #content article[class*="resultat-recherche"] {
	background: var(--k3-paper) !important;
	border: 1px solid var(--k3-line) !important;
	border-left: 5px solid var(--k3-primary) !important;
	border-radius: var(--k3-radius) !important;
	box-shadow: 0 14px 42px rgba(16, 47, 62, .07) !important;
	margin: 0 0 22px !important;
	min-height: 0 !important;
	padding: 24px !important;
}

body.search #content .search-result-thumbnail,
body.search #content [class*="thumbnail"] {
	border-radius: var(--k3-radius-sm);
	overflow: hidden;
}

/* Single-post navigation ------------------------------------------------ */

.single-post-area .navigation-area {
	border: 0 !important;
	margin: clamp(52px, 7vw, 92px) 0 0 !important;
	padding: 0 !important;
}

.single-post-area .navigation-area .row {
	display: grid !important;
	gap: 24px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin: 0 !important;
}

.single-post-area .navigation-area .nav-left,
.single-post-area .navigation-area .nav-right {
	align-items: center !important;
	background: var(--k3-surface) !important;
	border: 1px solid var(--k3-line) !important;
	border-radius: var(--k3-radius) !important;
	display: grid !important;
	gap: 18px !important;
	margin: 0 !important;
	min-height: 150px !important;
	min-width: 0 !important;
	padding: 22px !important;
	text-decoration: none !important;
	width: 100% !important;
}

.single-post-area .navigation-area .k3-post-nav-card {
	color: var(--k3-ink) !important;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.single-post-area .navigation-area .k3-post-nav-card:hover,
.single-post-area .navigation-area .k3-post-nav-card:focus-visible {
	border-color: var(--k3-primary) !important;
	box-shadow: 0 18px 46px rgba(16, 47, 62, .12);
	transform: translateY(-3px);
}

.single-post-area .navigation-area .nav-left {
	grid-template-columns: 96px 48px minmax(0, 1fr) !important;
}

.single-post-area .navigation-area .nav-right {
	grid-template-columns: minmax(0, 1fr) 48px 96px !important;
	text-align: right !important;
}

.single-post-area .navigation-area .thumb {
	border-radius: var(--k3-radius-sm);
	height: 96px !important;
	margin: 0 !important;
	overflow: hidden;
	width: 96px !important;
}

.single-post-area .navigation-area .thumb img {
	display: block;
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

.single-post-area .navigation-area .arrow {
	margin: 0 !important;
}

.single-post-area .navigation-area .arrow {
	align-items: center;
	background: var(--k3-primary) !important;
	border-radius: 999px;
	color: var(--k3-on-primary) !important;
	display: flex !important;
	height: 48px !important;
	justify-content: center;
	text-decoration: none !important;
	width: 48px !important;
}

.single-post-area .navigation-area .k3-post-nav-card__arrow--previous .k3-arrow {
	transform: rotate(180deg);
}

.single-post-area .navigation-area .detials {
	min-width: 0;
}

.single-post-area .navigation-area .k3-post-nav-card__label {
	color: var(--k3-primary);
	display: block;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.single-post-area .navigation-area .detials strong {
	color: var(--k3-ink) !important;
	display: block;
	font-size: clamp(1.08rem, 1.7vw, 1.45rem) !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	overflow-wrap: anywhere;
}

/* Footer and scroll to top --------------------------------------------- */

#content-footer {
	background: var(--k3-ink) !important;
	color: var(--k3-paper) !important;
	margin: 0 !important;
	padding: clamp(58px, 8vw, 108px) 0 34px !important;
}

#content-footer > .largeur92 {
	align-items: end;
	background: transparent !important;
	border-radius: 0 !important;
	display: grid !important;
	gap: 50px;
	grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
}

#content-footer #coordonnees,
#content-footer #btn-footer {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

#content-footer h2,
#content-footer h3,
#content-footer p,
#content-footer a,
#content-footer li {
	color: var(--k3-paper) !important;
}

#content-footer h2 {
	font-family: var(--police);
	font-size: clamp(2.5rem, 4vw, 4.8rem);
	letter-spacing: -.055em;
	line-height: .95;
	margin: 0 0 28px;
}

#content-footer .k3-footer-kicker {
	color: var(--k3-accent) !important;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .16em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

#content-footer address {
	color: var(--k3-paper);
	font-style: normal;
	font-weight: 700;
	margin-bottom: 28px;
}

#content-footer #bloc-horaires h3 {
	font-size: 1rem;
	margin: 0 0 10px;
}

#content-footer #bloc-horaires dl {
	display: grid;
	gap: 5px 14px;
	grid-template-columns: auto minmax(0, 1fr);
	margin: 0;
}

#content-footer #bloc-horaires dt { font-weight: 900; }
#content-footer #bloc-horaires dd { margin: 0; }

#content-footer .k3-footer-actions-title {
	font-size: clamp(1.7rem, 2.6vw, 2.8rem);
	margin-bottom: 20px;
}

#content-footer .k3-footer-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#content-footer #menu_footer,
#content-footer .liens-reseaux ul {
	display: flex !important;
	flex-wrap: wrap;
	gap: 12px 22px;
	list-style: none;
	margin: 26px 0 0 !important;
	padding: 0 !important;
}

#content-footer #menu_footer li,
#content-footer .liens-reseaux li {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

#content-footer a:hover,
#content-footer a:focus-visible {
	color: var(--k3-accent) !important;
}

#content-footer #btn-footer > a,
#content-footer .k3-footer-actions > a {
	align-items: center;
	border: 2px solid var(--k3-paper);
	border-radius: 999px;
	display: inline-flex;
	font-weight: 900;
	justify-content: center;
	margin: 0 8px 12px 0;
	min-height: 48px;
	padding: 10px 20px;
	text-decoration: none;
}

#content-footer .k3-footer-actions .k3-arrow {
	margin-left: 9px;
}

#content-footer .liens-reseaux a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 999px;
	display: flex;
	height: 44px;
	justify-content: center;
	text-decoration: none;
	width: 44px;
}

#content-footer .liens-reseaux .k3-icon {
	background: transparent !important;
	color: var(--k3-paper) !important;
	height: 19px;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	width: 19px;
}

#content-footer .liens-reseaux a,
#content-footer ul#menu_footer li a {
	color: var(--k3-paper) !important;
}

#content-footer #btn-footer .liens-reseaux li a {
	border: 1px solid rgba(255, 255, 255, .45) !important;
	border-radius: 999px !important;
	color: var(--k3-paper) !important;
	height: 44px !important;
	width: 44px !important;
}

#content-footer #btn-footer .liens-reseaux li a:hover,
#content-footer #btn-footer .liens-reseaux li a:focus-visible {
	border-color: var(--k3-accent) !important;
	color: var(--k3-accent) !important;
}

#scroll {
	bottom: clamp(18px, 3vw, 34px) !important;
	right: clamp(18px, 3vw, 34px) !important;
	z-index: 29990 !important;
}

#scroll .scroll-top-link {
	align-items: center !important;
	background: var(--k3-primary) !important;
	border: 3px solid var(--k3-paper) !important;
	border-radius: 999px !important;
	box-shadow: 0 14px 36px rgba(0, 0, 0, .22) !important;
	color: var(--k3-on-primary) !important;
	display: flex !important;
	height: 58px !important;
	justify-content: center !important;
	text-decoration: none !important;
	width: 58px !important;
}

#scroll .scroll-top-link:hover,
#scroll .scroll-top-link:focus-visible {
	background: var(--k3-secondary) !important;
	color: var(--k3-on-secondary) !important;
	transform: translateY(-4px);
}

#scroll .icon-arrow {
	display: block !important;
	height: 24px !important;
	stroke: currentColor !important;
	width: 24px !important;
}

/* Responsive ------------------------------------------------------------ */

@media (max-width: 1217px) {
	#top-header {
		height: 88px !important;
		position: absolute !important;
	}

	#top-header > .largeur92 {
		height: 88px;
		padding-right: 82px !important;
	}

	#top-header .liens-reseaux li:not(:last-child) {
		display: none !important;
	}

	#top-header .k3-search-toggle {
		height: 48px !important;
		min-height: 48px !important;
		width: 48px !important;
	}

	#header.site-header {
		height: 88px !important;
		min-height: 88px !important;
		padding: 0 !important;
	}

	#header.site-header > .largeur92 {
		display: flex !important;
		height: 88px;
		padding-right: 150px !important;
	}

	.k3-brand-mark {
		height: 38px;
		width: 37px;
	}

	.k3-brand-mark span { width: 10px; }
	.k3-brand-kicker { font-size: .57rem; margin-bottom: 5px; }
	.k3-brand-name { font-size: clamp(1.25rem, 4vw, 1.7rem); }

	#menu-principal {
		margin-left: auto !important;
		position: static !important;
		width: auto !important;
	}

	#menu-principal .toggleMenu {
		background: var(--k3-paper) !important;
		border: 2px solid var(--k3-ink) !important;
		border-radius: 999px !important;
		color: var(--k3-ink) !important;
		height: 52px !important;
		margin: 0 !important;
		position: absolute !important;
		right: var(--k3-gutter) !important;
		top: 18px !important;
		transform: none !important;
		width: 52px !important;
	}

	body.menu-open #menu-principal #nav,
	body.menu-open #header #menu #nav {
		background: var(--k3-primary) !important;
		padding-top: max(94px, calc(72px + env(safe-area-inset-top, 0px))) !important;
	}

	body.menu-open #menu-principal #nav > li,
	body.menu-open #menu-principal #nav li li {
		max-width: 760px !important;
	}

	body.menu-open #menu-principal #nav > li > a,
	body.menu-open #menu-principal #nav > li > button.menu-item,
	body.menu-open #menu-principal #nav li li > a,
	body.menu-open #menu-principal #nav li li > button.menu-item,
	body.menu-open #menu-principal #nav li li li > a {
		color: var(--k3-on-primary) !important;
	}

	body.menu-open button.toggleMenu.active,
	body.menu-open #header.site-header button.toggleMenu.active {
		background: var(--k3-paper) !important;
		border-color: var(--k3-paper) !important;
		color: var(--k3-primary) !important;
		right: var(--k3-gutter) !important;
		top: max(18px, env(safe-area-inset-top, 0px)) !important;
	}

	body.menu-open button.toggleMenu.active::before,
	body.menu-open button.toggleMenu.active::after {
		background: var(--k3-primary) !important;
	}

	#diapo-accueil {
		height: clamp(390px, 70vw, 590px) !important;
	}

	#main-page #la-page {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	#main-page #gauche {
		float: none !important;
		left: 0 !important;
		margin: 0 !important;
		position: relative;
		top: auto !important;
		transform: none !important;
		transition: none !important;
		width: 100% !important;
		z-index: 3;
	}

	#sidebar-pages {
		margin-top: 10px;
	}

	#content.widecolumn > .taille-texte-variable,
	#liste-agenda,
	.liste-agenda,
	ul.listing-agenda {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.k3-search-overlay {
		align-items: stretch;
		padding: 0;
	}

	.k3-search-dialog {
		border-radius: 0;
		min-height: 100vh;
		min-height: 100dvh;
		padding: max(24px, env(safe-area-inset-top, 0px)) 22px 42px;
		width: 100%;
	}

	.k3-search-dialog__topline { margin-bottom: clamp(58px, 13vw, 96px); }
	.k3-search-close { height: 50px; width: 50px; }
	.k3-search-dialog h2 { font-size: clamp(2.35rem, 11vw, 4.2rem); }

	.k3-search-field {
		gap: 10px;
		grid-template-columns: 1fr;
	}

	.k3-search-field input,
	.k3-search-field button {
		border-radius: var(--k3-radius-sm);
		width: 100%;
	}

	#diapo-accueil {
		height: clamp(330px, 82vw, 470px) !important;
	}

	#acces-rapides > .largeur92 {
		grid-template-columns: 1fr;
		padding: 0 !important;
	}

	#acces-rapides #titre-acces {
		align-items: baseline;
		flex-direction: row;
		gap: 8px;
		min-height: 64px;
	}

	#acces-rapides ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#acces-rapides li,
	#acces-rapides li:last-child {
		border-bottom: 1px solid var(--k3-line);
		border-right: 1px solid var(--k3-line);
	}

	#acces-rapides li:nth-child(even) { border-right: 0; }
	#acces-rapides li:last-child { grid-column: 1 / -1; }
	#acces-rapides li a { min-height: 104px; }
	#acces-rapides li a span.texte-acces {
		display: inline !important;
	}

	.k3-section-heading,
	.k3-home-map__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.k3-home-feed,
	.k3-home-projects-kiosk__inner,
	#content.widecolumn > .taille-texte-variable,
	#liste-agenda,
	.liste-agenda,
	ul.listing-agenda {
		grid-template-columns: 1fr;
	}

	.k3-home-projects-kiosk__card {
		min-height: 0;
	}

	.k3-home-projects-kiosk__project-visual,
	.k3-home-projects-kiosk__media {
		height: 300px;
	}

	.k3-home-projects-kiosk__project-content,
	.k3-home-projects-kiosk__content {
		align-items: flex-start;
		flex-direction: column;
	}

	.k3-home-projects-kiosk__kiosk {
		grid-template-columns: minmax(130px, .65fr) minmax(0, 1fr);
	}

	.k3-home-map__address {
		max-width: none;
		width: 100%;
	}

	.k3-home-map__frame { height: 440px; }

	.single-post-area .navigation-area .row {
		grid-template-columns: 1fr !important;
	}

	#content-footer > .largeur92 {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	:root {
		--k3-gutter: 18px;
		--k3-section-space: 68px;
	}

	#top-header > .largeur92 { padding-right: 74px !important; }
	#header.site-header > .largeur92 { padding-right: 128px !important; }
	.k3-brand-mark { display: none; }

	/* Keep slideshow navigation clear of the editorial caption on narrow screens. */
	#diapo-accueil.krea3-diaporama-host .swiper-button-prev,
	#diapo-accueil.krea3-diaporama-host .swiper-button-next {
		margin-top: 0 !important;
		top: 18px !important;
		transform: none !important;
	}

	#menu-principal .toggleMenu,
	body.menu-open button.toggleMenu.active,
	body.menu-open #header.site-header button.toggleMenu.active {
		height: 48px !important;
		right: 16px !important;
		top: 20px !important;
		width: 48px !important;
	}

	#diapo-texte #h1accueil,
	#diapo-accueil > .largeur92 > #h1accueil {
		font-size: clamp(2.6rem, 15vw, 4.4rem) !important;
	}

	.k3-home-projects-kiosk__kiosk {
		grid-template-columns: 1fr;
		padding: 24px;
	}

	.k3-home-projects-kiosk__cover {
		height: 280px;
	}

	.k3-home-projects-kiosk__cover img { max-height: 260px; }

	.k3-home-map__address {
		grid-template-columns: 1fr;
	}

	.k3-home-map__address > .k3-icon { grid-row: auto; }

	.single-post-area .navigation-area .nav-left,
	.single-post-area .navigation-area .nav-right {
		grid-template-columns: 70px minmax(0, 1fr) !important;
		text-align: left !important;
	}

	.single-post-area .navigation-area .nav-left .arrow,
	.single-post-area .navigation-area .nav-right .arrow {
		display: none !important;
	}

	.single-post-area .navigation-area .nav-right .thumb {
		grid-column: 1;
		grid-row: 1;
	}

	.single-post-area .navigation-area .nav-right .detials {
		grid-column: 2;
		grid-row: 1;
	}

	.single-post-area .navigation-area .thumb {
		height: 70px !important;
		width: 70px !important;
	}
}

/* Affichage legal ------------------------------------------------------- */

.krea3-affichage-legal [hidden] {
	display: none !important;
}

.krea3-affichage-legal .recherche-listing fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.krea3-affichage-legal .recherche-listing legend,
.krea3-affichage-legal .recherche-listing label {
	color: var(--k3-text);
	display: block;
	font-weight: 800;
	margin-bottom: 8px;
}

.krea3-affichage-legal .recherche-listing input[type="search"],
.krea3-affichage-legal .recherche-listing select {
	width: 100%;
}

.krea3-affichage-legal .recherche-listing button.reset {
	background: var(--k3-paper);
	border: 2px solid var(--k3-primary);
	border-radius: 999px;
	color: var(--k3-primary);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	min-height: 48px;
	padding: 10px 22px;
}

.krea3-affichage-legal .recherche-listing button.reset:hover,
.krea3-affichage-legal .recherche-listing button.reset:focus-visible {
	background: var(--k3-primary);
	color: var(--k3-on-primary);
}

.krea3-affichage-legal-status {
	font-weight: 700;
	min-height: 1.5em;
}

.krea3-affichage-legal .accordion-heading {
	margin: 0;
}

.krea3-affichage-legal .accordion-heading .accordion-link {
	background: var(--k3-primary);
	border: 0;
	color: var(--k3-on-primary);
	cursor: pointer;
	font-family: inherit;
	min-height: 48px;
	text-align: left;
}

.krea3-affichage-legal .accordion-link .accordion-title {
	color: var(--k3-on-primary);
	font-size: 1.25rem;
	font-weight: 800;
	padding-left: 2rem;
}

.krea3-affichage-legal .accordion-link[aria-expanded="true"] .fa-arrow-right {
	display: none;
}

.krea3-affichage-legal .accordion-link[aria-expanded="true"] .fa-arrow-down {
	display: block;
}

.krea3-affichage-legal .answer:not([hidden]) {
	max-height: none !important;
	overflow: visible !important;
	padding: 1rem;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}


/* ==========================================================
   Fiche équipement : présentation institutionnelle et RGAA
   ========================================================== */
.krea3_equipement.k3-equipment-sheet {
	--k3-equipment-shadow: 0 20px 50px rgba(22, 43, 52, .1);
	--k3-equipment-radius: clamp(1rem, 2vw, 1.5rem);
	color: var(--k3-text);
	max-width: 100%;
	min-width: 0;
}

.k3-equipment-sheet *,
.k3-equipment-sheet *::before,
.k3-equipment-sheet *::after {
	box-sizing: border-box;
}

.k3-equipment-sheet__header {
	margin: 0 0 clamp(1.5rem, 4vw, 3rem);
	max-width: 62rem;
}

.k3-equipment-sheet__eyebrow {
	color: var(--k3-primary);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 .55rem;
	text-transform: uppercase;
}

.k3-equipment-sheet__header h1 {
	font-size: clamp(2.2rem, 5vw, 4.8rem);
	line-height: .98;
	margin: 0;
	overflow-wrap: anywhere;
}

.krea3_equipement.k3-equipment-sheet .krea3-layout {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1.8fr) minmax(17rem, .82fr);
}

.krea3_equipement.k3-equipment-sheet .krea3-main,
.krea3_equipement.k3-equipment-sheet .krea3-sidebar {
	min-width: 0;
	width: auto;
}

.krea3_equipement.k3-equipment-sheet .krea3-sidebar {
	position: sticky;
	top: 7rem;
}

.k3-equipment-sheet .krea3-hero {
	border-radius: var(--k3-equipment-radius);
	box-shadow: var(--k3-equipment-shadow);
	margin: 0 0 clamp(1.5rem, 4vw, 2.5rem);
	overflow: hidden;
}

.k3-equipment-sheet .krea3-hero img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.k3-equipment-sheet .krea3-content {
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.k3-equipment-sheet .krea3-content > :first-child {
	margin-top: 0;
}

.k3-equipment-sheet .krea3-section,
.k3-equipment-sheet .krea3-booking {
	margin-top: clamp(2rem, 5vw, 4rem);
}

.k3-equipment-sheet .krea3-section h2,
.k3-equipment-sheet .krea3-booking h2,
.k3-equipment-sheet .krea3-card h2 {
	color: var(--k3-text);
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	line-height: 1.15;
	margin: 0 0 1rem;
	overflow-wrap: anywhere;
}

.k3-equipment-sheet .krea3-equipement-grid {
	display: grid;
	gap: .75rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.k3-equipment-sheet .krea3-equipement-item {
	align-items: center;
	background: var(--k3-surface);
	border: 1px solid var(--k3-line);
	border-radius: .85rem;
	display: flex;
	font-weight: 700;
	gap: .65rem;
	min-width: 0;
	padding: .8rem 1rem;
}

.k3-equipment-sheet .krea3-equipement-item svg,
.k3-equipment-sheet .krea3-infos svg {
	fill: currentColor;
	flex: 0 0 1.25rem;
	height: 1.25rem;
	width: 1.25rem;
}

.k3-equipment-sheet .krea3-equipement-item svg {
	color: var(--k3-primary);
}

.k3-equipment-sheet .krea3-booking {
	background: var(--k3-surface);
	border: 1px solid var(--k3-line);
	border-radius: var(--k3-equipment-radius);
	padding: clamp(1rem, 3vw, 2rem);
}

.k3-equipment-sheet .k3-equipment-section-heading {
	max-width: 48rem;
}

.k3-equipment-sheet .krea3-calendar-help,
.k3-equipment-sheet .k3-equipment-required-note {
	color: var(--k3-text);
	line-height: 1.55;
}

.k3-equipment-sheet .k3-equipment-calendar-wrap {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: .25rem;
	-webkit-overflow-scrolling: touch;
}

.k3-equipment-sheet #krea3-calendar-front {
	margin-top: 1.5rem;
	min-width: 0;
}

.k3-equipment-sheet .fc .fc-toolbar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
}

.k3-equipment-sheet .fc .fc-button-primary {
	background: var(--k3-primary);
	border-color: var(--k3-primary);
	color: var(--k3-on-primary);
	min-height: 44px;
}

.k3-equipment-sheet .fc .fc-button-primary:hover,
.k3-equipment-sheet .fc .fc-button-primary:focus-visible {
	background: var(--k3-primary-dark);
	border-color: var(--k3-primary-dark);
	color: var(--k3-on-primary);
}

.k3-equipment-sheet .krea3-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem 1.25rem;
	list-style: none;
	margin: 1rem 0;
	padding: 0;
}

.k3-equipment-sheet .krea3-legend-item {
	align-items: center;
	display: inline-flex;
	gap: .5rem;
}

.k3-equipment-sheet .krea3-dot {
	border: 1px solid rgba(0, 0, 0, .3);
	border-radius: 50%;
	flex: 0 0 .9rem;
	height: .9rem;
	width: .9rem;
}

.k3-equipment-sheet .krea3-availability {
	border-radius: .65rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 1rem 0;
	min-height: 1.5rem;
	padding: .7rem 0;
}

.k3-equipment-sheet .krea3-availability:not(:empty) {
	background: #fff;
	border-left: 4px solid var(--k3-primary);
	padding: .85rem 1rem;
}

.k3-equipment-sheet .krea3-form {
	background: #fff;
	border: 1px solid var(--k3-line);
	border-radius: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: clamp(1rem, 3vw, 1.75rem);
}

.k3-equipment-sheet .krea3-form h3,
.k3-equipment-sheet .krea3-form .k3-equipment-required-note,
.k3-equipment-sheet .krea3-form .krea3-row--dates,
.k3-equipment-sheet .krea3-form .krea3-btn-primary {
	grid-column: 1 / -1;
}

.k3-equipment-sheet .krea3-form h3 {
	font-size: 1.35rem;
	margin: 0;
}

.k3-equipment-sheet .k3-equipment-required-note {
	font-size: .95rem;
	margin: -.4rem 0 0;
}

.k3-equipment-sheet .krea3-row {
	margin: 0;
	min-width: 0;
}

.k3-equipment-sheet .krea3-row--dates {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.k3-equipment-sheet .krea3-row label {
	display: block;
	font-size: 1rem;
	font-weight: 750;
	margin: 0 0 .4rem;
}

.k3-equipment-sheet .krea3-row input {
	background: #fff;
	border: 2px solid var(--k3-line);
	border-radius: .65rem;
	color: var(--k3-text);
	font: inherit;
	min-height: 48px;
	padding: .7rem .85rem;
	width: 100%;
}

.k3-equipment-sheet .krea3-row input[readonly] {
	background: var(--k3-surface);
}

.k3-equipment-sheet .krea3-btn-primary,
.k3-equipment-sheet .krea3-btn,
.k3-equipment-sheet .krea3-btn-reserver {
	align-items: center;
	background: var(--k3-primary);
	border: 2px solid var(--k3-primary);
	border-radius: .65rem;
	color: var(--k3-on-primary);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 800;
	justify-content: center;
	line-height: 1.25;
	min-height: 48px;
	padding: .75rem 1rem;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.k3-equipment-sheet .krea3-btn-primary:hover,
.k3-equipment-sheet .krea3-btn:hover,
.k3-equipment-sheet .krea3-btn-reserver:hover {
	background: var(--k3-primary-dark);
	border-color: var(--k3-primary-dark);
	color: var(--k3-on-primary);
	transform: none;
}

.k3-equipment-sheet .krea3-btn-secondary {
	background: var(--k3-text);
	border-color: var(--k3-text);
	color: #fff;
}

.k3-equipment-sheet .krea3-btn-primary:disabled {
	cursor: wait;
	opacity: .65;
}

.k3-equipment-sheet .krea3-card {
	background: #fff;
	border: 1px solid var(--k3-line);
	border-radius: 1rem;
	box-shadow: 0 12px 35px rgba(22, 43, 52, .07);
	margin: 0 0 1rem;
	min-width: 0;
	padding: clamp(1rem, 2vw, 1.4rem);
}

.k3-equipment-sheet .krea3-card-booking {
	background: var(--k3-surface);
	border: 2px solid var(--k3-primary);
}

.k3-equipment-sheet .krea3-next-slot {
	background: #fff;
	border: 0;
	border-left: 4px solid var(--k3-primary);
	border-radius: .55rem;
	color: var(--k3-text);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 1rem;
	min-height: 4rem;
	padding: .85rem 1rem;
	text-align: left;
	width: 100%;
}

.k3-equipment-sheet .krea3-infos,
.k3-equipment-sheet .krea3-related,
.k3-equipment-sheet .krea3-slots {
	list-style: none;
	margin: 0;
	padding: 0;
}

.k3-equipment-sheet .krea3-infos li {
	align-items: center;
	display: flex;
	gap: .65rem;
	margin: 0;
	padding: .45rem 0;
}

.k3-equipment-sheet .krea3-related li + li,
.k3-equipment-sheet .krea3-slots li + li {
	border-top: 1px solid var(--k3-line);
}

.k3-equipment-sheet .krea3-related a,
.k3-equipment-sheet .krea3-slots li {
	display: block;
	overflow-wrap: anywhere;
	padding: .7rem 0;
}

.k3-equipment-sheet #krea3-map {
	border: 1px solid var(--k3-line);
	border-radius: .75rem;
	height: clamp(16rem, 32vw, 23rem);
	margin: 0 0 .85rem;
	max-width: 100%;
	overflow: hidden;
	width: 100%;
}

.k3-equipment-sheet .krea3-adresse {
	font-style: normal;
	line-height: 1.55;
	margin: 0 0 1rem;
	overflow-wrap: anywhere;
}

.k3-equipment-sheet .krea3-directions {
	display: grid;
	gap: .6rem;
	margin-top: .75rem;
	position: relative;
}

.k3-equipment-sheet .krea3-directions .krea3-btn {
	margin: 0;
}

.k3-equipment-sheet .krea3-directions-menu {
	background: #fff;
	border: 1px solid var(--k3-line);
	border-radius: .75rem;
	box-shadow: var(--k3-equipment-shadow);
	display: none;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: calc(100% + .45rem);
	width: 100%;
	z-index: 1000;
}

.k3-equipment-sheet .krea3-directions-menu[hidden] {
	display: none !important;
}

.k3-equipment-sheet .krea3-directions.is-open > .krea3-directions-menu:not([hidden]) {
	display: grid !important;
}

.k3-equipment-sheet .krea3-directions-menu a {
	color: var(--k3-text);
	font-weight: 700;
	min-height: 44px;
	padding: .75rem 1rem;
	text-decoration: none;
}

.k3-equipment-sheet .krea3-directions-menu a + a {
	border-top: 1px solid var(--k3-line);
}

.k3-equipment-sheet .krea3-directions-menu a:hover,
.k3-equipment-sheet .krea3-directions-menu a:focus-visible {
	background: var(--k3-surface);
	color: var(--k3-primary-dark);
}

.k3-equipment-sheet :is(a, button, input, [tabindex]):focus-visible {
	outline: 3px solid var(--k3-secondary);
	outline-offset: 3px;
}

.k3-equipment-sheet :is(#krea3-calendar-front, #krea3-form) {
	scroll-margin-top: 8rem;
}

@media (max-width: 1000px) {
	.krea3_equipement.k3-equipment-sheet .krea3-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.krea3_equipement.k3-equipment-sheet .krea3-sidebar {
		position: static;
	}
}

@media (max-width: 700px) {
	.k3-equipment-sheet .k3-equipment-calendar-wrap {
		margin-inline: -.4rem;
	}

	.k3-equipment-sheet #krea3-calendar-front {
		min-width: 40rem;
	}

	.k3-equipment-sheet .krea3-form,
	.k3-equipment-sheet .krea3-row--dates {
		grid-template-columns: minmax(0, 1fr);
	}

	.k3-equipment-sheet .krea3-form .krea3-row {
		grid-column: 1 / -1;
	}
}

@media (max-width: 420px) {
	.k3-equipment-sheet .krea3-booking {
		padding: .85rem;
	}

	.k3-equipment-sheet .krea3-card,
	.k3-equipment-sheet .krea3-form {
		border-radius: .8rem;
		padding: .9rem;
	}
}
