/**
 * Le Dietrich Theme - Custom Styles
 * Sous-thème basé sur Bootstrap Barrio
 */

:root {
	/* Couleurs personnalisées du Dietrich */
	--le-dietrich-primary: #DB0C41;
	--le-dietrich-secondary: #AF0A34;
	--le-dietrich-accent: #780724;

	/* Surcharge Bootstrap : primary = rouge Le Dietrich */
	--bs-primary: #DB0C41;
	--bs-primary-rgb: 219, 12, 65;


	/* Largeur maximale du site */
	--site-max-width: 1920px;

	/* Typographies */
	--font-body: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-condensed: 'Roboto Condensed', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ============================================================
   ENVELOPPE GLOBALE DU SITE
   ============================================================ */

.site-wrapper {
	max-width: var(--site-max-width);
	margin: 0 auto;
	overflow: hidden;
}

/* Customisations globales */
body {
	font-family: var(--font-body);
}

/* Headings en Roboto Condensed */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-condensed);
	font-weight: 600;
}

h2 {
	font-size: 2.25rem;
	/* 36px */
}

/* Neutralise les contraintes de largeur de Bootstrap Barrio sur le body */
body.layout-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

/* ============================================================
   HEADER
   ============================================================ */

/* Hero : photo pleine largeur dans sa colonne col-9 */
.site-hero {
	position: relative;
}

.site-hero img,
.site-hero .media--type-image,
.site-hero .field--name-field-media-image {
	width: 100%;
	height: 360px;
	object-fit: cover;
	object-position: center;
	display: block;
	filter: grayscale(100%);
}

/* Biseau tramé primary : points style halftone, diagonale milieu-gauche 30% → coin haut-droit 95% */
.site-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle, var(--le-dietrich-primary) 1.5px, transparent 2px);
	background-size: 3.25px 3.25px;
	opacity: 0.3;
	clip-path: polygon(0 0, 95% 0, 0 30%);
	pointer-events: none;
	z-index: 1;
}

/* Colonne gauche du header : photo + menu empilés */
.header__left {
	display: flex;
	flex-direction: column;
	position: relative;
}

/* Menu principal */
.header__nav {
	background-color: #1B1B1B;
	flex-shrink: 0;
}

/* Force les items en ligne horizontale */
.header__nav ul,
.header__nav .nav,
.header__nav ul.menu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.header__nav li {
	display: block;
}

.header__nav .nav-link,
.header__nav a {
	display: block;
	color: #fff;
	padding: 0.5rem 1.25rem;
	font-weight: 400;
	text-transform: uppercase;
	font-family: var(--font-condensed);
	font-size: 1.25rem;
	letter-spacing: 0.04em;
	text-decoration: none;
	white-space: nowrap;
}

.header__nav .nav-link:hover,
.header__nav a:hover,
.header__nav .nav-link.is-active,
.header__nav a.is-active {
	color: #fff;
	background-color: var(--le-dietrich-secondary);
	text-decoration: none;
}

.header__nav .nav-link.is-active,
.header__nav a.is-active {
	background-color: var(--le-dietrich-primary);
}

/* Colonne droite : logo/adresse/recherche — s'étire sur toute la hauteur du header */
.header__identity {
	position: relative;
	overflow: hidden;
	background: #fff;
	/* fond blanc = zone biseau */
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.5rem 1rem;
	padding-bottom: calc(0.5rem + 25px);
}

/* Trapèze primary : couvre tout sauf le triangle biseau en bas à droite */
.header__identity::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--le-dietrich-primary);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 25px), 0 100%);
	pointer-events: none;
}

/* Le contenu passe au-dessus du ::before */
.header__identity>* {
	position: relative;
	z-index: 1;
}

.site-identity {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
}

.site-logo {
	width: 375px;
}

.site-logo img {
	width: 100%;
	height: auto;
}

.contact,
.contact a,
.contact a:hover {
	font-family: var(--font-condensed);
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
}

/* ============================================================
   CARDS
   ============================================================ */

.card {
	border-radius: 0;
}

