/*
Theme Name: Saezworld
Theme URI: https://saezworld.com
Author: Be Bold
Author URI: https://be-bold.fr
Description: Archive de référence sur Saez.
Version: 7.0.0
Requires at least: 6.5
Requires PHP: 8.1
License: Proprietary
Text Domain: saezworld
*/

/* Polices locales (OFL). Bebas Neue n'a ni espace fine ni espace fine insécable : repli explicite sur Source Serif 4. */
@font-face {
	font-family: "Bebas Neue";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/bebas-neue-400.woff2") format("woff2");
}
@font-face {
	font-family: "Bebas Neue";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/source-serif-4-400-600.woff2") format("woff2");
	unicode-range: U+2009, U+202F;
}
@font-face {
	font-family: "Source Serif 4";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("fonts/source-serif-4-400-600.woff2") format("woff2");
}
@font-face {
	font-family: "Source Serif 4 Display";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/source-serif-4-display-400.woff2") format("woff2");
}
@font-face {
	font-family: "Source Serif 4";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/source-serif-4-italic-400.woff2") format("woff2");
}

:root {
	/* Couleurs */
	--sw-noir: #0a0a0a;
	--sw-rouge: #e3111c;
	/* #e3111c : rouge de la marque (aplats, grands chiffres, titres) ; les variantes ne servent qu'aux petits textes */
	--sw-rouge-sur-noir: #f5222d;
	--sw-rouge-sur-clair: #d80f1a;
	--sw-blanc-sur-rouge: #ffffff;
	--sw-papier: #f4f1ec;
	--sw-fond: #e6e2da;
	--sw-blanc-piece: #fffdf8;
	--sw-texte: #3a3733;
	--sw-gris-moyen: #68635a;
	--sw-gris-clair: #9a958d;
	--sw-filet-papier: #c9c4bc;
	--sw-filet-noir: #2a2825;
	--sw-fond-image: #151412;

	/* Familles */
	--sw-titre: "Bebas Neue", "Source Serif 4", sans-serif;
	--sw-texte-courant: "Source Serif 4", Georgia, serif;
	/* Optique display (opsz 60) : serif à partir de 32 px uniquement ; téléchargée seulement là où elle sert */
	--sw-texte-display: "Source Serif 4 Display", "Source Serif 4", Georgia, serif;

	/* Échelle (desktop) */
	--sw-t-rubrique: 15px;
	--sw-t-etiquette: 13px;
	--sw-t-date-liste: 14px;
	--sw-t-filtre: 19px;
	--sw-t-logo: 28px;
	--sw-t-logo-haut: 44px;
	--sw-t-titre-entree: 52px;
	--sw-t-corps: 17px;
	--sw-t-chapo: 19px;
	--sw-t-legende: 15px;

	/* Approches */
	--sw-ls-rubrique: 0.12em;
	--sw-ls-etiquette: 0.14em;
	--sw-ls-bouton: 0.14em;

	/* Trame : multiples de 6 */
	--sw-marge: 40px;
	--sw-gouttiere: 56px;
	--sw-gouttiere-vignettes: 44px;
	--sw-e-1: 6px;
	--sw-e-2: 12px;
	--sw-e-3: 18px;
	--sw-e-4: 24px;
	--sw-e-5: 30px;
	--sw-e-6: 36px;
	--sw-e-7: 42px;
	--sw-e-8: 48px;

	/* Filets, ombre unique */
	--sw-filet: 1px solid var(--sw-filet-papier);
	--sw-filet-fort: 1px solid var(--sw-noir);
	--sw-filet-sombre: 1px solid var(--sw-filet-noir);
	--sw-ombre-piece: 4px 4px 0 var(--sw-noir);

	/* Barre */
	--sw-barre: 58px;
	--sw-barre-haute: 90px;
	--sw-champ: 38px;
}

@media (max-width: 47.9375em) {
	:root {
		--sw-t-rubrique: 14px;
		--sw-t-date-liste: 13px;
		--sw-t-logo: 26px;
		--sw-t-titre-entree: 34px;
		--sw-t-corps: 16px;
		--sw-t-chapo: 18px;
		--sw-marge: 20px;
		--sw-gouttiere: 12px;
		--sw-barre: 56px;
		--sw-champ: 44px;
	}
}

/* Base */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--sw-papier);
	color: var(--sw-texte);
	font-family: var(--sw-texte-courant);
	font-size: var(--sw-t-corps);
	line-height: 1.5;
	font-optical-sizing: auto;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--sw-noir);
	text-decoration: none;
}

a:hover {
	color: var(--sw-rouge-sur-clair);
}

/* Survols sur fond noir */
:where(.sw-entete, .sw-menu__panneau, .sw-une, .sw-entete-page, .sw-article__entete, .sw-fiche__entete, .sw-album__entete, .sw-bandeau, .sw-annee--noire, .sw-pied) a:hover {
	color: var(--sw-rouge-sur-noir);
}

:focus-visible {
	outline: 2px solid var(--sw-rouge);
	outline-offset: 3px;
}

h1,
h2,
h3,
p,
figure,
ul {
	margin: 0;
}

ul[class] {
	padding: 0;
	list-style: none;
}

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

.sw-lien-evitement {
	position: absolute;
	top: -100px;
	left: var(--sw-marge);
	z-index: 100;
	padding: var(--sw-e-2) var(--sw-e-3);
	background: var(--sw-rouge);
	color: var(--sw-blanc-sur-rouge);
	font-family: var(--sw-titre);
	font-weight: 700;
	letter-spacing: var(--sw-ls-rubrique);
}

.sw-lien-evitement:focus {
	top: var(--sw-e-2);
	color: var(--sw-blanc-sur-rouge);
}

/* Composants */
.sw-rubrique {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--sw-e-3);
	padding-bottom: 12px;
	border-bottom: var(--sw-filet-fort);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
	color: var(--sw-rouge-sur-clair);
}

.sw-rubrique__titre {
	margin: 0;
	font: inherit;
	letter-spacing: inherit;
}

.sw-lien-suite {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-date-liste);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-noir);
	white-space: nowrap;
}

.sw-bouton {
	display: inline-block;
	padding: 12px 20px;
	background: var(--sw-rouge);
	color: var(--sw-blanc-sur-rouge);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 16px;
	letter-spacing: var(--sw-ls-bouton);
	line-height: 1.2;
	white-space: nowrap;
	border: 0;
	border-radius: 0;
}

.sw-bouton:hover {
	background: var(--sw-noir);
	color: var(--sw-papier);
	outline: 1px solid var(--sw-rouge);
}

.sw-vide {
	padding: var(--sw-e-4) 0;
	font-style: italic;
	color: var(--sw-gris-moyen);
}

.sw-champ {
	display: flex;
	max-width: 100%;
}

.sw-champ__saisie {
	flex: 1;
	min-width: 0;
	height: var(--sw-champ);
	margin: 0;
	padding: 0 10px;
	background: var(--sw-papier);
	border: 1px solid var(--sw-noir);
	border-radius: 0;
	color: var(--sw-noir);
	font-family: var(--sw-texte-courant);
	font-size: var(--sw-t-legende);
	-webkit-appearance: none;
	appearance: none;
}

.sw-champ__saisie::placeholder {
	color: var(--sw-texte);
	font-style: italic;
	opacity: 1;
}

.sw-champ__ok {
	flex: none;
	width: calc(var(--sw-champ) + 2px);
	height: calc(var(--sw-champ) + 2px);
	margin: 0;
	padding: 0;
	background: var(--sw-rouge);
	border: 0;
	border-radius: 0;
	color: var(--sw-blanc-sur-rouge);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.06em;
	cursor: pointer;
}

/* Pièce d'archive (polaroïd) */
.sw-piece {
	margin: 0;
	transform: rotate(var(--sw-rotation, 0deg));
}

.sw-piece__cadre {
	position: relative;
	padding: 9px 9px 12px;
	background: var(--sw-blanc-piece);
	box-shadow: var(--sw-ombre-piece);
	outline: 1px solid var(--sw-filet-papier);
}

.sw-piece__image {
	width: 100%;
	aspect-ratio: var(--sw-ratio, 3 / 4);
	object-fit: cover;
	background: var(--sw-fond-image);
}

.sw-piece__reserve {
	display: flex;
	align-items: flex-end;
	aspect-ratio: var(--sw-ratio, 3 / 4);
	padding: 8px;
	background: var(--sw-fond);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-gris-moyen);
}

.sw-tampon {
	position: absolute;
	top: -12px;
	right: -12px;
	padding: 4px 9px;
	border: 2px solid var(--sw-rouge);
	outline: 1px solid var(--sw-rouge);
	outline-offset: -6px;
	background: var(--sw-papier);
	color: var(--sw-rouge-sur-clair);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.18em;
	line-height: 1.2;
	white-space: nowrap;
	transform: rotate(-7deg);
}

.sw-piece__legende {
	margin-top: 14px;
}

.sw-piece__type,
.sw-piece__titre,
.sw-piece__sous-titre,
.sw-date-ligne__mois,
.sw-date-ligne__ville {
	display: block;
}

.sw-piece__type {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-rouge-sur-clair);
}

.sw-piece__titre {
	font-size: 16px;
	line-height: 1.3;
	color: var(--sw-noir);
}

.sw-piece__sous-titre {
	font-size: 14px;
	font-style: italic;
}

.sw-piece a {
	color: inherit;
}

/* En-tête */
.sw-entete {
	position: sticky;
	top: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: 28px;
	height: var(--sw-barre);
	padding: 0 var(--sw-marge);
	background: var(--sw-noir);
	color: var(--sw-papier);
	border-bottom: var(--sw-filet-sombre);
}

.admin-bar .sw-entete {
	top: 32px;
}

.sw-logo {
	display: grid;
	grid-auto-flow: column;
	align-items: baseline;
	column-gap: 8px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-logo);
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--sw-papier);
	white-space: nowrap;
}

.sw-logo:hover {
	color: var(--sw-papier);
}

.sw-logo__saez {
	color: var(--sw-rouge);
}

.sw-nav {
	margin-left: auto;
}

.sw-nav__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}

.sw-nav__lien,
.sw-menu__lien {
	font-family: var(--sw-titre);
	font-weight: 700;
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-rouge-sur-noir);
}

.sw-nav__lien {
	font-size: var(--sw-t-rubrique);
}

.sw-nav__lien:hover,
.sw-menu__lien:hover,
.sw-nav__lien[aria-current],
.sw-menu__lien[aria-current] {
	color: var(--sw-papier);
}

.sw-menu {
	display: none;
}

