/* ==========================================================================
ACTUALITÉS - FILTRES
========================================================================== */

.manifest-actus-filtres {
	margin-bottom: 36px;
}

.manifest-actus-filtres__choices {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}


/* ==========================================================================
ACTUALITÉS - CHECKBOXES CATÉGORIES
========================================================================== */

.manifest-actus-filtres__choices .checkbox {
	display: inline-flex;
	margin: 0;
}


/*
* Le label devient visuellement notre bouton.
*/

.manifest-actus-filtres__choices .checkbox label {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 40px;
	margin: 0;
	padding: 7px 24px;

	border: 1px solid var(--couleur-secondaire);
	border-radius: 4px;

	background-color: transparent;
	color: var(--couleur-secondaire);

	font-family: var(--typo-principale);
	font-size: 14px;
	font-weight: var(--regular);
	line-height: 1.4;

	cursor: pointer;
	user-select: none;

	transition:
		background-color 160ms ease,
		color 160ms ease,
		border-color 160ms ease;
}


/*
* On masque la vraie checkbox sans la supprimer.
*/

.manifest-actus-filtres__choices input[type="checkbox"] {
	position: absolute;

	width: 1px;
	height: 1px;

	margin: 0;
	padding: 0;

	opacity: 0;

	pointer-events: none;
}


/* Hover */

.manifest-actus-filtres__choices .checkbox label:hover {
	background-color: rgba(var(--couleur-secondaire-rgb), 0.06);
}


/* Sélectionné */

.manifest-actus-filtres__choices .checkbox label:has(input[type="checkbox"]:checked) {
	background-color: var(--couleur-4);
	border-color: var(--couleur-4);
	color: var(--blanc);
}


/* Navigation clavier */

.manifest-actus-filtres__choices .checkbox label:has(input[type="checkbox"]:focus-visible) {
	outline: 2px solid var(--couleur-secondaire);
	outline-offset: 3px;
}


/* ==========================================================================
ACTUALITÉS - BOUTON FILTRE
========================================================================== */

.manifest-actus-filtres__submit {
	display: inline-flex;
	align-items: center;
	margin-top: 24px;
}

.manifest-actus-filtres__submit .fl-module-content {
	margin: 0 !important;
}

.manifest-actus-filtres__submit.cta-secondaire .uabb-module-content button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	padding: 12px 24px;

	border: 1px solid var(--couleur-secondaire) !important;
	border-radius: var(--radius-cta-principal) !important;

	background-color: var(--couleur-secondaire);
	color: var(--blanc);

	cursor: pointer;
	appearance: none;
	box-shadow: none;

	transition:
		background-color 300ms linear,
		border-color 300ms linear,
		color 300ms linear;
}

.manifest-actus-filtres__submit.cta-secondaire .uabb-module-content button span {
	font-family: var(--typo-principale);
	font-weight: var(--bold);
	color: var(--blanc);
	text-transform: initial;
}

.manifest-actus-filtres__submit.cta-secondaire .uabb-module-content button .uabb-button-icon {
	color: var(--blanc);
	font-size: 12px;
	line-height: 1;

	transition: transform 200ms ease;
}

.manifest-actus-filtres__submit.cta-secondaire .uabb-module-content button:hover .uabb-button-icon,
.manifest-actus-filtres__submit.cta-secondaire .uabb-module-content button:focus-visible .uabb-button-icon {
	transform: translateX(3px);
}

.manifest-actus-filtres__submit.cta-secondaire .uabb-module-content button:focus-visible {
	outline-width: 3px !important;
	outline-offset: 3px;
}


/* ==========================================================================
ACTUALITÉS - GRILLE
========================================================================== */

.manifest-actus {
	width: 100%;
}

.manifest-actus__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	grid-auto-rows: 128px;
	grid-auto-flow: dense;

	gap: 16px;
}

/* ==========================================================================
ACTUALITÉS - CARTE STANDARD
========================================================================== */

.manifest-article-card {
	min-width: 0;

	border: 1px solid rgba(var(--couleur-secondaire-rgb), 0.2);
	border-radius: 8px;

	background-color: var(--blanc);

	overflow: hidden;
}

.manifest-article-card:hover {
	border-color: rgba(var(--couleur-secondaire-rgb), 0.35);
}


/* ==========================================================================
ACTUALITÉS - LIEN COMPLET
========================================================================== */

.manifest-article-card__link {
	display: grid;

	grid-template-columns:
		90px
		minmax(0, 1fr)
		16px;

	align-items: center;

	column-gap: 16px;

	min-height: 128px;
	height: 100%;

	padding: 16px;

	color: inherit;
	text-decoration: none;
}


