/**
 * Compléments au theme.json : uniquement ce que theme.json ne sait pas exprimer
 * (transitions, pseudo-éléments, icônes).
 */

:root {
	--pass-icon-check: url("data:image/svg+xml,%3Csvg width=%2217%22 height=%2217%22 viewBox=%220 0 17 17%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E %3Cpath d=%22M6.76422 10.7313L12.7673 4.72813C12.909 4.58646 13.0743 4.51562 13.2632 4.51562C13.4521 4.51562 13.6173 4.58646 13.759 4.72813C13.9007 4.86979 13.9715 5.03802 13.9715 5.23281C13.9715 5.4276 13.9007 5.59583 13.759 5.7375L7.26005 12.2542C7.11839 12.3958 6.95311 12.4667 6.76422 12.4667C6.57533 12.4667 6.41005 12.3958 6.26839 12.2542L3.22255 9.20833C3.08089 9.06667 3.01301 8.89844 3.01891 8.70365C3.02481 8.50885 3.0986 8.34063 3.24026 8.19896C3.38193 8.05729 3.55016 7.98646 3.74495 7.98646C3.93974 7.98646 4.10797 8.05729 4.24964 8.19896L6.76422 10.7313Z%22 fill=%22black%22/%3E %3C/svg%3E");
	--pass-icon-download: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E %3Cpath d=%22M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15M17 10L12 15L7 10M12 15V3%22 stroke=%22black%22 stroke-width=%222.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E %3C/svg%3E");
	--pass-icon-external: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E %3Cpath d=%22M18 13V19C18 19.5304 17.7893 20.0391 17.4142 20.4142C17.0391 20.7893 16.5304 21 16 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V8C3 7.46957 3.21071 6.96086 3.58579 6.58579C3.96086 6.21071 4.46957 6 5 6H11M21 9V3H15M21 3L10 14%22 stroke=%22black%22 stroke-width=%222.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E %3C/svg%3E");
	--pass-icon-plus: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2216%22 viewBox=%220 0 24 16%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E %3Cpath d=%22M10.8571 9.14286H5.14286C4.81905 9.14286 4.54762 9.03333 4.32857 8.81429C4.10952 8.59524 4 8.32381 4 8C4 7.67619 4.10952 7.40476 4.32857 7.18571C4.54762 6.96667 4.81905 6.85714 5.14286 6.85714H10.8571V1.14286C10.8571 0.819048 10.9667 0.547619 11.1857 0.328571C11.4048 0.109524 11.6762 0 12 0C12.3238 0 12.5952 0.109524 12.8143 0.328571C13.0333 0.547619 13.1429 0.819048 13.1429 1.14286V6.85714H18.8571C19.181 6.85714 19.4524 6.96667 19.6714 7.18571C19.8905 7.40476 20 7.67619 20 8C20 8.32381 19.8905 8.59524 19.6714 8.81429C19.4524 9.03333 19.181 9.14286 18.8571 9.14286H13.1429V14.8571C13.1429 15.181 13.0333 15.4524 12.8143 15.6714C12.5952 15.8905 12.3238 16 12 16C11.6762 16 11.4048 15.8905 11.1857 15.6714C10.9667 15.4524 10.8571 15.181 10.8571 14.8571V9.14286Z%22 fill=%22black%22/%3E %3C/svg%3E");
	--pass-icon-minus: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2216%22 viewBox=%220 0 24 16%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E %3Cpath d=%22M5.14286 9.14286C4.81905 9.14286 4.54762 9.03333 4.32857 8.81429C4.10952 8.59524 4 8.32381 4 8C4 7.67619 4.10952 7.40476 4.32857 7.18571C4.54762 6.96667 4.81905 6.85714 5.14286 6.85714C13.0942 6.85714 10.3233 6.85714 18.8571 6.85714C19.181 6.85714 19.4524 6.96667 19.6714 7.18571C19.8905 7.40476 20 7.67619 20 8C20 8.32381 19.8905 8.59524 19.6714 8.81429C19.4524 9.03333 19.181 9.14286 18.8571 9.14286C9.98513 9.14286 13.2957 9.14286 5.14286 9.14286Z%22 fill=%22black%22/%3E %3C/svg%3E");
	/* Figma « Icones utilisées » – Arrow right */
	--pass-icon-arrow: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E %3Cpath d=%22M5 12H19M12 19L19 12L12 5%22 stroke=%22black%22 stroke-width=%222.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E %3C/svg%3E");
	/* Figma « Icones utilisées » (4611:12088) : ci-dessus flèche ; chevron droit = Feather (hors liste). */
	--pass-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
}

/* Boutons : flèche avant le libellé, décalée au survol */
.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition), box-shadow var(--wp--custom--transition);
}

.wp-block-button__link::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	mask: var(--pass-icon-arrow) center / contain no-repeat;
	transition: transform var(--wp--custom--transition);
}

.wp-block-button__link:hover::before {
	transform: translateX(4px);
}