/* En-tête haut de l'accueil : 90 px au repos, 58 px au défilement, sans JavaScript */
@supports (animation-timeline: scroll()) {
	@media (min-width: 48em) {
		.sw-entete--haute {
			gap: 40px;
			animation: sw-barre-compacte linear both;
			animation-timeline: scroll(root);
			animation-range: 0 160px;
		}

		.sw-entete--haute .sw-logo {
			animation: sw-logo-ligne linear both;
			animation-timeline: scroll(root);
			animation-range: 0 120px;
		}
	}
}

@keyframes sw-barre-compacte {
	from {
		height: var(--sw-barre-haute);
		gap: 40px;
	}
	to {
		height: var(--sw-barre);
		gap: 28px;
	}
}

@keyframes sw-logo-ligne {
	from {
		grid-auto-flow: row;
		column-gap: 0;
		font-size: var(--sw-t-logo-haut);
		line-height: 0.82;
	}
	to {
		grid-auto-flow: column;
		column-gap: 8px;
		font-size: var(--sw-t-logo);
		line-height: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sw-entete--haute,
	.sw-entete--haute .sw-logo {
		animation: none;
	}
}

/* Menu mobile : details / summary */
@media (max-width: 47.9375em) {
	.admin-bar .sw-entete {
		top: 46px;
	}

	.sw-entete {
		justify-content: space-between;
	}

	.sw-logo {
		column-gap: 7px;
	}

	.sw-nav {
		display: none;
	}

	.sw-menu {
		display: block;
	}

	.sw-menu__bouton {
		display: flex;
		align-items: center;
		min-height: 44px;
		font-family: var(--sw-titre);
		font-weight: 700;
		font-size: 17px;
		letter-spacing: var(--sw-ls-etiquette);
		color: var(--sw-rouge-sur-noir);
		cursor: pointer;
		list-style: none;
	}

	.sw-menu__bouton::-webkit-details-marker {
		display: none;
	}

	.sw-menu__bouton span {
		padding-bottom: 2px;
		border-bottom: 2px solid var(--sw-rouge);
	}

	.sw-menu__fermer,
	.sw-menu[open] .sw-menu__ouvrir {
		display: none;
	}

	.sw-menu[open] .sw-menu__fermer {
		display: inline;
	}

	.sw-menu__panneau {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		padding: var(--sw-e-1) var(--sw-marge) var(--sw-e-5);
		background: var(--sw-noir);
		border-bottom: var(--sw-filet-sombre);
	}

	.sw-menu__liste li {
		border-bottom: var(--sw-filet-sombre);
	}

	.sw-menu__lien {
		display: flex;
		align-items: center;
		min-height: 56px;
		font-size: 34px;
		line-height: 1;
		letter-spacing: 0.02em;
	}

	.sw-menu__lien[aria-current]::before {
		content: "→";
		margin-right: 0.3em;
		color: var(--sw-rouge-sur-noir);
	}
}

/* La une */
.sw-une {
	padding: 34px var(--sw-marge) 56px;
	background: var(--sw-noir);
	color: var(--sw-papier);
}

.sw-une__surtitre {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
	color: var(--sw-rouge-sur-noir);
}

.sw-une__date {
	margin: 10px 0 0 -8px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(148px, 34.4vw, 440px);
	line-height: 0.8;
	letter-spacing: -0.04em;
	color: var(--sw-rouge);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.sw-une__annee {
	color: var(--sw-papier);
}

.sw-une__annee-longue {
	display: none;
}

.sw-une__grille {
	container-type: inline-size;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	grid-template-rows: auto auto auto 1fr;
	column-gap: 48px;
	align-items: start;
	margin-top: 40px;
}

.sw-une--evenement .sw-une__grille {
	margin-top: 28px;
}

.sw-une__meta {
	grid-column: 1;
	display: flex;
	justify-content: space-between;
	gap: var(--sw-e-3);
	margin-bottom: 28px;
	padding-bottom: 12px;
	border-bottom: var(--sw-filet-sombre);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
}

/* Titre : paliers 96 / 80 / 56 px rapportés à la largeur de la grille (1200 px à 1280), interligne 1.02, jamais coupé */
.sw-une__titre {
	grid-column: 1;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 96px;
	font-size: min(96px, 8cqi);
	line-height: 1.02;
	letter-spacing: -0.01em;
	color: var(--sw-papier);
	overflow-wrap: break-word;
}

.sw-une__titre--l {
	font-size: 80px;
	font-size: min(80px, 6.67cqi);
}

.sw-une__titre--m {
	font-size: 56px;
	font-size: min(56px, 4.67cqi);
	letter-spacing: 0;
}

.sw-une__chapo {
	grid-column: 1;
	max-width: 520px;
	margin-top: 24px;
	font-size: var(--sw-t-chapo);
	line-height: 1.5;
	text-wrap: pretty;
}

.sw-une__action {
	grid-column: 1;
	justify-self: start;
	margin: 26px 0 0;
}

.sw-une__visuel {
	position: relative;
	z-index: 1;
	grid-column: 2;
	grid-row: 1 / -1;
}

.sw-une__image,
.sw-une__reserve {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 28%;
	background: var(--sw-fond-image);
}

.sw-une__reserve {
	border: var(--sw-filet-sombre);
}

.sw-une--sortie .sw-une__image,
.sw-une--sortie .sw-une__reserve {
	aspect-ratio: 1;
	object-position: 50% 50%;
}

.sw-une .sw-une__image--entiere {
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
}

.sw-une__legende {
	margin-top: 12px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
	color: var(--sw-texte);
}

/* Sans visuel, ou titre trop long pour la colonne : le titre prend toute la largeur */
.sw-une--sans-visuel .sw-une__meta,
.sw-une--titre-large .sw-une__meta,
.sw-une--sans-visuel .sw-une__titre,
.sw-une--titre-large .sw-une__titre {
	grid-column: 1 / -1;
}

.sw-une--titre-large .sw-une__visuel {
	grid-row: 3 / -1;
	margin-top: 24px;
}

.sw-une--sans-visuel .sw-une__titre {
	font-size: min(96px, 8cqi);
}

.sw-une--sans-visuel .sw-une__titre--l {
	font-size: min(80px, 6.67cqi);
}

.sw-une--sans-visuel .sw-une__titre--m {
	font-size: min(56px, 4.67cqi);
}

.sw-une-vide {
	padding: 34px var(--sw-marge) 56px;
	background: var(--sw-noir);
	color: var(--sw-papier);
}

.sw-une-vide .sw-vide {
	color: var(--sw-gris-clair);
}

/* Corps de l'accueil */
.sw-accueil {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 0 var(--sw-gouttiere);
	padding: 60px var(--sw-marge) 0;
}

.sw-accueil--sans-route {
	grid-template-columns: minmax(0, 1fr);
}

.sw-actu {
	padding: 26px 0;
	border-bottom: var(--sw-filet);
}

.sw-actu__date {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-date-liste);
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
	color: var(--sw-rouge-sur-clair);
}

.sw-actu__titre {
	margin-top: 8px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-titre-entree);
	line-height: 1.02;
	letter-spacing: -0.005em;
	color: var(--sw-noir);
}

.sw-actu__chapo {
	max-width: 620px;
	margin-top: 12px;
	line-height: 1.5;
	text-wrap: pretty;
}

.sw-accueil__toutes {
	display: none;
}

.sw-date-ligne {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	align-items: baseline;
	gap: 12px;
	padding: 6px 0;
	border-bottom: var(--sw-filet);
}

.sw-date-ligne__jour {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 88px;
	line-height: 0.82;
	letter-spacing: -0.03em;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-date-ligne__mois {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-texte);
}

.sw-date-ligne__ville {
	font-size: 18px;
	line-height: 1.2;
	color: var(--sw-noir);
}

.sw-date-liste li:nth-child(n + 9) {
	display: none;
}

.sw-date-liste--evenements {
	margin: 12px 0 6px;
}

.sw-date-ligne--evenement {
	padding: 10px 12px;
	border-bottom: 0;
	background: var(--sw-noir);
}

.sw-date-ligne--evenement .sw-date-ligne__mois {
	color: var(--sw-gris-clair);
}

/* Statut d'un concert dans une liste (annulé, reporté, complet) */
.sw-date-ligne__statut {
	color: var(--sw-rouge-sur-clair);
}

.sw-date-ligne--evenement .sw-date-ligne__statut {
	color: var(--sw-rouge-sur-noir);
}

.sw-date-ligne--evenement .sw-date-ligne__ville {
	color: var(--sw-papier);
}

.sw-date-ligne--evenement:hover .sw-date-ligne__ville {
	color: var(--sw-rouge-sur-noir);
}

.sw-route__suite {
	display: inline-block;
	margin-top: 14px;
}

.sw-recentes {
	padding: 44px var(--sw-marge) 56px;
}

.sw-recentes__grille {
	display: grid;
	grid-template-columns: var(--sw-colonnes, repeat(4, minmax(0, 1fr)));
	gap: var(--sw-gouttiere-vignettes);
	align-items: end;
	margin-top: 40px;
	padding: 0 10px;
}

.sw-recentes__indice {
	display: none;
}

/* Pied de page */
.sw-pied {
	background: var(--sw-noir);
	color: var(--sw-papier);
}

.sw-pied__colonnes {
	display: grid;
	/* Recherche alignée sur la colonne « On the road » de l'accueil */
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 300px;
	gap: 40px var(--sw-gouttiere);
	padding: 36px var(--sw-marge) 40px;
	font-size: var(--sw-t-legende);
	line-height: 1.6;
}

.sw-pied__colonnes--sans-pieces {
	grid-template-columns: minmax(0, 1fr) 300px;
}

.sw-pied__titre {
	margin-bottom: 10px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-rouge-sur-noir);
}

.sw-pied a {
	color: var(--sw-papier);
}

.sw-pied a:hover {
	color: var(--sw-rouge-sur-noir);
}

.sw-pied .sw-vide {
	padding: 0;
	color: var(--sw-gris-clair);
}

.sw-pied__barre {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	padding: 12px var(--sw-marge);
	background: var(--sw-rouge);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.4;
	color: var(--sw-blanc-sur-rouge);
}

.sw-pied .sw-pied__barre a {
	color: var(--sw-blanc-sur-rouge);
}

/* Survol signalé par le soulignement : la couleur reste celle du meilleur contraste sur le rouge */
.sw-pied .sw-pied__barre a:hover {
	color: var(--sw-blanc-sur-rouge);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* Contenu générique */
.sw-contenu {
	padding: 44px var(--sw-marge) 56px;
}

.sw-pagination__liste {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sw-e-2);
	margin-top: var(--sw-e-5);
}

