/*
 * Krea3 Atelier — identity layer 2027.
 *
 * Editorial, modular and deliberately architectural. This file is loaded after
 * krea3-2027-base.css: the base owns structure and accessibility; Atelier owns
 * colour, rhythm, geometry and responsive art direction.
 */

:root {
	--k3-ink: #111827;
	--k3-text: #344054;
	--k3-primary: #2447b6;
	--k3-primary-dark: #17338c;
	--k3-secondary: #a83b27;
	--k3-accent: #ffd34e;
	--k3-surface: #f4f1e9;
	--k3-surface-strong: #e6e9f0;
	--k3-paper: #fffefa;
	--k3-line: #aeb8cb;
	--k3-on-primary: #fff;
	--k3-on-secondary: #fff;
	--k3-radius-sm: 2px;
	--k3-radius: 2px;
	--k3-radius-lg: 2px;
	--k3-shadow: 10px 10px 0 rgba(36, 71, 182, .16);
	--k3-shadow-hover: 14px 14px 0 rgba(17, 24, 39, .2);
	--k3-max: 1580px;
	--k3-gutter: clamp(20px, 4.5vw, 72px);
	--k3-section-space: clamp(78px, 9vw, 142px);
	--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: "Lato", Arial, sans-serif;
	--police-secondaire: "Nunito", Arial, sans-serif;
}

body.krea3-theme-2027 {
	background-color: var(--k3-paper);
	background-image: linear-gradient(rgba(17, 24, 39, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 24, 39, .035) 1px, transparent 1px);
	background-size: 48px 48px;
	color: var(--k3-text);
}

body.krea3-theme-2027 ::selection {
	background: var(--k3-accent);
	color: var(--k3-ink);
}

body.krea3-theme-2027 :focus-visible {
	box-shadow: 0 0 0 3px var(--k3-paper), 0 0 0 7px var(--k3-ink);
	outline: 3px solid var(--k3-accent);
	outline-offset: 3px;
}

.k3-eyebrow {
	align-items: center;
	color: var(--k3-primary);
	display: flex;
	font-family: var(--police);
	font-size: .75rem;
	gap: 10px;
	letter-spacing: .2em;
}

.k3-eyebrow::before {
	background: var(--k3-secondary);
	content: "";
	height: 10px;
	width: 10px;
}

/* Brand, utilities and primary navigation ------------------------------ */

#top-header {
	height: 50px !important;
	top: 5px !important;
}

#top-header .liens-reseaux {
	background: transparent;
	border: 0;
	box-shadow: none;
	gap: 6px !important;
	padding: 0 !important;
}

#top-header .liens-reseaux li > a,
#top-header .k3-search-toggle {
	background: var(--k3-paper) !important;
	border: 1px solid var(--k3-line) !important;
	border-radius: 0 !important;
	color: var(--k3-primary) !important;
	gap: 8px;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 13px !important;
	width: auto !important;
}

#top-header .liens-reseaux li.k3-utility-item--social > a {
	padding: 0 !important;
	width: 44px !important;
}

#top-header .k3-utility-item--social + .k3-utility-item--service {
	border-left: 2px solid var(--k3-ink);
	margin-left: 5px !important;
	padding-left: 11px !important;
}

#top-header .liens-reseaux li.k3-utility-item--search {
	margin-left: 5px !important;
	padding-left: 5px !important;
}

#top-header .k3-utility-label,
#top-header .k3-search-toggle__label {
	font-family: var(--police);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .075em;
	line-height: 1;
	text-transform: uppercase;
}

#top-header .liens-reseaux li > a:hover,
#top-header .liens-reseaux li > a:focus-visible,
#top-header .liens-reseaux li.k3-utility-item--service > a:hover,
#top-header .liens-reseaux li.k3-utility-item--service > a:focus-visible {
	background: var(--k3-primary) !important;
	border-color: var(--k3-primary) !important;
	color: var(--k3-on-primary) !important;
	transform: none;
}

#top-header .k3-search-toggle {
	background: var(--k3-ink) !important;
	border-color: var(--k3-ink) !important;
	color: var(--k3-paper) !important;
	padding-inline: 16px !important;
}

#top-header .k3-search-toggle:hover,
#top-header .k3-search-toggle:focus-visible {
	background: var(--k3-secondary) !important;
	border-color: var(--k3-secondary) !important;
	color: var(--k3-on-secondary) !important;
	transform: none;
}

#header.site-header {
	background: var(--k3-paper) !important;
	border-bottom: 6px solid var(--k3-ink) !important;
	box-shadow: none !important;
}

#header.site-header > .largeur92 {
	grid-template-columns: minmax(230px, 315px) minmax(0, 1fr);
}

#logo.k3-brand {
	border-left: 8px solid var(--k3-primary);
	gap: 13px;
	padding-left: 15px !important;
}

.k3-brand-mark {
	align-items: stretch;
	display: grid;
	gap: 3px;
	grid-template-columns: repeat(3, 1fr);
	height: 43px;
	width: 43px;
}

.k3-brand-mark span,
.k3-brand-mark span:nth-child(1),
.k3-brand-mark span:nth-child(2),
.k3-brand-mark span:nth-child(3) {
	align-self: stretch;
	background: var(--k3-primary);
	border-radius: 0;
	height: auto;
	width: auto;
}

.k3-brand-mark span:nth-child(2) {
	background: var(--k3-secondary);
	transform: translateY(8px);
}

.k3-brand-mark span:nth-child(3) {
	background: var(--k3-accent);
	transform: translateY(-5px);
}

.k3-brand-kicker {
	color: var(--k3-primary);
	font-family: var(--police);
	font-weight: 700;
	letter-spacing: .18em;
}

.k3-brand-name {
	font-family: var(--police);
	font-weight: 700;
	letter-spacing: -.055em;
	text-transform: uppercase;
}