.card-img-top {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	aspect-ratio: 3 / 4;
	width: 100%;
	object-fit: cover;
	object-position: center top;
}

.badge {
	font-weight: 500;
}

/* Pastilles E / JP en haut à droite des cards séances */
.card__pastilles {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(30%, -30%);
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.card__pastille {
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--le-dietrich-primary);
	color: #fff;
	font-family: var(--font-condensed);
	font-size: 1.5rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	letter-spacing: 0;
}

.seance-evenement-footer {
	display: flex;
	align-items: baseline;
	gap: 0;
	font-size: 0.8rem;
	color: var(--bs-secondary-color);
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.seance-evenement-footer .film__letter {
	flex-shrink: 0;
	margin-right: 0.4rem;
}

.evenement-img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center;
	display: block;
}

a .card,
.card {
	transition: opacity 0.2s ease;
}

a:hover .card,
.card:has(.seance__film-link:hover) {
	opacity: 0.85;
}

.programmation-nav__link {
	display: block;
	background-color: var(--le-dietrich-primary);
	color: #fff;
	font-family: var(--font-condensed);
	font-size: 1.5rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.2;
	padding: 0.75rem 1rem;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.programmation-nav__link:hover {
	background-color: var(--le-dietrich-secondary);
	color: #fff;
	text-decoration: none;
}

.programmation-nav__link::after {
	content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8'/></svg>");
	margin-left: 0.5rem;
	vertical-align: middle;
}

/* Lien film : couvre toute la card via ::after (z-index 1) */
.seance__film-link {
	display: block;
}

.seance__film-link::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Badge billetterie */
.seance__billet {
	position: relative;
	z-index: 2;
	display: inline-flex !important;
	align-items: center;
	gap: 0.3rem;
}

.seance__billet:hover {
	background-color: var(--le-dietrich-secondary) !important;
	color: #fff !important;
}

.node--filmfilm .seance__billet {
	padding: 0.4rem 0.75rem;
	font-size: 0.9rem;
}

/* Séance passée : badge gris, non cliquable (rendu en <span>). */
.seance__billet--passee {
	opacity: 0.65;
	cursor: default;
}

.seance__billet--passee:hover {
	background-color: var(--bs-secondary, #6c757d) !important;
	color: #fff !important;
}

.seances-du-jour__wrapper {
	max-width: 1400px;
	border-bottom: 2px solid var(--le-dietrich-primary);
	padding-bottom: 1.5rem;
}

.seances-du-jour__nav-link {
	display: inline-block;
	background-color: var(--le-dietrich-primary);
	color: #fff;
	font-family: var(--font-condensed);
	font-size: 0.95rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.45rem 1rem;
	border-radius: var(--bs-border-radius, 0.375rem);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.seances-du-jour__nav-link:hover {
	background-color: var(--le-dietrich-secondary);
	color: #fff;
	text-decoration: none;
}

/* ============================================================
   CORPS DE PAGE
   ============================================================ */

#page-wrapper {
	padding-top: 1.5rem;
	padding-bottom: 2rem;
}

/* Aligne le padding du contenu (20px) avec le padding des liens du menu */
#main-content {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

#sidebar-first {
	max-width: 350px;
	margin-left: auto;
	margin-right: auto;
}

/* Page title */
h1 {
	color: var(--le-dietrich-primary);
}

.node--filmfilm h1,
.node--evenement h1 {
	color: inherit;
}

/* Links */
a {
	color: var(--le-dietrich-secondary);
	text-decoration: none;
}

a:hover {
	color: var(--le-dietrich-accent);
	text-decoration: underline;
}

/* Buttons */
.btn-primary {
	background-color: var(--le-dietrich-secondary);
	border-color: var(--le-dietrich-secondary);
}

.btn-primary:hover {
	background-color: var(--le-dietrich-accent);
	border-color: var(--le-dietrich-accent);
}

/* ============================================================
   CALENDRIER (sidebar)
   ============================================================ */

.calendrier {
	--cal-row-height: 1.85rem;
	font-family: var(--font-condensed);
	margin: 4.25rem 0 1.5rem;
}

.calendrier__header {
	background-color: var(--le-dietrich-primary);
	color: #fff;
	padding: 0 0.75rem;
	height: var(--cal-row-height);
}

.calendrier__titre {
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.9rem;
}

.calendrier__nav {
	color: #fff;
	font-size: 1.1rem;
	line-height: 1;
	padding: 0 0.25rem;
	text-decoration: none;
	opacity: 0.9;
}

.calendrier__nav:hover {
	color: #fff;
	text-decoration: none;
	opacity: 1;
}

.calendrier__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
	background-color: #e9ecef;
	border: 1px solid #e9ecef;
}

