/* ==========================================================================
   Archives filtrables et fiches détail (Documentation, Boîte à outils…)
   Figma : Documentation 4079:3180 / 4184:7705, détail 4081:4278 / 4147:15101
   ========================================================================== */

/* ---------- Étiquette (thématique) ---------- */
.pass-tag {
	display: inline-flex;
	align-items: center;
	padding: 2px 10px;
	border: 1px solid var(--wp--preset--color--neutral-25);
	border-radius: 20px;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 400;
	line-height: 24px;
	white-space: nowrap;
}

/* ---------- En-tête d'archive ---------- */
.pass-archive-hero {
	position: relative;
	min-height: 350px;
	margin-block: 0;
	overflow: hidden;
	background-color: var(--wp--preset--color--primary-10);
}

.pass-archive-hero__inner {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	max-width: calc(var(--wp--style--global--wide-size) + var(--wp--style--root--padding-left) + var(--wp--style--root--padding-right));
	margin-inline: auto;
	padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right);
	padding-bottom: 60px;
}

.pass-archive-hero__inner > * {
	max-width: 587px;
	margin: 0;
}

.pass-archive-hero__title {
	margin-top: 32px;
	font-size: var(--wp--preset--font-size--display);
	font-weight: 600;
	line-height: 1.25;
}

.pass-archive-hero__intro {
	margin-top: 20px;
	font-size: var(--wp--preset--font-size--l);
	line-height: 1.5;
}

.pass-archive-hero__illu {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: calc(50% + 12px);
	overflow: hidden;
	border-top-left-radius: 240px;
	background-color: var(--wp--preset--color--primary-50);
}

.pass-archive-hero__illu img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 708px;
	max-width: none;
	height: auto;
}

.pass-archive-hero--boite_outils .pass-archive-hero__illu {
	background-color: var(--wp--preset--color--secondary-50);
}

@media (max-width: 59.99em) {
	.pass-archive-hero {
		min-height: 0;
	}

	.pass-archive-hero__inner {
		padding-bottom: 30px;
	}

	.pass-archive-hero__title {
		margin-top: 30px;
	}

	.pass-archive-hero__illu {
		position: relative;
		inset: auto;
		height: 220px;
		margin-left: var(--wp--style--root--padding-left);
		border-top-left-radius: 120px;
	}

	.pass-archive-hero__illu img {
		left: -40px;
		width: auto;
		height: 100%;
	}
}

/* ---------- Liste : filtres + résultats ---------- */
.pass-listing {
	margin-top: 60px;
}

.pass-listing.is-loading .pass-listing__results {
	opacity: 0.5;
	pointer-events: none;
	transition: opacity var(--wp--custom--transition);
}

.pass-listing__count {
	margin: 0 0 4px;
	color: var(--wp--preset--color--neutral-75);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 24px;
}

.pass-listing__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.pass-listing__empty {
	padding: 40px 0;
	font-weight: 600;
}

@media (min-width: 60em) {
	.pass-listing {
		display: grid;
		grid-template-columns: 280px minmax(0, 1fr);
		align-items: start;
		gap: 40px;
	}

	.pass-filters {
		margin-top: 28px;
	}
}

@media (max-width: 74.99em) {
	.pass-listing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 47.99em) {
	.pass-listing__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ---------- Formulaire de filtres ---------- */
.pass-filters {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pass-filters button:not(.wp-element-button) {
	font: inherit;
}

.pass-filters button {
	cursor: pointer;
}

.pass-filters__search {
	position: relative;
}

.pass-filters__input {
	box-sizing: border-box;
	width: 100%;
	height: 56px;
	padding: 16px 52px 16px 16px;
	border: 1px solid var(--wp--preset--color--neutral);
	border-radius: var(--wp--preset--border-radius--m);
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--neutral);
	font: inherit;
	font-size: var(--wp--preset--font-size--l);
}

.pass-filters__input::placeholder {
	color: var(--wp--preset--color--neutral);
	font-style: italic;
	opacity: 1;
}

.pass-filters__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 0;
	border-color: var(--wp--preset--color--primary);
}

