/**
 * Campus — Grille Actualités (Home).
 * Desktop : featured gauche + 3 rows droite.
 * Mobile (<992) : colonne unique, cards verticales.
 */

.campus-grille-actualites {
	--cga-border: var(--color-border, var(--wp--preset--color--neutral-ash, #b8b0a6));
	--cga-ink: var(--color-text, var(--wp--preset--color--neutral-ink, #3e342a));
	--cga-surface: var(--color-surface, var(--wp--preset--color--neutral-cream, #e8e3dc));
	--cga-pad: 1.75rem;
	--cga-gap: 1.25rem;

	width: 100%;
	color: var(--cga-ink);
	box-sizing: border-box;
}

.campus-grille-actualites-band {
	--cga-border: var(--color-border, var(--wp--preset--color--neutral-ash, #b8b0a6));

	width: 100vw;
	margin-left: calc(50% - 50vw);
	border-top: 1px solid var(--cga-border);
	border-bottom: 1px solid var(--cga-border);
	box-sizing: border-box;
}

.fl-row:has(.campus-grille-actualites-band),
.fl-row:has(.campus-grille-actualites-band) .fl-row-content-wrap,
.fl-row:has(.campus-grille-actualites-band) .fl-row-content,
.fl-col:has(.campus-grille-actualites-band),
.fl-col:has(.campus-grille-actualites-band) > .fl-col-content,
.fl-module:has(.campus-grille-actualites-band),
.fl-module:has(.campus-grille-actualites-band) > .fl-module-content,
.container:has(.campus-grille-actualites-band) {
	overflow: visible;
}

.campus-grille-actualites--empty {
	padding: 1.5rem;
	text-align: center;
	border: 1px dashed rgba(0, 0, 0, 0.25);
	border-radius: 0.75rem;
	background: rgba(0, 0, 0, 0.03);
}

.campus-grille-actualites__grid {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--cga-border);
	box-sizing: border-box;
}

.campus-grille-actualites__featured,
.campus-grille-actualites__list {
	min-width: 0;
}

.campus-grille-actualites__card {
	margin: 0;
}

.campus-grille-actualites__link {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	padding: var(--cga-pad) 1.5rem;
	color: inherit;
	text-decoration: none;
	box-sizing: border-box;
}

.campus-grille-actualites__link:hover,
.campus-grille-actualites__link:focus-visible {
	color: inherit;
	text-decoration: none;
}

.campus-grille-actualites__media {
	overflow: hidden;
	background: var(--cga-surface);
	flex-shrink: 0;
}

.campus-grille-actualites__img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.5s ease;
}

.campus-grille-actualites__link:hover .campus-grille-actualites__img,
.campus-grille-actualites__link:focus-visible .campus-grille-actualites__img {
	transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
	.campus-grille-actualites__img {
		transition: none;
	}

	.campus-grille-actualites__link:hover .campus-grille-actualites__img,
	.campus-grille-actualites__link:focus-visible .campus-grille-actualites__img {
		transform: none;
	}
}

.campus-grille-actualites__img--placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	background: var(--cga-surface);
}

.campus-grille-actualites__body {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	min-width: 0;
}

.campus-grille-actualites__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.campus-grille-actualites__date {
	margin: 0;
}

.campus-grille-actualites__tag {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border: 1px solid var(--cga-border);
	border-radius: 999px;
}

.campus-grille-actualites__tag.u-tag-etiquette,
.campus-grille-actualites__tag.u-tag-etiquette:hover {
	background: var(--wp--preset--color--neutral-ink, #1f1a14);
	border-color: var(--wp--preset--color--neutral-ink, #1f1a14);
	color: var(--wp--preset--color--neutral-bone, #f5efe3);
	cursor: default;
}

.campus-grille-actualites__title {
	margin: 0;
	color: inherit;
}

.campus-grille-actualites__excerpt {
	margin: 0;
	color: inherit;
}

/* Séparateurs mobile : traits entre cards */
.campus-grille-actualites__card + .campus-grille-actualites__card,
.campus-grille-actualites__featured + .campus-grille-actualites__list,
.campus-grille-actualites__list .campus-grille-actualites__card + .campus-grille-actualites__card {
	border-top: 1px solid var(--cga-border);
}

/* ——— Desktop ≥ 992px ——— */
@media (min-width: 992px) {
	.campus-grille-actualites {
		--cga-pad: 1.875rem;
		--cga-gap: 1.25rem;
	}

	.campus-grille-actualites__grid {
		flex-direction: row;
		align-items: stretch;
	}

	.campus-grille-actualites__featured {
		flex: 0 0 50%;
		max-width: 50%;
		border-top: 0;
	}

	.campus-grille-actualites__list {
		flex: 1 1 50%;
		max-width: 50%;
		display: flex;
		flex-direction: column;
		border-left: 1px solid var(--cga-border);
		border-top: 0;
	}

	.campus-grille-actualites__featured + .campus-grille-actualites__list {
		border-top: 0;
	}

	.campus-grille-actualites__card--featured .campus-grille-actualites__link {
		gap: 1.25rem;
		height: 100%;
		padding: var(--cga-pad);
	}

	.campus-grille-actualites__card--featured .campus-grille-actualites__body {
		gap: 1rem;
	}

	.campus-grille-actualites__card--row .campus-grille-actualites__link {
		flex-direction: row;
		align-items: flex-start;
		gap: var(--cga-gap);
		padding: var(--cga-pad);
		flex: 1 1 auto;
	}

	.campus-grille-actualites__card--row .campus-grille-actualites__media {
		width: 203px;
		max-width: 38%;
	}

	.campus-grille-actualites__card--row .campus-grille-actualites__body {
		flex: 1 1 auto;
		gap: var(--cga-gap);
	}

	.campus-grille-actualites__list .campus-grille-actualites__card {
		flex: 1 1 0;
		display: flex;
	}

	.campus-grille-actualites__list .campus-grille-actualites__card .campus-grille-actualites__link {
		width: 100%;
	}

	.campus-grille-actualites__list .campus-grille-actualites__card:last-child {
		border-bottom: 0;
	}
}

.fl-builder-edit .campus-grille-actualites {
	min-height: 160px;
}

.campus-grille-actualites-band--sans-filets {
	border-top: 0;
	border-bottom: 0;
}

.campus-grille-actualites-band--filet-haut {
	border-bottom: 0;
}

.campus-grille-actualites-band--filet-bas {
	border-top: 0;
}

/* Le filet pleine largeur prolonge le cadre. On retire le bord du bloc de ce côté pour ne pas le doubler. */
.campus-grille-actualites-band:not(.campus-grille-actualites-band--sans-filets):not(.campus-grille-actualites-band--filet-bas) .campus-grille-actualites__grid {
	border-top: 0;
}

.campus-grille-actualites-band:not(.campus-grille-actualites-band--sans-filets):not(.campus-grille-actualites-band--filet-haut) .campus-grille-actualites__grid {
	border-bottom: 0;
}
