/*
 * Lime 1.0.52 — co-marquage, affichage légal et kiosque.
 * Les composants métiers conservent leur structure et reprennent la palette
 * ainsi que les familles de caractères déclarées dans header.php.
 */

/* -------------------------------------------------------------------------
 * Variables communes et contrastes
 * ---------------------------------------------------------------------- */

:is(#content, #content_large) {
	--lime-component-accent: var(--couleur-principale);
	--lime-component-accent-hover: color-mix(in srgb, var(--couleur-principale) 82%, var(--couleur-noir));
	--lime-component-border: color-mix(in srgb, var(--couleur-principale) 22%, var(--couleur-blanc));
	--lime-component-soft: color-mix(in srgb, var(--couleur-secondaire) 48%, var(--couleur-blanc));
	--lime-component-text: var(--gris-fonce);
	--lime-component-shadow: 0 16px 42px color-mix(in srgb, var(--couleur-principale) 12%, transparent);
}

/* -------------------------------------------------------------------------
 * Co-marquage Service Public — composition reprise du thème Abril
 * ---------------------------------------------------------------------- */

:is(#content, #content_large) #menu-top-guide-demarches,
:is(#content, #content_large) #menu2-guide-demarches {
	list-style: none !important;
	margin: 2rem 0 !important;
	padding: 0 !important;
}

:is(#content, #content_large) #menu-top-guide-demarches {
	align-items: stretch !important;
	display: grid !important;
	gap: clamp(.9rem, 2vw, 1.5rem) !important;
	grid-template-columns: repeat(3, minmax(11rem, 1fr)) !important;
	width: 100% !important;
}

:is(#content, #content_large) #menu-top-guide-demarches li,
:is(#content, #content_large) #menu2-guide-demarches li {
	box-sizing: border-box !important;
	display: block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a {
	align-items: center !important;
	background: var(--couleur-blanc) !important;
	border: 1px solid var(--lime-component-border) !important;
	border-top: 5px solid transparent !important;
	box-shadow: 0 14px 34px color-mix(in srgb, var(--couleur-principale) 8%, transparent) !important;
	box-sizing: border-box !important;
	color: var(--lime-component-accent) !important;
	display: flex !important;
	flex-direction: column !important;
	font-family: var(--police-secondaire) !important;
	font-size: clamp(.82rem, 1vw, 1.05rem) !important;
	font-weight: var(--gras) !important;
	gap: .85rem !important;
	height: 100% !important;
	hyphens: none !important;
	justify-content: center !important;
	line-height: 1.2 !important;
	min-height: clamp(8rem, 12vw, 10.5rem) !important;
	min-width: 0 !important;
	opacity: 1 !important;
	overflow-wrap: normal !important;
	padding: clamp(1.15rem, 2vw, 1.75rem) !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease !important;
	white-space: normal !important;
	width: 100% !important;
	word-break: keep-all !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a:hover,
:is(#content, #content_large) #menu-top-guide-demarches a:focus,
:is(#content, #content_large) #menu-top-guide-demarches a.current-profil-comarquage {
	border-color: var(--lime-component-border) !important;
	border-top-color: var(--lime-component-accent) !important;
	box-shadow: var(--lime-component-shadow) !important;
	color: var(--lime-component-accent) !important;
	outline: 0 !important;
	transform: translateY(-2px) !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a img,
:is(#content, #content_large) #menu-top-guide-demarches a svg {
	display: block !important;
	height: clamp(3.8rem, 6vw, 5.2rem) !important;
	margin: 0 auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	width: auto !important;
}

:is(#content, #content_large) #menu-top-guide-demarches a span {
	color: inherit !important;
	display: block !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-wrap: normal !important;
	padding-top: clamp(4.7rem, 7vw, 6.2rem) !important;
	white-space: normal !important;
	word-break: keep-all !important;
}

:is(#content, #content_large) #menu2-guide-demarches {
	border-bottom: 1px solid var(--lime-component-border) !important;
	border-top: 1px solid var(--lime-component-border) !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: .75rem .9rem !important;
	justify-content: center !important;
	padding: 2rem 0 !important;
	width: 100% !important;
}

:is(#content, #content_large) #menu2-guide-demarches a {
	align-items: center !important;
	background: var(--lime-component-accent) !important;
	border: 1px solid var(--lime-component-accent) !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc) !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire) !important;
	font-size: clamp(.85rem, 1vw, 1rem) !important;
	font-weight: var(--demi-gras) !important;
	justify-content: center !important;
	line-height: 1.25 !important;
	min-height: 2.75rem !important;
	padding: .75rem 1rem !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
	white-space: normal !important;
}

:is(#content, #content_large) #menu2-guide-demarches a:hover,
:is(#content, #content_large) #menu2-guide-demarches a:focus {
	background: var(--couleur-secondaire) !important;
	border-color: var(--lime-component-accent) !important;
	color: var(--couleur-noir) !important;
	transform: translateY(-1px) !important;
}

:is(#content, #content_large) #menu-top-guide-demarches + hr,
:is(#content, #content_large) #menu2-guide-demarches + hr,
:is(#content, #content_large) .un-bloc-liens-comarquage hr {
	background: var(--lime-component-border) !important;
	border: 0 !important;
	height: 1px !important;
	margin: 2rem 0 !important;
}

:is(#content, #content_large):has(.un-bloc-liens-comarquage) {
	align-items: stretch !important;
	display: grid !important;
	gap: clamp(1.2rem, 2.2vw, 2rem) !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

:is(#content, #content_large):has(.un-bloc-liens-comarquage) > :not(.un-bloc-liens-comarquage) {
	grid-column: 1 / -1 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage {
	background: var(--couleur-blanc) !important;
	border: 1px solid var(--lime-component-border) !important;
	border-radius: 8px !important;
	box-shadow: 0 16px 42px color-mix(in srgb, var(--couleur-principale) 8%, transparent) !important;
	box-sizing: border-box !important;
	clear: none !important;
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
	grid-column: auto !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	overflow: hidden !important;
	padding: clamp(1.35rem, 2vw, 2rem) !important;
	position: relative !important;
	width: 100% !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage.large,
:is(#content, #content_large) .un-bloc-liens-comarquage.small,
:is(#content, #content_large) .un-bloc-liens-comarquage.large + .un-bloc-liens-comarquage.small {
	grid-column: auto !important;
	margin: 0 !important;
	width: 100% !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage::before {
	background: var(--lime-component-accent) !important;
	content: "" !important;
	height: 5px !important;
	left: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage h2 {
	color: var(--lime-component-accent) !important;
	font-family: var(--police) !important;
	font-size: clamp(1.8rem, 2.4vw, 2.65rem) !important;
	font-weight: var(--reguliere) !important;
	letter-spacing: 0 !important;
	line-height: 1.08 !important;
	margin: 0 0 1.1rem !important;
	padding: 0 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p,
:is(#content, #content_large) .un-bloc-liens-comarquage li {
	border-bottom: 1px dashed var(--lime-component-border) !important;
	color: var(--lime-component-text) !important;
	font-family: var(--police-secondaire) !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	padding: .75rem 0 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p:last-child,
:is(#content, #content_large) .un-bloc-liens-comarquage li:last-child {
	border-bottom: 0 !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p::before,
:is(#content, #content_large) .un-bloc-liens-comarquage li::before {
	content: none !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage a {
	color: var(--lime-component-accent) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: .18em !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage p a::before,
:is(#content, #content_large) .un-bloc-liens-comarquage li a::before {
	color: currentColor !important;
	content: ">" !important;
	display: inline-block !important;
	font-weight: var(--gras) !important;
	margin-right: .55rem !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage a:hover,
:is(#content, #content_large) .un-bloc-liens-comarquage a:focus {
	color: var(--lime-component-accent-hover) !important;
	text-decoration-thickness: 2px !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les {
	border: 0 !important;
	margin-top: auto !important;
	padding-bottom: 0 !important;
	padding-top: 1rem !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a {
	align-items: center !important;
	background: var(--lime-component-accent) !important;
	border: 1px solid var(--lime-component-accent) !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc) !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire) !important;
	font-weight: var(--gras) !important;
	justify-content: center !important;
	padding: .75rem 1rem !important;
	text-decoration: none !important;
	width: 100% !important;
}

:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:hover,
:is(#content, #content_large) .un-bloc-liens-comarquage .tous-les a:focus {
	background: var(--couleur-secondaire) !important;
	color: var(--couleur-noir) !important;
}

:is(#content, #content_large):has(.un-bloc-liens-comarquage)::after {
	display: none !important;
}

/* -------------------------------------------------------------------------
 * Kiosque — la mise en page de l’extension est conservée, palette Lime
 * ---------------------------------------------------------------------- */

:is(.krea3-kiosque, .krea3-kiosque-page, .krea3-kiosque-single) {
	--krea3-kiosque-accent: var(--couleur-principale) !important;
	--krea3-kiosque-accent-dark: var(--lime-component-accent-hover, var(--couleur-principale)) !important;
	--krea3-kiosque-border: var(--lime-component-border, var(--gris-clair)) !important;
	--krea3-kiosque-muted: var(--gris-fonce) !important;
	--krea3-kiosque-shadow: var(--lime-component-shadow) !important;
	--krea3-kiosque-soft: var(--lime-component-soft, var(--gris-tres-clair)) !important;
	--krea3-kiosque-surface: var(--couleur-blanc) !important;
	--krea3-kiosque-text: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
}

:is(.krea3-kiosque, .krea3-kiosque-page, .krea3-kiosque-single) :is(h1, h2, h3, .krea3-kiosque-card-title) {
	color: var(--couleur-principale) !important;
	font-family: var(--police) !important;
}

.krea3-kiosque-filters,
.krea3-kiosque-card {
	border-color: var(--lime-component-border) !important;
}

.krea3-kiosque-card:hover,
.krea3-kiosque-card:focus-within {
	border-color: var(--couleur-principale) !important;
}

.krea3-kiosque-button,
.krea3-kiosque-filters button,
.krea3-kiosque-flipbook-toolbar button {
	background: var(--couleur-principale) !important;
	border-color: var(--couleur-principale) !important;
	color: var(--couleur-blanc) !important;
}

.krea3-kiosque-button:hover,
.krea3-kiosque-button:focus,
.krea3-kiosque-filters button:hover,
.krea3-kiosque-filters button:focus,
.krea3-kiosque-flipbook-toolbar button:hover,
.krea3-kiosque-flipbook-toolbar button:focus {
	background: var(--couleur-secondaire) !important;
	border-color: var(--couleur-principale) !important;
	color: var(--couleur-noir) !important;
}

.krea3-kiosque-icon-link,
.krea3-kiosque-back a,
.krea3-kiosque-filter-actions a {
	color: var(--couleur-principale) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: .18em !important;
}

.krea3-kiosque-icon-link:hover,
.krea3-kiosque-icon-link:focus,
.krea3-kiosque-back a:hover,
.krea3-kiosque-back a:focus,
.krea3-kiosque-filter-actions a:hover,
.krea3-kiosque-filter-actions a:focus {
	color: var(--lime-component-accent-hover) !important;
	text-decoration: underline !important;
}

.krea3-kiosque-filters select:focus {
	border-color: var(--couleur-principale) !important;
	box-shadow: 0 0 0 4px var(--couleur-secondaire) !important;
	outline: 2px solid var(--couleur-noir) !important;
	outline-offset: 1px !important;
}

/* -------------------------------------------------------------------------
 * Affichage légal — filtres et liste sur le modèle des délibérations Abril
 * ---------------------------------------------------------------------- */

:is(#content, #content_large) > .krea3-filters {
	background: var(--lime-component-soft) !important;
	border: 1px solid var(--lime-component-border) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	font-family: var(--police-secondaire) !important;
	margin-bottom: 1.5rem !important;
	padding: clamp(1.15rem, 2.4vw, 1.75rem) !important;
}

:is(#content, #content_large) > .krea3-filters :is(label, .krea3-field-label) {
	color: var(--gris-fonce) !important;
	font-weight: var(--demi-gras) !important;
}

:is(#content, #content_large) > .krea3-filters :is(input[type="text"], input[type="search"], select) {
	background-color: var(--couleur-blanc) !important;
	border-color: var(--lime-component-border) !important;
	color: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
	min-height: 48px !important;
}

:is(#content, #content_large) > .krea3-filters :is(input[type="text"], input[type="search"], select):focus {
	border-color: var(--couleur-principale) !important;
	box-shadow: 0 0 0 4px var(--couleur-secondaire) !important;
	outline: 2px solid var(--couleur-noir) !important;
	outline-offset: 1px !important;
}

:is(#content, #content_large) > .krea3-filters .krea3-search-submit,
:is(#content, #content_large) > .krea3-filters .krea3-actions button {
	background: var(--couleur-principale) !important;
	border-color: var(--couleur-principale) !important;
	color: var(--couleur-blanc) !important;
	font-family: var(--police-secondaire) !important;
	font-weight: var(--gras) !important;
}

:is(#content, #content_large) > .krea3-filters .krea3-search-submit:hover,
:is(#content, #content_large) > .krea3-filters .krea3-search-submit:focus,
:is(#content, #content_large) > .krea3-filters .krea3-actions button:hover,
:is(#content, #content_large) > .krea3-filters .krea3-actions button:focus {
	background: var(--couleur-secondaire) !important;
	border-color: var(--couleur-principale) !important;
	color: var(--couleur-noir) !important;
}

:is(#content, #content_large) > .krea3-filters .krea3-filter-reset {
	background: var(--couleur-blanc) !important;
	border-color: var(--lime-component-border) !important;
	color: var(--couleur-principale) !important;
	font-weight: var(--gras) !important;
}

:is(#content, #content_large) > .krea3-filters .krea3-filter-reset:hover,
:is(#content, #content_large) > .krea3-filters .krea3-filter-reset:focus {
	background: var(--couleur-secondaire) !important;
	border-color: var(--couleur-principale) !important;
	color: var(--couleur-noir) !important;
}

:is(#content, #content_large) #krea3-results {
	color: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
}

:is(#content, #content_large) #krea3-results .krea3-card {
	border: 1px solid var(--lime-component-border) !important;
	border-left: 5px solid var(--couleur-principale) !important;
	border-radius: 8px !important;
	box-shadow: 0 8px 24px color-mix(in srgb, var(--couleur-principale) 6%, transparent) !important;
}

:is(#content, #content_large) #krea3-results .krea3-card:hover,
:is(#content, #content_large) #krea3-results .krea3-card:focus-within {
	border-color: var(--couleur-principale) !important;
	box-shadow: var(--lime-component-shadow) !important;
}

:is(#content, #content_large) #krea3-results .krea3-title {
	color: var(--couleur-principale) !important;
	font-family: var(--police) !important;
	font-weight: var(--reguliere) !important;
	line-height: 1.2 !important;
}

:is(#content, #content_large) #krea3-results :is(.krea3-tags, .krea3-date, .krea3-meta, .krea3-count) {
	color: var(--gris-fonce) !important;
}

:is(#content, #content_large) #krea3-results :is(.krea3-link, .krea3-date .krea3-icon) {
	color: var(--couleur-principale) !important;
}

:is(#content, #content_large) #krea3-results .krea3-link {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .18em !important;
}

:is(#content, #content_large) #krea3-results .krea3-link:hover,
:is(#content, #content_large) #krea3-results .krea3-link:focus {
	color: var(--lime-component-accent-hover) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
}

:is(#content, #content_large) #krea3-results .krea3-pagination .page-numbers {
	background: var(--couleur-blanc) !important;
	border-color: var(--lime-component-border) !important;
	color: var(--couleur-principale) !important;
}

:is(#content, #content_large) #krea3-results .krea3-pagination .current,
:is(#content, #content_large) #krea3-results .krea3-pagination .page-numbers:hover,
:is(#content, #content_large) #krea3-results .krea3-pagination .page-numbers:focus {
	background: var(--couleur-principale) !important;
	border-color: var(--couleur-principale) !important;
	color: var(--couleur-blanc) !important;
}

.krea3-affichage-legal-single {
	--krea3-affichage-legal-action: var(--couleur-principale) !important;
	--krea3-affichage-legal-border: var(--lime-component-border, var(--gris-clair)) !important;
	--krea3-affichage-legal-muted: var(--gris-fonce) !important;
	--krea3-affichage-legal-soft: var(--lime-component-soft, var(--gris-tres-clair)) !important;
	--krea3-affichage-legal-text: var(--gris-fonce) !important;
	font-family: var(--police-secondaire) !important;
}

.krea3-affichage-legal-document-header h1 {
	color: var(--couleur-principale) !important;
	font-family: var(--police) !important;
}

.krea3-affichage-legal-button,
.krea3-affichage-legal-flipbook-toolbar button,
.krea3-affichage-legal-viewer-toolbar button {
	background: var(--couleur-principale) !important;
	border-color: var(--couleur-principale) !important;
	color: var(--couleur-blanc) !important;
}

.krea3-affichage-legal-button:hover,
.krea3-affichage-legal-button:focus,
.krea3-affichage-legal-flipbook-toolbar button:hover,
.krea3-affichage-legal-flipbook-toolbar button:focus,
.krea3-affichage-legal-viewer-toolbar button:hover,
.krea3-affichage-legal-viewer-toolbar button:focus {
	background: var(--couleur-secondaire) !important;
	color: var(--couleur-noir) !important;
}

.krea3-affichage-legal-button-secondary {
	background: var(--couleur-blanc) !important;
	color: var(--couleur-principale) !important;
}

/* Focus commun : anneau noir identifiable et dégagement pêche. */
:is(#content, #content_large) #menu-top-guide-demarches a:focus-visible,
:is(#content, #content_large) #menu2-guide-demarches a:focus-visible,
:is(#content, #content_large) .un-bloc-liens-comarquage a:focus-visible,
:is(#content, #content_large) > .krea3-filters :is(button, a):focus-visible,
:is(#content, #content_large) #krea3-results a:focus-visible,
:is(.krea3-kiosque, .krea3-kiosque-page, .krea3-kiosque-single) :is(a, button):focus-visible,
.krea3-affichage-legal-single :is(a, button):focus-visible {
	box-shadow: 0 0 0 4px var(--couleur-secondaire) !important;
	outline: 3px solid var(--couleur-noir) !important;
	outline-offset: 3px !important;
}

@media screen and (max-width: 1024px) {
	:is(#content, #content_large):has(.un-bloc-liens-comarquage) {
		grid-template-columns: 1fr !important;
	}

	:is(#content, #content_large) .un-bloc-liens-comarquage,
	:is(#content, #content_large) .un-bloc-liens-comarquage.large,
	:is(#content, #content_large) .un-bloc-liens-comarquage.small {
		grid-column: 1 / -1 !important;
	}

	:is(#content, #content_large) #menu-top-guide-demarches {
		grid-template-columns: 1fr !important;
	}
}

@media screen and (max-width: 680px) {
	:is(#content, #content_large) #menu2-guide-demarches {
		align-items: stretch !important;
		flex-direction: column !important;
	}

	:is(#content, #content_large) #menu2-guide-demarches a {
		width: 100% !important;
	}

	:is(#content, #content_large) .un-bloc-liens-comarquage h2 {
		font-size: clamp(1.55rem, 9vw, 2.2rem) !important;
	}

	:is(#content, #content_large) > .krea3-filters {
		padding: 1rem !important;
	}

	:is(#content, #content_large) #krea3-results .krea3-card {
		border-left-width: 4px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(#content, #content_large) #menu-top-guide-demarches a,
	:is(#content, #content_large) #menu2-guide-demarches a,
	:is(#content, #content_large) .un-bloc-liens-comarquage a,
	.krea3-kiosque-card,
	.krea3-kiosque-button,
	:is(#content, #content_large) #krea3-results .krea3-card {
		transition: none !important;
	}
}