.pass-filters__search-btn {
	position: absolute;
	top: 50%;
	right: 12px;
	display: flex;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--neutral);
	transform: translateY(-50%);
}

.pass-filters__search-btn svg {
	width: 22px;
	height: 22px;
}

.pass-filters__active:empty {
	display: none;
}

.pass-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	text-decoration: none;
}

.pass-chip svg {
	width: 12px;
	height: 12px;
}

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

.pass-filters__reset {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 10px;
	color: var(--wp--preset--color--neutral);
	font-weight: 600;
	text-decoration: none;
}

.pass-filters__reset svg {
	width: 18px;
	height: 18px;
	color: var(--wp--preset--color--primary);
	transition: transform 0.4s ease-in-out;
}

.pass-filters__reset:hover svg {
	transform: rotate(180deg);
}

.pass-filters__groups {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-top: 20px;
}

.pass-filters__group {
	margin: 0;
	padding: 0;
	border: 0;
}

.pass-filters__legend {
	margin-bottom: 20px;
	padding: 0;
	font-weight: 600;
}

.pass-filters__options {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pass-option {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
}

.pass-option input {
	appearance: none;
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0;
	border: 1px solid var(--wp--preset--color--neutral-50);
	border-radius: 4px;
	background: var(--wp--preset--color--white) center / 14px no-repeat;
	cursor: pointer;
	transition: background-color var(--wp--custom--transition), border-color var(--wp--custom--transition);
}

.pass-option input:checked {
	border-color: var(--wp--preset--color--secondary-50);
	background-color: var(--wp--preset--color--secondary-50);
	background-image: 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=%22%23244e82%22/%3E %3C/svg%3E");
	background-size: 18px;
}

.pass-option input:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.pass-option input[type="radio"] {
	border-radius: 50%;
}

.pass-option input[type="radio"]:checked {
	background: radial-gradient(circle, var(--wp--preset--color--secondary-50) 0 5px, var(--wp--preset--color--white) 6px);
}

.pass-filters__group--radio .pass-filters__options {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
}

/* Thématiques en pastilles */
.pass-filters__group--pills .pass-filters__options {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px 8px;
}

.pass-filters__group--pills .pass-option input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 20px;
	background: none;
	opacity: 0;
}

.pass-filters__group--pills .pass-option span {
	padding: 2px 10px;
	border: 1px solid var(--wp--preset--color--neutral-25);
	border-radius: 20px;
	font-size: var(--wp--preset--font-size--xs);
	line-height: 24px;
	transition: background-color var(--wp--custom--transition), border-color var(--wp--custom--transition);
}

.pass-filters__group--pills .pass-option:hover span {
	border-color: var(--wp--preset--color--neutral-75);
}

.pass-filters__group--pills .pass-option input:checked + span {
	border-color: var(--wp--preset--color--secondary-50);
	background-color: var(--wp--preset--color--secondary-50);
	font-weight: 600;
}

