/**
 * S-Actus — habillage « coulissante ».
 * Tout est préfixé .s-actus pour ne rien déborder sur le thème.
 */

.s-actus {
	--s-actus-accent: #54680e;
	--s-actus-accent-rgb: 84, 104, 14;
	--s-actus-dot-on: #96c61a;
	--s-actus-dot-off: #e7e9e6;
	--s-actus-ink: #152657;
	--s-actus-titre-2: #4a9ba5;
	--s-actus-card: 260px;
	--s-actus-lead: 42%;
	--s-actus-muted: #6b7681;
	--s-actus-fill: #f2f3f0;
	--s-actus-gap: 20px;
	--s-actus-bleed: 0px;
	/* Ruban du titre, intégré à la feuille : un masque doit venir du même domaine. */
	--s-actus-ruban-img: url("data:image/png;base64,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");
	--s-actus-vague: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 14'%3E%3Cpath d='M3 9c4.5-7 9-7 13.5 0s9 7 13.5 0 9-7 13.5 0' fill='none' stroke='%23000' stroke-width='4.5' stroke-linecap='round'/%3E%3C/svg%3E");

	position: relative;
	overflow: visible;
	font-family: inherit;
}

.s-actus *,
.s-actus *::before,
.s-actus *::after {
	box-sizing: border-box;
}

.s-actus a {
	text-decoration: none;
	color: inherit;
}

/* ---------- En-tête ---------- */

.s-actus__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.s-actus__title {
	margin: 0;
	padding: 0;
	line-height: 1;
	font-weight: 400;
}

.s-actus__title-thin {
	display: block;
	font-size: clamp(24px, 3.2vw, 38px);
	font-weight: 300;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--s-actus-ink);
	line-height: 1.1;
}

.s-actus__title-strong {
	display: block;
	position: relative;
	margin-top: 6px;
	padding-left: 2.6em;
	font-size: clamp(26px, 3.6vw, 42px);
	font-weight: 700;
	letter-spacing: 0.005em;
	text-transform: uppercase;
	color: var(--s-actus-ink);
	line-height: 1.05;
}

.s-actus__title-strong::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

/* Filet horizontal : un simple trait, dans la couleur d'accent. */
.s-actus__title-strong--filet::before {
	left: 0.45em;
	width: 1.5em;
	height: 2px;
	background-color: var(--s-actus-accent);
}

/* Losange plein. */
.s-actus__title-strong--losange::before {
	left: 1.1em;
	width: 0.34em;
	height: 0.34em;
	background-color: var(--s-actus-accent);
	transform: translateY(-50%) rotate(45deg);
}

/* Trois points alignés. */
.s-actus__title-strong--points::before {
	left: 0.7em;
	width: 1.1em;
	height: 0.16em;
	background-image: radial-gradient( circle, var(--s-actus-accent) 45%, transparent 46% );
	background-size: 0.37em 100%;
	background-repeat: repeat-x;
}

/* Vague : un trait ondulé, dans la couleur d'accent. */
.s-actus__title-strong--vague::before {
	left: 0.25em;
	width: 1.9em;
	height: 0.55em;
	background-color: var(--s-actus-accent);
	-webkit-mask: var(--s-actus-vague) no-repeat center / contain;
	mask: var(--s-actus-vague) no-repeat center / contain;
}

.s-actus__title--agenda .s-actus__title-strong--vague {
	padding-left: 1.75em;
}

.s-actus__title--agenda .s-actus__title-strong--vague::before {
	left: 0.1em;
	width: 1.4em;
}

/*
 * Traitement « agenda » : une ligne en gras, une ligne en italique serif
 * décalée sous elle, accordé au titre du bloc S-Agenda.
 */
.s-actus__title--agenda {
	line-height: 1.02;
}

.s-actus__title--agenda .s-actus__title-thin {
	font-family: var(--s-actus-font-1, inherit);
	font-size: clamp(38px, 5vw, 62px);
	font-weight: 800;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--s-actus-ink);
	line-height: 1.02;
}

.s-actus__title--agenda .s-actus__title-strong {
	font-family: var(--s-actus-font-2, Georgia, "Times New Roman", serif);
	font-size: clamp(34px, 4.4vw, 56px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--s-actus-titre-2);
	line-height: 1.02;
	margin-top: -0.06em;
	padding-left: 1.7em;
}

/* Sans pictogramme, on retombe sur le décalage exact de S-Agenda. */
.s-actus__title--agenda .s-actus__title-strong--aucun {
	padding-left: 0.12em;
}

.s-actus__title--agenda .s-actus__title-strong--filet::before {
	left: 0.3em;
	width: 1.15em;
	height: 2px;
}

.s-actus__title--agenda .s-actus__title-strong--losange::before {
	left: 0.8em;
}

.s-actus__title--agenda .s-actus__title-strong--points::before {
	left: 0.5em;
}

/*
 * Traitement « ruban » : le second mot en grand (Montserrat très gras),
 * puis dessous le ruban et le premier mot (Dosis fin), accordé aux autres
 * widgets du site. Polices et ruban sont fournis avec l'extension.
 */
@font-face {
	font-family: "S-Actus Montserrat";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/montserrat-800.woff2") format("woff2");
}

@font-face {
	font-family: "S-Actus Dosis";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url("../fonts/dosis-300.woff2") format("woff2");
}