.calendrier__entete {
	background-color: #f8f9fa;
	color: #6c757d;
	font-weight: 500;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	height: var(--cal-row-height);
	display: flex;
	align-items: center;
	justify-content: center;
}

.calendrier__case {
	background-color: #fff;
	font-size: 0.95rem;
	color: #adb5bd;
	/* gris : pas de séance */
	text-decoration: none;
	height: var(--cal-row-height);
	display: flex;
	align-items: center;
	justify-content: center;
}

.calendrier__case--vide {
	background-color: #f8f9fa;
}

.calendrier__case--seance {
	color: #1B1B1B;
	font-weight: 600;
}

a.calendrier__case--seance:hover {
	background-color: var(--le-dietrich-primary);
	color: #fff;
	text-decoration: none;
}

.calendrier__case--today {
	background-color: var(--le-dietrich-primary);
	color: #fff;
}

a.calendrier__case--today:hover {
	background-color: var(--le-dietrich-secondary);
	color: #fff;
}

.calendrier__case--selected {
	background-color: var(--le-dietrich-accent);
	color: #fff;
}

a.calendrier__case--selected:hover {
	background-color: var(--le-dietrich-accent);
	color: #fff;
	opacity: 0.85;
}

/* ============================================================
   PROGRAMMES PDF (sidebar, sous le calendrier)
   ============================================================ */

.programmes-pdf {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}

.programme-pdf__link,
.newsletter__link {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background-color: var(--le-dietrich-primary);
	color: #fff;
	font-family: var(--font-condensed);
	font-size: 1.25rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.2;
	padding: 0.75rem 1rem;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.programme-pdf__link:hover,
.programme-pdf__link:focus,
.newsletter__link:hover,
.newsletter__link:focus {
	background-color: var(--le-dietrich-secondary);
	color: #fff;
	text-decoration: none;
}

.programme-pdf__link svg,
.newsletter__link svg {
	flex-shrink: 0;
}

/* Bouton newsletter fixe : séparé des programmes au-dessus + fond gris pour le
   distinguer des boutons PDF (rouge primary). */
.newsletter__link {
	margin-top: 0.75rem;
	background-color: #868e96;
}

.newsletter__link:hover,
.newsletter__link:focus {
	background-color: #6c757d;
}

/* ============================================================
   FORMULAIRE DE RECHERCHE (sidebar)
   ============================================================ */

/* Wrappers .content / .container-inline de Barrio : rétrécissent le form à son contenu sinon */
#block-ledietrich-search-form .content,
#block-ledietrich-search-form .container-inline {
	display: block;
	width: 100%;
}

/* Pill blanc : grid 2 colonnes pour input + loupe */
#block-ledietrich-search-form form {
	display: grid;
	grid-template-columns: 1fr 2.5rem;
	width: 100%;
	background: #fff;
	border: 1px solid #ced4da;
	border-radius: 0.375rem;
	overflow: hidden;
}

#block-ledietrich-search-form form:focus-within {
	border-color: var(--le-dietrich-primary);
	box-shadow: 0 0 0 0.15rem rgba(var(--bs-primary-rgb), 0.15);
}

/* Neutralise mb-3 ajouté par Barrio sur les wrappers internes */
#block-ledietrich-search-form .mb-3 {
	margin: 0 !important;
}