.pass-filters__group--pills .pass-option input:focus-visible + span {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* Desktop : panneau affiché en barre latérale */
@media (min-width: 60em) {
	.pass-filters__open,
	.pass-filters__submit,
	.pass-filters__panel-head,
	.pass-filters__panel-foot {
		display: none;
	}
}

/* Mobile : recherche + bouton Filtres, panneau plein écran */
@media (max-width: 59.99em) {
	.pass-filters {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 20px 10px;
		padding-bottom: 40px;
		border-bottom: 1px solid var(--wp--preset--color--neutral-25);
		margin-inline: calc(-1 * var(--wp--style--root--padding-left));
		padding-inline: var(--wp--style--root--padding-left);
	}

	.pass-filters__open {
		height: 56px;
		padding: 0 20px;
		border: 1px solid var(--wp--preset--color--neutral);
		border-radius: var(--wp--preset--border-radius--m);
		background: var(--wp--preset--color--white);
		color: var(--wp--preset--color--neutral);
		font-weight: 600;
	}

	.pass-filters__submit,
	.pass-filters__apply {
		grid-column: 1 / -1;
		justify-content: center;
		width: 100%;
	}

	.pass-filters__submit::before,
	.pass-filters__apply::before {
		display: none;
	}

	.pass-filters__active,
	.pass-filters > .pass-filters__reset {
		grid-column: 1 / -1;
		justify-self: center;
	}

	.pass-filters__panel {
		position: fixed;
		inset: var(--wp-admin--admin-bar--height, 0px) 0 0;
		z-index: 1000;
		display: flex;
		flex-direction: column;
		overflow-y: auto;
		background-color: var(--wp--preset--color--white);
		visibility: hidden;
		opacity: 0;
		transition: opacity var(--wp--custom--transition), visibility var(--wp--custom--transition);
	}

	.pass-filters__panel.is-open {
		visibility: visible;
		opacity: 1;
	}

	.pass-filters__panel-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 15px 20px;
		border-bottom: 1px solid var(--wp--preset--color--neutral-25);
	}

	.pass-filters__panel-title {
		margin: 0;
		font-size: var(--wp--preset--font-size--l);
		font-weight: 600;
	}

	.pass-filters__close {
		width: 30px;
		height: 30px;
		padding: 0;
		border: 0;
		background: none;
		color: var(--wp--preset--color--primary);
	}

	.pass-filters__close svg {
		width: 100%;
		height: 100%;
	}

	.pass-filters__groups {
		flex: 1;
		gap: 30px;
		margin: 0;
		padding: 30px 16px;
	}

	.pass-filters__legend {
		margin-bottom: 16px;
	}

	.pass-filters__panel-foot {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;
		padding: 30px 16px;
		border-top: 1px solid var(--wp--preset--color--neutral-25);
	}

	.pass-filters__panel-foot .pass-filters__reset {
		align-self: center;
	}

	.pass-listing__results {
		margin-top: 30px;
	}
}

/* ---------- Carte ressource ---------- */
.pass-card--resource {
	min-height: 224px;
	justify-content: space-between;
}

.pass-card__kicker {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	line-height: 24px;
}

.pass-card--resource .pass-card__body {
	gap: 10px;
}

.pass-card--resource .pass-card__title {
	display: -webkit-box;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--l);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
}

.pass-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.pass-card__icon {
	flex: none;
	width: 24px;
	height: 24px;
	color: var(--wp--preset--color--secondary-50);
	transition: transform var(--wp--custom--transition);
}

.pass-card__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.pass-card--resource:hover {
	border-color: var(--wp--preset--color--neutral-75);
	background-color: var(--wp--preset--color--primary-10);
}

.pass-card--resource:hover :is(.pass-card__title, .pass-card__kicker) {
	color: var(--wp--preset--color--primary);
}

.pass-card--resource:hover .pass-card__icon {
	transform: translateX(4px);
}

@media (max-width: 47.99em) {
	.pass-card--resource {
		min-height: 0;
	}

	.pass-card--resource .pass-card__title {
		font-size: var(--wp--preset--font-size--m);
		-webkit-line-clamp: 3;
	}
}

/* ---------- Pagination ---------- */
.pass-pagination ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 0;
	padding: 40px 0 0;
	list-style: none;
}

.pass-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 34px;
	border-bottom: 2px solid transparent;
	color: var(--wp--preset--color--neutral);
	font-weight: 600;
	text-decoration: none;
}

.pass-pagination .page-numbers.current {
	border-bottom-color: var(--wp--preset--color--neutral);
}

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

.pass-pagination__first svg,
.pass-pagination__last svg {
	width: 20px;
	height: 20px;
}

/* ==========================================================================
   Fiche détail
   ========================================================================== */

.pass-single > * {
	margin-block: 0;
}

.pass-single-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-top: 60px !important;
	margin-bottom: 60px !important;
}

.pass-single-header__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.pass-single-header__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--heading-1);
	font-weight: 600;
}

.pass-share {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 10px;
	height: 48px;
	padding: 0 12px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--neutral);
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--wp--custom--transition);
}

.pass-share svg {
	width: 20px;
	height: 20px;
	color: var(--wp--preset--color--primary);
}