@media (min-width: 1218px) {
	#menu-principal #nav {
		gap: 0 !important;
	}

	#menu-principal #nav > li > a,
	#menu-principal #nav > li > button.menu-item {
		border-bottom-width: 6px !important;
		font-family: var(--police) !important;
		font-size: clamp(.82rem, .94vw, 1rem) !important;
		letter-spacing: .035em;
		max-width: 210px;
		padding-inline: clamp(16px, 1.5vw, 28px) !important;
	}

	#menu-principal #nav > li + li > a,
	#menu-principal #nav > li + li > button.menu-item {
		border-left: 1px solid var(--k3-line) !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"] {
		background: var(--k3-surface) !important;
		border-bottom-color: var(--k3-secondary) !important;
		color: var(--k3-primary-dark) !important;
	}

	#menu-principal #nav > li > ul:not([hidden]),
	#menu-principal #nav > li > button[aria-expanded="true"] + ul:not([hidden]) {
		background-color: var(--k3-ink) !important;
		background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px) !important;
		background-size: 64px 64px !important;
		border-top: 6px solid var(--k3-accent) !important;
		box-shadow: none !important;
	}

	#menu-principal #nav > li > ul > li > a,
	#menu-principal #nav > li > ul > li > button.menu-item {
		border-bottom: 1px solid rgba(255, 255, 255, .23) !important;
		color: #fff !important;
		font-family: var(--police) !important;
		font-size: clamp(1.35rem, 2vw, 2.15rem) !important;
		font-weight: 700 !important;
		letter-spacing: -.02em;
	}

	#menu-principal #nav > li > ul > li > a:hover,
	#menu-principal #nav > li > ul > li > a:focus-visible,
	#menu-principal #nav > li > ul > li > button.menu-item:hover,
	#menu-principal #nav > li > ul > li > button.menu-item:focus-visible,
	#menu-principal #nav > li > ul > li > button.menu-item[aria-expanded="true"] {
		background: var(--k3-accent) !important;
		color: var(--k3-ink) !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 {
		border-left: 5px solid transparent !important;
		color: #fff !important;
		font-size: 1.12rem !important;
	}

	#menu-principal #nav > li > ul > li > ul > li > a:hover,
	#menu-principal #nav > li > ul > li > ul > li > a:focus-visible,
	#menu-principal #nav > li > ul > li > ul > li > button.menu-item:hover,
	#menu-principal #nav > li > ul > li > ul > li > button.menu-item:focus-visible,
	#menu-principal #nav .menu-see-all a:hover,
	#menu-principal #nav .menu-see-all a:focus-visible {
		background: rgba(255, 255, 255, .1) !important;
		border-left-color: var(--k3-accent) !important;
		text-decoration: underline !important;
	}

	#menu-principal #nav .krea3-mega-close {
		background: var(--k3-accent) !important;
		border: 3px solid var(--k3-paper) !important;
		border-radius: 0 !important;
		box-shadow: 7px 7px 0 var(--k3-secondary);
		color: var(--k3-ink) !important;
	}

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

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

.k3-search-backdrop {
	background-color: rgba(17, 24, 39, .94);
	background-image: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
	background-size: 54px 54px;
	backdrop-filter: none;
}

.k3-search-dialog {
	border: 3px solid var(--k3-ink);
	border-radius: 0;
	box-shadow: 16px 16px 0 var(--k3-accent);
	max-width: 980px;
	padding: clamp(34px, 5vw, 70px);
}

.k3-search-dialog__topline {
	border-bottom: 2px solid var(--k3-line);
	margin-bottom: clamp(34px, 4vw, 52px);
	padding-bottom: 18px;
}

.k3-search-dialog__identity {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.k3-search-site {
	color: var(--k3-ink);
	font-family: var(--police);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.k3-search-service {
	color: var(--k3-text);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.k3-search-close {
	background: var(--k3-accent);
	border-color: var(--k3-ink);
	border-radius: 0;
	color: var(--k3-ink);
	gap: 10px;
	height: 44px;
	padding: 0 13px;
	width: auto;
}

.k3-search-close__label {
	font-size: .73rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

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

.k3-search-dialog > .k3-eyebrow {
	color: var(--k3-primary);
}

.k3-search-dialog > .k3-eyebrow::before {
	background: var(--k3-secondary);
	margin-top: 2px;
}

.k3-search-dialog h2 {
	font-family: var(--police);
	font-size: clamp(2.45rem, 4.2vw, 4.2rem);
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: .94;
	margin: 0 0 16px;
	max-width: 660px;
	text-transform: uppercase;
}

.k3-search-help {
	color: var(--k3-text);
	font-size: 1rem;
	line-height: 1.55;
	margin: 0 0 28px;
	max-width: 610px;
}

.k3-search-form {
	margin: 0;
}

.k3-search-field input {
	border-color: var(--k3-ink);
	border-radius: 0;
}

.k3-search-field button {
	background: var(--k3-primary);
	border-color: var(--k3-primary);
	border-radius: 0;
	font-family: var(--police);
	letter-spacing: .045em;
	text-transform: uppercase;
}

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

/* Hero and quick services --------------------------------------------- */

#diapo-accueil {
	border-bottom: 10px solid var(--k3-accent);
	height: clamp(520px, 61vw, 760px) !important;
}

#diapo-accueil::after {
	background: linear-gradient(90deg, rgba(17, 24, 39, .86) 0, rgba(17, 24, 39, .58) 39%, rgba(17, 24, 39, .1) 72%, transparent), linear-gradient(0deg, rgba(17, 24, 39, .35), transparent 45%);
}

#diapo-accueil::before {
	background: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(255, 255, 255, .2) 25%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 5;
}

#diapo-texte,
#diapo-accueil #h1accueil {
	bottom: clamp(46px, 7vw, 94px) !important;
}

#diapo-texte #h1accueil,
#diapo-accueil > .largeur92 > #h1accueil {
	background: rgba(17, 24, 39, .94);
	border-left: 12px solid var(--k3-accent);
	box-shadow: 14px 14px 0 rgba(168, 59, 39, .88);
	font-family: var(--police) !important;
	font-size: clamp(3rem, 6.4vw, 6.9rem) !important;
	font-weight: 700 !important;
	letter-spacing: -.07em !important;
	line-height: .9 !important;
	max-width: min(1020px, 84vw);
	padding: clamp(22px, 4vw, 46px);
	text-shadow: none;
	text-transform: uppercase;
	width: max-content;
}

#diapo-accueil .rslides_nav,
#diapo-accueil a.prev,
#diapo-accueil a.next {
	background: var(--k3-paper) !important;
	border: 3px solid var(--k3-ink) !important;
	border-radius: 0 !important;
	box-shadow: 6px 6px 0 var(--k3-accent) !important;
	color: var(--k3-ink) !important;
}

#acces-rapides {
	border-bottom: 0;
	box-shadow: none;
}

#acces-rapides > .largeur92 {
	border-left: 2px solid var(--k3-ink);
	border-right: 2px solid var(--k3-ink);
	grid-template-columns: minmax(165px, .72fr) minmax(0, 4fr);
}

#acces-rapides #titre-acces {
	background: var(--k3-ink) !important;
	font-family: var(--police);
	text-transform: uppercase;
}

#acces-rapides #titre-acces::after {
	background: var(--k3-accent);
	content: "";
	height: 8px;
	margin-top: 14px;
	width: 54px;
}

#acces-rapides li {
	border-color: var(--k3-line);
}

#acces-rapides li a {
	font-family: var(--police-secondaire);
	position: relative;
}

#acces-rapides li a::after {
	background: var(--k3-secondary);
	bottom: 0;
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
	width: 100%;
}

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

#acces-rapides li a:hover::after,
#acces-rapides li a:focus-visible::after {
	transform: scaleX(1);
}

#acces-rapides li a i,
#acces-rapides li a svg {
	color: var(--k3-primary) !important;
}

/* Editorial home sections and cards ----------------------------------- */

.k3-home-news {
	background-color: var(--k3-paper);
	background-image: linear-gradient(90deg, transparent calc(50% - 1px), rgba(36, 71, 182, .08) 50%, transparent calc(50% + 1px));
}

.k3-home-agenda {
	background-color: var(--k3-surface);
	background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(17, 24, 39, .075) 25%);
}

.k3-section-heading {
	border-bottom: 5px solid var(--k3-ink);
	padding-bottom: 24px;
}