#block-ledietrich-search-form input[type="search"] {
	width: 100%;
	border: 0;
	background: transparent;
	padding: 0.5rem 0.75rem;
	font-family: var(--font-body);
	font-size: 0.95rem;
	line-height: 1.5;
	outline: none;
	box-shadow: none;
}

#block-ledietrich-search-form button[type="submit"] {
	width: 100%;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='%236c757d' stroke-width='1.5'/%3E%3Cline x1='11' y1='11' x2='14.5' y2='14.5' stroke='%236c757d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 18px no-repeat;
	color: transparent;
	font-size: 0;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

#block-ledietrich-search-form button[type="submit"]:hover,
#block-ledietrich-search-form button[type="submit"]:focus {
	background-color: #f0f0f0;
	box-shadow: none;
}

/* ============================================================
   PAGE FILM
   ============================================================ */

/* Icône SVG inline (clock pour la durée, extensible pour d'autres) */
.film__icon {
	display: inline-block;
	width: 0.95em;
	height: 0.95em;
	vertical-align: -0.15em;
	background-color: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	margin-right: 0.25rem;
}

.film__icon--clock {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71z'/%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71z'/%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0'/%3E%3C/svg%3E");
}

/* Badge rond avec une lettre (S pour sortie, E pour événement, etc.) */
.film__letter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--le-dietrich-primary);
	color: #fff;
	font-family: var(--font-condensed);
	font-size: 0.75rem;
	font-weight: 600;
	margin-right: 0.6rem;
	vertical-align: 0.1em;
}

/* Variante du picto lettre dans un badge rouge : cercle blanc, lettre rouge,
   pour rester lisible sur fond primary (cf. badge « E » → événement). */
.film__letter--badge {
	width: 1rem;
	height: 1rem;
	background: #fff;
	color: var(--le-dietrich-primary);
	font-size: 0.75rem;
	margin-right: 0.2rem;
	font-weight: 900;
}

.film__distributeurs {
	margin-left: 1.85rem
}

/* Façade de bande-annonce : placeholder cliquable avant chargement du player.
   .ratio (Bootstrap) positionne le bouton en absolu pour remplir le 16:9. */
.film__trailer-facade {
	width: 100%;
	height: 100%;
	border: 0;
	padding: 0;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	background-color: #000;
	background-size: cover;
	background-position: center;
}

/* Voile blanc pour atténuer l'affiche (rendu délavé) sous le bouton play. */
.film__trailer-facade::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(255, 255, 255, 0.65);
	transition: background-color 0.2s ease;
}

.film__trailer-facade:hover::before,
.film__trailer-facade:focus-visible::before {
	background-color: rgba(255, 255, 255, 0.25);
}