.pass-share:hover {
	background-color: var(--wp--preset--color--primary-10);
	color: var(--wp--preset--color--neutral);
}

@media (max-width: 47.99em) {
	.pass-single-header {
		flex-direction: column;
		align-items: flex-start;
		margin-top: 40px !important;
		margin-bottom: 40px !important;
	}
}

/* Lignes « fichier » (core/file) et « lien » (pass/link-row) — Figma item-tool 4158:6208 */
:is(.wp-block-file, .pass-link-row) {
	position: relative;
	box-sizing: border-box;
	font-size: var(--wp--preset--font-size--m);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--wp--preset--color--neutral-25);
	border-radius: var(--wp--preset--border-radius--m);
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--neutral);
	transition: background-color var(--wp--custom--transition), border-color var(--wp--custom--transition);
}

:is(.wp-block-file, .pass-link-row) + :is(.wp-block-file, .pass-link-row) {
	margin-top: 10px;
}

:is(.wp-block-file, .pass-link-row):hover {
	border-color: var(--wp--preset--color--neutral-75);
	background-color: var(--wp--preset--color--primary-10);
}

.wp-block-file > a:first-child,
.pass-link-row__label {
	color: inherit;
	font-weight: 400;
	line-height: 24px;
	text-decoration: none;
	transition: color var(--wp--custom--transition);
}

:is(.wp-block-file, .pass-link-row):hover :is(a:first-child, .pass-link-row__label) {
	color: var(--wp--preset--color--primary);
}

.wp-block-file .wp-block-file__button,
.pass-link-row__cta {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	background: none;
	color: var(--wp--preset--color--neutral);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 24px;
	text-decoration: none;
	text-transform: none;
}

/* Toute la ligne est cliquable via son bouton. */
.wp-block-file .wp-block-file__button::after,
.pass-link-row__cta::after {
	content: "";
	position: absolute;
	inset: 0;
}

.wp-block-file .wp-block-file__button {
	flex-direction: row-reverse;
}

.wp-block-file .wp-block-file__button::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background-color: var(--wp--preset--color--primary);
	mask: var(--pass-icon-download) center / contain no-repeat;
}

.pass-link-row__cta svg {
	width: 16px;
	height: 16px;
	color: var(--wp--preset--color--primary);
	transition: transform var(--wp--custom--transition);
}

.wp-block-file .wp-block-file__button:hover,
.pass-link-row__cta:hover {
	background: none;
	color: var(--wp--preset--color--neutral);
}

.pass-link-row:hover .pass-link-row__cta svg {
	transform: translateX(3px);
}

@media (max-width: 47.99em) {
	:is(.wp-block-file, .pass-link-row) {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}

/* Ressources complémentaires */
.pass-more {
	box-sizing: border-box;
	margin-top: 60px !important;
	padding: 30px;
	border-radius: 20px;
	background-color: var(--wp--preset--color--primary-10);
}

.pass-more__title {
	margin: 0 0 20px;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--m);
	font-weight: 600;
	line-height: normal;
}

.pass-more__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pass-more__list a {
	color: var(--wp--preset--color--neutral);
	font-weight: 400;
}

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

/* Retour à la liste */
.pass-back {
	margin-block: 70px !important;
}

.pass-back a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--wp--preset--color--neutral);
	font-weight: 600;
	text-decoration: none;
}

.pass-back svg {
	width: 22px;
	height: 22px;
	color: var(--wp--preset--color--primary);
	transition: transform var(--wp--custom--transition);
}

.pass-back a:hover svg {
	transform: translateX(-4px);
}

/* Dans la même thématique */
.pass-single__related {
	padding-block: 60px;
	border-top: 1px solid var(--wp--preset--color--neutral-25);
}

.pass-single__related:not(:has(.pass-same-theme)) {
	display: none;
}

.pass-same-theme__title {
	margin: 0 0 40px;
}

.pass-same-theme__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