.sw-pagination__lien {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border: var(--sw-filet-fort);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 19px;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-pagination__lien[aria-current] {
	background: var(--sw-noir);
	color: var(--sw-papier);
}

/* En-tête de page */
.sw-entete-page {
	container-type: inline-size;
	padding: 36px var(--sw-marge) 40px;
	background: var(--sw-noir);
	color: var(--sw-papier);
}

.sw-entete-page__surtitre {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
	color: var(--sw-rouge-sur-noir);
}

.sw-entete-page__titre {
	margin-top: 12px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(64px, 20.8cqi, 250px);
	line-height: 0.82;
	letter-spacing: -0.03em;
	overflow-wrap: break-word;
}

.sw-entete-page__titre--l {
	font-size: clamp(48px, 12.5cqi, 150px);
	line-height: 0.9;
}

.sw-entete-page__titre--m {
	font-size: clamp(40px, 8cqi, 96px);
	line-height: 1.02;
	letter-spacing: -0.01em;
}

.sw-entete-page__intro {
	max-width: 760px;
	margin-top: 26px;
	padding-top: 22px;
	border-top: var(--sw-filet-sombre);
	font-size: var(--sw-t-chapo);
	line-height: 1.5;
	color: var(--sw-filet-papier);
	text-wrap: pretty;
}

.sw-entete-page__intro p + p {
	margin-top: 12px;
}

.sw-introuvable__code {
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-introuvable__suite {
	margin-top: var(--sw-e-5);
}

/* Listes */
.sw-liste {
	padding: 30px var(--sw-marge) 54px;
}

.sw-liste .sw-actu:first-child {
	padding-top: 0;
}

.sw-recherche__formulaire {
	max-width: 680px;
	margin-bottom: 42px;
}

.sw-recherche__bilan {
	margin-bottom: 0;
}

.sw-resultat__type {
	color: var(--sw-rouge-sur-clair);
}

.sw-actu__date time {
	color: inherit;
}

/* Article */
.sw-article__entete {
	padding: 40px var(--sw-marge) 46px;
	background: var(--sw-noir);
	color: var(--sw-papier);
}

.sw-article__colonne {
	container-type: inline-size;
	width: 100%;
	max-width: 680px;
	margin-right: auto;
	margin-left: auto;
}

.sw-article__meta {
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding-bottom: 12px;
	border-bottom: var(--sw-filet-sombre);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-date-liste);
	letter-spacing: var(--sw-ls-etiquette);
	line-height: 1.4;
	color: var(--sw-rouge-sur-noir);
}

.sw-article__lecture {
	margin-left: auto;
	color: var(--sw-gris-moyen);
}

/* Titre d'article : 104 / 80 / 60 / 44 px rapportés à la colonne de 680 px, interligne 1.02 */
.sw-article__titre {
	margin-top: 22px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 104px;
	font-size: min(104px, 15.3cqi);
	line-height: 1.02;
	letter-spacing: -0.015em;
	color: var(--sw-papier);
	overflow-wrap: break-word;
}

.sw-article__titre--l {
	font-size: min(80px, 11.8cqi);
}

.sw-article__titre--m {
	font-size: min(60px, 8.8cqi);
	letter-spacing: -0.005em;
}

.sw-article__titre--s {
	font-size: min(44px, 6.5cqi);
	letter-spacing: 0;
}

.sw-article__chapo {
	margin-top: 24px;
	font-size: 23px;
	line-height: 1.45;
	color: var(--sw-filet-papier);
	text-wrap: pretty;
}

.sw-article__visuel {
	padding-top: 34px;
}

.sw-article__image {
	width: 100%;
	background: var(--sw-fond-image);
}

.sw-article__visuel figcaption,
.sw-corps figcaption {
	margin-top: 10px;
	font-size: 16px;
	font-style: italic;
	line-height: 1.4;
	color: var(--sw-texte);
}

/* Corps éditorial */
.sw-corps {
	padding-bottom: 50px;
	font-size: 20px;
	line-height: 1.6;
	color: var(--sw-texte);
}

.sw-corps > * {
	margin-top: 22px;
}

.sw-corps > :first-child {
	margin-top: 30px;
}

.sw-corps p,
.sw-corps li {
	text-wrap: pretty;
}

.sw-corps h2,
.sw-corps h3,
.sw-corps h4 {
	margin-top: 38px;
	font-family: var(--sw-titre);
	font-weight: 700;
	line-height: 1.02;
	color: var(--sw-noir);
}

.sw-corps h2 {
	font-size: 48px;
}

.sw-corps h3 {
	font-size: 34px;
}

.sw-corps h4 {
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
	color: var(--sw-rouge-sur-clair);
}

.sw-corps h2 + *,
.sw-corps h3 + * {
	margin-top: 16px;
}

.sw-corps a {
	text-decoration: underline;
	text-decoration-color: var(--sw-rouge);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.sw-corps strong,
.sw-corps b {
	font-weight: 600;
	color: var(--sw-noir);
}

.sw-corps ul,
.sw-corps ol {
	padding-left: 1.2em;
}

.sw-corps ol li::marker {
	font-family: var(--sw-titre);
	font-weight: 700;
	color: var(--sw-rouge-sur-clair);
}

.sw-corps ul li::marker {
	content: "→  ";
	color: var(--sw-rouge-sur-clair);
}

.sw-corps li + li {
	margin-top: 6px;
}

.sw-corps blockquote {
	margin-right: 0;
	margin-left: 0;
	padding-left: 18px;
	border-left: 2px solid var(--sw-rouge);
	font-style: italic;
}

.sw-corps figure {
	margin-right: 0;
	margin-left: 0;
}

.sw-corps figure,
.sw-corps img {
	max-width: 100%;
}

.sw-corps img {
	height: auto;
}

.sw-corps iframe,
.sw-corps video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	background: var(--sw-fond-image);
}

.sw-corps hr {
	height: 0;
	border: 0;
	border-top: var(--sw-filet);
}

.sw-corps details {
	border-top: var(--sw-filet);
	border-bottom: var(--sw-filet);
}

.sw-corps details + details {
	margin-top: 0;
	border-top: 0;
}

.sw-corps summary {
	padding: 12px 0;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.1;
	color: var(--sw-noir);
	cursor: pointer;
}

.sw-corps details[open] summary {
	color: var(--sw-rouge-sur-clair);
}

/* Intertitre placé dans un résumé (volets convertis) : sur la ligne du triangle, au style du résumé */
.sw-corps summary > :is(h2, h3, h4) {
	display: inline;
	margin: 0;
	font: inherit;
	letter-spacing: inherit;
	color: inherit;
}

.sw-corps details > :not(summary) {
	margin-bottom: 18px;
}

.sw-corps table {
	width: 100%;
	border-collapse: collapse;
	font-size: 17px;
}

.sw-corps th,
.sw-corps td {
	padding: 8px 10px 8px 0;
	border-bottom: var(--sw-filet);
	text-align: left;
	vertical-align: top;
}

.sw-corps th {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-rouge-sur-clair);
}

.sw-page {
	padding: 4px var(--sw-marge) 56px;
}

.sw-corps .sw-video {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 18px;
	aspect-ratio: 16 / 9;
	padding: 20px 22px;
	background: var(--sw-noir);
	color: var(--sw-papier);
	text-decoration: none;
}

.sw-video__plateforme,
.sw-video__action {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
	color: var(--sw-rouge-sur-noir);
}

.sw-video__titre {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 44px;
	line-height: 1.02;
	color: var(--sw-papier);
}

.sw-video__action {
	align-self: flex-start;
	padding-bottom: 2px;
	border-bottom: 2px solid var(--sw-rouge);
}

.sw-corps .sw-video:hover .sw-video__titre {
	color: var(--sw-rouge);
}

/* Articles voisins */
.sw-voisins {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: var(--sw-filet-fort);
	color: var(--sw-texte);
}

.sw-voisins__lien {
	display: block;
	padding: 30px var(--sw-marge);
}

.sw-voisins__lien--precedent {
	border-right: var(--sw-filet);
}

.sw-voisins__lien--suivant {
	grid-column: 2;
	text-align: right;
}

.sw-voisins__sens {
	display: block;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-date-liste);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-rouge-sur-clair);
}

.sw-voisins__titre {
	display: block;
	margin-top: 8px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 44px;
	line-height: 1.02;
	color: var(--sw-noir);
}

.sw-voisins__lien:hover .sw-voisins__titre {
	color: var(--sw-rouge);
}

.sw-voisins__date {
	display: block;
	margin-top: 6px;
	font-size: 16px;
	font-style: italic;
	color: var(--sw-texte);
}