/* Bouton play (rectangle arrondi + triangle), style « YouTube ». */
.film__trailer-play {
	position: relative;
	width: 68px;
	height: 48px;
	border-radius: 14px;
	background-color: var(--le-dietrich-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease;
}

.film__trailer-facade:hover .film__trailer-play,
.film__trailer-facade:focus-visible .film__trailer-play {
	transform: scale(1.08);
}

.film__trailer-play::after {
	content: "";
	border-style: solid;
	border-width: 11px 0 11px 19px;
	border-color: transparent transparent transparent #fff;
	margin-left: 4px;
}

.film__trailer-label {
	position: relative;
	color: #fff;
	font-weight: 600;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

/* Cœur "coup de cœur" à la fin du titre */
.film__coeur {
	color: var(--le-dietrich-primary);
	display: inline-flex;
	vertical-align: -0.25rem;
	margin-left: 0.75rem;
}

.path-frontpage .film__coeur {
	margin-left: 0.5rem;
}

/* Picto de l'édito, avant le titre */
.edito__icon {
	color: var(--le-dietrich-primary);
	display: inline-flex;
	vertical-align: -0.15em;
	margin-right: 0.25rem;
}

/* Texte de l'édito aligné sur le mot du titre (pas sur le picto), façon citation */
.edito__corps {
	padding-left: 2.3rem;
	padding-right: 1.5rem;
	display: flow-root;
	/* contient les guillemets flottants */
}

.edito__corps::before,
.edito__corps::after {
	color: #adb5bd;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 3.5rem;
	line-height: 2.5rem;
}

/* Guillemet ouvrant : flotte à gauche, le texte s'enroule (≈ 2 premières lignes) */
.edito__corps::before {
	content: '\201C';
	float: left;
	margin: 0.5rem 1rem 0 0;
}

/* Guillemet fermant : flotte à droite, en bas du texte */
.edito__corps::after {
	content: '\201D';
	float: right;
	margin: -1.5rem 0 0 0.5rem;
}

/* ============================================================
   PAGES ÉDITORIALES (node--page)
   ============================================================ */

.page-cover {
	width: 100%;
}

.page-cover__img {
	/* Même format 16/9 que les cards liées, plafonné à 1000px de large.
	   max-width évite tout débordement si le conteneur est plus étroit. */
	width: 1000px;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Iframe Google Maps intégrée dans le corps d'une page (ex. /pratique) :
   750px de large sur grand écran, ramenée à 100% du conteneur sur mobile.
   Surcharge l'attribut width="425" de l'embed. */
.page-body iframe[src*="google"] {
	width: 750px;
	max-width: 100%;
}

.page-liees {
	border-top: 2px solid var(--le-dietrich-primary);
	padding-top: 1.5rem;
}

.page-liees--haut {
	border-top: none;
	border-bottom: 2px solid var(--le-dietrich-primary);
	padding-top: 0;
	padding-bottom: 1.5rem;
}

.page-liee__img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center;
	display: block;
}

.page-liee__img--placeholder {
	background-color: #f0f0f0;
}


/* ============================================================
   ÉVÉNEMENTS (node--evenement)
   ============================================================ */

.evenement__image {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center;
	display: block;
}

.evenement__date-badge {
	font-size: 0.9rem;
	padding: 0.4rem 0.75rem;
}

.evenement__film-badge {
	font-size: 0.875rem;
	padding: 0.4rem 0.75rem;
}

/* ============================================================
   FOOTER
   ============================================================ */

.site-footer {
	background-color: #1B1B1B;
	color: rgba(255, 255, 255, 0.85);
	padding: 1rem 0 0.5rem;
}

.site-footer .block {
	margin: 0;
	border: 0;
	padding: 0;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.85);
}

.site-footer a:hover {
	color: #fff;
}

.site-footer .content ul:not(.menu) {
	padding-left: 1.4rem;
	padding-right: 1.4rem;
}

.site-footer ul {
	display: flex;
	flex-direction: row;
	list-style: none;
	margin-bottom: 0;
}

.site-footer ul li {
	display: flex;
	flex-wrap: wrap;
	padding-right: 1rem;
	padding-left: 1rem;
}

.site-footer ul li:last-child {
	border-right: none;
	padding-right: 0;
}

.site-footer ul li:first-child {
	padding-left: 0;
}

.site-footer ul#copyright li {
	border-right: #fff 1px solid;
	margin: 0.5rem 0;
}

.site-footer ul#copyright li:last-child {
	border-right: none;
}

/* correction de bug pour le lien instagram */
.site-footer ul#pictos li br {
	display: none;
}

/* ============================================================
   OFF-CANVAS MENU MOBILE
   ============================================================ */

.header__burger {
	width: 100%;
	background-color: #1B1B1B;
	border: none;
	padding: 0.6rem 1.25rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #fff;
	font-family: var(--font-condensed);
	font-size: 1.1rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
}

.header__burger:hover {
	background-color: var(--le-dietrich-primary);
}

.header__burger-label {
	line-height: 1;
}

#mobileMenu {
	background-color: #1B1B1B;
}

#mobileMenu .offcanvas-header {
	background-color: var(--le-dietrich-primary);
	padding: 1rem 1.25rem;
}

.offcanvas-logo {
	height: 90px;
	width: auto;
}

#mobileMenu .offcanvas-body {
	padding: 0;
}