@media (max-width: 74.99em) {
	.pass-same-theme__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 47.99em) {
	.pass-same-theme__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ==========================================================================
   Boîte à outils (lot 3)
   ========================================================================== */

.pass-tools {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 60px 0 0;
	padding: 0;
	list-style: none;
}

.pass-tool {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 30px;
	border: 1px solid var(--wp--preset--color--neutral-25);
	border-radius: 20px;
	background-color: var(--wp--preset--color--primary-10);
	text-align: center;
	transition: background-color var(--wp--custom--transition);
}

.pass-tool__icon {
	width: 120px;
	height: 120px;
}

.pass-tool__link {
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: normal;
	text-decoration: none;
}

.pass-tool__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.pass-tool__link:focus-visible {
	outline: none;
}

.pass-tool:has(.pass-tool__link:focus-visible) {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.pass-tool:hover {
	background-color: var(--wp--preset--color--primary-50);
}

.pass-tool:hover .pass-tool__link {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 59.99em) {
	.pass-tools {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
		margin-top: 40px;
	}

	.pass-tool {
		padding: 16px;
	}

	.pass-tool__icon {
		width: 60px;
		height: 60px;
	}

	.pass-tool__link {
		font-size: var(--wp--preset--font-size--m);
	}
}

.pass-tool-header {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-block: 60px !important;
}

.pass-tool-header__icon {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary-10);
}

.pass-tool-header__icon img {
	width: 80px;
	height: 80px;
}

.pass-tool-header__text > * {
	margin: 0;
}

.pass-tool-header__overline {
	color: var(--wp--preset--color--primary);
}

.pass-tool-header__title {
	margin-top: 5px !important;
	font-size: var(--wp--preset--font-size--heading-1);
	font-weight: 600;
}

@media (max-width: 47.99em) {
	.pass-tool-header {
		flex-direction: column;
		align-items: flex-start;
		margin-block: 40px 30px !important;
	}

	.pass-tool-header__icon {
		width: 80px;
		height: 80px;
	}

	.pass-tool-header__icon img {
		width: 54px;
		height: 54px;
	}
}

/* ==========================================================================
   Actualités (lot 4) — Figma 4093:6340 / 4188:7953, détail 4094:4360
   ========================================================================== */

/* En-tête court : forme bleue à droite, sans illustration. */
:is(.pass-archive-hero--post, .pass-archive-hero--agenda) {
	min-height: 180px;
}

:is(.pass-archive-hero--post, .pass-archive-hero--agenda) .pass-archive-hero__inner {
	padding-bottom: 40px;
}

:is(.pass-archive-hero--post, .pass-archive-hero--agenda)::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: calc(50% + 12px);
	border-top-left-radius: 240px;
	background-color: var(--wp--preset--color--primary-50);
}

/* Bandeau « Newsletter du mois » */
.pass-nl-banner {
	margin-block: 0 !important;
	padding: 30px var(--wp--style--root--padding-right) 30px var(--wp--style--root--padding-left);
	background-color: var(--wp--preset--color--primary-50);
}

.pass-nl-banner__card {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: 30px;
	border-radius: 30px;
	background-color: var(--wp--preset--color--white);
}

.pass-nl-banner__text > * {
	margin: 0;
}

.pass-nl-banner__overline {
	color: var(--wp--preset--color--primary);
}

.pass-nl-banner__title {
	margin-top: 5px !important;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: normal;
}

.pass-nl-banner__button {
	flex: none;
}

.pass-nl-banner__button .wp-block-button__link::before {
	display: none;
}

@media (max-width: 59.99em) {
	:is(.pass-archive-hero--post, .pass-archive-hero--agenda) {
		min-height: 0;
	}

	:is(.pass-archive-hero--post, .pass-archive-hero--agenda) .pass-archive-hero__inner {
		padding-bottom: 100px;
	}

	:is(.pass-archive-hero--post, .pass-archive-hero--agenda)::after {
		top: auto;
		left: auto;
		width: 185px;
		height: 80px;
		border-top-left-radius: 120px;
	}

	.pass-nl-banner__card {
		flex-direction: column;
		align-items: stretch;
	}

	.pass-nl-banner__button .wp-block-button,
	.pass-nl-banner__button .wp-block-button__link {
		box-sizing: border-box;
		width: 100%;
	}
}