/* ==========================================================================
ACTUALITÉS - IMAGE
========================================================================== */

.manifest-article-card__image {
	width: 90px;
	height: 80px;

	overflow: hidden;

	flex-shrink: 0;
}

.manifest-article-card__image img {
	display: block;

	width: 100%;
	height: 100%;

	margin: 0;

	object-fit: cover;
	object-position: bottom;
}

.manifest-article-card:hover .manifest-article-card__image img,
.manifest-article-card:focus-within .manifest-article-card__image img {
	transform: scale(1.025);
}


/* ==========================================================================
ACTUALITÉS - CONTENU
========================================================================== */

.manifest-article-card__content {
	display: flex;
	flex-direction: column;
	justify-content: center;

	min-width: 0;
}


/* ==========================================================================
ACTUALITÉS - DATE + CATÉGORIE
========================================================================== */

.manifest-article-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	gap: 5px;

	margin: 0 0 10px;

	font-family: var(--typo-secondaire);
	font-size: 12px;
	font-weight: var(--regular);
	line-height: 1.35;

	color: var(--couleur-secondaire);
}

.manifest-article-card__date,
.manifest-article-card__category {
	display: inline;
}

.manifest-article-card__separator {
	display: inline-flex;
	align-items: center;
}


/*
* Si Toolset génère des liens pour la catégorie.
*/

.manifest-article-card__category a {
	color: inherit;
	text-decoration: none;
}


/* ==========================================================================
ACTUALITÉS - TITRE
========================================================================== */

.manifest-article-card__title {
	margin: 0;
	font-family: var(--typo-secondaire) !important;
	font-size: 14px;
	font-weight: var(--medium);
	line-height: 16px;

	color: var(--couleur-secondaire);

	/* 2 lignes maximum */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;

	overflow: hidden;
}

.manifest-article-card__link:hover .manifest-article-card__title {
	text-decoration: none;
}


/* ==========================================================================
ACTUALITÉS - FLÈCHE
========================================================================== */

.manifest-article-card__arrow {
	display: flex;
	align-items: center;
	justify-content: center;

	align-self: center;

	width: 16px;

	color: var(--couleur-secondaire);

	font-size: 18px;
	line-height: 1;
}

.manifest-article-card__arrow i {
	display: block;
}

.manifest-article-card__link:hover .manifest-article-card__arrow i,
.manifest-article-card__link:focus-visible .manifest-article-card__arrow i {
	transform: translateX(4px);
}

/* ==========================================================================
ACTUALITÉS - HOVER CARTE
========================================================================== */

.manifest-article-card__link,
.manifest-article-card__link:hover,
.manifest-article-card__link:focus-visible {
	color: inherit;
	text-decoration: none;
}

/* Animation globale de la carte */
.manifest-article-card {
	transition:
		transform 220ms ease,
		border-color 220ms ease,
		background-color 220ms ease;
}

.manifest-article-card:hover,
.manifest-article-card:focus-within {
	transform: translateY(0px);

	border-color: rgba(var(--couleur-secondaire-rgb), 0.35);
}

/* Léger changement de fond */
.manifest-article-card__link {
	transition: background-color 220ms ease;
}

.manifest-article-card__link:hover,
.manifest-article-card__link:focus-visible {
	background-color: rgba(var(--couleur-secondaire-rgb), 0.025);
}

/* Image */
.manifest-article-card__image img {
	transition: transform 350ms ease;
}

.manifest-article-card__link:hover .manifest-article-card__image img,
.manifest-article-card__link:focus-visible .manifest-article-card__image img {
	transform: scale(1.04);
}

/* Flèche */
.manifest-article-card__arrow i {
	transition: transform 220ms ease;
}

.manifest-article-card__link:hover .manifest-article-card__arrow i,
.manifest-article-card__link:focus-visible .manifest-article-card__arrow i {
	transform: translateX(5px);
}

/* Le titre ne se souligne jamais */
.manifest-article-card__title,
.manifest-article-card__link:hover .manifest-article-card__title,
.manifest-article-card__link:focus-visible .manifest-article-card__title {
	text-decoration: none;
}

/* ==========================================================================
ACTUALITÉS - ACCESSIBILITÉ
========================================================================== */

.manifest-article-card__link:focus-visible {
	outline: 3px solid var(--couleur-secondaire);
	outline-offset: -3px;
	border-radius: 11px;
}

/* ==========================================================================
ACTUALITÉS - CARTE PARTENARIAT
========================================================================== */

.manifest-article-card--partenariat {
	grid-row: span 2;

	border: 0;
	background-color: var(--couleur-3);
	color: var(--blanc);
}