/* Intermédiaire : 768 à 1099 px */
@media (min-width: 48em) and (max-width: 68.6875em) {
	.sw-entete {
		gap: 20px;
		padding: 0 24px;
	}

	.sw-nav__liste {
		gap: 6px 16px;
	}

	.sw-une,
	.sw-une-vide {
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-une__grille {
		column-gap: 32px;
	}

	.sw-accueil {
		grid-template-columns: minmax(0, 1fr);
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-accueil__route {
		margin-top: 48px;
	}

	.sw-date-liste {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 32px;
	}

	.sw-recentes {
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-recentes__grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 48px 56px;
		padding: 0 16px;
	}

	.sw-recentes__grille .sw-piece {
		justify-self: center;
		width: 100%;
		max-width: 260px;
	}

	.sw-pied__colonnes,
	.sw-pied__colonnes--sans-pieces {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-pied__barre {
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-entete-page,
	.sw-article__entete,
	.sw-liste,
	.sw-page {
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-voisins__lien {
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-voisins__titre {
		font-size: 34px;
	}
}

/* Mobile : jusqu'à 767 px */
@media (max-width: 47.9375em) {
	.sw-bouton {
		display: block;
		padding: 15px 18px;
		font-size: 17px;
		text-align: center;
	}

	.sw-une {
		padding: 22px var(--sw-marge) 30px;
	}

	.sw-une__surtitre {
		font-size: 13px;
		line-height: 1.3;
	}

	.sw-une__date {
		margin: 14px 0 0 -4px;
		font-size: 148px;
		line-height: 0.84;
	}

	.sw-une__annee-courte {
		display: none;
	}

	.sw-une__annee-longue {
		display: block;
	}

	.sw-une__grille {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		margin-top: 22px;
	}

	.sw-une--evenement .sw-une__grille {
		margin-top: 22px;
	}

	.sw-une__meta {
		margin-bottom: 18px;
		font-size: 13px;
	}

	/* Mobile : paliers 46 / 38 / 30 px à 350 px de colonne, 22 px au-delà de 90 caractères */
	.sw-une__titre,
	.sw-une--sans-visuel .sw-une__titre {
		font-size: 46px;
		font-size: min(46px, 13.1cqi);
		letter-spacing: -0.005em;
	}

	.sw-une .sw-une__titre-mobile--l {
		font-size: min(38px, 10.9cqi);
	}

	.sw-une .sw-une__titre-mobile--m {
		font-size: min(30px, 8.6cqi);
	}

	.sw-une .sw-une__titre-mobile--s {
		font-size: min(22px, 6.3cqi);
	}

	.sw-une__visuel,
	.sw-une--titre-large .sw-une__visuel {
		margin: 22px 0 0;
	}

	.sw-une__legende {
		margin-top: 10px;
		font-size: 13px;
		color: var(--sw-gris-clair);
	}

	.sw-une__chapo {
		max-width: none;
		margin-top: 22px;
	}

	.sw-une__action {
		align-self: stretch;
		margin: 22px 0 0;
	}

	.sw-une-vide {
		padding: 22px var(--sw-marge) 30px;
	}

	.sw-accueil {
		display: block;
		padding: 26px var(--sw-marge) 0;
	}

	.sw-actu {
		padding: 18px 0 20px;
	}

	.sw-actu__date {
		font-size: 13px;
	}

	.sw-actu__titre {
		margin-top: 6px;
	}

	.sw-actu__chapo {
		margin-top: 10px;
	}

	.sw-accueil__toutes {
		display: block;
		margin-top: 18px;
		font-size: 15px;
	}

	.sw-accueil__route {
		margin-top: 26px;
		padding-bottom: 30px;
	}

	.sw-date-liste li:nth-child(n + 9) {
		display: block;
	}

	.sw-date-ligne {
		grid-template-columns: 46px minmax(0, 1fr);
		padding: 9px 0;
	}

	.sw-date-ligne__jour {
		font-size: 34px;
		line-height: 0.9;
		letter-spacing: -0.02em;
	}

	.sw-date-ligne__texte {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 8px;
	}

	.sw-date-ligne__ville {
		font-family: var(--sw-titre);
		font-weight: 700;
		font-size: 19px;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	.sw-recentes {
		padding: 24px 0 30px;
	}

	.sw-recentes .sw-rubrique,
	.sw-recentes .sw-vide,
	.sw-recentes__indice {
		margin-right: var(--sw-marge);
		margin-left: var(--sw-marge);
	}

	.sw-recentes__grille {
		display: flex;
		gap: 30px;
		margin-top: 0;
		padding: 34px var(--sw-marge) 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.sw-recentes__grille .sw-piece {
		flex: 0 0 196px;
		scroll-snap-align: center;
	}

	.sw-piece__cadre {
		padding: 8px 8px 10px;
	}

	.sw-tampon {
		top: -10px;
		right: -10px;
		padding: 3px 7px;
		outline-offset: -5px;
		font-size: 12px;
		letter-spacing: 0.16em;
	}

	.sw-piece__legende {
		margin-top: 12px;
	}

	.sw-piece__type {
		font-size: 12px;
	}

	.sw-piece__titre {
		font-size: 15px;
	}

	.sw-piece__sous-titre {
		font-size: 13px;
	}

	.sw-recentes__indice {
		display: block;
		font-family: var(--sw-titre);
		font-weight: 700;
		font-size: 12px;
		letter-spacing: 0.16em;
		color: var(--sw-gris-moyen);
	}

	.sw-pied__colonnes,
	.sw-pied__colonnes--sans-pieces {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
		padding: 28px var(--sw-marge) 30px;
	}

	.sw-pied__titre {
		margin-bottom: 8px;
	}

	.sw-champ__saisie {
		padding: 0 12px;
	}

	.sw-champ__ok {
		font-size: 17px;
	}

	.sw-pied__barre {
		gap: 8px 18px;
		font-size: 13px;
	}

	.sw-contenu {
		padding: 26px var(--sw-marge) 30px;
	}

	.sw-entete-page {
		padding: 22px var(--sw-marge) 26px;
	}

	.sw-entete-page__surtitre {
		font-size: 13px;
	}

	.sw-entete-page__intro {
		margin-top: 18px;
		padding-top: 14px;
	}

	.sw-liste {
		padding: 22px var(--sw-marge) 30px;
	}

	.sw-recherche__formulaire {
		margin-bottom: 26px;
	}

	.sw-article__entete {
		padding: 22px var(--sw-marge) 26px;
	}

	.sw-article__meta {
		gap: 14px;
		padding-bottom: 10px;
		font-size: 12px;
	}

	.sw-article__titre {
		margin-top: 16px;
	}

	.sw-article__chapo {
		margin-top: 16px;
		font-size: 19px;
	}

	.sw-article__visuel {
		padding: 20px var(--sw-marge) 0;
	}

	.sw-article__visuel figcaption,
	.sw-corps figcaption {
		margin-top: 8px;
		font-size: 15px;
	}

	.sw-article > .sw-corps {
		padding-right: var(--sw-marge);
		padding-left: var(--sw-marge);
	}

	.sw-corps {
		padding-bottom: 26px;
		font-size: 18px;
	}

	.sw-corps > * {
		margin-top: 18px;
	}

	.sw-corps > :first-child {
		margin-top: 22px;
	}

	.sw-corps h2,
	.sw-corps h3 {
		margin-top: 28px;
	}

	.sw-corps h2 {
		font-size: 34px;
	}

	.sw-corps h3 {
		font-size: 26px;
	}

	.sw-corps h2 + *,
	.sw-corps h3 + * {
		margin-top: 12px;
	}

	.sw-page {
		padding: 0 var(--sw-marge) 30px;
	}

	.sw-voisins {
		grid-template-columns: minmax(0, 1fr);
	}

	.sw-voisins__lien {
		padding: 18px var(--sw-marge);
	}

	.sw-voisins__lien--precedent {
		border-right: 0;
		border-bottom: var(--sw-filet);
	}

	.sw-voisins__lien--suivant {
		grid-column: auto;
		text-align: left;
	}

	.sw-voisins__vide {
		display: none;
	}

	.sw-voisins__sens {
		font-size: 12px;
	}

	.sw-voisins__titre {
		margin-top: 4px;
		font-size: 30px;
	}

	.sw-video__titre {
		font-size: 26px;
	}

	.sw-corps .sw-video {
		padding: 14px 16px;
	}

	.sw-voisins__date {
		font-size: 15px;
	}
}

/* ===== Archive, discographie, concerts, chronologie, presse ===== */

/* Compteur (chiffre de comptage) */
.sw-compteur {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sw-compteur__n {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 96px;
	line-height: 0.88;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-compteur__libelle {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-date-liste);
	letter-spacing: var(--sw-ls-etiquette);
	line-height: 1.4;
	color: var(--sw-papier);
}

.sw-compteur--droite {
	align-items: flex-end;
	text-align: right;
}

.sw-compteur--droite .sw-compteur__n {
	font-size: 76px;
	line-height: 0.9;
}

.sw-compteur--droite .sw-compteur__libelle {
	color: var(--sw-gris-clair);
	font-size: var(--sw-t-etiquette);
}

/* En-tête de liste : titre à gauche, effectif à droite */
.sw-entete-liste {
	padding-top: 30px;
	padding-bottom: 34px;
}

.sw-entete-liste__ligne {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--sw-e-4);
	margin-top: 10px;
}

.sw-entete-liste__titre {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(56px, 12.5cqi, 150px);
	line-height: 0.9;
	letter-spacing: -0.025em;
	overflow-wrap: break-word;
}

.sw-entete-liste__titre--l {
	font-size: clamp(44px, 8cqi, 96px);
	line-height: 0.96;
}

.sw-entete-liste__titre--m {
	font-size: clamp(36px, 5cqi, 64px);
	line-height: 1.02;
	letter-spacing: -0.01em;
}

/* Familles de l'archive : liste typographique */
.sw-familles {
	padding: 24px var(--sw-marge) 50px;
}

.sw-famille {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 220px;
	gap: 32px;
	align-items: center;
	padding: 20px 0;
	border-bottom: var(--sw-filet);
	color: var(--sw-texte);
}

.sw-famille__n {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 72px;
	line-height: 0.86;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-famille__nom {
	display: block;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 76px;
	line-height: 1.02;
	color: var(--sw-noir);
}

.sw-famille:hover .sw-famille__nom {
	color: var(--sw-rouge);
}

.sw-famille__description {
	display: block;
	margin-top: 4px;
	line-height: 1.4;
}

.sw-famille__suite {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	text-align: right;
}

.sw-famille__periode {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-gris-moyen);
}

/* Liste filtrée : filtres en colonne, grille à ratios réels */
.sw-archive {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
}

.sw-filtres {
	padding: 28px 28px 40px var(--sw-marge);
	border-right: var(--sw-filet);
}

.sw-filtres__groupe + .sw-filtres__groupe {
	margin-top: 22px;
}

.sw-filtres__titre {
	padding-bottom: 8px;
	border-bottom: var(--sw-filet-fort);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-rouge-sur-clair);
}

.sw-filtres__option {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 0;
}

.sw-filtres__lien {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-filtre);
	letter-spacing: 0.02em;
	line-height: 1.3;
	color: var(--sw-rouge);
}

.sw-filtres__lien[aria-current] {
	color: var(--sw-noir);
}

.sw-filtres__lien[aria-current]::before {
	content: "→ ";
}

.sw-filtres__n {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	color: var(--sw-gris-moyen);
	font-variant-numeric: tabular-nums;
}

.sw-filtres__groupe--annees .sw-filtres__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	padding-top: 10px;
}

.sw-filtres__groupe--annees .sw-filtres__option {
	padding: 0;
}

.sw-filtres__groupe--annees .sw-filtres__lien {
	font-size: 24px;
	font-variant-numeric: tabular-nums;
}

.sw-filtres__effacer {
	display: inline-block;
	margin-top: 26px;
}

.sw-archive__resultats {
	padding: 28px var(--sw-marge) 44px;
}

.sw-archive__bilan {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 18px;
	padding-bottom: 12px;
	border-bottom: var(--sw-filet-fort);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-texte);
}

.sw-archive__actif {
	color: var(--sw-rouge-sur-clair);
}

.sw-grille {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 36px 32px;
	align-items: end;
	margin-top: 28px;
}

.sw-carte {
	display: block;
	color: var(--sw-texte);
}

.sw-carte__image,
.sw-carte__reserve {
	display: block;
	width: 100%;
	aspect-ratio: var(--sw-ratio, 3 / 4);
	object-fit: cover;
	outline: 1px solid var(--sw-filet-papier);
	background: var(--sw-fond);
}

.sw-carte__reserve {
	display: flex;
	align-items: flex-end;
	padding: 8px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-gris-moyen);
}

.sw-carte__legende {
	display: block;
	margin-top: 10px;
	padding-top: 8px;
	border-top: var(--sw-filet);
}

.sw-carte__titre {
	display: block;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.05;
	color: var(--sw-noir);
}

.sw-carte:hover .sw-carte__titre {
	color: var(--sw-rouge);
}

.sw-carte__date {
	display: block;
	margin-top: 3px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-rouge-sur-clair);
}

.sw-carte__lieu {
	display: block;
	font-size: 15px;
	font-style: italic;
}

.sw-suite {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px 18px;
	margin-top: 38px;
	padding-top: 16px;
	border-top: var(--sw-filet-fort);
}

.sw-suite__position {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-gris-moyen);
}

/* Fiche d'exposition d'une pièce */
.sw-fiche__entete {
	position: relative;
	overflow: hidden;
	padding: 34px var(--sw-marge) 46px;
	background: var(--sw-noir);
	color: var(--sw-papier);
}

.sw-fiche__filigrane {
	position: absolute;
	top: 150px;
	left: 24px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 300px;
	line-height: 0.8;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	color: var(--sw-fond-image);
	white-space: nowrap;
	pointer-events: none;
}

.sw-fiche__surtitre {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 18px;
	padding-bottom: 12px;
	border-bottom: var(--sw-filet-sombre);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	line-height: 1.4;
	color: var(--sw-rouge-sur-noir);
}

.sw-fiche__cote,
.sw-fiche__retour {
	color: var(--sw-gris-clair);
}

.sw-fiche__retour:hover {
	color: var(--sw-papier);
}

.sw-fiche__titres {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 0 48px;
	align-items: end;
	margin-top: 26px;
}

.sw-fiche__type {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(80px, 15.6vw, 200px);
	line-height: 0.84;
	letter-spacing: -0.02em;
	overflow-wrap: break-word;
}

.sw-fiche__titre {
	margin-top: 10px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(30px, 4.5vw, 58px);
	line-height: 1.02;
	color: var(--sw-rouge);
}

.sw-fiche__intro {
	padding-bottom: 12px;
	line-height: 1.5;
	color: var(--sw-filet-papier);
	text-wrap: pretty;
}

.sw-fiche__scans {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	padding: 0 var(--sw-marge) 54px;
	background: var(--sw-noir);
}

.sw-fiche__scans--recto {
	grid-template-columns: minmax(0, 1fr);
}

.sw-fiche__scans--recto .sw-scan {
	max-width: 860px;
}

.sw-fiche__scans--papier {
	padding-top: 40px;
	background: var(--sw-papier);
}

.sw-scan__cadre {
	position: relative;
	outline: 1px solid var(--sw-filet-noir);
}

.sw-scan__image {
	width: 100%;
	height: auto;
	background: var(--sw-fond);
}

.sw-scan__reserve {
	display: flex;
	align-items: flex-end;
	aspect-ratio: 3 / 2;
	padding: 14px 16px;
	background: var(--sw-fond-image);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-gris-moyen);
}