/*
 * Tailles calées sur le titre de S-Agenda : le grand mot de 38 à 64 px selon
 * la largeur de l'écran, la ligne fine et le ruban à 0,46 fois cette taille.
 */
.s-actus .s-actus__title--ruban {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	font-size: clamp(38px, 4.2vw, 64px);
	line-height: 1;
}

/* Le second mot passe au-dessus ; l'ordre de lecture reste « Dernières Actualités ». */
.s-actus .s-actus__title--ruban .s-actus__title-strong {
	order: 1;
	margin: 0;
	padding: 0;
	font-family: "S-Actus Montserrat", Montserrat, "Helvetica Neue", Arial, sans-serif;
	font-size: 1em;
	font-style: normal;
	font-weight: 800;
	letter-spacing: -0.015em;
	text-transform: none;
	color: var(--s-actus-ink);
	line-height: 1;
}

.s-actus .s-actus__title--ruban .s-actus__title-strong::before {
	content: none;
}

.s-actus .s-actus__title--ruban .s-actus__title-thin {
	order: 2;
	display: flex;
	align-items: center;
	gap: 0.3em;
	margin: 0.05em 0 0 -0.15em;
	padding: 0;
	font-family: "S-Actus Dosis", Dosis, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.46em;
	font-style: normal;
	font-weight: 300;
	letter-spacing: 0.01em;
	text-transform: none;
	color: var(--s-actus-ink);
	line-height: 1.1;
}