.k3-section-heading h2,
.k3-home-projects-kiosk h2,
.k3-home-map h2 {
	font-family: var(--police);
	font-weight: 700;
	letter-spacing: -.065em;
	text-transform: uppercase;
}

.k3-section-link,
.k3-card-action {
	font-family: var(--police);
	letter-spacing: .035em;
	text-transform: uppercase;
}

.k3-section-link {
	background: var(--k3-primary);
	border: 2px solid var(--k3-primary);
	color: var(--k3-on-primary) !important;
	padding: 12px 17px;
}

.k3-section-link:hover,
.k3-section-link:focus-visible {
	background: var(--k3-accent);
	border-color: var(--k3-ink);
	color: var(--k3-ink) !important;
}

.k3-home-feed--news {
	gap: clamp(22px, 2.7vw, 42px);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.k3-home-feed--news .k3-news-card {
	grid-column: span 4;
}

.k3-home-feed--news > .widget:nth-of-type(1) .k3-news-card {
	grid-column: span 7;
	grid-row: span 2;
}

.k3-home-feed--news > .widget:nth-of-type(2) .k3-news-card,
.k3-home-feed--news > .widget:nth-of-type(3) .k3-news-card {
	grid-column: span 5;
}

.k3-home-feed--news > .widget:nth-of-type(2) .k3-news-card__link,
.k3-home-feed--news > .widget:nth-of-type(3) .k3-news-card__link {
	display: grid !important;
	grid-template-columns: minmax(150px, .78fr) minmax(0, 1.22fr);
}

.k3-home-feed--news > .widget:nth-of-type(2) .k3-news-card__media,
.k3-home-feed--news > .widget:nth-of-type(3) .k3-news-card__media {
	height: 100%;
	min-height: 270px;
}

.k3-home-feed--agenda {
	gap: clamp(18px, 2vw, 30px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.k3-news-card,
.k3-agenda-card {
	border: 2px solid var(--k3-ink);
	border-radius: 0;
	box-shadow: 8px 8px 0 rgba(36, 71, 182, .16);
}

.k3-news-card:hover,
.k3-news-card:focus-within,
.k3-agenda-card:hover,
.k3-agenda-card:focus-within {
	border-color: var(--k3-ink);
	box-shadow: 13px 13px 0 var(--k3-accent);
	transform: translate(-4px, -4px);
}

.k3-news-card__media,
.k3-agenda-card__media {
	border-bottom: 2px solid var(--k3-ink);
}

.k3-news-card__body,
.k3-agenda-card__body {
	background: var(--k3-paper);
}

.k3-news-card__date {
	align-self: flex-start;
	background: var(--k3-surface-strong);
	border-left: 5px solid var(--k3-secondary);
	color: var(--k3-primary-dark);
	font-family: var(--police);
	padding: 7px 10px;
}

.k3-agenda-card__date {
	background: var(--k3-primary);
	border: 2px solid var(--k3-ink);
	border-radius: 0;
	box-shadow: 5px 5px 0 var(--k3-accent);
	font-family: var(--police);
	letter-spacing: .04em;
	margin-top: -58px;
}

.k3-news-card__title,
.k3-agenda-card__title {
	font-family: var(--police);
	font-weight: 700 !important;
	letter-spacing: -.03em;
}

.k3-card-action {
	border-top: 2px solid var(--k3-ink);
	color: var(--k3-primary-dark) !important;
	justify-content: space-between;
	padding-top: 15px;
}

.k3-agenda-card__place {
	border-top: 1px solid var(--k3-line);
	color: var(--k3-primary-dark);
	padding-top: 15px;
}

/* Project + kiosk modular row ----------------------------------------- */

.k3-home-projects-kiosk {
	background-color: var(--k3-ink);
	background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: 56px 56px;
	border-block: 10px solid var(--k3-accent);
}

.k3-home-projects-kiosk__inner {
	gap: clamp(24px, 3vw, 44px);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.k3-home-projects-kiosk__projects {
	grid-column: span 7;
}

.k3-home-projects-kiosk__kiosk {
	grid-column: span 5;
}

.k3-home-projects-kiosk__card {
	border: 3px solid var(--k3-paper);
	border-radius: 0;
	box-shadow: 12px 12px 0 var(--k3-secondary);
}

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

.k3-home-projects-kiosk__project-visual,
.k3-home-projects-kiosk__media {
	border-bottom: 3px solid var(--k3-ink);
}

.k3-home-projects-kiosk__project-visual::after {
	background: linear-gradient(0deg, rgba(17, 24, 39, .92), rgba(17, 24, 39, .06) 78%);
}

.k3-home-projects-kiosk__project-heading {
	border-left: 9px solid var(--k3-accent);
	left: clamp(22px, 3vw, 42px);
	padding-left: clamp(20px, 2vw, 34px);
}

.k3-home-projects-kiosk__project-heading h2,
.k3-home-projects-kiosk__kiosk-content h2 {
	font-weight: 700;
}

.k3-home-projects-kiosk__project-content,
.k3-home-projects-kiosk__content {
	border-top: 0;
}

.k3-home-projects-kiosk__button {
	background: var(--k3-primary) !important;
	border-color: var(--k3-primary) !important;
	border-radius: 0 !important;
	font-family: var(--police);
	letter-spacing: .035em;
	text-transform: uppercase;
}

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

.k3-home-projects-kiosk__kiosk {
	background: var(--k3-surface);
	grid-template-columns: minmax(145px, .68fr) minmax(0, 1.32fr);
}

.k3-home-projects-kiosk__cover img {
	border: 2px solid var(--k3-ink);
	box-shadow: 8px 8px 0 var(--k3-accent);
}

.k3-home-projects-kiosk__publication-title {
	border-block: 1px solid var(--k3-line);
	padding-block: 16px;
	width: 100%;
}

.k3-home-projects-kiosk .k3-home-projects-kiosk__archive {
	background: var(--k3-primary) !important;
	border: 2px solid var(--k3-ink) !important;
	color: #fff !important;
}

.k3-home-projects-kiosk .k3-home-projects-kiosk__archive:hover,
.k3-home-projects-kiosk .k3-home-projects-kiosk__archive:focus-visible {
	background: var(--k3-accent) !important;
	border-color: var(--k3-ink) !important;
	color: var(--k3-ink) !important;
}

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

.k3-home-map {
	background: var(--k3-paper);
	padding-bottom: 0;
}

.k3-home-map__heading {
	border-bottom: 5px solid var(--k3-ink);
	padding-bottom: 30px;
}

.k3-home-map__address {
	background: var(--k3-accent);
	border: 2px solid var(--k3-ink);
	border-radius: 0;
	box-shadow: 7px 7px 0 var(--k3-secondary);
}

.k3-home-map__address > .k3-icon,
.k3-home-map__address a {
	color: var(--k3-primary-dark) !important;
}

.k3-home-map__address a:hover,
.k3-home-map__address a:focus-visible {
	color: var(--k3-secondary) !important;
	text-decoration-thickness: 3px;
}

.k3-home-map__frame {
	border-bottom: 10px solid var(--k3-primary);
	border-top: 3px solid var(--k3-ink);
}

/* Inner pages and section navigation ---------------------------------- */

#image-header-page {
	border-bottom: 10px solid var(--k3-accent);
	position: relative;
}

#image-header-page::after {
	background: linear-gradient(90deg, rgba(36, 71, 182, .45), transparent 52%), repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(255, 255, 255, .24) 25%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

#main-page {
	background-color: var(--k3-paper);
	background-image: linear-gradient(90deg, transparent calc(25% - 1px), rgba(17, 24, 39, .045) 25%, transparent calc(25% + 1px));
}

#main-page #la-page {
	grid-template-columns: minmax(270px, 360px) minmax(0, 1fr);
}

#main-page #content h1,
#main-page #content .titre-listing,
#main-page #content .titre-fiche {
	border-bottom: 6px solid var(--k3-ink);
	font-family: var(--police) !important;
	font-weight: 700 !important;
	letter-spacing: -.065em !important;
	padding-bottom: clamp(22px, 3vw, 36px);
	position: relative;
	text-transform: uppercase;
}