.sw-tampon--grand {
	top: -14px;
	right: -14px;
	padding: 6px 12px;
	border-width: 3px;
	outline-offset: -8px;
	font-size: 19px;
	letter-spacing: 0.2em;
}

.sw-scan__legende {
	display: flex;
	justify-content: space-between;
	margin-top: 14px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-papier);
}

.sw-fiche__scans--papier .sw-scan__legende {
	color: var(--sw-noir);
}

/* Notice : paires étiquette / valeur */
.sw-notice {
	padding: 38px var(--sw-marge) 46px;
}

.sw-notice__colonnes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 64px;
	margin-top: 8px;
}

.sw-notice__liste {
	margin: 0;
}

.sw-notice__ligne {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 18px;
	padding: 14px 0;
	border-bottom: var(--sw-filet);
}

.sw-notice__cle {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	line-height: 1.6;
	color: var(--sw-texte);
}

.sw-notice__valeur {
	margin: 0;
	line-height: 1.4;
	color: var(--sw-noir);
}

.sw-notice__texte {
	max-width: 760px;
	padding-bottom: 0;
}

/* Bandeau noir à deux colonnes (concert d'une pièce, tournée et presse d'un album) */
.sw-bandeau {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 0 56px;
	align-items: start;
	padding: 40px var(--sw-marge) 46px;
	background: var(--sw-noir);
	color: var(--sw-papier);
}

.sw-bandeau--egal {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sw-bandeau__surtitre {
	padding-bottom: 10px;
	border-bottom: var(--sw-filet-sombre);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-rouge-sur-noir);
}

.sw-bandeau__titre {
	margin: 14px 0 22px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(44px, 6.9vw, 88px);
	line-height: 1.02;
}

.sw-bandeau__titre--moyen {
	font-size: clamp(36px, 4.4vw, 56px);
}

.sw-bandeau__faits {
	padding-left: 32px;
	border-left: var(--sw-filet-sombre);
}

.sw-bandeau__faits dl {
	margin: 0;
}

.sw-bandeau .sw-notice__ligne {
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 12px;
	padding: 12px 0;
	border-bottom: var(--sw-filet-sombre);
}

.sw-bandeau .sw-notice__cle {
	color: var(--sw-gris-clair);
}

.sw-bandeau .sw-notice__valeur {
	color: var(--sw-papier);
}

.sw-lien-suite--clair {
	display: inline-block;
	margin-top: 18px;
	color: var(--sw-papier);
}

.sw-provenance {
	display: flex;
	gap: 24px;
	margin: 0 var(--sw-marge) 54px;
	padding-top: 16px;
	border-top: var(--sw-filet);
	font-size: var(--sw-t-legende);
	line-height: 1.5;
}

.sw-provenance__cle {
	flex: none;
	width: 220px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
}

.sw-provenance__texte {
	max-width: 760px;
}

/* Discographie : liste des disques */
.sw-disques__entetes,
.sw-disque {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) 210px 200px 130px;
	gap: 28px;
	align-items: center;
}

.sw-disques__entetes {
	padding-bottom: 10px;
	border-bottom: var(--sw-filet-fort);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-rouge-sur-clair);
}

.sw-disques__droite,
.sw-disque__suite {
	text-align: right;
}

.sw-disque {
	padding: 18px 0;
	border-bottom: var(--sw-filet);
}

.sw-disque__image,
.sw-disque__reserve {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	outline: 1px solid var(--sw-filet-papier);
	background: var(--sw-fond);
}

.sw-disque__titre {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 46px;
	line-height: 1.02;
	color: var(--sw-noir);
}

.sw-disque__date {
	margin-top: 4px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-rouge-sur-clair);
}

.sw-disque__format {
	line-height: 1.35;
	color: var(--sw-noir);
}

.sw-disque__label {
	font-size: 16px;
	font-style: italic;
	line-height: 1.35;
}

/* Page album */
.sw-album__entete {
	padding: 34px var(--sw-marge) 44px;
	background: var(--sw-noir);
	color: var(--sw-papier);
}

.sw-album__titre {
	margin-top: 22px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(72px, 15.6vw, 200px);
	line-height: 0.9;
	letter-spacing: -0.025em;
	overflow-wrap: break-word;
}

.sw-album__annee {
	margin-top: 4px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(44px, 6.25vw, 80px);
	line-height: 1;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-album__grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	gap: 0 52px;
	align-items: start;
	margin-top: 30px;
}

.sw-album__intro {
	max-width: 600px;
	margin-bottom: 24px;
	font-size: var(--sw-t-chapo);
	line-height: 1.5;
	color: var(--sw-filet-papier);
}

.sw-album__pochette,
.sw-album__image {
	width: 100%;
}

.sw-album__pochette .sw-une__reserve {
	display: block;
	aspect-ratio: 1;
}

.sw-album__image {
	aspect-ratio: 1;
	object-fit: cover;
}

.sw-album__entete .sw-vide {
	color: var(--sw-gris-clair);
}

.sw-fiche-noire {
	margin: 0;
}

.sw-fiche-noire__ligne {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 16px;
	padding: 12px 0;
	border-top: var(--sw-filet-sombre);
}

.sw-fiche-noire__ligne dt {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	line-height: 1.6;
	color: var(--sw-gris-clair);
}

.sw-fiche-noire__ligne dd {
	margin: 0;
	line-height: 1.5;
}

/* Tracklist numérotée */
.sw-actes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 24px;
	margin: 26px 0 12px;
	padding: 0;
	list-style: none;
}

.sw-acte {
	display: block;
	color: var(--sw-texte);
}