.manifest-article-card--partenariat .manifest-article-card__link {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr;

	padding: 0;

	color: var(--blanc);
	text-decoration: none;
}

.manifest-article-card--partenariat .manifest-article-card__link:focus-visible {
	outline-color: var(--blanc);
}


/* Image */

.manifest-article-card--partenariat .manifest-article-card__image {
	width: 100%;
	height: 128px;
}

.manifest-article-card--partenariat .manifest-article-card__image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


/* Zone basse : texte + flèche */

.manifest-article-card--partenariat .manifest-article-card__bottom {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		16px;

	align-items: center;

	gap: 16px;

	padding: 16px;
}


/* Le content n'a plus besoin de padding */

.manifest-article-card--partenariat .manifest-article-card__content {
	padding: 0;
}


/* Couleurs */

.manifest-article-card--partenariat .manifest-article-card__meta,
.manifest-article-card--partenariat .manifest-article-card__title,
.manifest-article-card--partenariat .manifest-article-card__category,
.manifest-article-card--partenariat .manifest-article-card__category a {
	color: var(--blanc);
}

/* Partenariat */

.manifest-article-card__partnership {
	margin-top: 14px;

	font-family: var(--typo-secondaire);
	font-size: 10px;
	line-height: 1.4;

	color: var(--blanc);
}


/* Flèche */

.manifest-article-card--partenariat .manifest-article-card__arrow {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 16px;

	margin: 0;
	padding: 0;

	color: var(--blanc);

	font-size: 16px;
	line-height: 1;
}

.manifest-article-card--partenariat .manifest-article-card__arrow i {
	transition: transform 200ms ease;
}

.manifest-article-card--partenariat .manifest-article-card__link:hover .manifest-article-card__arrow i,
.manifest-article-card--partenariat .manifest-article-card__link:focus-visible .manifest-article-card__arrow i {
	transform: translateX(3px);
}

/* ==========================================================================
ACTUALITÉS - TABLETTE
========================================================================== */

@media (max-width: 992px) {

	/* Grille */
	.manifest-actus__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 128px;
		grid-auto-flow: dense;
		gap: 16px;
	}


	/* --------------------------------------------------------------------------
	Carte standard
	-------------------------------------------------------------------------- */

	.manifest-article-card--standard {
		grid-row: span 1;
	}

	.manifest-article-card--standard .manifest-article-card__link {
		grid-template-columns:
			76px
			minmax(0, 1fr)
			20px;

		column-gap: 12px;

		height: 100%;
		min-height: 0;

		padding: 16px;
	}

	.manifest-article-card--standard .manifest-article-card__image {
		width: 76px;
		height: 76px;
	}


	/* --------------------------------------------------------------------------
	Carte partenariat
	-------------------------------------------------------------------------- */

	.manifest-article-card--partenariat {
		grid-row: span 2;
	}

	.manifest-article-card--partenariat .manifest-article-card__link {
		height: 100%;
		min-height: 0;
	}

	.manifest-article-card--partenariat .manifest-article-card__image {
		width: 100%;
		height: 128px;
	}

	.manifest-article-card--partenariat .manifest-article-card__bottom {
		height: 144px;

		padding: 16px 20px;

		gap: 12px;
	}

}
.bloc-ressources-externes .ressources-sur-titre {
	margin: 0 !important;
}
.liste-ressources-externes {
	    padding: 16px 32px;
}
/* Ressource externe */
.ressource-externe {
	margin: 0;
	padding: 0;
}
.ressource-externe .ressource-media {
	position: relative;

	display: inline;

	color: var(--couleur-3);

	font-family: inherit !important;
	font-size: inherit;
	font-weight: inherit;

	text-decoration-line: underline;
	text-decoration-color: color-mix(
		in srgb,
		var(--couleur-3) 35%,
		transparent
	);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;

	transition:
		text-decoration-color 180ms ease-out,
		text-underline-offset 180ms ease-out;
}

.ressource-externe .ressource-media:hover,
.ressource-externe .ressource-media:focus-visible {
	color: var(--couleur-3);

	text-decoration-color: var(--couleur-3);
	text-underline-offset: 0.15em;
}

.ressource-externe .ressource-media:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}
/*.ressource-externe .ressource-media {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;

	font-family: var(--typo-secondaire);
	font-size: var(--size-contenu-3);
	line-height: 1.4;

	text-align: left;

	text-decoration: none;
}*/

/* Icône lien externe */
.ressource-externe .ressource-media::after {
	content: "\e91c"; /* À remplacer par le code de .icon-icon-lien-externe */
	flex: 0 0 auto;

	font-family: 'innnOff' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;

	font-size: 8px;
}