/* Sélecteur (« Type d'actualité ») */
.pass-select {
	max-width: 362px;
	margin: 60px 0 24px;
}

.pass-select__label {
	display: block;
	margin-bottom: 4px;
}

.pass-select__field {
	position: relative;
}

.pass-select select {
	box-sizing: border-box;
	width: 100%;
	height: 56px;
	padding: 0 48px 0 16px;
	border: 1px solid var(--wp--preset--color--neutral);
	border-radius: var(--wp--preset--border-radius--m);
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--neutral);
	font: inherit;
	appearance: none;
	cursor: pointer;
}

.pass-select select:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 0;
	border-color: var(--wp--preset--color--primary);
}

.pass-select__field svg {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 20px;
	height: 20px;
	color: var(--wp--preset--color--neutral);
	pointer-events: none;
	transform: translateY(-50%);
}

/* Grille des actualités */
.pass-news-list__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px 24px;
}

@media (max-width: 74.99em) {
	.pass-news-list__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 47.99em) {
	.pass-select {
		max-width: none;
		margin-top: 40px;
	}

	.pass-news-list__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* En-tête de fiche actualité */
.pass-news-header {
	margin-block: 60px !important;
}

.pass-news-header > * {
	margin: 0;
}

.pass-news-header__type {
	color: var(--wp--preset--color--primary);
	font-weight: 400;
	text-decoration: none;
}

.pass-news-header__type:hover {
	text-decoration: underline;
}

.pass-news-header__title {
	margin-top: 5px;
	font-size: var(--wp--preset--font-size--heading-1);
	font-weight: 600;
}

.pass-news-header__date {
	margin-top: 10px;
	color: var(--wp--preset--color--neutral-75);
	font-size: var(--wp--preset--font-size--xs);
}

@media (max-width: 47.99em) {
	.pass-news-header {
		margin-block: 40px !important;
	}
}

/* ==========================================================================
   Les équipes en action (lot 6) — Figma 4096:4058 / 4192:3513, détail 4206:9541
   ========================================================================== */

/* Liste compacte : listes déroulantes au-dessus des résultats. */
.pass-listing--compact {
	display: block;
	margin-top: 60px;
}

.pass-listing--compact .pass-filters {
	display: block;
	margin: 0 0 60px;
	padding: 0;
	border: 0;
}

.pass-listing--compact .pass-filters__panel {
	position: static;
	visibility: visible;
	opacity: 1;
	overflow: visible;
	background: none;
}

.pass-listing--compact .pass-filters__panel-head,
.pass-listing--compact .pass-filters__panel-foot {
	display: none;
}

.pass-listing--compact .pass-filters__groups {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0;
	padding: 0;
}

.pass-listing--compact .pass-select {
	width: 362px;
	max-width: 100%;
	margin: 0;
}

.pass-listing--compact .pass-select + .pass-select {
	width: 164px;
}

.pass-listing--compact .pass-listing__results {
	margin-top: 0;
}

.pass-listing--compact .pass-listing__grid {
	grid-template-columns: 1fr;
	gap: 40px;
}

@media (max-width: 59.99em) {
	.pass-listing--compact {
		margin-top: 40px;
	}

	.pass-listing--compact .pass-filters {
		margin-bottom: 40px;
	}

	.pass-listing--compact .pass-filters__groups {
		flex-direction: column;
		gap: 30px;
	}

	.pass-listing--compact .pass-select,
	.pass-listing--compact .pass-select + .pass-select {
		width: 100%;
	}
}

/* Carte « équipe en action » */
.pass-team {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 456px) minmax(0, 1fr);
	align-items: start;
	gap: 60px;
	padding: 40px 60px;
	border-radius: 30px;
	background-color: var(--wp--preset--color--primary-10);
	transition: background-color var(--wp--custom--transition);
}

.pass-team:not(:has(.pass-team__media)) {
	grid-template-columns: 1fr;
}