#mobileMenu .nav-link,
#mobileMenu ul.menu a {
	display: block;
	color: #fff;
	padding: 0.85rem 1.25rem;
	font-family: var(--font-condensed);
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#mobileMenu .nav-link:hover,
#mobileMenu ul.menu a:hover {
	background-color: var(--le-dietrich-secondary);
	color: #fff;
	text-decoration: none;
}

#mobileMenu .nav-link.is-active,
#mobileMenu ul.menu a.is-active {
	background-color: var(--le-dietrich-primary);
	color: #fff;
}

#mobileMenu ul.menu {
	list-style: none;
	padding: 0;
	margin: 0;
	flex-direction: column;
}

#mobileMenu ul.menu li {
	display: block;
}

/* ============================================================
   RESPONSIVE — down md
   ============================================================ */

@media (max-width: 767.98px) {

	h2 {
		font-size: 1.5rem;
		/* 24px */
	}

	/* Édito : pas de retrait latéral sur mobile. */
	.edito__corps {
		padding-left: 0;
		padding-right: 0;
	}

	.page-cover__img {
		/* En dessous de md : pleine largeur. */
		width: 100%;
	}

	.site-logo {
		width: 100%;
		max-width: 100%;
	}

	.site-hero img,
	.site-hero .media--type-image,
	.site-hero .field--name-field-media-image {
		height: 120px;
	}

	.site-footer .content ul:not(.menu) {
		padding-left: 0.4rem;
		padding-right: 0.4rem;
	}

	.site-footer ul#copyright {
		flex-direction: column;
	}

	.site-footer ul#copyright li {
		border-right: none;
	}

	.site-footer ul#copyright li:last-child {
		padding-right: 1rem;
	}

	.site-footer ul#copyright li:first-child {
		padding-left: 1rem;
	}

	.seances-du-jour__nav-link {
		font-size: 0.8rem;
		padding: 0.35rem 0.75rem;
	}
}

/* ============================================================
   PAGINATION
   ============================================================ */

/* Bootstrap 5.2 fige les variables du composant .pagination en dur (bleu
   #0d6efd), donc l'override de --bs-primary au :root ne suffit pas. On
   redéfinit ces variables sur .pagination pour utiliser les couleurs du thème. */
.pagination {
	/* Espace la pagination des résultats qui la précèdent. */
	margin-top: 2rem;
	--bs-pagination-color: var(--le-dietrich-primary);
	--bs-pagination-hover-color: #fff;
	--bs-pagination-hover-bg: var(--le-dietrich-secondary);
	--bs-pagination-hover-border-color: var(--le-dietrich-secondary);
	--bs-pagination-focus-color: #fff;
	--bs-pagination-focus-bg: var(--le-dietrich-secondary);
	--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
	--bs-pagination-active-color: #fff;
	--bs-pagination-active-bg: var(--le-dietrich-primary);
	--bs-pagination-active-border-color: var(--le-dietrich-primary);
}

.pagination .page-link:hover {
	text-decoration: none;
}


/* ============================================================
   BLOCS PARTENAIRES (block--block-content--partenaires)
   ============================================================ */

.bloc-partenaires {
	margin-bottom: 1.5rem;
}

.bloc-partenaires__titre {
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.bloc-partenaires__description {
	margin-bottom: 1.5rem;
}

/* Card = logo cliquable, sans titre. Hauteur uniforme, logo contenu et centré. */
.partenaire-card {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 120px;
	padding: 1rem;
	background-color: #fff;
	border: 1px solid #e7e7e7;
}

/* Logos en niveaux de gris et légèrement atténués au repos ; révélés en couleur
   pleine au survol/focus. Pas d'ombre ni de décalage. */
.partenaire-card__img {
	max-width: 100%;
	max-height: 90px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.7;
	transition: filter 0.25s ease, opacity 0.25s ease;
}

a.partenaire-card:hover .partenaire-card__img,
a.partenaire-card:focus .partenaire-card__img {
	filter: grayscale(0);
	opacity: 1;
}