.sw-acte__n {
	display: block;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 86px;
	line-height: 0.86;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-acte__titre {
	display: block;
	margin-top: 6px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.05;
	color: var(--sw-noir);
}

.sw-acte:hover .sw-acte__titre {
	color: var(--sw-rouge);
}

.sw-acte__compte {
	display: block;
	margin-top: 4px;
	font-size: 15px;
	font-style: italic;
}

.sw-disque-titres {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 0 48px;
	align-items: start;
	padding: 36px 0 12px;
	border-top: var(--sw-filet);
	scroll-margin-top: calc(var(--sw-barre) + 12px);
}

.sw-disque-titres:first-of-type {
	border-top: 0;
}

.sw-disque-titres:only-of-type {
	display: block;
	padding-top: 12px;
}

.sw-disque-titres__numero {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 120px;
	line-height: 0.84;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-disque-titres__titre {
	padding-bottom: 10px;
	border-bottom: var(--sw-filet-fort);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(44px, 5.9vw, 76px);
	line-height: 1.02;
	color: var(--sw-noir);
}

.sw-pistes {
	columns: 2;
	column-gap: 48px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.sw-piste {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: baseline;
	gap: 0 14px;
	padding: 9px 0;
	border-bottom: var(--sw-filet);
	break-inside: avoid;
}

.sw-piste__n {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 28px;
	line-height: 1;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-piste__titre {
	font-size: 19px;
	line-height: 1.3;
	color: var(--sw-noir);
}

.sw-piste__duree {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-gris-moyen);
	font-variant-numeric: tabular-nums;
}

.sw-presse-courte {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.sw-presse-courte li {
	padding: 12px 0;
	border-bottom: var(--sw-filet-sombre);
}

.sw-presse-courte a {
	color: var(--sw-papier);
}

.sw-presse-courte--papier li {
	border-bottom: var(--sw-filet);
}

.sw-presse-courte--papier a {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 30px;
	color: var(--sw-noir);
}

/* Concerts */
.sw-concerts {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sw-concerts-bloc + .sw-concerts-bloc {
	padding-top: 0;
}

.sw-tournee {
	margin-top: 26px;
}

.sw-tournee__titre {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 6px;
	border-bottom: var(--sw-filet-fort);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 34px;
	line-height: 1.05;
	color: var(--sw-noir);
}

.sw-tournee__n {
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-gris-moyen);
}

.sw-concert-ligne:hover .sw-date-ligne__ville {
	color: var(--sw-rouge-sur-clair);
}

.sw-concert__entete {
	padding-bottom: 56px;
}

/* Chronologie */
.sw-chrono__fleche {
	color: var(--sw-rouge);
}

.sw-chrono__etat {
	max-width: 760px;
	margin-top: 26px;
	padding-top: 18px;
	border-top: var(--sw-filet-sombre);
	font-style: italic;
	font-size: var(--sw-t-legende);
	line-height: 1.5;
	color: var(--sw-gris-clair);
}

.sw-chrono__compteurs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 40px;
	margin-top: 34px;
	padding-top: 22px;
	border-top: var(--sw-filet-sombre);
}

.sw-chrono__compteurs .sw-compteur__n {
	font-size: 70px;
	line-height: 0.9;
}

.sw-annee {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 0 40px;
	align-items: start;
	padding: 30px var(--sw-marge) 34px;
	border-top: var(--sw-filet-fort);
	color: var(--sw-texte);
}

.sw-annee__numero {
	margin-left: -10px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 168px;
	line-height: 0.78;
	letter-spacing: -0.04em;
	color: var(--sw-noir);
	font-variant-numeric: tabular-nums;
}

.sw-annee--noire {
	padding-top: 36px;
	padding-bottom: 46px;
	border-top: 0;
	background: var(--sw-noir);
	color: var(--sw-filet-papier);
}

.sw-annee--noire .sw-annee__numero {
	color: var(--sw-rouge);
}

.sw-annee--noire .sw-evenement__type {
	color: var(--sw-rouge-sur-noir);
}

.sw-evenement {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	padding: 14px 0;
	border-top: var(--sw-filet);
}

.sw-evenement:first-child {
	padding-top: 8px;
	border-top: 0;
}

.sw-annee--noire .sw-evenement {
	border-top-color: var(--sw-filet-noir);
}

.sw-evenement--disque {
	grid-template-columns: 140px minmax(0, 1fr) 190px;
	padding-bottom: 22px;
}

.sw-evenement__type {
	padding-top: 8px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-rouge-sur-clair);
}

.sw-evenement__titre {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: clamp(40px, 5.2vw, 66px);
	line-height: 1.02;
}

.sw-evenement__titre a,
.sw-evenement__nom {
	color: var(--sw-noir);
}

.sw-annee--noire .sw-evenement__titre a,
.sw-annee--noire .sw-evenement__nom {
	color: var(--sw-papier);
}

.sw-evenement__details {
	margin-top: 8px;
	line-height: 1.45;
}

.sw-evenement__texte--ligne {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 14px;
}

.sw-evenement__texte--ligne .sw-evenement__details {
	margin-top: 0;
	font-size: 16px;
	font-style: italic;
}

.sw-evenement__nom {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 30px;
	line-height: 1.1;
}

.sw-evenement__suite {
	padding: 14px 0 0 168px;
}

/* Revue de presse : « Titre du média, jour mois » */
.sw-revue__annee {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 0 40px;
	padding: 26px 0;
	border-top: var(--sw-filet-fort);
}

.sw-revue__annee:first-child {
	border-top: 0;
}

.sw-revue__numero {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 110px;
	line-height: 0.8;
	letter-spacing: -0.03em;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-revue__liste {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sw-revue__entree {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 18px;
	padding: 10px 0;
	border-bottom: var(--sw-filet);
}

.sw-revue__lien {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 34px;
	line-height: 1.1;
	color: var(--sw-noir);
}

.sw-revue__date {
	color: var(--sw-rouge);
}

.sw-revue__infos {
	font-size: var(--sw-t-legende);
	font-style: italic;
	color: var(--sw-gris-moyen);
}

/* Intermédiaire : 768 à 1099 px */
@media (min-width: 48em) and (max-width: 68.6875em) {
	.sw-familles,
	.sw-archive__resultats,
	.sw-fiche__entete,
	.sw-fiche__scans,
	.sw-notice,
	.sw-bandeau,
	.sw-album__entete,
	.sw-annee {
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-filtres {
		padding-left: 24px;
	}

	.sw-famille {
		grid-template-columns: 110px minmax(0, 1fr) 160px;
		gap: 20px;
	}

	.sw-famille__n {
		font-size: 56px;
	}

	.sw-famille__nom {
		font-size: 52px;
	}

	.sw-archive {
		grid-template-columns: 200px minmax(0, 1fr);
	}

	.sw-grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sw-fiche__titres,
	.sw-album__grille {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: 0 32px;
	}

	.sw-notice__colonnes {
		grid-template-columns: minmax(0, 1fr);
	}

	.sw-disques__entetes,
	.sw-disque {
		grid-template-columns: 90px minmax(0, 1fr) 160px 110px;
	}

	.sw-disques__entetes span:nth-child(4),
	.sw-disque__label {
		display: none;
	}

	.sw-disque__titre {
		font-size: 36px;
	}

	.sw-disque-titres {
		grid-template-columns: 140px minmax(0, 1fr);
		gap: 0 28px;
	}

	.sw-disque-titres__numero {
		font-size: 88px;
	}

	.sw-pistes {
		columns: 1;
	}

	.sw-annee {
		grid-template-columns: 180px minmax(0, 1fr);
		gap: 0 24px;
	}

	.sw-annee__numero {
		font-size: 104px;
	}

	.sw-evenement--disque {
		grid-template-columns: 110px minmax(0, 1fr) 120px;
	}

	.sw-evenement {
		grid-template-columns: 110px minmax(0, 1fr);
		gap: 20px;
	}

	.sw-revue__annee {
		grid-template-columns: 140px minmax(0, 1fr);
	}

	.sw-revue__numero {
		font-size: 80px;
	}
}

/* Mobile : jusqu'à 767 px */
@media (max-width: 47.9375em) {
	.sw-compteur__n {
		font-size: 48px;
		line-height: 0.9;
	}

	.sw-compteur__libelle {
		font-size: 12px;
	}

	.sw-compteur--droite .sw-compteur__n {
		font-size: 44px;
	}

	.sw-compteur--droite .sw-compteur__libelle {
		font-size: 11px;
	}

	.sw-entete-liste {
		padding-top: 22px;
		padding-bottom: 24px;
	}

	.sw-entete-liste__ligne {
		margin-top: 8px;
	}

	.sw-familles {
		padding: 8px var(--sw-marge) 26px;
	}

	.sw-famille {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 6px 14px;
		padding: 14px 0;
	}

	.sw-famille__n {
		font-size: 44px;
	}

	.sw-famille__nom {
		font-size: 34px;
	}

	.sw-famille__description {
		font-size: 15px;
	}

	.sw-famille__suite {
		grid-column: 2;
		flex-direction: row;
		justify-content: space-between;
		align-items: baseline;
	}

	/* Filtres en rangées défilantes, cibles de 44 px */
	.sw-archive {
		display: block;
	}

	.sw-filtres {
		padding: 14px 0 8px;
		border-right: 0;
		border-bottom: var(--sw-filet-fort);
	}

	.sw-filtres__groupe + .sw-filtres__groupe {
		margin-top: 0;
		padding-top: 8px;
		border-top: var(--sw-filet);
	}

	.sw-filtres__titre {
		margin: 0 var(--sw-marge);
		padding-bottom: 0;
		border-bottom: 0;
		font-size: 12px;
	}

	.sw-filtres__liste,
	.sw-filtres__groupe--annees .sw-filtres__liste {
		display: flex;
		flex-wrap: nowrap;
		gap: 18px;
		padding: 0 var(--sw-marge);
		overflow-x: auto;
	}

	.sw-filtres__option,
	.sw-filtres__groupe--annees .sw-filtres__option {
		flex: none;
		gap: 6px;
		padding: 0;
	}

	.sw-filtres__lien {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		font-size: 22px;
		white-space: nowrap;
	}

	.sw-filtres__effacer {
		margin: 10px var(--sw-marge) 0;
	}

	.sw-archive__resultats {
		padding: 16px var(--sw-marge) 26px;
	}

	.sw-archive__bilan {
		font-size: 12px;
	}

	.sw-grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 16px;
		margin-top: 16px;
	}

	.sw-carte__legende {
		margin-top: 8px;
		padding-top: 6px;
	}

	.sw-carte__titre {
		font-size: 22px;
	}

	.sw-carte__date {
		font-size: 11px;
	}

	.sw-carte__lieu {
		font-size: 14px;
	}

	.sw-suite {
		margin-top: 24px;
		padding-top: 12px;
	}

	.sw-fiche__entete {
		padding: 22px var(--sw-marge) 26px;
	}

	.sw-fiche__filigrane {
		display: none;
	}

	.sw-fiche__surtitre {
		padding-bottom: 10px;
		font-size: 13px;
	}

	.sw-fiche__titres,
	.sw-album__grille {
		display: block;
		margin-top: 14px;
	}

	.sw-fiche__intro {
		margin-top: 16px;
		padding-bottom: 0;
	}

	.sw-fiche__scans {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		padding: 0 var(--sw-marge) 26px;
	}

	.sw-fiche__scans--papier {
		padding-top: 22px;
	}

	.sw-tampon--grand {
		top: -12px;
		right: -8px;
		padding: 4px 9px;
		border-width: 2px;
		outline-offset: -6px;
		font-size: 13px;
		letter-spacing: 0.16em;
	}

	.sw-scan__legende {
		margin-top: 10px;
		font-size: 13px;
	}

	.sw-notice {
		padding: 22px var(--sw-marge) 26px;
	}

	.sw-notice__colonnes {
		grid-template-columns: minmax(0, 1fr);
	}

	.sw-notice__ligne,
	.sw-bandeau .sw-notice__ligne,
	.sw-fiche-noire__ligne {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
		padding: 12px 0;
	}

	.sw-notice__cle,
	.sw-fiche-noire__ligne dt {
		font-size: 12px;
		color: var(--sw-gris-moyen);
	}

	.sw-bandeau,
	.sw-bandeau--egal {
		grid-template-columns: minmax(0, 1fr);
		padding: 22px var(--sw-marge) 26px;
	}

	.sw-bandeau__faits {
		margin-top: 22px;
		padding-left: 0;
		border-left: 0;
	}

	.sw-provenance {
		display: block;
		margin: 0 var(--sw-marge) 30px;
	}

	.sw-provenance__cle {
		width: auto;
		margin-bottom: 6px;
	}

	.sw-disques__entetes {
		display: none;
	}

	.sw-disque {
		grid-template-columns: 76px minmax(0, 1fr);
		gap: 4px 14px;
		align-items: start;
		padding: 16px 0;
	}

	.sw-disque__pochette {
		grid-row: span 3;
	}

	.sw-disque__titre {
		font-size: 30px;
	}

	.sw-disque__date {
		font-size: 12px;
	}

	.sw-disque__format {
		font-size: 15px;
	}

	.sw-disque__label,
	.sw-disque__suite {
		display: none;
	}

	.sw-album__entete {
		padding: 22px var(--sw-marge) 26px;
	}

	.sw-album__titre {
		margin-top: 14px;
	}

	.sw-album__pochette {
		margin-top: 20px;
	}

	.sw-actes {
		display: block;
		margin-top: 0;
	}

	.sw-acte {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 0 14px;
		align-items: center;
		padding: 12px 0;
		border-bottom: var(--sw-filet);
	}

	.sw-acte__n {
		grid-row: span 2;
		font-size: 54px;
	}

	.sw-acte__titre {
		margin-top: 0;
		font-size: 34px;
	}

	.sw-disque-titres {
		display: block;
		padding: 20px 0 8px;
		border-top: var(--sw-filet-fort);
	}

	.sw-disque-titres__numero {
		display: inline;
		margin-right: 12px;
		font-size: 72px;
	}

	.sw-disque-titres__contenu {
		display: inline;
	}

	.sw-disque-titres__titre {
		display: inline;
		border-bottom: 0;
		font-size: 44px;
	}

	.sw-pistes {
		columns: 1;
		margin-top: 14px;
	}

	.sw-piste {
		grid-template-columns: 42px minmax(0, 1fr) auto;
		gap: 0 12px;
	}

	.sw-piste__n {
		font-size: 26px;
	}

	.sw-piste__titre {
		font-size: 18px;
	}

	.sw-presse-courte--papier a {
		font-size: 24px;
	}

	.sw-tournee__titre {
		font-size: 26px;
	}

	.sw-concert__entete {
		padding-bottom: 30px;
	}

	.sw-chrono__compteurs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		margin-top: 22px;
		padding-top: 18px;
	}

	.sw-chrono__compteurs .sw-compteur__n {
		font-size: 48px;
	}

	.sw-annee,
	.sw-annee--noire {
		display: block;
		padding: 20px var(--sw-marge) 26px;
	}

	.sw-annee__numero {
		margin-left: 0;
		font-size: 88px;
		line-height: 0.82;
	}

	.sw-annee__contenu {
		margin-top: 12px;
	}

	.sw-evenement,
	.sw-evenement--disque {
		grid-template-columns: minmax(0, 1fr) 96px;
		gap: 2px 16px;
	}

	.sw-evenement__type {
		grid-column: 1;
		padding-top: 0;
	}

	.sw-evenement__texte {
		grid-column: 1;
	}

	.sw-evenement__pochette {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.sw-evenement__titre {
		font-size: 36px;
	}

	.sw-evenement__details {
		font-size: 15px;
	}

	.sw-evenement__nom {
		font-size: 24px;
	}

	.sw-evenement__suite {
		padding-left: 0;
	}

	.sw-revue__annee {
		display: block;
		padding: 18px 0;
	}

	.sw-revue__numero {
		font-size: 72px;
	}

	.sw-revue__liste {
		margin-top: 10px;
	}

	.sw-revue__lien {
		font-size: 26px;
	}
}

/* Fiche de concert : compte rendu, vidéos, même tournée */
.sw-concert__lieu {
	color: var(--sw-gris-clair);
}

.sw-bandeau--simple {
	grid-template-columns: minmax(0, 1fr);
}

.sw-compte-rendu + .sw-compte-rendu {
	margin-top: 30px;
	padding-top: 24px;
	border-top: var(--sw-filet-sombre);
}

.sw-compte-rendu .sw-bandeau__titre a {
	color: var(--sw-papier);
}

.sw-compte-rendu .sw-bandeau__titre a:hover {
	color: var(--sw-rouge);
}

.sw-compte-rendu__chapo {
	max-width: 760px;
	margin: 0;
	font-size: var(--sw-t-chapo);
	line-height: 1.5;
	text-wrap: pretty;
}

.sw-videos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px 40px;
	margin-top: 22px;
}

.sw-video {
	margin: 0;
}

.sw-video__cadre {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--sw-noir);
}

.sw-video__lecteur {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.sw-video__legende {
	padding-top: 10px;
	font-size: var(--sw-t-legende);
	line-height: 1.4;
	color: var(--sw-texte);
}

.sw-meme-tournee__liste {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 40px;
}

.sw-meme-tournee__liste li:only-child:has(a[rel="next"]) {
	grid-column: 2;
}

.sw-article__concerts {
	margin-top: 44px;
	margin-bottom: 54px;
}

/* Contribution : habillage du formulaire JetFormBuilder, seule exception au préfixe sw- */
/* Champs pièges anti-robots du formulaire (feuille de JetFormBuilder retirée) */
.sw-contribuer .jfb-user-info,
.sw-contribuer .jfb-user-info input {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	user-select: none !important;
	pointer-events: none !important;
}

.sw-contribuer {
	padding: 38px var(--sw-marge) 56px;
	border-top: var(--sw-filet-fort);
	background: var(--sw-papier);
}

.sw-contribuer--seul {
	padding-right: 0;
	padding-left: 0;
	border-top: 0;
}

.sw-contribuer--seul .sw-contribuer__grille {
	grid-template-columns: minmax(0, 1fr);
}

.sw-contribuer__grille {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: 0 64px;
	margin-top: 22px;
}

.sw-contribuer__appel {
	margin: 0 0 18px;
	font-size: var(--sw-t-chapo);
	line-height: 1.5;
	color: var(--sw-noir);
	text-wrap: pretty;
}

.sw-contribuer__note {
	margin: 0;
	font-size: var(--sw-t-legende);
	font-style: italic;
	line-height: 1.5;
	color: var(--sw-gris-moyen);
}

.sw-contribuer .jet-form-builder-row {
	margin-bottom: 18px;
}

.sw-contribuer .jet-form-builder__label-text {
	display: block;
	margin-bottom: 6px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	line-height: 1.4;
	color: var(--sw-texte);
}

.sw-contribuer .jet-form-builder__required {
	color: var(--sw-rouge-sur-clair);
}

.sw-contribuer input.jet-form-builder__field:not([type="checkbox"]):not([type="file"]),
.sw-contribuer textarea.jet-form-builder__field {
	box-sizing: border-box;
	width: 100%;
	min-height: var(--sw-champ);
	margin: 0;
	padding: 8px 10px;
	background: var(--sw-blanc-piece);
	border: 1px solid var(--sw-noir);
	border-radius: 0;
	color: var(--sw-noir);
	font-family: var(--sw-texte-courant);
	font-size: 16px;
	-webkit-appearance: none;
	appearance: none;
}

.sw-contribuer textarea.jet-form-builder__field {
	min-height: 120px;
	resize: vertical;
}

.sw-contribuer .jet-form-builder__field:focus-visible {
	outline: 2px solid var(--sw-rouge);
	outline-offset: 1px;
}

.sw-contribuer .jet-form-builder__field::placeholder {
	color: var(--sw-gris-moyen);
	font-style: italic;
	opacity: 1;
}

.sw-contribuer .jet-form-builder-file-upload {
	position: relative;
	padding: 12px;
	border: 1px dashed var(--sw-gris-clair);
	background: var(--sw-blanc-piece);
}

.sw-contribuer input[type="file"] {
	max-width: 100%;
	font-family: var(--sw-texte-courant);
	font-size: var(--sw-t-legende);
	color: var(--sw-texte);
}

.sw-contribuer input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 14px;
	background: var(--sw-noir);
	border: 0;
	border-radius: 0;
	color: var(--sw-papier);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: var(--sw-ls-bouton);
	cursor: pointer;
}

.sw-contribuer .jet-form-builder-file-upload__files {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sw-contribuer .jet-form-builder-file-upload__files:not(:empty) {
	margin-bottom: 10px;
}

.sw-contribuer .jet-form-builder-file-upload__file {
	position: relative;
	width: 96px;
	height: 96px;
	background: var(--sw-fond);
}

.sw-contribuer .jet-form-builder-file-upload__file img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sw-contribuer .jet-form-builder-file-upload__file-remove {
	position: absolute;
	inset: 50% 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--sw-noir) 70%, transparent);
	cursor: pointer;
}

.sw-contribuer .jet-form-builder-file-upload__file-remove svg path {
	fill: var(--sw-papier);
}

.sw-contribuer .jet-form-builder-file-upload__loader {
	display: none;
}

.sw-contribuer .is-loading .jet-form-builder-file-upload__loader {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--sw-noir) 50%, transparent);
}