#main-page #content h1::after,
#main-page #content .titre-listing::after,
#main-page #content .titre-fiche::after {
	background: var(--k3-secondary);
	bottom: -6px;
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	width: min(180px, 33%);
}

#main-page #content h2,
#main-page #content h3,
#main-page #content h4 {
	font-family: var(--police);
	font-weight: 700;
}

#ligne-outils {
	border-bottom: 2px solid var(--k3-line);
}

.k3-section-nav-toggle {
	background: var(--k3-ink);
	border: 2px solid var(--k3-ink);
	border-radius: 0;
	box-shadow: 6px 6px 0 var(--k3-accent);
	font-family: var(--police);
	text-transform: uppercase;
}

#sidebar-pages {
	border: 2px solid var(--k3-ink);
	border-radius: 0;
	box-shadow: 9px 9px 0 rgba(36, 71, 182, .14);
}

#menu_pages > li,
#sidebar-pages > ul > li,
#sidebar-pages .pagenav {
	background: var(--k3-ink);
	color: var(--k3-paper);
	font-family: var(--police);
	font-weight: 700;
	letter-spacing: -.02em;
	padding: 30px 24px !important;
	text-transform: uppercase;
}

#menu_pages > li > ul,
#sidebar-pages > ul > li > ul,
#sidebar-pages .pagenav > ul {
	background: var(--k3-paper) !important;
	color: var(--k3-ink);
	margin: 30px -24px -30px !important;
	width: calc(100% + 48px) !important;
}

#menu_pages a,
#sidebar-pages li a {
	border-top: 1px solid var(--k3-line) !important;
	font-family: var(--police-secondaire) !important;
	padding: 18px 20px 18px 25px !important;
	position: relative;
}

#menu_pages a::before,
#sidebar-pages li a::before {
	background: transparent;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 6px;
}

#menu_pages a:hover,
#menu_pages a:focus-visible,
#sidebar-pages li a:hover,
#sidebar-pages li a:focus-visible {
	background: var(--k3-accent) !important;
	color: var(--k3-ink) !important;
	text-decoration: underline !important;
}

#menu_pages a:hover::before,
#menu_pages a:focus-visible::before,
#sidebar-pages li a:hover::before,
#sidebar-pages li a:focus-visible::before {
	background: var(--k3-secondary);
}

#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: none;
	color: var(--k3-primary-dark) !important;
	font-weight: 900 !important;
}

#menu_pages .current_page_item > a::before,
#menu_pages .current_page_ancestor > a::before,
#sidebar-pages .current_page_item > a::before,
#sidebar-pages .current_page_ancestor > a::before {
	background: var(--k3-primary);
}

#menu_pages ul ul,
#sidebar-pages ul ul ul {
	background: var(--k3-surface) !important;
	border-left: 0;
	border-top: 2px solid var(--k3-ink);
	padding: 12px 14px 16px 26px !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-left: 5px solid var(--k3-secondary) !important;
	border-radius: 0 !important;
	font-size: .94rem !important;
	padding: 13px 14px !important;
}

#menu_pages ul ul ul,
#sidebar-pages ul ul ul ul {
	border-left: 3px solid var(--k3-primary);
	margin-left: 8px !important;
}

/* Forms, archives, agenda and results --------------------------------- */

#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 {
	border: 2px solid var(--k3-line);
	border-radius: 0;
}

#main-page form input:focus,
#main-page form select:focus,
#main-page form textarea:focus {
	border-color: var(--k3-primary);
	box-shadow: 5px 5px 0 rgba(36, 71, 182, .16);
}

#main-page form input[type="submit"],
#main-page form button[type="submit"],
#main-page .bouton,
#main-page .btn {
	border-radius: 0 !important;
	font-family: var(--police);
	letter-spacing: .035em;
	text-transform: uppercase;
}

#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-accent) !important;
	border-color: var(--k3-ink) !important;
	color: var(--k3-ink) !important;
}

.k3-archive-card,
.un-bloc-listing,
body.search #content .krea3-resultat-recherche,
body.search #content article[class*="resultat-recherche"] {
	border: 2px solid var(--k3-ink) !important;
	border-radius: 0 !important;
	box-shadow: 7px 7px 0 rgba(36, 71, 182, .15) !important;
}

.k3-archive-card:hover,
.k3-archive-card:focus-within,
.un-bloc-listing:hover,
.un-bloc-listing:focus-within,
body.search #content .krea3-resultat-recherche:hover,
body.search #content article[class*="resultat-recherche"]:hover {
	box-shadow: 11px 11px 0 var(--k3-accent) !important;
	transform: translate(-3px, -3px);
}

.k3-archive-card__media,
.un-bloc-listing .listing-item > img {
	border-bottom: 2px solid var(--k3-ink);
}

.k3-archive-card time {
	background: var(--k3-surface-strong);
	border-left: 5px solid var(--k3-secondary);
	color: var(--k3-primary-dark);
	padding: 6px 9px;
}

.k3-archive-card h2 {
	font-family: var(--police);
	font-weight: 700;
}

#liste-agenda,
.liste-agenda,
ul.listing-agenda {
	gap: clamp(22px, 2.8vw, 38px);
}

body.search #content .krea3-resultat-recherche,
body.search #content article[class*="resultat-recherche"] {
	border-left: 10px solid var(--k3-primary) !important;
}

body.search #content .search-result-thumbnail,
body.search #content [class*="thumbnail"] {
	border: 2px solid var(--k3-ink);
	border-radius: 0;
}

/* Previous / next ------------------------------------------------------ */

.single-post-area .navigation-area .nav-left,
.single-post-area .navigation-area .nav-right {
	background: var(--k3-surface) !important;
	border: 2px solid var(--k3-ink) !important;
	border-radius: 0 !important;
	box-shadow: 7px 7px 0 rgba(36, 71, 182, .16);
}

.single-post-area .navigation-area .nav-left:hover,
.single-post-area .navigation-area .nav-left:focus-within,
.single-post-area .navigation-area .nav-right:hover,
.single-post-area .navigation-area .nav-right:focus-within {
	box-shadow: 10px 10px 0 var(--k3-accent);
}

.single-post-area .navigation-area .thumb {
	border: 2px solid var(--k3-ink);
	border-radius: 0;
}