/* Le ruban, dessiné par l'image intégrée et teinté par le réglage « Couleur du ruban ». */
.s-actus .s-actus__title--ruban .s-actus__title-thin::before {
	content: "";
	position: static;
	flex: 0 0 auto;
	width: 4.9em;
	height: 1.09em;
	margin-top: -0.25em;
	background-color: var(--s-actus-ruban, #f17f55);
	-webkit-mask: var(--s-actus-ruban-img) no-repeat center / contain;
	mask: var(--s-actus-ruban-img) no-repeat center / contain;
	transform: none;
}

/* Aucun pictogramme : on reprend la place. */
.s-actus__title--deux-graisses .s-actus__title-strong--aucun {
	padding-left: 0;
}

.s-actus__title-strong--aucun::before {
	content: none;
}

.s-actus__all {
	flex: 0 0 auto;
	margin-top: 14px;
	padding: 14px 26px;
	border: 1px solid var(--s-actus-accent);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	color: inherit;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.s-actus__all:hover,
.s-actus__all:focus {
	background-color: var(--s-actus-accent);
	color: #fff;
}

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

.s-actus__grid {
	display: grid;
	grid-template-columns: minmax(0, var(--s-actus-lead)) minmax(0, 1fr);
	gap: 34px;
	align-items: start;
}

.s-actus__col {
	min-width: 0;
}

/* ---------- Visuels ---------- */

.s-actus__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 11;
	background-color: #eceef0;
}

.s-actus__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.s-actus__media:hover .s-actus__img {
	transform: scale(1.03);
}

/*
 * Image complète : la grande actualité prend la hauteur naturelle du visuel,
 * ce qui laisse les affiches verticales entières. Dans le rail, on garde une
 * boîte de hauteur fixe pour que les titres restent alignés, et l'image y est
 * posée en entier sur un fond neutre.
 */
.s-actus__media--full.s-actus__media--lead {
	aspect-ratio: auto;
	background-color: transparent;
}

.s-actus__media--full.s-actus__media--lead .s-actus__img {
	height: auto;
	max-height: 640px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.s-actus__slide .s-actus__media--full,
.s-actus__media--full:not(.s-actus__media--lead) {
	background-color: var(--s-actus-fill);
}

.s-actus__media--full:not(.s-actus__media--lead) .s-actus__img {
	object-fit: contain;
}

.s-actus__media--full:hover .s-actus__img {
	transform: none;
}

.s-actus__blank {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #2f4858;
}

.s-actus__blank--1 { background-image: linear-gradient(160deg, #2f4858 45%, #33658a 45%); }
.s-actus__blank--2 { background-image: linear-gradient(20deg, #86bbd8 55%, #2f4858 55%); }
.s-actus__blank--3 { background-image: linear-gradient(200deg, #c9a227 60%, #7a5c1e 60%); }
.s-actus__blank--4 { background-image: linear-gradient(140deg, #55828b 50%, #364958 50%); }
.s-actus__blank--5 { background-image: linear-gradient(30deg, #b5654a 58%, #6b3a2c 58%); }

/* ---------- Actualité principale ---------- */

.s-actus__cat {
	margin: 16px 0 8px;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--s-actus-muted);
	line-height: 1.4;
}

.s-actus__lead-title {
	margin: 0;
	padding: 0;
	font-size: clamp(21px, 2.3vw, 28px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--s-actus-ink);
	text-wrap: balance;
}

.s-actus__lead-title a:hover,
.s-actus__slide-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.s-actus__date {
	margin: 10px 0 0;
	font-size: 13.5px;
	color: var(--s-actus-muted);
	line-height: 1.4;
}

/* ---------- Barre segmentée ---------- */

.s-actus__dots {
	display: flex;
	gap: 5px;
	margin: 0 calc(-1 * var(--s-actus-bleed)) 22px 0;
}

.s-actus__dot {
	flex: 1 1 0;
	height: 9px;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: var(--s-actus-dot-off);
	cursor: pointer;
	appearance: none;
	transition: background-color 0.2s ease;
}

.s-actus__dot[aria-current="true"] {
	background-color: var(--s-actus-dot-on);
}

.s-actus__dot:hover {
	background-color: var(--s-actus-dot-on);
	opacity: 0.7;
}

.s-actus__dot:focus-visible {
	outline: 2px solid var(--s-actus-accent);
	outline-offset: 3px;
}

/* ---------- Rail ---------- */

.s-actus__rail {
	display: flex;
	gap: var(--s-actus-gap);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	margin-right: calc(-1 * var(--s-actus-bleed));
	padding-right: 24px;
	padding-bottom: 6px;
	scrollbar-width: none;
	-ms-overflow-style: none;
	cursor: grab;
	-webkit-overflow-scrolling: touch;
}

.s-actus__rail::-webkit-scrollbar {
	display: none;
}

.s-actus__rail:focus-visible {
	outline: 2px solid var(--s-actus-accent);
	outline-offset: 4px;
}

.s-actus__rail.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	scroll-behavior: auto;
}

.s-actus__rail.is-dragging a {
	pointer-events: none;
}

.s-actus__slide {
	display: flex;
	flex-direction: column;
	flex: 0 0 var(--s-actus-card);
	max-width: 100%;
	scroll-snap-align: start;
}

.s-actus__slide .s-actus__date {
	margin-top: auto;
	padding-top: 7px;
}

.s-actus__slide .s-actus__cat {
	margin: 14px 0 7px;
	font-size: 11.5px;
}

.s-actus__slide-title {
	margin: 0;
	padding: 0;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--s-actus-ink);
	text-wrap: pretty;
}

.s-actus__slide .s-actus__date {
	font-size: 12.5px;
}

.s-actus__slide.is-fresh {
	animation: s-actus-fade 0.38s ease both;
}

@keyframes s-actus-fade {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: none; }
}

.s-actus__loading {
	flex: 0 0 auto;
	align-self: center;
	padding: 0 18px;
	font-size: 13px;
	color: var(--s-actus-muted);
}

/* ---------- Coupe des textes longs ---------- */

/*
 * Sans JavaScript, le navigateur coupe à N lignes. Avec JavaScript, la coupe
 * se fait au mot près (s-actus.js) et on lève celle du navigateur, qui tombe
 * parfois en plein mot.
 */
.s-actus [data-lines] {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.s-actus [data-lines="4"] {
	-webkit-line-clamp: 4;
}

.s-actus.is-ready [data-lines] {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

/* ---------- Divers ---------- */

.s-actus__credit {
	margin: 22px 0 0;
	font-size: 12px;
	color: var(--s-actus-muted);
	text-align: right;
}

.s-actus__empty {
	margin: 0;
	padding: 16px 18px;
	border: 1px dashed #c8ced4;
	color: #6b7681;
	font-size: 14px;
}

/* ---------- Sans JavaScript ---------- */

.s-actus:not(.is-ready) .s-actus__dots {
	display: none;
}

/* ---------- Adaptatif ---------- */

@media (max-width: 1024px) {
	.s-actus__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.s-actus__media--lead:not(.s-actus__media--full) {
		aspect-ratio: 16 / 9;
	}

	.s-actus__media--full.s-actus__media--lead .s-actus__img {
		max-height: 70vh;
		width: auto;
		max-width: 100%;
		margin: 0 auto;
	}
}

@media (max-width: 640px) {
	.s-actus {
		--s-actus-card: 218px;
		--s-actus-gap: 16px;
	}

	.s-actus__head {
		margin-bottom: 24px;
	}

	.s-actus__title-strong {
		padding-left: 2.2em;
	}

	.s-actus__title--agenda .s-actus__title-strong {
		padding-left: 1.5em;
	}

	.s-actus__title-strong--filet::before {
		left: 0.4em;
		width: 1.2em;
	}

	.s-actus__title-strong--losange::before {
		left: 0.85em;
	}

	.s-actus__title-strong--points::before {
		left: 0.55em;
	}

	.s-actus__all {
		margin-top: 4px;
		padding: 12px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.s-actus__rail {
		scroll-behavior: auto;
	}

	.s-actus__slide.is-fresh {
		animation: none;
	}

	.s-actus__img,
	.s-actus__all,
	.s-actus__dot {
		transition: none;
	}
}

/* =========================================================
 * Habillage « À la une »
 * La une en grand, un encadré coloré qui chevauche l'image,
 * les précédentes dessous en pleine largeur.
 * ========================================================= */

.s-actus--une {
	--s-actus-gap: clamp(20px, 2.6vw, 40px);
	--s-actus-text: #3a4550;
}

/* ---------- La une ---------- */

/*
 * Trois rangées : le titre, l'encadré, puis une marge sous l'encadré.
 * L'image couvre les trois, si bien qu'elle dépasse toujours sous
 * l'encadré, quelle que soit la longueur du texte.
 */
.s-actus__une {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: auto auto minmax(clamp(28px, 4vw, 64px), 1fr);
	align-items: start;
	margin-bottom: clamp(44px, 6vw, 88px);
}

.s-actus__media--une {
	position: relative;
	grid-column: 1 / 8;
	grid-row: 1 / 4;
	align-self: stretch;
	aspect-ratio: auto;
	min-height: clamp(320px, 34vw, 580px);
}

/*
 * L'image est sortie du flux : sans cela, sa hauteur naturelle (une affiche
 * verticale, par exemple) imposait celle des trois rangées. La hauteur vient
 * désormais du titre, de l'encadré et du plancher ci-dessus.
 */
.s-actus__media--une .s-actus__img,
.s-actus__media--une .s-actus__blank {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* Une affiche se lit depuis son titre : l'image est calée sur son haut. */
.s-actus__media--une .s-actus__img {
	object-position: center top;
}

/*
 * Bouton « voir l'image en entier », à cheval sur le bord inférieur de
 * l'image. Masqué tant que le script n'a pas constaté que le bas est coupé.
 */
.s-actus .s-actus__une-more {
	display: none;
	grid-column: 1 / 8;
	grid-row: 3;
	align-self: end;
	justify-self: start;
	position: relative;
	z-index: 2;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-left: clamp(20px, 2.6vw, 40px);
	border: 3px solid #fff;
	border-radius: 50%;
	background-color: var(--s-actus-accent);
	color: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	transform: translateY(50%);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.s-actus .s-actus__une.is-cropped .s-actus__une-more {
	display: grid;
}

.s-actus .s-actus__une-more:hover,
.s-actus .s-actus__une-more:focus-visible {
	background-color: var(--s-actus-ink);
	color: #fff;
	transform: translateY(calc(50% + 3px));
}

.s-actus .s-actus__une-more:focus-visible {
	outline: 2px solid var(--s-actus-accent);
	outline-offset: 3px;
}

.s-actus__media--une.s-actus__media--full {
	background-color: var(--s-actus-fill);
}

.s-actus__media--une.s-actus__media--full .s-actus__img {
	object-fit: contain;
}

.s-actus__une-head {
	grid-column: 8 / 13;
	grid-row: 1;
	padding: clamp(12px, 3vw, 44px) 0 clamp(22px, 2.6vw, 36px) clamp(24px, 4vw, 60px);
}

.s-actus__une-box {
	grid-column: 7 / 12;
	grid-row: 2;
	position: relative;
	z-index: 1;
	padding: clamp(30px, 3.8vw, 60px) clamp(28px, 3.8vw, 64px);
	background-color: var(--s-actus-ink);
	color: #fff;
}

.s-actus__une-title {
	margin: 0;
	padding: 0;
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: #fff;
	text-wrap: balance;
}

.s-actus__une-title a {
	color: #fff;
}

.s-actus__une-title::after {
	content: "";
	display: block;
	width: 58px;
	height: 3px;
	margin-top: 18px;
	background-color: var(--s-actus-titre-2);
}

.s-actus__une-title a:hover,
.s-actus__une-title a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}

.s-actus__une-title a:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

.s-actus__une-excerpt {
	margin: 20px 0 0;
	padding: 0;
	max-width: 44ch;
	font-size: clamp(15.5px, 1.2vw, 17.5px);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.9);
}

.s-actus__une-box .s-actus__date {
	margin-top: 18px;
	color: rgba(255, 255, 255, 0.72);
}

/* ---------- Rail pleine largeur ---------- */

.s-actus--une .s-actus__rail {
	padding-bottom: 4px;
	/*
	 * Débordement à gauche, symétrique de celui de droite : le rail part du
	 * bord de l'écran, mais la marge intérieure et l'aimantation gardent la
	 * première vignette alignée sur le bloc tant qu'on n'a pas défilé.
	 */
	margin-left: calc(-1 * var(--s-actus-bleed-left, 0px));
	padding-left: var(--s-actus-bleed-left, 0px);
	scroll-padding-left: var(--s-actus-bleed-left, 0px);
}

/* Comme pour la une : une affiche se lit depuis son haut. */
.s-actus--une .s-actus__slide .s-actus__img {
	object-position: center top;
}

.s-actus--une .s-actus__slide {
	flex: 0 0 calc((var(--s-actus-w, 92vw) - 2 * var(--s-actus-gap)) / 3);
}

.s-actus--une .s-actus__slide .s-actus__media {
	position: relative;
	aspect-ratio: 16 / 10;
}

/* Petit filet d'accent posé au pied de l'image. */
.s-actus--une .s-actus__slide .s-actus__media::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 17%;
	height: 4px;
	background-color: var(--s-actus-titre-2);
}

.s-actus--une .s-actus__slide-title {
	margin-top: 22px;
	font-size: clamp(19px, 1.65vw, 24px);
	line-height: 1.22;
	letter-spacing: -0.005em;
	text-wrap: balance;
}

.s-actus__excerpt {
	margin: 12px 0 0;
	padding: 0;
	font-size: clamp(15px, 1.15vw, 17px);
	line-height: 1.6;
	color: var(--s-actus-text);
}

.s-actus--une .s-actus__slide .s-actus__date {
	margin-top: auto;
	padding-top: 12px;
	font-size: 13px;
}

/* ---------- Pied : flèches et bouton ---------- */

.s-actus__foot {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 40px;
	margin-top: clamp(28px, 3.4vw, 44px);
}

.s-actus__nav {
	display: flex;
	gap: 12px;
}

.s-actus__arrow {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin: 0;
	padding: 0;
	border: 1.5px solid var(--s-actus-accent);
	border-radius: 50%;
	background: transparent;
	color: var(--s-actus-ink);
	cursor: pointer;
	appearance: none;
	transition: background-color 0.18s ease, color 0.18s ease, opacity 0.18s ease;
}

.s-actus__arrow--next svg {
	transform: scaleX(-1);
}

.s-actus__arrow:hover:not([disabled]) {
	background-color: var(--s-actus-accent);
	color: #fff;
}

.s-actus__arrow:focus-visible {
	outline: 2px solid var(--s-actus-accent);
	outline-offset: 3px;
}

.s-actus__arrow[disabled] {
	opacity: 0.35;
	cursor: default;
}

.s-actus--une .s-actus__all {
	margin: 0;
	padding: 17px 36px;
	border: 1.5px solid var(--s-actus-accent);
	border-radius: 999px;
	background-color: var(--s-actus-accent);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}

.s-actus--une .s-actus__all:hover,
.s-actus--une .s-actus__all:focus {
	background-color: transparent;
	color: var(--s-actus-ink);
}

.s-actus--une .s-actus__all:focus-visible {
	outline: 2px solid var(--s-actus-accent);
	outline-offset: 3px;
}

.s-actus:not(.is-ready) .s-actus__nav {
	display: none;
}



/* ---------- Adaptatif ---------- */

@media (max-width: 1024px) {
	.s-actus--une .s-actus__slide {
		flex-basis: calc((var(--s-actus-w, 92vw) - var(--s-actus-gap)) / 2);
	}
}

@media (max-width: 860px) {
	.s-actus__une {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
	}

	.s-actus__une-head {
		grid-column: 1;
		grid-row: 1;
		padding: 0 0 24px;
	}

	.s-actus__media--une {
		grid-column: 1;
		grid-row: 2;
		align-self: start;
		aspect-ratio: 16 / 10;
		min-height: 0;
	}

	/* L'encadré remonte sur le bas de l'image. */
	.s-actus__une-box {
		grid-column: 1;
		grid-row: 3;
		margin: -44px 16px 0;
	}

	/* Le bouton passe en haut à droite de l'encadré, sur l'image. */
	.s-actus .s-actus__une-more {
		grid-column: 1;
		grid-row: 2;
		justify-self: end;
		width: 46px;
		height: 46px;
		margin: 0 28px 20px 0;
		transform: none;
	}

	.s-actus .s-actus__une-more:hover,
	.s-actus .s-actus__une-more:focus-visible {
		transform: translateY(3px);
	}
}

@media (max-width: 640px) {
	.s-actus--une .s-actus__slide {
		flex-basis: 84%;
	}

	.s-actus__title--agenda .s-actus__title-strong--vague {
		padding-left: 1.75em;
	}

	.s-actus__une-box {
		margin: -32px 10px 0;
	}

	.s-actus__arrow {
		width: 48px;
		height: 48px;
	}

	.s-actus--une .s-actus__all {
		padding: 15px 28px;
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.s-actus__arrow,
	.s-actus .s-actus__une-more {
		transition: none;
	}
}

/* =========================================================
 * Habillage « Décalée »
 * La photo de la une posée sur un encadré sombre, puis des
 * actualités en quinconce sur des cartes. Deux colonnes
 * indépendantes : le décalage vient de leurs hauteurs.
 * ========================================================= */

.s-actus--decalee {
	--s-actus-radius: 22px;
	--s-actus-carte: #f8efe4;
	--s-actus-colgap: clamp(28px, 4vw, 72px);
	--s-actus-overlap: clamp(36px, 4.5vw, 88px);
	--s-actus-head-pad: clamp(24px, 7vw, 150px);
	--s-actus-bleed-left: 0px;
}

.s-actus__dec {
	display: grid;
	grid-template-columns: minmax(0, 54fr) minmax(0, 46fr);
	column-gap: var(--s-actus-colgap);
	align-items: start;
}

.s-actus__dec-col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* ---------- Titre du bloc ---------- */

.s-actus__head--dec {
	display: block;
	margin: 0 0 clamp(22px, 2.6vw, 44px);
	padding-left: var(--s-actus-head-pad);
}

/* Deux graisses sur une seule ligne, comme « EN CE MOMENT ». */
.s-actus--decalee .s-actus__title--deux-graisses .s-actus__title-thin,
.s-actus--decalee .s-actus__title--deux-graisses .s-actus__title-strong {
	display: inline;
	margin: 0;
	font-size: clamp(30px, 3.7vw, 64px);
	letter-spacing: 0;
}

.s-actus--decalee .s-actus__title--deux-graisses .s-actus__title-strong {
	padding-left: 0.28em;
	font-weight: 800;
}

.s-actus--decalee .s-actus__title--deux-graisses .s-actus__title-strong::before {
	content: none;
}

/*
 * Pictogramme « filet » : un long trait qui part du bord de l'écran et
 * s'arrête devant le titre, à la place du petit filet.
 */
.s-actus__head--filet .s-actus__title-thin {
	position: relative;
}

.s-actus__head--filet .s-actus__title-thin::before {
	content: "";
	position: absolute;
	top: 55%;
	right: calc(100% + 0.5em);
	width: calc(var(--s-actus-bleed-left) + var(--s-actus-head-pad) - 0.5em);
	height: 1.5px;
	background-color: var(--s-actus-accent);
}

.s-actus--decalee .s-actus__title--agenda .s-actus__title-strong--filet {
	padding-left: 0.12em;
}

.s-actus--decalee .s-actus__title--agenda .s-actus__title-strong--filet::before {
	content: none;
}

/* ---------- La une ---------- */

.s-actus--decalee .s-actus__media {
	border-radius: var(--s-actus-radius);
}

.s-actus__media--dec-une {
	position: relative;
	z-index: 2;
	aspect-ratio: 16 / 10;
	margin-right: calc(-1 * (var(--s-actus-colgap) + var(--s-actus-overlap)));
}

.s-actus__dec-box {
	position: relative;
	z-index: 1;
	padding: clamp(32px, 4vw, 64px) clamp(28px, 3.6vw, 64px) clamp(34px, 4.2vw, 68px) calc(var(--s-actus-overlap) + clamp(24px, 3vw, 56px));
	border-radius: var(--s-actus-radius);
	background-color: var(--s-actus-ink);
	color: #fff;
}

.s-actus__dec-box-title {
	margin: 0;
	padding: 0;
	font-size: clamp(25px, 2.5vw, 40px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.01em;
	color: #fff;
	text-wrap: balance;
}

.s-actus__dec-box-title a {
	color: #fff;
}

.s-actus__dec-box-excerpt {
	margin: 14px 0 0;
	padding: 0;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.88);
}

.s-actus__dec-box .s-actus__date {
	color: rgba(255, 255, 255, 0.72);
}

.s-actus__dec-box-title a:hover,
.s-actus__dec-title a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}

.s-actus__dec-box-title a:focus-visible,
.s-actus__dec-title a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

/* ---------- Pastille de rubrique ---------- */

.s-actus__pill {
	display: inline-block;
	margin: 0 0 18px;
	padding: 0.5em 1.1em;
	border: 1.5px solid var(--s-actus-pill, var(--s-actus-accent));
	border-radius: 999px;
	font-size: clamp(12.5px, 0.95vw, 14.5px);
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.s-actus__dec-item:hover .s-actus__pill,
.s-actus__dec-box:hover .s-actus__pill {
	background-color: var(--s-actus-pill, var(--s-actus-accent));
	color: var(--s-actus-ink);
}

/* ---------- Actualités secondaires ---------- */

.s-actus__dec-col--a .s-actus__dec-item {
	margin-top: clamp(56px, 7vw, 124px);
}

.s-actus__dec-col--b .s-actus__dec-item {
	margin-top: clamp(40px, 5.5vw, 100px);
}

.s-actus__dec-item {
	position: relative;
}

.s-actus__media--dec {
	position: relative;
	z-index: 2;
}

.s-actus__dec-card {
	position: relative;
	z-index: 1;
	border-radius: var(--s-actus-radius);
	background-color: var(--s-actus-carte);
}

.s-actus__dec-title {
	margin: 0;
	padding: 0;
	font-size: clamp(20px, 1.9vw, 30px);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -0.005em;
	color: var(--s-actus-ink);
	text-wrap: balance;
}

.s-actus__dec-card .s-actus__date {
	margin-top: 12px;
}

/*
 * Colonne de droite : la photo au-dessus, la carte derrière,
 * qui démarre à mi-hauteur de la photo et dépasse à gauche.
 * Les pourcentages de marge se rapportent à la largeur de l'actualité.
 */
.s-actus__dec-item--dessous .s-actus__media--dec {
	aspect-ratio: 16 / 9;
	margin-left: 9%;
}

.s-actus__dec-item--dessous .s-actus__dec-card {
	margin: -22% 18% 0 0;
	padding: calc(22% + 30px) 9% clamp(30px, 3.6vw, 56px);
}

/*
 * Colonne de gauche : le texte dans la carte, la photo qui chevauche
 * le coin haut droit de la carte.
 */
.s-actus__dec-item--cote {
	display: grid;
	grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
	padding-bottom: clamp(28px, 4vw, 72px);
}

.s-actus__dec-item--cote .s-actus__media--dec {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
	aspect-ratio: 4 / 3;
}

.s-actus__dec-item--cote .s-actus__dec-card {
	grid-column: 1 / 3;
	grid-row: 1;
	align-self: end;
	min-height: 62%;
	margin: 0 26% calc(-1 * clamp(28px, 4vw, 72px)) 0;
	padding: clamp(26px, 3vw, 44px) calc(26% + 24px) clamp(30px, 3.6vw, 56px) clamp(24px, 3.4vw, 56px);
}

/* ---------- Bouton rond ---------- */

.s-actus__foot--dec {
	justify-content: flex-end;
	margin-top: clamp(44px, 5.5vw, 96px);
}

.s-actus--decalee .s-actus__all--rond {
	display: inline-flex;
	align-items: center;
	gap: 22px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--s-actus-ink);
	font-size: clamp(15px, 1.2vw, 19px);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.s-actus--decalee .s-actus__all--rond:hover,
.s-actus--decalee .s-actus__all--rond:focus {
	background: none;
	color: var(--s-actus-ink);
}

.s-actus--decalee .s-actus__all--rond:focus-visible {
	outline: 2px solid var(--s-actus-accent);
	outline-offset: 6px;
}

.s-actus__all-icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin-right: 26px;
	color: #fff;
}

/* Deux ronds : le clair décalé derrière, le foncé devant, la flèche au-dessus. */
.s-actus__all-icon::before,
.s-actus__all-icon::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
}

.s-actus__all-icon::before {
	z-index: 0;
	background-color: var(--s-actus-titre-2);
	transform: translateX(26px);
	transition: transform 0.25s ease;
}

.s-actus__all-icon::after {
	z-index: 1;
	background-color: var(--s-actus-ink);
}

.s-actus__all-icon svg {
	position: relative;
	z-index: 2;
	transition: transform 0.25s ease;
}

.s-actus__all--rond:hover .s-actus__all-icon::before {
	transform: translateX(0);
}

.s-actus__all--rond:hover .s-actus__all-icon svg {
	transform: translateX(3px);
}

/* ---------- Adaptatif ---------- */

@media (max-width: 860px) {
	/* Une seule colonne, dans l'ordre de lecture. */
	.s-actus__dec {
		grid-template-columns: minmax(0, 1fr);
	}

	.s-actus__dec-col {
		display: contents;
	}

	.s-actus__head--dec { order: 1; padding-left: 0; }
	.s-actus__media--dec-une { order: 2; margin-right: 0; }
	.s-actus__dec-box { order: 3; }
	.s-actus__dec-o4 { order: 4; }
	.s-actus__dec-o5 { order: 5; }
	.s-actus__dec-o6 { order: 6; }
	.s-actus__dec-o7 { order: 7; }
	.s-actus__foot--dec { order: 20; justify-content: flex-start; }

	.s-actus__head--filet .s-actus__title-thin::before {
		content: none;
	}

	.s-actus__dec-box {
		margin: -36px 12px 0;
		padding: 66px 26px 36px;
	}

	.s-actus__dec-col--a .s-actus__dec-item,
	.s-actus__dec-col--b .s-actus__dec-item {
		margin-top: 44px;
	}

	/* Les deux variantes prennent la disposition « photo au-dessus ». */
	.s-actus__dec-item--cote {
		display: block;
		padding-bottom: 0;
	}

	.s-actus__dec-item .s-actus__media--dec {
		aspect-ratio: 16 / 9;
		margin-left: 6%;
	}

	.s-actus__dec-item .s-actus__dec-card {
		min-height: 0;
		margin: -20% 10% 0 0;
		padding: calc(20% + 24px) 6% 30px;
	}
}

@media (max-width: 640px) {
	.s-actus--decalee {
		--s-actus-radius: 16px;
	}

	.s-actus__all-icon {
		width: 52px;
		height: 52px;
		margin-right: 22px;
	}

	.s-actus__all-icon::before {
		transform: translateX(22px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.s-actus__pill,
	.s-actus__all-icon::before,
	.s-actus__all-icon svg {
		transition: none;
	}
}

/* =========================================================
 * Habillage « Galet »
 * La une dans une forme de galet qui chevauche la photo,
 * elle défile avec les petits points ; dessous, un rail de cartes
 * qui défile avec les flèches.
 * ========================================================= */

.s-actus--galet {
	--s-actus-galet: #eeb03b;
	--s-actus-gap: clamp(20px, 2.6vw, 44px);
}

.s-actus__head--galet {
	display: block;
	margin-bottom: clamp(16px, 2vw, 28px);
}

/* ---------- La une qui défile ---------- */

.s-actus__gal-une {
	margin-bottom: clamp(10px, 1.2vw, 18px);
}

/*
 * Toutes les diapositives dans la même case, chacune à sa propre hauteur.
 * Le JavaScript cale la hauteur de la case sur la diapositive affichée :
 * pas de vide quand une actualité est plus courte que les autres.
 */
.s-actus__gal-slides {
	display: grid;
	align-items: start;
}

.s-actus--galet.is-ready .s-actus__gal-slides {
	transition: height 0.35s ease;
}

.s-actus__gal-slide {
	grid-area: 1 / 1;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: center;
	align-self: start;
	transition: opacity 0.45s ease, visibility 0s linear 0.45s;
}

.s-actus__gal-slide:not(.is-active) {
	opacity: 0;
	visibility: hidden;
}

.s-actus__gal-slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.45s ease, visibility 0s;
}

/* Sans JavaScript : seule la première est montrée. */
.s-actus--galet:not(.is-ready) .s-actus__gal-slide:not(.is-active) {
	display: none;
}

.s-actus__media--gal-une {
	grid-column: 1 / 8;
	grid-row: 1;
	aspect-ratio: 5 / 3;
}

.s-actus__gal-shape {
	grid-column: 7 / 13;
	grid-row: 1;
	position: relative;
	z-index: 1;
	min-height: 78%;
	margin-left: -12%;
	color: var(--s-actus-ink);
}

/* La forme est dessinée en SVG et s'étire avec le texte. */
.s-actus__gal-shape-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: var(--s-actus-galet);
	overflow: visible;
}

.s-actus__gal-text {
	position: relative;
	padding: clamp(52px, 6.2vw, 104px) clamp(44px, 6.4vw, 110px) clamp(58px, 6.8vw, 116px) clamp(54px, 7.6vw, 132px);
}

.s-actus__gal-title {
	margin: 0;
	padding: 0;
	font-size: clamp(26px, 2.7vw, 44px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--s-actus-ink);
	text-wrap: balance;
}

.s-actus__gal-title a {
	color: var(--s-actus-ink);
}

.s-actus__gal-title a:hover,
.s-actus__gal-card-title a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}

.s-actus__gal-title a:focus-visible,
.s-actus__gal-card-title a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.s-actus__gal-excerpt {
	margin: 18px 0 0;
	padding: 0;
	max-width: 46ch;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.5;
	color: var(--s-actus-ink);
}

.s-actus__gal-text .s-actus__date {
	color: var(--s-actus-ink);
	opacity: 1;
}

/* Les trois points, repère de lecture. */
.s-actus__points {
	display: block;
	width: 46px;
	height: 11px;
	margin-top: 16px;
	background-image: radial-gradient(circle, var(--s-actus-galet) 46%, transparent 50%);
	background-size: 15.3px 11px;
	background-repeat: repeat-x;
	transition: width 0.25s ease;
}

.s-actus__gal-text .s-actus__points {
	background-image: radial-gradient(circle, var(--s-actus-ink) 46%, transparent 50%);
}

/*
 * Points cliquables du galet : un par actualité, plein pour celle qui est
 * affichée, cerclé pour les autres. La zone cliquable déborde du point.
 */
.s-actus__gal-dots {
	display: flex;
	gap: 2px;
	margin: 10px 0 0 -6px;
}

.s-actus .s-actus__gal-dot {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--s-actus-ink);
	cursor: pointer;
	appearance: none;
}

.s-actus .s-actus__gal-dot::before {
	content: "";
	width: 12px;
	height: 12px;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.s-actus .s-actus__gal-dot[aria-current="true"]::before {
	background-color: currentColor;
}

.s-actus .s-actus__gal-dot:hover::before {
	transform: scale(1.25);
}

.s-actus .s-actus__gal-dot:focus-visible {
	outline: 2px solid var(--s-actus-ink);
	outline-offset: -1px;
	border-radius: 50%;
}

/* Flèches pleines : foncée quand elle sert, grise quand elle ne sert plus. */
.s-actus--galet .s-actus__nav {
	justify-content: flex-end;
	margin-top: 0;
}

.s-actus--galet .s-actus__arrow {
	border: 0;
	background-color: var(--s-actus-ink);
	color: #fff;
}

.s-actus--galet .s-actus__arrow:hover:not([disabled]) {
	background-color: var(--s-actus-accent);
}

.s-actus--galet .s-actus__arrow[disabled] {
	background-color: #a9aaa8;
	color: #fff;
	opacity: 1;
}

/* ---------- Rail des cartes ---------- */

.s-actus--galet .s-actus__nav {
	margin-bottom: clamp(24px, 3vw, 44px);
}

/* Trois cartes à l'écran ; le rail déborde à droite comme à gauche. */
.s-actus__gal-grid {
	margin-left: calc(-1 * var(--s-actus-bleed-left, 0px));
	padding-left: var(--s-actus-bleed-left, 0px);
	scroll-padding-left: var(--s-actus-bleed-left, 0px);
}

.s-actus__gal-grid .s-actus__gal-card {
	flex: 0 0 calc((var(--s-actus-w, 92vw) - 2 * var(--s-actus-gap)) / 3);
}

.s-actus__media--gal {
	aspect-ratio: 16 / 9;
}

.s-actus__gal-card-title {
	margin: 16px 0 0;
	padding: 0;
	font-size: clamp(19px, 1.65vw, 27px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--s-actus-ink);
	text-wrap: balance;
}

.s-actus__gal-card:hover .s-actus__points {
	width: 61px;
}

/* ---------- Bouton ---------- */

.s-actus__foot--galet {
	justify-content: flex-end;
	margin-top: clamp(36px, 4.4vw, 68px);
}

.s-actus--galet .s-actus__all {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 20px 34px;
	border: 0;
	border-radius: 999px;
	background-color: var(--s-actus-galet);
	color: var(--s-actus-ink);
	font-size: clamp(15px, 1.2vw, 18px);
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.s-actus--galet .s-actus__all::before,
.s-actus--galet .s-actus__all::after {
	content: "";
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: currentColor;
}

.s-actus--galet .s-actus__all:hover,
.s-actus--galet .s-actus__all:focus {
	background-color: var(--s-actus-ink);
	color: var(--s-actus-galet);
}

.s-actus--galet .s-actus__all:focus-visible {
	outline: 2px solid var(--s-actus-ink);
	outline-offset: 3px;
}

/* ---------- Adaptatif ---------- */

@media (max-width: 860px) {
	.s-actus__gal-slide {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.s-actus__media--gal-une {
		grid-column: 1;
		grid-row: 1;
	}

	.s-actus__gal-shape {
		grid-column: 1;
		grid-row: 2;
		min-height: 0;
		margin: -70px 0 0;
	}

	.s-actus__gal-text {
		padding: 54px 12% 60px 14%;
	}

	.s-actus--galet .s-actus__nav {
		margin-top: 12px;
	}
}

@media (max-width: 1024px) {
	.s-actus__gal-grid .s-actus__gal-card {
		flex-basis: calc((var(--s-actus-w, 92vw) - var(--s-actus-gap)) / 2);
	}
}

@media (max-width: 700px) {
	.s-actus__gal-grid .s-actus__gal-card {
		flex-basis: 84%;
	}

	.s-actus__foot--galet {
		justify-content: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.s-actus--galet.is-ready .s-actus__gal-slides,
	.s-actus__gal-slide,
	.s-actus__gal-slide.is-active,
	.s-actus__points,
	.s-actus .s-actus__gal-dot::before {
		transition: none;
	}
}