/* Bouton secondaire (outline) : bordure 2px + texte primaire au survol */
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: transparent;
	color: var(--wp--preset--color--primary);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--primary);
}

/* Bouton tertiaire (lien fléché) : flèche après le libellé */
.wp-block-button.is-style-arrow-link > .wp-block-button__link {
	flex-direction: row-reverse;
}

.wp-block-button.is-style-arrow-link > .wp-block-button__link:hover {
	background-color: transparent;
	color: var(--wp--preset--color--primary);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0s !important;
	}
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Les éléments qui débordent jusqu'au bord de l'écran (carte de l'annuaire…) ne créent pas de défilement horizontal. */
body {
	overflow-x: clip;
}

/* Header, contenu et footer s'enchaînent sans espace (maquette). */
.wp-site-blocks > * {
	margin-block: 0;
}

/* ==========================================================================
   Header
   ========================================================================== */

.pass-header {
	border-bottom: 1px solid var(--wp--preset--color--neutral-25);
}

.pass-header__inner {
	min-height: 63px;
	padding-inline: 10px;
}

.pass-header__brand {
	flex: none;
	width: 215px;
	margin: 0;
	font-size: 1.093rem;
	font-weight: 700;
	line-height: 32px;
	text-transform: uppercase;
}

.pass-header__brand a {
	color: var(--wp--preset--color--neutral);
	font-weight: inherit;
	text-decoration: none;
}

@media (max-width: 74.99em) {
	.pass-header__inner.pass-header__inner {
		justify-content: flex-start;
		padding: 15px 0;
	}
}

/* ==========================================================================
   Fil d'Ariane (core/breadcrumbs) — Figma 4069:3841
   ========================================================================== */

.pass-breadcrumbs {
	padding-block: 20px;
	color: var(--wp--custom--color--breadcrumb);
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: normal;
}

.pass-breadcrumbs ol {
	gap: 4px;
}

.pass-breadcrumbs li:not(:last-child)::after {
	content: "";
	width: 13px;
	height: 13px;
	margin: 0 0 0 4px;
	opacity: 1;
	background-color: currentColor;
	mask: var(--pass-icon-chevron) center / contain no-repeat;
}

.pass-breadcrumbs a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 5.5%;
}

.pass-breadcrumbs a:hover {
	color: var(--wp--preset--color--primary);
}

/* ==========================================================================
   Footer
   Desktop : forme bleue à coin arrondi derrière la colonne newsletter,
   qui s'étend jusqu'au bord droit sur grand écran.
   ========================================================================== */

.pass-footer {
	position: relative;
	overflow: hidden;
	padding-block: 60px 30px;
}

.pass-footer__inner {
	position: relative;
	display: flex;
	gap: 40px;
}

.pass-footer__inner > *,
.pass-footer__col > *,
.pass-footer__brand > * {
	margin-block: 0;
}

.pass-footer__col {
	display: flex;
	flex-direction: column;
}

.pass-footer__col--brand {
	flex: 0 1 572px;
	gap: 40px;
}

.pass-footer__col--newsletter {
	position: relative;
	flex: 0 1 548px;
	margin-left: auto;
	gap: 10px;
}

.pass-footer__col--newsletter .pass-newsletter {
	justify-content: center;
	min-height: 349px;
}

.pass-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pass-footer__title {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	line-height: 32px;
	color: var(--wp--preset--color--primary);
	text-transform: uppercase;
}

.pass-footer__text {
	max-width: 362px;
	font-size: var(--wp--preset--font-size--s);
	line-height: normal;
}

.pass-footer__logos {
	gap: 20px;
}

.pass-footer__logo {
	margin: 0;
}

.pass-footer__logo--empp img {
	object-position: 55% 50%;
}

@media (min-width: 60em) {
	.pass-footer::before {
		content: "";
		position: absolute;
		top: 30px;
		right: 0;
		bottom: 0;
		width: calc(50% + 90px);
		border-top-left-radius: 190px;
		background-color: var(--wp--preset--color--primary-50);
	}
}

@media (max-width: 59.99em) {
	.pass-footer {
		padding-block: 40px;
	}

	.pass-footer__inner {
		flex-direction: column;
		gap: 80px;
	}

	.pass-footer__col--brand,
	.pass-footer__col--newsletter {
		flex: none;
		margin-left: 0;
	}

	.pass-footer__col--newsletter {
		gap: 40px;
	}

	.pass-footer__col--newsletter::before {
		content: "";
		position: absolute;
		top: -50px;
		bottom: -40px;
		left: calc(-1 * var(--wp--style--root--padding-left, 20px));
		right: calc(-1 * var(--wp--style--root--padding-right, 20px));
		z-index: -1;
		border-top-left-radius: 120px;
		background-color: var(--wp--preset--color--primary-50);
	}

	.pass-footer__col--newsletter > * {
		position: relative;
	}

	.pass-footer__col--newsletter .pass-newsletter {
		min-height: 0;
	}

	.pass-footer__inner {
		isolation: isolate;
	}
}