.single-post-area .navigation-area .arrow {
	background: var(--k3-primary) !important;
	border: 2px solid var(--k3-ink);
	border-radius: 0;
}

.single-post-area .navigation-area .k3-post-nav-card:hover .arrow,
.single-post-area .navigation-area .k3-post-nav-card:focus-visible .arrow {
	background: var(--k3-accent) !important;
	color: var(--k3-ink) !important;
}

.single-post-area .navigation-area .k3-post-nav-card__label {
	color: var(--k3-primary-dark);
	font-family: var(--police);
}

/* Footer and scroll ---------------------------------------------------- */

#content-footer {
	background-color: var(--k3-ink) !important;
	background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px) !important;
	background-size: 56px 56px !important;
	border-top: 10px solid var(--k3-accent);
}

#content-footer > .largeur92 {
	border-left: 8px solid var(--k3-secondary);
	padding-left: clamp(24px, 4vw, 56px) !important;
}

#content-footer h2 {
	font-family: var(--police);
	font-weight: 700;
	text-transform: uppercase;
}

#content-footer #btn-footer > a {
	border-radius: 0;
	font-family: var(--police);
	text-transform: uppercase;
}

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

#scroll .scroll-top-link {
	background: var(--k3-accent) !important;
	border: 3px solid var(--k3-ink) !important;
	border-radius: 0 !important;
	box-shadow: 7px 7px 0 var(--k3-secondary) !important;
	color: var(--k3-ink) !important;
}

#scroll .scroll-top-link:hover,
#scroll .scroll-top-link:focus-visible {
	background: var(--k3-primary) !important;
	box-shadow: 7px 7px 0 var(--k3-accent) !important;
	color: var(--k3-on-primary) !important;
}

/* Tablet and mobile ---------------------------------------------------- */

@media (max-width: 1217px) {
	#top-header {
		top: 0 !important;
	}

	#top-header .liens-reseaux {
		border: 0;
		box-shadow: none;
		padding: 0 !important;
	}

	#top-header .k3-search-toggle {
		border: 2px solid var(--k3-ink) !important;
		height: 48px !important;
		width: 48px !important;
	}

	#header.site-header {
		border-bottom-width: 5px !important;
	}

	#menu-principal .toggleMenu {
		background: var(--k3-paper) !important;
		border: 2px solid var(--k3-ink) !important;
		border-radius: 0 !important;
		box-shadow: 5px 5px 0 var(--k3-accent);
	}

	body.menu-open #menu-principal #nav,
	body.menu-open #header #menu #nav {
		background-color: var(--k3-ink) !important;
		background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px) !important;
		background-size: 48px 48px !important;
		border-top: 8px solid var(--k3-accent);
	}

	body.menu-open button.toggleMenu.active,
	body.menu-open #header.site-header button.toggleMenu.active {
		background: var(--k3-accent) !important;
		border-color: var(--k3-paper) !important;
		border-radius: 0 !important;
		box-shadow: 6px 6px 0 var(--k3-secondary);
		color: var(--k3-ink) !important;
	}

	body.menu-open button.toggleMenu.active::before,
	body.menu-open button.toggleMenu.active::after,
	body.menu-open button.toggleMenu.active span[aria-hidden="true"]::before,
	body.menu-open button.toggleMenu.active span[aria-hidden="true"]::after {
		background: var(--k3-ink) !important;
	}

	body.menu-open #menu-principal #nav > li {
		border-bottom: 1px solid rgba(255, 255, 255, .24) !important;
	}

	body.menu-open #menu-principal #nav > li > a,
	body.menu-open #menu-principal #nav > li > button.menu-item {
		align-items: center !important;
		display: flex !important;
		font-family: var(--police) !important;
		font-size: clamp(1.22rem, 4vw, 1.85rem) !important;
		font-weight: 700 !important;
		justify-content: space-between !important;
		letter-spacing: -.02em;
		padding: 18px 10px !important;
		text-transform: uppercase;
	}

	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 {
		border: 1px solid rgba(255, 255, 255, .34) !important;
		border-left: 5px solid var(--k3-accent) !important;
		font-size: 1rem !important;
		margin: 8px 0 !important;
		padding: 13px 15px !important;
		text-decoration: none !important;
	}

	body.menu-open #menu-principal #nav li li > a:hover,
	body.menu-open #menu-principal #nav li li > a:focus-visible,
	body.menu-open #menu-principal #nav li li > button.menu-item:hover,
	body.menu-open #menu-principal #nav li li > button.menu-item:focus-visible {
		background: var(--k3-accent) !important;
		color: var(--k3-ink) !important;
	}

	.k3-home-feed--news {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.k3-home-feed--news .k3-news-card,
	.k3-home-feed--news > .widget:nth-of-type(1) .k3-news-card,
	.k3-home-feed--news > .widget:nth-of-type(2) .k3-news-card,
	.k3-home-feed--news > .widget:nth-of-type(3) .k3-news-card {
		grid-column: auto;
		grid-row: auto;
	}

	.k3-home-feed--news > .widget:nth-of-type(2) .k3-news-card__link,
	.k3-home-feed--news > .widget:nth-of-type(3) .k3-news-card__link {
		display: flex !important;
	}

	.k3-home-feed--news > .widget:nth-of-type(2) .k3-news-card__media,
	.k3-home-feed--news > .widget:nth-of-type(3) .k3-news-card__media {
		height: clamp(220px, 30vw, 320px);
		min-height: 0;
	}

	.k3-home-feed--agenda {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.k3-home-projects-kiosk__projects,
	.k3-home-projects-kiosk__kiosk {
		grid-column: span 6;
	}

	#main-page {
		background-image: none;
	}

	#sidebar-pages {
		box-shadow: 7px 7px 0 rgba(36, 71, 182, .14);
	}
}

@media (max-width: 820px) {
	body.krea3-theme-2027 {
		background-size: 32px 32px;
	}

	.k3-search-dialog {
		border: 0;
		box-shadow: none;
	}

	.k3-search-dialog::after {
		height: 9px;
		left: 0;
		top: 0;
	}

	.k3-search-field input,
	.k3-search-field button {
		border-radius: 0;
	}

	#diapo-accueil {
		border-bottom-width: 7px;
	}

	#diapo-texte #h1accueil,
	#diapo-accueil > .largeur92 > #h1accueil {
		border-left-width: 8px;
		box-shadow: 8px 8px 0 rgba(168, 59, 39, .9);
		max-width: calc(100vw - 32px);
		padding: 20px;
		width: auto;
	}

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

	#acces-rapides #titre-acces {
		justify-content: flex-start;
		padding-inline: var(--k3-gutter) !important;
	}

	#acces-rapides #titre-acces::after {
		height: 6px;
		margin: 0 0 0 auto;
		width: 40px;
	}

	.k3-home-feed--news,
	.k3-home-feed--agenda {
		grid-template-columns: 1fr;
	}

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

	.k3-home-projects-kiosk__projects,
	.k3-home-projects-kiosk__kiosk {
		grid-column: auto;
	}

	.k3-home-map__heading,
	.k3-section-heading {
		border-bottom-width: 4px;
	}

	#content-footer > .largeur92 {
		border-left-width: 6px;
	}
}