.pass-team__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.pass-team__body > * {
	margin: 0;
}

.pass-team__title {
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: normal;
}

.pass-team__title a {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
}

/* Toute la carte est cliquable. */
.pass-team__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.pass-team__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 8px !important;
	color: var(--wp--preset--color--neutral-75);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 24px;
}

.pass-team__team {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.pass-team__excerpt {
	margin-top: 24px !important;
}

.pass-team__more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	font-weight: 600;
}

.pass-team__more svg {
	width: 16px;
	height: 16px;
	color: var(--wp--preset--color--primary);
	transition: transform var(--wp--custom--transition);
}

.pass-team:hover {
	background-color: var(--wp--preset--color--primary-50);
}

.pass-team:hover .pass-team__title {
	color: var(--wp--preset--color--primary);
}

.pass-team:hover .pass-team__more svg {
	transform: translateX(4px);
}

.pass-team:has(a:focus-visible) {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.pass-team a:focus-visible {
	outline: none;
}

@media (max-width: 59.99em) {
	.pass-team {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 30px;
	}
}

/* En-tête de fiche */
.pass-team-header__team {
	display: inline-block;
	margin-top: 10px;
	color: var(--wp--preset--color--primary);
	font-weight: 400;
	text-decoration: none;
}

.pass-team-header__team:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Agenda (lot 7) — Figma 4094:3255, détail 4094:4701
   ========================================================================== */

.pass-event-aside__card {
	min-height: 0;
	gap: 16px;
}

.pass-event-aside__card .pass-card__body {
	margin-top: 80px;
}

.pass-event-aside__card .pass-card__title {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.25;
}

.pass-event-aside__address {
	text-transform: none !important;
	font-weight: 400 !important;
	align-items: flex-start;
	margin-top: 12px !important;
	line-height: 18px !important;
}

.pass-event-aside__address svg {
	margin-top: 1px;
}

.pass-event-aside__card .wp-block-buttons {
	margin: 0;
}

.pass-button--external .wp-block-button__link {
	padding: 10px 12px;
}

.pass-button--external .wp-block-button__link::before {
	mask-image: var(--pass-icon-external);
}

.pass-button--external .wp-block-button__link:hover::before {
	transform: none;
}

.pass-event-aside__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: var(--wp--preset--color--white);
}

.pass-event-aside__logo img {
	max-height: 90px;
	width: auto;
}

@media (max-width: 59.99em) {
	/* Dates et lieu visibles d'emblée sur mobile. */
	.pass-event-aside {
		order: -1;
	}
}

/* Tuile de rubrique protégée */
.pass-tool__lock {
	position: absolute;
	top: 14px;
	right: 14px;
	display: flex;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
}

.pass-tool__lock svg {
	width: 16px;
	height: 16px;
}

/* ==========================================================================
   Recherche globale (pas de maquette : composants existants)
   ========================================================================== */

.pass-search-title {
	margin-top: 60px !important;
	font-size: var(--wp--preset--font-size--heading-1);
}

.pass-search {
	margin-top: 30px !important;
}

.pass-search__form {
	max-width: 588px;
	margin-bottom: 30px;
}

.pass-search__list {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

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

.pass-search__item > * {
	margin: 0;
}

.pass-search__title {
	margin-top: 4px;
	font-size: var(--wp--preset--font-size--l);
	font-weight: 600;
}

.pass-search__title a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--wp--preset--color--neutral);
	font-weight: inherit;
	text-decoration: none;
}

.pass-search__title svg {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--wp--preset--color--primary);
	transition: transform var(--wp--custom--transition);
}

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

.pass-search__title a:hover svg {
	transform: translateX(4px);
}

.pass-search__excerpt {
	margin-top: 8px !important;
	color: var(--wp--preset--color--neutral-75);
	font-size: var(--wp--preset--font-size--s);
}

.pass-search__empty {
	margin-top: 20px;
	padding: 30px;
	border-radius: 20px;
	background: var(--wp--preset--color--primary-10);
}

.pass-search__empty > :last-child {
	margin-bottom: 0;
}