/* Détail article */
.manifest-article-detail .datas {
	margin: 0 0 22px 0;
}
.manifest-article-detail .datas > .uppercase {
	display: block;

	font-family: var(--typo-secondaire);
	font-weight: 700;
	font-size: 10px;
	line-height: 1.2;

	margin-bottom: 4px;
}

.manifest-article-detail .datas > p {
	margin: 0;

	font-family: var(--typo-secondaire);
	font-weight: 400;
	font-size: 14px;
	line-height: 16px;
}

.manifest-article-detail .datas > p a {
	font-family: inherit !important;
	font-size: inherit;
	line-height: inherit;
}


.manifest-rangee-article--datas-auteur > .fl-col-content,
.manifest-rangee-article--datas-liens > .fl-col-content, 
.manifest-rangee-article--datas-partenariat > .fl-col-content {
	border-radius: 8px;
	border: 0.5px solid rgba(0, 0, 0, 0.2);
}

.manifest-rangee-article--datas-partenariat > .fl-col-content {
	background: #303041;
}

.manifest-rangee-article--datas-partenariat > .fl-col-content .fl-rich-text * {
	color: var(--blanc) !important;
}
/* Masque tout le bloc si aucune ressource externe n'est présente */
.manifest-rangee-article--datas-liens:not(:has(.ressource-externe)) {
	display: none;
}
/* ==========================================================================
ACTUALITÉS - MOBILE
========================================================================== */

@media (max-width: 767px) {

	/* --------------------------------------------------------------------------
	Filtres
	-------------------------------------------------------------------------- */

	.manifest-actus-filtres {
		margin-bottom: 24px;
	}

	.manifest-actus-filtres__choices {
		gap: 8px;
	}

	.manifest-actus-filtres__choices .checkbox label {
		min-height: 36px;

		padding: 6px 14px;

		font-size: 13px;
	}

	.manifest-actus-filtres__submit {
		margin-top: 16px;
	}


	/* --------------------------------------------------------------------------
	Grille
	-------------------------------------------------------------------------- */

	.manifest-actus__list {
		grid-template-columns: 1fr;

		/*
		* Sur mobile on abandonne la mosaïque
		* à hauteurs fixes.
		*/
		grid-auto-rows: auto;
		grid-auto-flow: row;

		gap: 16px;
	}


	/* --------------------------------------------------------------------------
	Carte standard
	-------------------------------------------------------------------------- */

	.manifest-article-card--standard {
		grid-row: auto;

		height: auto;
	}

	.manifest-article-card--standard .manifest-article-card__link {
		grid-template-columns:
			82px
			minmax(0, 1fr)
			16px;

		column-gap: 12px;

		min-height: 114px;
		height: auto;

		padding: 16px;
	}

	.manifest-article-card--standard .manifest-article-card__image {
		width: 82px;
		height: 82px;
	}


	/* --------------------------------------------------------------------------
	Carte partenariat
	-------------------------------------------------------------------------- */

	.manifest-article-card--partenariat {
		grid-row: auto;

		height: auto;
	}

	.manifest-article-card--partenariat .manifest-article-card__link {
		height: auto;
	}

	.manifest-article-card--partenariat .manifest-article-card__image {
		width: 100%;
		height: 128px;
	}

	.manifest-article-card--partenariat .manifest-article-card__bottom {
		grid-template-columns:
			minmax(0, 1fr)
			20px;

		height: auto;
		min-height: 0;

		gap: 12px;

		padding: 18px;
	}


	/* --------------------------------------------------------------------------
	Typographie
	-------------------------------------------------------------------------- */

	.manifest-article-card__meta {
		margin-bottom: 8px;

		font-size: 11px;
	}

	.manifest-article-card__title {
		font-size: 16px;
	}

	.manifest-article-card--partenariat .manifest-article-card__title {
		font-size: 18px;

		-webkit-line-clamp: 3;
	}

	.manifest-article-card__partnership {
		margin-top: 10px;

		font-size: 12px;
	}

}


/* ==========================================================================
ACTUALITÉS - PETITS MOBILES
========================================================================== */

@media (max-width: 480px) {

	.manifest-article-card--standard .manifest-article-card__link {
		grid-template-columns:
			68px
			minmax(0, 1fr)
			16px;

		column-gap: 10px;

		min-height: 96px;

		padding: 12px;
	}

	.manifest-article-card--standard .manifest-article-card__image {
		width: 68px;
		height: 68px;
	}

	.manifest-actus-filtres__choices .checkbox label {
		padding-left: 10px;
		padding-right: 10px;
	}

}