/* Rappel permanent de la taille maximale : masqué, la description du champ l'indique déjà ; seule l'erreur s'affiche */
.sw-contribuer .jet-form-builder-file-upload__message {
	display: none;
}

.sw-contribuer .jet-form-builder-file-upload__errors,
.sw-contribuer .sw-fichier-erreur,
.sw-contribuer .error-message {
	margin-top: 6px;
	font-size: var(--sw-t-legende);
	color: var(--sw-rouge-sur-clair);
}

.sw-contribuer .sw-fichier-erreur:empty {
	display: none;
}

/* Refus d'un fichier par le serveur, affiché sous le champ concerné */
.sw-contribuer .sw-champ-erreur {
	margin-top: 8px;
	padding: 8px 12px;
	border-left: 3px solid var(--sw-rouge);
	background: var(--sw-blanc-piece);
	font-size: var(--sw-t-legende);
	line-height: 1.45;
	color: var(--sw-noir);
}

.sw-contribuer .sw-champ-erreur p {
	margin: 0;
}

.sw-contribuer .sw-champ-erreur p + p {
	margin-top: 6px;
}

.sw-contribuer [aria-invalid="true"] {
	outline: 2px solid var(--sw-rouge);
	outline-offset: 2px;
}

.sw-contribuer .jet-form-builder-file-upload__errors.is-hidden,
.sw-contribuer .jet-form-builder--hidden,
.sw-contribuer .jet-form-builder-page--hidden {
	display: none;
}