@media (max-width: 560px) {
	#logo.k3-brand {
		border-left-width: 5px;
		padding-left: 10px !important;
	}

	#diapo-accueil::before {
		background: repeating-linear-gradient(90deg, transparent 0, transparent calc(50% - 1px), rgba(255, 255, 255, .18) 50%);
	}

	#acces-rapides li a {
		padding-inline: 8px !important;
	}

	.k3-news-card,
	.k3-agenda-card,
	.k3-archive-card,
	.un-bloc-listing {
		box-shadow: 6px 6px 0 rgba(36, 71, 182, .16) !important;
	}

	.k3-news-card:hover,
	.k3-news-card:focus-within,
	.k3-agenda-card:hover,
	.k3-agenda-card:focus-within,
	.k3-archive-card:hover,
	.k3-archive-card:focus-within,
	.un-bloc-listing:hover,
	.un-bloc-listing:focus-within {
		box-shadow: 8px 8px 0 var(--k3-accent) !important;
		transform: translate(-2px, -2px);
	}

	.k3-home-projects-kiosk__card {
		box-shadow: 7px 7px 0 var(--k3-secondary);
	}

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

	.k3-home-map__address {
		box-shadow: 5px 5px 0 var(--k3-secondary);
	}

	#main-page #content h1,
	#main-page #content .titre-listing,
	#main-page #content .titre-fiche {
		border-bottom-width: 4px;
	}

	#main-page #content h1::after,
	#main-page #content .titre-listing::after,
	#main-page #content .titre-fiche::after {
		bottom: -4px;
		height: 4px;
	}

	#content-footer > .largeur92 {
		border-left: 0;
		padding-left: var(--k3-gutter) !important;
	}

	#scroll .scroll-top-link {
		box-shadow: 5px 5px 0 var(--k3-secondary) !important;
		height: 52px !important;
		width: 52px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.k3-news-card:hover,
	.k3-news-card:focus-within,
	.k3-agenda-card:hover,
	.k3-agenda-card:focus-within,
	.k3-archive-card:hover,
	.k3-archive-card:focus-within,
	.un-bloc-listing:hover,
	.un-bloc-listing:focus-within {
		transform: none;
	}
}

/* Keep the programme grid stronger than legacy widget flex rules. */
body.home.krea3-theme-2027 main.k3-home .k3-home-feed--agenda .k3-agenda-card__link,
body.front-page.krea3-theme-2027 main.k3-home .k3-home-feed--agenda .k3-agenda-card__link {
	display: grid !important;
}

/* Programme / affiche home composition ------------------------------- */

.k3-home-news,
.k3-home-agenda {
	padding-block: clamp(58px, 6vw, 94px);
}

.k3-home .k3-section-heading {
	height: auto !important;
	min-height: 0;
}

.k3-home-news .k3-section-heading,
.k3-home-agenda .k3-section-heading {
	gap: 24px;
	margin-bottom: clamp(28px, 3.8vw, 54px);
	padding-bottom: 20px;
}

.k3-home-news .k3-section-heading h2,
.k3-home-agenda .k3-section-heading h2 {
	font-size: clamp(2.65rem, 4.6vw, 4.9rem);
}

.k3-home-news .k3-section-link,
.k3-home-agenda .k3-section-link {
	background: transparent;
	border: 2px solid var(--k3-ink);
	color: var(--k3-ink) !important;
	min-height: 48px;
	padding: 10px 16px;
}

.k3-home-news .k3-section-link:hover,
.k3-home-news .k3-section-link:focus-visible,
.k3-home-agenda .k3-section-link:hover,
.k3-home-agenda .k3-section-link:focus-visible {
	background: var(--k3-accent);
	border-color: var(--k3-ink);
	color: var(--k3-ink) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 4px;
}

/* Actualités: one editorial lead and three supporting modules. */
.k3-home-feed--news {
	align-items: stretch;
	gap: clamp(14px, 1.5vw, 24px);
	grid-auto-flow: dense;
	grid-auto-rows: 260px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.k3-home-feed--news .k3-news-card {
	border: 2px solid var(--k3-ink);
	box-shadow: none;
	grid-column: span 4 !important;
	grid-row: auto !important;
	min-height: 190px;
	transform: none;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) {
	box-shadow: 10px 10px 0 var(--k3-accent);
	grid-column: span 6 !important;
	grid-row: span 2 !important;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(2) {
	grid-column: span 6 !important;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(3),
.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(4) {
	grid-column: span 3 !important;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(2):last-of-type {
	grid-row: span 2 !important;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(3):last-of-type {
	grid-column: span 6 !important;
}

body .k3-home-feed--news .k3-news-card__link {
	display: flex !important;
	flex-direction: column;
	height: 100% !important;
}

body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__link {
	display: grid !important;
	grid-template-rows: minmax(270px, 1.35fr) minmax(180px, auto);
}

body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(n+2):nth-of-type(-n+4) .k3-news-card__link {
	display: grid !important;
	grid-template-columns: minmax(118px, .76fr) minmax(0, 1.24fr) !important;
}

body .k3-home-feed--news .k3-news-card__media {
	border: 0;
	border-bottom: 2px solid var(--k3-ink);
	height: clamp(190px, 17vw, 260px) !important;
	min-height: 0 !important;
}

body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__media {
	height: 100% !important;
}

body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(n+2):nth-of-type(-n+4) .k3-news-card__media {
	border-bottom: 0;
	border-right: 2px solid var(--k3-ink);
	height: 100% !important;
	min-height: 190px !important;
}

.k3-home-feed--news .k3-news-card__body {
	background: var(--k3-paper);
	min-width: 0;
	padding: clamp(16px, 1.8vw, 26px);
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__body {
	background: var(--k3-ink);
	color: var(--k3-paper);
	padding: clamp(24px, 3vw, 42px);
}

.k3-news-card__meta {
	align-items: center;
	color: var(--k3-primary-dark);
	display: flex;
	font-family: var(--police);
	font-size: .69rem;
	font-weight: 900;
	gap: 8px;
	letter-spacing: .075em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.k3-news-card__meta > span {
	background: var(--k3-accent);
	color: var(--k3-ink);
	padding: 5px 7px;
}

.k3-home-news .k3-news-card__date {
	background: transparent;
	border: 0;
	color: inherit;
	font: inherit;
	margin: 0;
	padding: 0;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__meta {
	color: #e6eaf2;
}

.k3-home-news .k3-news-card__title {
	font-size: clamp(1.08rem, 1.35vw, 1.42rem) !important;
	hyphens: auto;
	line-height: 1.15 !important;
	margin: 0 0 16px !important;
	overflow-wrap: anywhere;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__title {
	color: var(--k3-paper) !important;
	font-size: clamp(1.75rem, 2.6vw, 2.75rem) !important;
	line-height: 1.03 !important;
}

.k3-home-news .k3-card-action {
	border-top: 1px solid currentColor;
	color: var(--k3-primary-dark) !important;
	font-size: .72rem;
	margin-top: auto;
	padding-top: 12px;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-card-action {
	color: var(--k3-paper) !important;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(3) .k3-card-action,
.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(4) .k3-card-action {
	display: none;
}

.k3-home-feed--news .k3-news-card:hover,
.k3-home-feed--news .k3-news-card:focus-within {
	border-color: var(--k3-primary);
	box-shadow: inset 7px 0 0 var(--k3-accent);
	transform: none;
}

.k3-home-feed--news .k3-news-card:focus-within {
	outline: 3px solid var(--k3-ink);
	outline-offset: 3px;
}

.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1):hover,
.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1):focus-within {
	box-shadow: 10px 10px 0 var(--k3-secondary);
}

.k3-home-feed--news .k3-news-card:hover .k3-news-card__title,
.k3-home-feed--news .k3-news-card:focus-within .k3-news-card__title {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.k3-home-feed--news .k3-news-card:hover img,
.k3-home-feed--news .k3-news-card:focus-within img {
	transform: scale(1.015);
}

body.krea3-theme-2027 .k3-home-feed--news .k3-news-card__link:focus-visible,
body.krea3-theme-2027 .k3-home-feed--agenda .k3-agenda-card__link:focus-visible {
	box-shadow: inset 0 0 0 3px var(--k3-ink);
	outline: 4px solid var(--k3-accent);
	outline-offset: -7px;
}

/* Agenda: a compact programme register, deliberately not a card deck. */
.k3-home-agenda {
	background-color: var(--k3-surface);
	background-image: linear-gradient(90deg, transparent calc(19% - 1px), rgba(17, 24, 39, .09) 19%, transparent calc(19% + 1px));
}

.k3-home-feed--agenda {
	border-top: 3px solid var(--k3-ink);
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
}

.k3-home-feed--agenda .k3-agenda-card {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--k3-ink);
	box-shadow: none;
	grid-column: auto !important;
	grid-row: auto !important;
	overflow: visible;
	transform: none;
}

body .k3-home-feed--agenda .k3-agenda-card__link {
	align-items: stretch;
	display: grid !important;
	grid-template-columns: 72px minmax(170px, 240px) minmax(0, 1fr) !important;
	height: auto !important;
	min-height: 160px;
	width: 100% !important;
}

.k3-agenda-card__index {
	align-items: center;
	background: var(--k3-ink);
	color: var(--k3-paper);
	display: flex;
	font-family: var(--police);
	font-size: .82rem;
	font-weight: 900;
	justify-content: center;
	grid-column: 1 !important;
	grid-row: 1 !important;
	letter-spacing: .1em;
	transition: background-color .2s ease, color .2s ease;
}

body .k3-home-feed--agenda .k3-agenda-card__media {
	border: 0;
	border-right: 1px solid var(--k3-ink);
	grid-column: 2 !important;
	grid-row: 1 !important;
	height: auto !important;
	min-height: 160px !important;
	position: relative;
	width: 100% !important;
}

body .k3-home-feed--agenda .k3-agenda-card__media img {
	height: 100% !important;
	inset: 0;
	position: absolute;
	width: 100% !important;
}

.k3-home-feed--agenda .k3-agenda-card__body {
	align-items: center;
	background: var(--k3-paper);
	display: grid;
	gap: 10px clamp(24px, 3vw, 54px);
	grid-column: 3 !important;
	grid-template-columns: minmax(180px, .62fr) minmax(0, 1.38fr);
	grid-template-rows: auto auto;
	grid-row: 1 !important;
	min-width: 0;
	padding: 24px clamp(24px, 3.3vw, 52px);
	transition: background-color .2s ease;
}

body.home .k3-home-feed--agenda .k3-agenda-card__date,
body.front-page .k3-home-feed--agenda .k3-agenda-card__date {
	align-items: center;
	align-self: stretch;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: var(--k3-primary-dark);
	display: flex !important;
	font-size: .72rem;
	gap: 9px;
	grid-column: 1;
	grid-row: 1 / span 2;
	letter-spacing: .07em;
	margin: 0;
	padding: 0;
}

.k3-agenda-card__date-prefix,
.k3-agenda-card__date-connector {
	font-weight: 900;
	text-transform: uppercase;
}

.k3-agenda-card__date-value {
	align-items: baseline;
	display: inline-flex;
	gap: 5px;
	white-space: nowrap;
}

.k3-agenda-card__date-value strong {
	color: var(--k3-ink);
	font-family: var(--police);
	font-size: clamp(1.9rem, 2.4vw, 2.8rem);
	line-height: .9;
}

.k3-agenda-card__date-value > span {
	font-size: .69rem;
	font-weight: 900;
	text-transform: uppercase;
}

.k3-home-agenda .k3-agenda-card__title {
	align-self: end;
	font-size: clamp(1.28rem, 1.75vw, 1.8rem) !important;
	grid-column: 2;
	grid-row: 1;
	line-height: 1.08 !important;
	margin: 0 !important;
	overflow-wrap: anywhere;
}

.k3-home-agenda .k3-agenda-card__place {
	align-self: start;
	border: 0;
	color: var(--k3-primary-dark);
	font-size: .8rem;
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	padding: 0;
}

.k3-home-feed--agenda .k3-agenda-card:hover,
.k3-home-feed--agenda .k3-agenda-card:focus-within {
	border-color: var(--k3-ink);
	box-shadow: none;
	transform: none;
}

.k3-home-feed--agenda .k3-agenda-card:focus-within {
	outline: 3px solid var(--k3-ink);
	outline-offset: 3px;
}

.k3-home-feed--agenda .k3-agenda-card:hover .k3-agenda-card__index,
.k3-home-feed--agenda .k3-agenda-card:focus-within .k3-agenda-card__index {
	background: var(--k3-secondary);
}

.k3-home-feed--agenda .k3-agenda-card:hover .k3-agenda-card__body,
.k3-home-feed--agenda .k3-agenda-card:focus-within .k3-agenda-card__body {
	background: var(--k3-accent);
}

.k3-home-feed--agenda .k3-agenda-card:hover .k3-agenda-card__title,
.k3-home-feed--agenda .k3-agenda-card:focus-within .k3-agenda-card__title {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.k3-home-feed--agenda .k3-agenda-card:hover img,
.k3-home-feed--agenda .k3-agenda-card:focus-within img {
	transform: none;
}

@media (max-width: 1217px) {
	#top-header .k3-search-toggle {
		height: 48px !important;
		padding: 0 !important;
		width: 48px !important;
	}

	#top-header .k3-search-toggle__label {
		display: none;
	}

	.k3-home-feed--news {
		grid-auto-rows: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.k3-home-feed--news .k3-news-card,
	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1),
	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(2),
	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(3),
	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(4) {
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) {
		grid-column: 1 / -1 !important;
	}

	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__link {
		grid-template-columns: minmax(240px, .92fr) minmax(0, 1.08fr) !important;
		grid-template-rows: none;
	}

	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__media {
		border-bottom: 0;
		border-right: 2px solid var(--k3-ink);
		min-height: 300px !important;
	}

	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(n+2):nth-of-type(-n+4) .k3-news-card__link {
		display: flex !important;
		flex-direction: column;
	}

	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(n+2):nth-of-type(-n+4) .k3-news-card__media {
		border-bottom: 2px solid var(--k3-ink);
		border-right: 0;
		height: 210px !important;
		min-height: 0 !important;
	}

	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(3) .k3-card-action,
	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(4) .k3-card-action {
		display: inline-flex;
	}

	body .k3-home-feed--agenda .k3-agenda-card__link {
		grid-template-columns: 58px minmax(150px, 190px) minmax(0, 1fr) !important;
	}

	.k3-home-feed--agenda .k3-agenda-card__body {
		gap: 12px 24px;
		grid-template-columns: minmax(150px, .6fr) minmax(0, 1.4fr);
		padding: 22px 26px;
	}
}

	@media (max-width: 820px) {
	.k3-search-dialog {
		min-height: 100vh;
		min-height: 100dvh;
		padding: max(24px, env(safe-area-inset-top, 0px)) 22px max(38px, env(safe-area-inset-bottom, 0px));
	}

	.k3-search-dialog__topline {
		margin-bottom: clamp(42px, 10vw, 72px);
	}

	.k3-search-dialog > .k3-eyebrow {
		margin-bottom: 12px;
	}

	.k3-search-dialog h2 {
		font-size: clamp(2.2rem, 10vw, 3.5rem);
		margin: 0 0 14px;
	}

	.k3-search-help {
		margin: 0 0 24px;
	}

	.k3-search-form {
		margin: 0;
	}

	.k3-home-news,
	.k3-home-agenda {
		padding-block: 48px;
	}

	.k3-home-news .k3-section-heading,
	.k3-home-agenda .k3-section-heading {
		gap: 16px;
		margin-bottom: 28px;
		padding-bottom: 16px;
	}

	.k3-home-news .k3-section-heading h2,
	.k3-home-agenda .k3-section-heading h2 {
		font-size: clamp(2.25rem, 9vw, 3rem);
	}

	.k3-home-feed--news {
		gap: 14px;
		grid-template-columns: 1fr;
	}

	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__link,
	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(n+2):nth-of-type(-n+4) .k3-news-card__link,
	body .k3-home-feed--news .k3-news-card__link {
		display: grid !important;
		grid-template-columns: clamp(118px, 35vw, 220px) minmax(0, 1fr) !important;
		grid-template-rows: none;
		min-height: 166px;
	}

	body .k3-home-feed--news .k3-news-card__media,
	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__media,
	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(n+2):nth-of-type(-n+4) .k3-news-card__media {
		border-bottom: 0;
		border-right: 2px solid var(--k3-ink);
		height: 100% !important;
		min-height: 166px !important;
	}

	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) {
		box-shadow: 6px 6px 0 var(--k3-accent);
	}

	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__body {
		padding: 18px;
	}

	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__title,
	.k3-home-news .k3-news-card__title {
		font-size: clamp(1.08rem, 4.3vw, 1.3rem) !important;
	}

	.k3-home-feed--news .k3-card-action {
		font-size: .67rem;
	}

	body .k3-home-feed--agenda .k3-agenda-card__link {
		grid-template-columns: 52px clamp(116px, 26vw, 170px) minmax(0, 1fr) !important;
		min-height: 150px;
	}

	body .k3-home-feed--agenda .k3-agenda-card__media {
		min-height: 150px !important;
	}

	.k3-home-feed--agenda .k3-agenda-card__body {
		display: flex;
		flex-direction: column;
		gap: 10px;
		justify-content: center;
		padding: 18px;
	}

	body.home .k3-home-feed--agenda .k3-agenda-card__date,
	body.front-page .k3-home-feed--agenda .k3-agenda-card__date {
		align-self: flex-start;
		font-size: .65rem;
		gap: 6px;
	}

	.k3-agenda-card__date-value strong {
		font-size: 1.65rem;
	}

	.k3-agenda-card__date-value > span {
		font-size: .61rem;
	}

	.k3-home-agenda .k3-agenda-card__title,
	.k3-home-agenda .k3-agenda-card__place {
		align-self: flex-start;
		grid-column: auto;
		grid-row: auto;
	}

	.k3-home-agenda .k3-agenda-card__title {
		font-size: clamp(1.08rem, 4vw, 1.28rem) !important;
	}
}

@media (max-width: 560px) {
	.k3-search-close {
		height: 46px;
		padding: 0;
		width: 46px;
	}

	.k3-search-close__label,
	.k3-search-site {
		display: none;
	}

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

	.k3-search-field input,
	.k3-search-field button {
		border-radius: 0;
		min-height: 56px;
		width: 100%;
	}

	.k3-home-news .k3-section-link,
	.k3-home-agenda .k3-section-link {
		width: 100%;
	}

	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__link,
	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(n+2):nth-of-type(-n+4) .k3-news-card__link,
	body .k3-home-feed--news .k3-news-card__link {
		grid-template-columns: 112px minmax(0, 1fr) !important;
		min-height: 156px;
	}

	body .k3-home-feed--news .k3-news-card__media,
	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__media,
	body .k3-home-feed--news > .widget > .k3-news-card:nth-of-type(n+2):nth-of-type(-n+4) .k3-news-card__media {
		min-height: 156px !important;
	}

	.k3-news-card__meta {
		align-items: flex-start;
		flex-direction: column;
		font-size: .61rem;
		gap: 5px;
		margin-bottom: 9px;
	}

	.k3-home-feed--news .k3-news-card__body,
	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) .k3-news-card__body {
		padding: 13px;
	}

	.k3-home-feed--news .k3-card-action {
		display: none !important;
	}

	.k3-home-feed--news .k3-news-card,
	.k3-home-feed--agenda .k3-agenda-card {
		box-shadow: none !important;
		transform: none !important;
	}

	.k3-home-feed--news > .widget > .k3-news-card:nth-of-type(1) {
		box-shadow: 5px 5px 0 var(--k3-accent) !important;
	}

	.k3-home-feed--news .k3-news-card:hover,
	.k3-home-feed--news .k3-news-card:focus-within,
	.k3-home-feed--agenda .k3-agenda-card:hover,
	.k3-home-feed--agenda .k3-agenda-card:focus-within {
		transform: none !important;
	}

	body .k3-home-feed--agenda .k3-agenda-card__link {
		grid-template-columns: 46px minmax(0, 1fr) !important;
	}

	body .k3-home-feed--agenda .k3-agenda-card__media {
		border-bottom: 1px solid var(--k3-ink);
		border-right: 0;
		grid-column: 1 / -1;
		grid-row: 1;
		height: 150px !important;
		min-height: 150px !important;
	}

	.k3-agenda-card__index {
		grid-column: 1;
		grid-row: 2;
	}

	.k3-home-feed--agenda .k3-agenda-card__body {
		grid-column: 2;
		grid-row: 2;
		min-height: 148px;
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.k3-home-feed--news .k3-news-card img,
	.k3-home-feed--agenda .k3-agenda-card img {
		transition: none;
	}

	.k3-home-feed--news .k3-news-card:hover img,
	.k3-home-feed--news .k3-news-card:focus-within img,
	.k3-home-feed--agenda .k3-agenda-card:hover img,
	.k3-home-feed--agenda .k3-agenda-card:focus-within img {
		transform: none;
	}
}