.sw-contribuer .jet-form-builder__field-label.for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: var(--sw-t-legende);
	line-height: 1.5;
	color: var(--sw-noir);
	cursor: pointer;
}

.sw-contribuer input[type="checkbox"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 3px 0 0;
	accent-color: var(--sw-rouge);
}

.sw-contribuer .jet-form-builder__submit {
	display: inline-block;
	padding: 12px 20px;
	background: var(--sw-rouge);
	border: 0;
	border-radius: 0;
	color: var(--sw-blanc-sur-rouge);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 16px;
	letter-spacing: var(--sw-ls-bouton);
	line-height: 1.2;
	cursor: pointer;
}

.sw-contribuer .jet-form-builder__submit:hover {
	background: var(--sw-noir);
	outline: 1px solid var(--sw-rouge);
}

.sw-contribuer .jet-form-builder__submit:disabled {
	opacity: 0.5;
	cursor: wait;
}

.sw-contribuer .jet-form-builder-message {
	margin-top: 18px;
	padding: 12px 14px;
	border-left: 3px solid var(--sw-noir);
	background: var(--sw-blanc-piece);
	font-size: var(--sw-t-legende);
	color: var(--sw-noir);
}

.sw-contribuer .jet-form-builder-message--error {
	border-left-color: var(--sw-rouge);
}

@media (min-width: 48em) and (max-width: 68.6875em) {
	.sw-contribuer {
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-contribuer__grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
}

@media (max-width: 47.9375em) {
	.sw-videos,
	.sw-meme-tournee__liste,
	.sw-contribuer__grille {
		grid-template-columns: minmax(0, 1fr);
	}

	.sw-videos,
	.sw-contribuer__grille {
		gap: 22px;
	}

	.sw-meme-tournee__liste li:only-child:has(a[rel="next"]) {
		grid-column: auto;
	}

	.sw-contribuer {
		padding: 26px var(--sw-marge) 36px;
	}

	.sw-article__concerts {
		margin-top: 30px;
		margin-bottom: 36px;
	}
}

/* Revue de presse : sommaire des années */
.sw-revue__sommaire {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px 24px;
	margin: 0 var(--sw-marge);
	padding: 12px 0;
	border-top: var(--sw-filet-fort);
	border-bottom: var(--sw-filet);
}

.sw-revue__repartition {
	margin: 0;
	font-size: var(--sw-t-legende);
	font-style: italic;
	color: var(--sw-gris-moyen);
}

.sw-revue__annees {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-filtre);
	letter-spacing: var(--sw-ls-rubrique);
}

.sw-revue__annees a {
	color: var(--sw-noir);
}

.sw-revue__annees a:hover {
	color: var(--sw-rouge-sur-clair);
}

.sw-revue__annee {
	scroll-margin-top: 90px;
}

.sw-revue__numero--texte {
	font-size: 44px;
	line-height: 1;
	color: var(--sw-gris-moyen);
}

.sw-revue__vide .sw-lien-suite {
	display: inline-block;
	margin-top: 4px;
}

/* Biographie : texte en colonne de lecture, années en marge */
.sw-bio {
	padding: 0 var(--sw-marge) 56px;
}

.sw-bio__suite {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	max-width: 680px;
	margin: 40px 0 0 276px;
	padding-top: 18px;
	border-top: var(--sw-filet);
}

@media (max-width: 47.9375em) {
	.sw-bio__suite {
		margin-left: 0;
	}
}

.sw-bio__section {
	display: grid;
	grid-template-columns: 220px minmax(0, 680px);
	gap: 0 56px;
	align-items: start;
}

.sw-bio__section--datee {
	margin-top: 26px;
	border-top: var(--sw-filet-fort);
}

.sw-bio__marge {
	position: sticky;
	top: 90px;
	min-height: 1px;
}

.sw-bio__annee {
	display: block;
	margin-top: 22px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 110px;
	line-height: 0.8;
	letter-spacing: -0.03em;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-bio__texte {
	min-width: 0;
}

.sw-bio__section .sw-corps {
	padding-bottom: 0;
}

.sw-bio__section--datee .sw-corps > h2:first-child {
	margin-top: 30px;
}

.sw-bio__reperes {
	margin-top: 64px;
}

.sw-reperes {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.sw-repere {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr) auto;
	gap: 0 56px;
	align-items: baseline;
	padding: 10px 0;
	border-bottom: var(--sw-filet);
}

.sw-repere__annee {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 44px;
	line-height: 1;
	color: var(--sw-rouge);
	font-variant-numeric: tabular-nums;
}

.sw-repere__titre {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 30px;
	line-height: 1.1;
	color: var(--sw-noir);
}

.sw-repere__titre:hover {
	color: var(--sw-rouge);
}

.sw-repere__format {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-etiquette);
	color: var(--sw-gris-moyen);
}

@media (min-width: 48em) and (max-width: 68.6875em) {
	.sw-bio {
		padding-right: 24px;
		padding-left: 24px;
	}

	.sw-bio__section,
	.sw-repere {
		grid-template-columns: 140px minmax(0, 1fr);
		gap: 0 32px;
	}

	.sw-repere__format {
		grid-column: 2;
	}

	.sw-bio__annee {
		font-size: 80px;
	}
}

@media (max-width: 47.9375em) {
	.sw-revue__sommaire {
		display: block;
	}

	.sw-revue__annees {
		margin-top: 8px;
		font-size: 17px;
	}

	.sw-bio__section {
		display: block;
	}

	.sw-bio__marge {
		position: static;
	}

	.sw-bio__marge:empty {
		display: none;
	}

	.sw-bio__annee {
		font-size: 72px;
	}

	.sw-repere {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 2px 14px;
	}

	.sw-repere__annee {
		font-size: 30px;
	}

	.sw-repere__titre {
		font-size: 24px;
	}

	.sw-repere__format {
		grid-column: 2;
	}

	.sw-bio__reperes {
		margin-top: 40px;
	}
}

/* Une : événement reporté (date initiale barrée) et second niveau */
/* Une, état « reporté » : report et date suivante en lignes d'information au-dessus du titre */
.sw-une__meta--report {
	display: block;
	grid-column: 1 / -1;
}

.sw-une__meta--report ~ .sw-une__visuel {
	grid-row: 2 / -1;
}

.sw-une__report {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.35em;
	font-size: 22px;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--sw-papier);
	font-variant-numeric: tabular-nums;
}

.sw-une__report-etat {
	color: var(--sw-rouge);
}

.sw-une__report-initiale {
	color: var(--sw-gris-clair);
	text-decoration: line-through;
	text-decoration-color: var(--sw-rouge);
	text-decoration-thickness: 0.08em;
}

.sw-une__report-date {
	text-decoration: none;
}

.sw-une__aussi {
	margin-top: 6px;
	color: var(--sw-gris-clair);
}

.sw-une__aussi a {
	color: inherit;
	text-decoration: none;
}

.sw-une__aussi a:hover,
.sw-une__aussi a:focus-visible {
	color: var(--sw-rouge-sur-noir);
	text-decoration: underline;
}

.sw-une__suite {
	margin: 32px 0 0;
	border-top: var(--sw-filet-sombre);
	border-bottom: var(--sw-filet-sombre);
}

.sw-une__suite .sw-date-ligne {
	padding: 10px 0;
	border-bottom: 0;
}

.sw-une__suite .sw-date-ligne__mois {
	color: var(--sw-gris-clair);
}

.sw-une__suite .sw-date-ligne__ville {
	font-size: var(--sw-t-chapo);
	color: var(--sw-papier);
}

.sw-une__suite-lien:hover .sw-date-ligne__ville {
	color: var(--sw-rouge-sur-noir);
}

.sw-une__suite + .sw-une__grille {
	margin-top: 28px;
}

@media (max-width: 47.9375em) {
	.sw-une__report {
		font-size: 20px;
	}

	.sw-une__suite {
		margin-top: 22px;
	}

	.sw-une__suite .sw-date-ligne {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.sw-une__suite .sw-date-ligne__jour {
		font-size: 56px;
	}
}

/* Discographie : grille de pochettes */
.sw-pochettes__filtres {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-bottom: 30px;
	padding-bottom: 14px;
	border-bottom: var(--sw-filet);
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-rubrique);
	letter-spacing: var(--sw-ls-rubrique);
}

.sw-pochettes__filtres a {
	color: var(--sw-noir);
	text-decoration: none;
}

.sw-pochettes__filtres a:hover,
.sw-pochettes__filtres a[aria-current] {
	color: var(--sw-rouge-sur-clair);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.sw-pochettes__grille {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sw-pochette__lien {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: var(--sw-noir);
	text-decoration: none;
}

.sw-pochette__visuel {
	display: block;
	aspect-ratio: 1;
	margin-bottom: 8px;
	overflow: hidden;
	background: var(--sw-noir);
}

.sw-pochette__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sw-pochette__reserve {
	display: flex;
	align-items: flex-end;
	height: 100%;
	padding: 16px;
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	color: var(--sw-papier);
	overflow-wrap: anywhere;
}

.sw-pochette__titre {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.05;
}

.sw-pochette__meta {
	font-family: var(--sw-titre);
	font-weight: 700;
	font-size: var(--sw-t-etiquette);
	letter-spacing: var(--sw-ls-rubrique);
	color: var(--sw-gris-moyen);
}

.sw-pochette__lien:hover .sw-pochette__titre,
.sw-pochette__lien:focus-visible .sw-pochette__titre {
	color: var(--sw-rouge-sur-clair);
}

@media (min-width: 48em) and (max-width: 68.6875em) {
	.sw-pochettes__grille {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 47.9375em) {
	.sw-pochettes__grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 16px;
	}

	.sw-pochette__reserve {
		padding: 10px;
		font-size: 22px;
	}

	.sw-pochette__titre {
		font-size: 20px;
	}
}

/* Chronologie : tournée dépliable (dates de la tournée) */
.sw-evenement__depliant > summary {
	cursor: pointer;
}

.sw-evenement__depliant > summary::marker {
	color: var(--sw-rouge-sur-clair);
}

.sw-annee--noire .sw-evenement__depliant > summary::marker {
	color: var(--sw-rouge-sur-noir);
}

.sw-evenement__depliant[open] > summary {
	margin-bottom: 12px;
}

/* Politique de confidentialité : case d'opposition à la mesure d'audience */
.sw-opposition label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	cursor: pointer;
}

.sw-opposition input[type="checkbox"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 5px 0 0;
	accent-color: var(--sw-rouge);
}

.sw-opposition__note {
	color: var(--sw-gris-moyen);
	font-style: italic;
}
