/* ==========================================================================
   Polices auto-hébergées — remplace Luciole (cahier des charges : Montserrat
   pour les titres, Barlow pour le corps de texte). Fichiers dans fonts/,
   déjà déposés sur le serveur.
   ========================================================================== */

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2'),
		url('../fonts/Montserrat-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Bold.woff2') format('woff2'),
		url('../fonts/Montserrat-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-ExtraBold.woff2') format('woff2'),
		url('../fonts/Montserrat-ExtraBold.woff') format('woff');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Barlow';
	src: url('../fonts/Barlow-Regular.woff2') format('woff2'),
		url('../fonts/Barlow-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Barlow';
	src: url('../fonts/Barlow-Italic.woff2') format('woff2'),
		url('../fonts/Barlow-Italic.woff') format('woff');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Barlow';
	src: url('../fonts/Barlow-Medium.woff2') format('woff2'),
		url('../fonts/Barlow-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Barlow';
	src: url('../fonts/Barlow-SemiBold.woff2') format('woff2'),
		url('../fonts/Barlow-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Barlow';
	src: url('../fonts/Barlow-Bold.woff2') format('woff2'),
		url('../fonts/Barlow-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

body,
html {
	font-family: "Barlow", sans-serif;
}

iframe
{
		max-width:100%;
}

body .region-sidebar-second .menu-level-0 > .nav-item > .nav-link {
    text-transform: none;
}


.paragraph--type--imagelegende .field.field--name-field-description.field--type-string.field--label-hidden.field__item {
    font-size: 0.9em;
}

#header-brand {
	position: relative;
	box-sizing: border-box;
}

body.path-node svg path.st0 ,
body .site-header__bar svg path.st0 ,
body.path-programme .st0 
{
	fill: #000;
}

body.path-node .st1, 
body svg path.st1, 
body.path-programme .st1 
{
	fill: #000;
}

body.path-node svg path,
body .site-header__bar svg path,
body.path-programme svg path
{
	fill: #000;
}

button.site-header__search svg path {
    fill: white;
}

body.path-node .site-footer__social svg path,
body .site-footer__social svg path,
body.path-programme .site-footer__social svg path
{
	fill: #EDE7DA;
}

body.path-node footer .st0 ,
body footer svg .st0 ,
body.path-programme footer svg .st0 
{
	fill: #fff;
}

body.path-node footer svg .st1 ,
body footer svg .st1 ,
body.path-programme footer svg .st1 
{
	fill: #fff;
}

body.path-frontpage .site-header__bar svg .st0 
{
	fill: #fff;
}

body.path-frontpage .site-header__bar svg .st1 
{
	fill: #fff;
}



.logoheader {
	flex: 0 0 auto;
}

.views-row {
	position: relative;
}

.views-field-field-dateevent {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	padding: 5px 8px;
	z-index: 10;
}

.views-field-field-dateevent .field-content {
	display: block;
}

.newsletterban {
	background: #DDCDB4;
	width: 100%;
	height: auto;
	text-align: center;
}

.newsletterban a {
	/* #8A7E65 (2.56:1 sur fond #DDCDB4) échouait au contraste WCAG AA —
	   assombri en #5F5645, teinte identique, 4.64:1. */
	color: #5F5645;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding-top: 1%;
	padding-bottom: 1%;
	text-decoration: none;
	font-family: var(--cl-font-body);
	font-size: 1.2em;
}

.newsletterban__icon {
	width: 1.1em;
	height: 1.1em;
	flex-shrink: 0;
}

footer#page-footer-sub.bg-primary {
	background: #8A7E65 !important;
}

footer .col-sm-12.align-items-center:not(.logorsfoot) {
	display: block !important;
}

footer .col-sm-12.align-items-center:last-child {
	text-align: center;
}

footer a,
footer .plandusite,
footer .adressefooter,
footer .adressefooter2 {
	color: white;
}

footer .plandusite {
	font-size: 1.2em;
}

footer svg path.st0 {
	fill: white;
}

footer .col-sm-12.col-xl-4.d-flex.justify-content-center.align-items-center:first-child svg {
	width: auto;
	height: 100px;
	margin-top: 15px;
	display: inline-block;
	vertical-align: top;
}

footer .logorsfoot {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

footer .logorsfoot .adressefooter,
footer .logorsfoot .adressefooter2 {
	text-align: left;
	width: fit-content;
}

.menu-content {
	display: none;
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 0.3s ease-in-out, max-height 0.3s ease-in-out;
}

.menu-content.show {
	display: block;
	opacity: 1;
	max-height: 750px;
}

#menu-decouvrir-domaine,
#menu-musee,
#menu-evenements,
#menu-preparez-votre-visite,
#menu-partenaires {
	background: #DDCDB4;
}

#menu-decouvrir-domaine ul,
#menu-musee ul,
#menu-evenements ul,
#menu-preparez-votre-visite ul,
#menu-partenaires ul {
	list-style-type: none;
	width: 69%;
	height: auto;
	margin: 0 auto;
}

#menu-decouvrir-domaine li,
#menu-musee li,
#menu-evenements li,
#menu-preparez-votre-visite li,
#menu-partenaires li {
	list-style-type: none;
}

#menu-decouvrir-domaine a.nav-link::after,
#menu-musee a.nav-link::after,
#menu-evenements a.nav-link::after,
#menu-preparez-votre-visite a.nav-link::after,
#menu-partenaires a.nav-link::after {
	display: none;
}

#menu-decouvrir-domaine .nav-item,
#menu-musee .nav-item,
#menu-evenements .nav-item,
#menu-preparez-votre-visite .nav-item,
#menu-partenaires .nav-item {
	text-align: left;
}

#menu-decouvrir-domaine .nav-item>a,
#menu-musee .nav-item>a,
#menu-evenements .nav-item>a,
#menu-preparez-votre-visite .nav-item>a,
#menu-partenaires .nav-item>a {
	display: inline;
	justify-content: space-between;
	align-items: center;
	width: 80%;
}

#menu-decouvrir-domaine .expand-btn,
#menu-musee .expand-btn,
#menu-evenements .expand-btn,
#menu-preparez-votre-visite .expand-btn,
#menu-partenaires .expand-btn {
	cursor: pointer;
	margin-left: 10px;
	font-size: 14px;
	user-select: none;
	display: inline-block;
	width: 30px;
	height: 30px;
	text-align: center;
	border: 1px solid #DFDFDF;
	background: rgba(138, 126, 101, 0.6);
}

#menu-decouvrir-domaine .expand-btn:hover,
#menu-musee .expand-btn:hover,
#menu-evenements .expand-btn:hover,
#menu-preparez-votre-visite .expand-btn:hover,
#menu-partenaires .expand-btn:hover {
	border: 1px solid white;
	border-radius: 5px;
}

#menu-decouvrir-domaine .expand-btn::after,
#menu-musee .expand-btn::after,
#menu-evenements .expand-btn::after,
#menu-preparez-votre-visite .expand-btn::after,
#menu-partenaires .expand-btn::after {
	content: "+";
	color: white;
}

#menu-decouvrir-domaine .nav-item.open>a+.expand-btn::after,
#menu-musee .nav-item.open>a+.expand-btn::after,
#menu-evenements .nav-item.open>a+.expand-btn::after,
#menu-preparez-votre-visite .nav-item.open>a+.expand-btn::after,
#menu-partenaires .nav-item.open>a+.expand-btn::after {
	content: "-";
	color: white;
}

#menu-decouvrir-domaine .nav-item>ul,
#menu-musee .nav-item>ul,
#menu-evenements .nav-item>ul,
#menu-preparez-votre-visite .nav-item>ul,
#menu-partenaires .nav-item>ul {
	display: none;
	margin-left: 20px;
}

#menu-decouvrir-domaine .nav-item.open>ul,
#menu-musee .nav-item.open>ul,
#menu-evenements .nav-item.open>ul,
#menu-preparez-votre-visite .nav-item.open>ul,
#menu-partenaires .nav-item.open>ul {
	display: block;
}

#menu-decouvrir-domaine .nav-item>a,
#menu-musee .nav-item>a,
#menu-evenements .nav-item>a,
#menu-preparez-votre-visite .nav-item>a,
#menu-partenaires .nav-item>a {
	padding: 0em;
	font-size: 1.2em;
	line-height: 1.4em;
}

.wrapmenunav {
	width: 80%;
	height: auto;
	margin: 0 auto;
}

#menu-decouvrir-domaine a:hover,
#menu-musee a:hover,
#menu-evenements a:hover,
#menu-preparez-votre-visite a:hover,
#menu-partenaires a:hover {
	border-bottom: 1px solid #8A7E65;
}

/* ==========================================================================
   REFONTE 2026 — page /programme (listing complet des événements)
   Même langage visuel que les cartes de l'agenda en page d'accueil
   (image plein cadre + dégradé + titre serif + date), mais en grille
   uniforme (pas de "grande carte" ici, toutes les vignettes sont égales).
   ========================================================================== */

/* Conteneur général de la page : on centre à 1200px comme le reste du site */
#block-b5subtheme-content {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	padding: 0 1.25rem 3rem;
}

/* --- Formulaire de filtres (Mois / Année / Agenda / Type d'événement) --- */

.view-programme .view-filters {
	background: var(--cl-bg-cream);
	border: 1px solid var(--cl-card-border);
	border-radius: var(--cl-radius);
	padding: 1.5rem;
	margin-bottom: 2rem;
}

.view-programme .views-exposed-form .form--inline {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem;
}

.view-programme .views-exposed-form .form-item {
	margin: 0;
}

.view-programme .views-exposed-form label {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--cl-ink);
	margin-bottom: 0.35rem;
}

.view-programme .views-exposed-form select {
	border: 1px solid var(--cl-card-border);
	border-radius: var(--cl-radius);
	padding: 0.5rem 0.75rem;
	font-family: var(--cl-font-body);
	font-size: 0.9rem;
	background-color: #fff;
	min-width: 190px;
}

.view-programme .views-exposed-form select:focus {
	outline: none;
	border-color: var(--cl-gold-dark);
}

.view-programme .views-exposed-form .form-actions {
	margin: 0;
}

.view-programme .views-exposed-form input[type="submit"] {
	background: var(--cl-gold-dark);
	border: none;
	color: #fff;
	font-family: var(--cl-font-body);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 0.85rem;
	padding: 0.6rem 1.5rem;
	border-radius: var(--cl-radius);
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.view-programme .views-exposed-form input[type="submit"]:hover {
	background: var(--cl-gold-darker);
}

.view-programme .views-exposed-form #edit-reset {
	background: transparent;
	border: 1px solid var(--cl-card-border);
	color: var(--cl-ink);
	text-decoration: none;
	font-size: 0.85rem;
	padding: 0.6rem 1.25rem;
	border-radius: var(--cl-radius);
	display: inline-block;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.view-programme .views-exposed-form #edit-reset:hover {
	border-color: var(--cl-gold-dark);
	color: var(--cl-gold-dark);
}

/* --- Grille de cartes --- */

.view-programme .view-content {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
}

.view-programme .views-row {
	position: relative;
	min-height: 420px;
	border-radius: var(--cl-radius);
	overflow: hidden;
	color: #fff;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.25rem 1.25rem 1.5rem;
}

/* Même technique que les cartes de l'agenda accueil : l'image se cale en
   absolute directement, la chaîne de height:100% est complétée via le
   sélecteur générique sur tous les wrapper intermédiaires. */
.view-programme .views-field-field-mediaimagelegende {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.view-programme .views-field-field-mediaimagelegende * {
	height: 100%;
}

.view-programme .views-field-field-mediaimagelegende img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.view-programme .views-row::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none; /* laisse passer les clics vers le lien de l'image en dessous */
	background: linear-gradient(
		to top,
		rgba(10, 8, 5, 0.92) 0%,
		rgba(10, 8, 5, 0.5) 45%,
		rgba(10, 8, 5, 0.15) 100%
	);
}

.view-programme .views-field-field-titre-accueil,
.view-programme .views-field-field-dateprog {
	position: relative;
	z-index: 2;
}

.view-programme .views-field-field-titre-accueil a {
	font-family: var(--cl-font-display);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
	text-decoration: none;
	display: block;
	margin-bottom: 0.5rem;
}

.view-programme .views-field-field-dateprog {
	font-size: 0.8rem;
	color: #C9C2B2;
	line-height: 1.4;
}

/* Astuce pour gérer plusieurs dates proprement, quel que soit le séparateur
   utilisé côté Views (virgule, espace, <br>...) : on masque tout texte brut
   entre les liens (font-size:0 sur le conteneur), puis on rétablit la taille
   sur chaque lien individuellement et on le passe en display:block pour
   qu'il occupe sa propre ligne. Chaque date-range devient ainsi une ligne
   distincte, sans virgule ni espace parasite visible. */
.view-programme .views-field-field-dateprog .field-content {
	font-size: 0;
}

.view-programme .views-field-field-dateprog a {
	display: block;
	font-size: 0.8rem;
	line-height: 1.4;
	color: inherit;
	text-decoration: none;
	margin-bottom: 0.25rem;
}

.view-programme .views-field-field-dateprog a:last-child {
	margin-bottom: 0;
}

.view-programme .views-field-field-dateprog time {
	color: inherit;
	text-decoration: none;
}

/* --- Responsive --- */

@media screen and (max-width: 1100px) {
	.view-programme .view-content {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 820px) {
	.view-programme .view-content {
		grid-template-columns: repeat(2, 1fr);
	}

	.view-programme .views-exposed-form select {
		flex: 1 1 45%;
		min-width: 0;
	}
}

@media screen and (max-width: 560px) {
	.view-programme .view-content {
		grid-template-columns: 1fr;
	}

	.view-programme .views-exposed-form select {
		flex: 1 1 100%;
	}

	.view-programme .views-exposed-form .form-actions,
	.view-programme .views-exposed-form #edit-reset {
		flex: 1 1 100%;
	}
}




/* PHONE MOBILE */
@media screen and (max-width: 480px) {
	#header-brand {
		flex-wrap: wrap;
		gap: .5rem;
		border-bottom: 1px solid black;
	}

	.searchheader {
		margin-left: 0;
		width: 100%;
		justify-content: flex-end;
	}

	.logoheader {
		flex-basis: 100%;
	}

	.linkheader,
	.rsheader {
		justify-content: flex-end;
	}

	.chalogo {
		position: relative;
		width: 100%;
		height: auto;
		display: block;
		text-align: center;
	}

	.chalogo a {
		display: block;
	}

	.chalogo a svg {
		width: 50%;
		height: auto;
	}

	#header-brand .elemhd {
		display: inline-block;
	}

	#header-brand .logoheader {
		display: none;
	}

	#header-brand .logoheader svg {
		width: 120px;
		height: auto;
	}

	#header-brand .searchheader,
	#header-brand .rsheader {
		width: 100%;
		height: auto;
		text-align: center;
	}

	#header-brand .searchheader svg {
		width: 40px;
		height: auto;
	}

	#header-brand .rsheader a {
		width: 20%;
		height: auto;
		position: relative;
		display: inline-block;
	}

	#une {
		position: relative;
		width: 100%;
		overflow: hidden;
	}

	.svg-container {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		max-height: 400px;
		overflow: hidden;
		background: linear-gradient(to bottom, #8A7E65, transparent);
		z-index: 10;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.svg-container svg {
		width: 60%;
		height: auto;
		max-height: 100%;
		margin-top: 3%;
	}

	.svg-container svg path {
		fill: #FFFFFF;
	}

	.views-element-container {
		position: relative;
		z-index: 5;
	}

	.views-element-container img {
		width: 100%;
		height: auto;
	}

	nav.navbar {
		background: #4A606E !important;
	}

	nav.navbar a {
		color: #FFFFFF;
		text-decoration: none;
		font-size: 1.2em;
		margin-bottom: 3px;
		border-right: 1px solid white;
		padding-left: 10px;
		padding-right: 15px;
		width: 100%;
		display: inline-block;
	}

	nav.navbar .navbar-collapse {
		display: none !important;
		text-align: center;
	}

	nav.navbar .navbar-collapse.show {
		display: block !important;
		text-align: center;
	}

	button.navbar-toggler {
		position: relative;
		margin: 0 auto;
	}

	#actualites .titlearticle {
		width: 80%;
		height: auto;
		margin: 0 auto;
		padding-top: 1%;
		padding-bottom: 1%;
		margin-bottom: 1%;
		border-bottom: 2px solid #6B2B29;
	}

	.view-eventune .view-header {
		width: 80%;
		height: auto;
		margin: 0 auto;
		padding-top: 3%;
		padding-bottom: 1%;
		margin-bottom: 2%;
		border-bottom: 2px solid #6B2B29;
		color: black;
		font-size: 1.4em;
	}

	.view-eventune {
		width: 90%;
		height: auto;
		margin: 0 auto;
		margin-bottom: 8%;
		margin-top: 2%;
	}

	.view-eventune .views-row {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.view-eventune .views-field.views-field-title {
		width: 100%;
		padding: 12px 14px;
		box-sizing: border-box;
		border-left: 3px solid #6B2B29;
	}

	.view-eventune .views-field.views-field-title a {
		color: #FFF;
		text-decoration: none;
		display: block;
	}

    .view-eventune .views-field.views-field-title a:last-child {
        font-size: 2em;
        color: #FFF;
        font-style: italic;
        line-height: 1.4;
    }

	.view-eventune .views-field.views-field-title .field-content {
		white-space: normal;
	}

	.view-eventune .views-field.views-field-field-mediaimage {
		width: 100%;
	}

	.view-eventune .views-field.views-field-field-mediaimage img {
		width: 100%;
		height: 200px;
		object-fit: cover;
		display: block;
	}

	#actualites .titlearticle a,
	.view-eventune .view-header {
		color: black;
		text-decoration: none;
		font-size: 2em;
	}

	.lastarticle .view-lastprog {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}

	.lastarticle .view-lastprog .views-row {
		position: relative;
		width: calc(100% - 20px);
		box-sizing: border-box;
		display: inline-block;
		vertical-align: top;
	}

	.lastarticle .view-lastprog .view-content {
		width: 80%;
		height: auto;
		margin: 0 auto;
	}

	.lastarticle .view-lastprog .views-field-field-mediaimage,
	.lastarticle .view-lastprog .views-field-field-mediaimagelegende {
		position: relative;
		width: 100%;
	}

	.lastarticle .view-lastprog .views-field-field-mediaimage .field-content,
	.lastarticle .view-lastprog .views-field-field-mediaimagelegende .field-content {
		position: relative;
		display: block;
	}

	.lastarticle .view-lastprog .views-field-field-mediaimage img,
	.lastarticle .view-lastprog .views-field-field-mediaimagelegende img {
		border-radius: 10px;
	}

	.lastarticle .view-lastprog .dateeventfront {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
		color: white;
		padding: 5px;
		text-align: center;
		z-index: 2;
		border-radius: 10px;
	}

	.lastarticle .view-lastprog .dateeventfront a {
		color: white;
		font-size: 1.3rem;
		text-decoration: none;
	}

	.lastarticle .view-lastprog .dateeventfront time {
		display: inline-block;
		font-size: 1.3rem;
	}

	.lastarticle .view-lastprog .views-field-title-2,
	.lastarticle .view-lastprog .views-field-field-titre-accueil {
		position: relative;
		margin-top: 15px;
		padding: 0 10px;
	}

	.lastarticle .view-lastprog .views-field-title-2 .field-content,
	.lastarticle .view-lastprog .views-field-field-titre-accueil .field-content {
		display: block;
		text-align: left;
	}

	.lastarticle .view-lastprog .views-field-title-2 a,
	.lastarticle .view-lastprog .views-field-field-titre-accueil a {
		color: black;
		text-decoration: none;
	}

	body.page-node-type-programmation .field--name-field-mediaimagelegende {
		width:100%;
		height:auto;
		text-align:center;
		margin-top:5%;
		margin-bottom:5%;
	}

	body.page-node-type-programmation .field--name-field-dateprog {
		background: #8A7E65;
		color: #FFFFFF;
		font-size: 2em;
		padding: 1%;
	}

	body.page-node-type-programmation .field--name-field-horaires .field__item {
		display: flex;
		align-items: center;
	}

	body.page-node-type-programmation .field--name-field-horaires .field__item:before {
		content: '\1F551';
		font-size: 1em;
		margin-right: 8px;
	}

	body.page-node-type-programmation .field--name-field-horaires {
		background: #EAEAEA;
		color: black;
		font-size: 1em;
		padding: 2%;
		position: relative;
		left: -10px;
		vertical-align: top;
	}

	body.page-node-type-programmation .field--name-field-dateprog,
	body.page-node-type-programmation .field--name-field-horaires {
		display: inline-block;
		width: 100%;
		position: relative;
		left: 0;
	}

	#actualites .titlearticle a 
	{
	  display: block;
	}
	
	#actualites .titlearticle a span {
	  font-size: 0.5em;
	  width:100%;
	  display:block;
	}
}


/* TABLETTE */
@media screen and (min-width: 481px) and (max-width: 960px) {
	#header-brand {
		flex-wrap: wrap;
		gap: .5rem;
		border-bottom: 1px solid black;
	}

	.searchheader {
		margin-left: 0;
		width: 100%;
		justify-content: flex-end;
	}

	.logoheader {
		flex-basis: 100%;
	}

	.linkheader,
	.rsheader {
		justify-content: flex-end;
	}

	.chalogo {
		position: relative;
		width: 100%;
		height: auto;
		display: block;
		text-align: center;
	}

	.chalogo svg {
		width: 50%;
		height: auto;
	}

	#header-brand .elemhd {
		display: inline-block;
	}

	#header-brand .logoheader {
		display: none;
	}

	#header-brand .logoheader svg {
		width: 120px;
		height: auto;
	}

	#header-brand .searchheader {
		width: 24%;
		height: auto;
		text-align: center;
		display: inline-block;
	}

	#header-brand .rsheader {
		width: 74%;
		height: auto;
		text-align: center;
		display: inline-block;
	}

	#header-brand .rsheader a {
		width: 31%;
		height: auto;
		display: inline-block;
	}

	#header-brand .rsheader svg {
		width: 31%;
		height: auto;
	}

	#header-brand .searchheader svg {
		width: 35%;
		height: auto;
	}

	button.navbar-toggler {
		position: relative;
		margin: 0 auto;
	}

	#une {
		position: relative;
		width: 100%;
		overflow: hidden;
	}

	.svg-container {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		max-height: 400px;
		overflow: hidden;
		background: linear-gradient(to bottom, #8A7E65, transparent);
		z-index: 10;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.svg-container svg {
		width: 20%;
		height: auto;
		max-height: 100%;
		margin-top: 3%;
	}

	.svg-container svg path {
		fill: #FFFFFF;
	}

	.views-element-container {
		position: relative;
		z-index: 5;
	}

	.views-element-container img {
		width: 100%;
		height: auto;
	}

	nav.navbar {
		background: #4A606E !important;
	}

	nav.navbar a {
		color: #FFFFFF;
		text-decoration: none;
		border-right: 1px solid white;
		padding-left: 10px;
		padding-right: 15px;
	}

	nav.navbar .navbar-collapse {
		display: none !important;
		text-align: center;
	}

	nav.navbar .navbar-collapse.show {
		display: block !important;
		text-align: center;
	}

	#actualites .titlearticle {
		width: 80%;
		height: auto;
		margin: 0 auto;
		padding-top: 1%;
		padding-bottom: 1%;
		margin-bottom: 1%;
		border-bottom: 2px solid #6B2B29;
	}

	#actualites .titlearticle a {
		color: black;
		text-decoration: none;
		font-size: 2em;
	}

	.view-eventune .view-header {
		width: 90%;
		height: auto;
		margin: 0 auto;
		padding-top: 2%;
		padding-bottom: 1%;
		margin-bottom: 2%;
		border-bottom: 2px solid #6B2B29;
		color: black;
		font-size: 1.4em;
	}

	.view-eventune {
		width: 90%;
		height: auto;
		margin: 0 auto;
		margin-bottom: 6%;
		margin-top: 2%;
	}

	.view-eventune .views-row {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.view-eventune .views-field.views-field-title {
		width: 100%;
		padding: 16px 20px;
		box-sizing: border-box;
		border-left: 3px solid #6B2B29;
	}

	.view-eventune .views-field.views-field-title a {
		color: #FFF;
		text-decoration: none;
		display: block;
		font-size:2em;
	}

	.view-eventune .views-field.views-field-title a:first-child {
		font-size: 2em;
		font-weight: 600;
		line-height: 1.3;
		margin-bottom: 8px;
		color: #FFF;
	}

	.view-eventune .views-field.views-field-title a:last-child {
		font-size: 2em;
		color: #FFF;
		font-style: italic;
		line-height: 1.4;
	}

	.view-eventune .views-field.views-field-title .field-content {
		white-space: normal;
	}

	.view-eventune .views-field.views-field-field-mediaimage {
		width: 100%;
	}

	.view-eventune .views-field.views-field-field-mediaimage img {
		width: 100%;
		height: 240px;
		object-fit: cover;
		display: block;
	}

	.lastarticle .view-lastprog {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}

	.lastarticle .view-lastprog .views-row {
		position: relative;
		width: calc(49% - 20px);
		box-sizing: border-box;
		display: inline-block;
		vertical-align: top;
	}

	.lastarticle .view-lastprog .view-content {
		width: 80%;
		height: auto;
		margin: 0 auto;
	}

	.lastarticle .view-lastprog .views-field-field-mediaimage,
	.lastarticle .view-lastprog .views-field-field-mediaimagelegende {
		position: relative;
		width: 100%;
	}

	.lastarticle .view-lastprog .views-field-field-mediaimage .field-content,
	.lastarticle .view-lastprog .views-field-field-mediaimagelegende .field-content {
		position: relative;
		display: block;
	}

	.lastarticle .view-lastprog .views-field-field-mediaimage img,
	.lastarticle .view-lastprog .views-field-field-mediaimagelegende img {
		border-radius: 10px;
	}

	.lastarticle .view-lastprog .dateeventfront {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
		color: white;
		padding: 5px;
		text-align: center;
		z-index: 2;
		border-radius: 10px;
	}

	.lastarticle .view-lastprog .dateeventfront a {
		color: white;
		font-size: 1.3rem;
		text-decoration: none;
	}

	.lastarticle .view-lastprog .dateeventfront time {
		display: inline-block;
		font-size: 1.3rem;
	}

	.lastarticle .view-lastprog .views-field-title-2,
	.lastarticle .view-lastprog .views-field-field-titre-accueil {
		position: relative;
		margin-top: 15px;
		padding: 0 10px;
	}

	.lastarticle .view-lastprog .views-field-title-2 .field-content,
	.lastarticle .view-lastprog .views-field-field-titre-accueil .field-content {
		display: block;
		text-align: left;
	}

	.lastarticle .view-lastprog .views-field-title-2 a,
	.lastarticle .view-lastprog .views-field-field-titre-accueil a {
		color: black;
		text-decoration: none;
	}

	body.page-node-type-programmation .field--name-field-mediaimagelegende {
		width:100%;
		height:auto;
		text-align:center;
		margin-top:5%;
		margin-bottom:5%;
	}

	body.page-node-type-programmation .field--name-field-dateprog {
		background: #8A7E65;
		color: #FFFFFF;
		font-size: 2em;
		padding: 1%;
	}

	body.page-node-type-programmation .field--name-field-horaires .field__item {
		display: flex;
		align-items: center;
	}

	body.page-node-type-programmation .field--name-field-horaires .field__item:before {
		content: '\1F551';
		font-size: 1em;
		margin-right: 8px;
	}

	body.page-node-type-programmation .field--name-field-horaires {
		background: #EAEAEA;
		color: black;
		font-size: 1em;
		padding: 2%;
		position: relative;
		left: -10px;
		vertical-align: top;
	}

	body.page-node-type-programmation .field--name-field-dateprog,
	body.page-node-type-programmation .field--name-field-horaires {
		display: inline-block;
		width: 100%;
		position: relative;
		left: 0;
	}


	#actualites .titlearticle a 
	{
	  display: block;
	}
	
	#actualites .titlearticle a span {
	  font-size: 0.5em;
	  width:100%;
	  display:block;
	}
}

/* PC ORDI */
@media screen and (min-width: 961px) {
	main {
		margin-top: 3%;
	}

	#header-brand .elemhd svg {
		fill: #4a606e;
	}

	nav.navbar {
		background: #a4afb6 !important;
	}

	nav.navbar a {
		color: #FFFFFF;
		text-decoration: none;
		border-right: 1px solid white;
		padding-left: 10px;
		padding-right: 15px;
	}

	nav.navbar .navbar-collapse {
		display: block !important;
		text-align: center;
	}

	#actualites .titlearticle {
		width: 80%;
		height: auto;
		margin: 0 auto;
		padding-top: 1%;
		padding-bottom: 1%;
		margin-bottom: 1%;
		border-bottom: 1px solid #6B2B29;
	}

	#actualites .titlearticle a {
		color: black;
		text-decoration: none;
		font-size: 2em;
	}

	.view-eventune {
		width: 100%;
		display: block;
		margin: 0 auto;
	}

	.view-eventune .view-header {
		width: 100%;
		padding-top: 1%;
		padding-bottom: 1%;
		margin-bottom: 2%;
		border-bottom: 2px solid #6B2B29;
		color: black;
		font-size: 1.6em;
	}

	.view-eventune .views-row {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 0;
	}

	.view-eventune .views-field.views-field-title {
		flex: 1;
		padding: 20px 0px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.view-eventune .views-field.views-field-title a {
		color: #1d1d1b;
		text-decoration: none;
		display: block;
	}

	.view-eventune .views-field.views-field-title a:first-child {
		font-size: 1.1em;
		font-weight: 600;
		line-height: 1.3;
		margin-bottom: 10px;
		color: #6B2B29;
	}

	.view-eventune .views-field.views-field-title a:last-child {
		font-size: 2em;
		color: #FFF;
		line-height: 1.4;
	}

	.view-eventune .views-field.views-field-title .field-content {
		white-space: normal;
	}

	.view-eventune .views-field.views-field-field-mediaimage {
		flex-shrink: 0;
		width: 240px;
	}

	.view-eventune .views-field.views-field-field-mediaimage img {
		width: 240px;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	.lastarticle .view-lastprog {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}

	.lastarticle .view-lastprog .views-row {
		position: relative;
		width: 20%;
		box-sizing: border-box;
		display: inline-block;
		vertical-align: top;
		margin: 0 1%;
	}

	.lastarticle .view-lastprog .view-content {
		width: 80%;
		height: auto;
		margin: 0 auto;
		text-align: center;
	}

	.lastarticle .view-lastprog .views-field-field-mediaimage,
	.lastarticle .view-lastprog .views-field-field-mediaimagelegende {
		position: relative;
		width: 100%;
	}

	.lastarticle .view-lastprog .views-field-field-mediaimage .field-content,
	.lastarticle .view-lastprog .views-field-field-mediaimagelegende .field-content {
		position: relative;
		display: block;
	}

	.lastarticle .view-lastprog .dateeventfront {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
		color: white;
		padding: 5px;
		text-align: center;
		z-index: 2;
	}

	.lastarticle .view-lastprog .dateeventfront a {
		color: white;
		font-size: 1.3rem;
		text-decoration: none;
	}

	.lastarticle .view-lastprog .dateeventfront time {
		display: inline-block;
		font-size: 1.5rem;
	}

	.lastarticle .view-lastprog .views-field-title-2,
	.lastarticle .view-lastprog .views-field-field-titre-accueil {
		position: relative;
		margin-top: 15px;
		padding: 0 10px;
	}

	.lastarticle .view-lastprog .views-field-title-2 .field-content,
	.lastarticle .view-lastprog .views-field-field-titre-accueil .field-content {
		display: block;
		text-align: left;
	}

	.lastarticle .view-lastprog .views-field-title-2 a,
	.lastarticle .view-lastprog .views-field-field-titre-accueil a {
		color: black;
		text-decoration: none;
	}

	.lastarticle {
		position: relative;
		z-index: 1;
	}

	.lastarticle::before {
		content: "";
		position: absolute;
		left: 50%;
		width: 100%;
		height: 200px;
		top: 35%;
		transform: translate(-50%, -50%);
		background: rgba(74, 96, 110, 0.5);
		z-index: -1;
	}

	body.page-node-type-programmation .paragraph--type--imagelegende{
		width:31%;
		height:auto;
		float: right;
		padding: 0 2%;
		margin-bottom:2%;
		margin-left:2%;
		text-align: center;
		position:relative;
		top:8px;
	}
	
	.paragraph--type--imagelegende .field--name-field-mediaimage
	{
		width:100%;
		height:auto;
		display:inline-block;
	}

	/* Nouveau conteneur (node--programmation--full.html.twig) qui regroupe
	   field_dateprog + field_horaires — align-items:stretch égalise leur
	   hauteur automatiquement, quel que soit le nombre de dates. */
	.date-horaires-wrap {
		display: flex;
		align-items: stretch;
		gap: 2px;
	}

	body.page-node-type-programmation .field--name-field-dateprog,
	body.page-node-type-programmation .field--name-field-horaires {
		display: flex;
		/* flex-direction:column : par défaut un flex container aligne ses
		   enfants en ligne. Avec un champ date-range multi-valeurs
		   (plusieurs .field__item), ça les collait côte à côte sans espace.
		   En colonne, chaque valeur s'empile proprement sur sa propre ligne. */
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
	}

	body.page-node-type-programmation .field--name-field-dateprog {
		background: #8A7E65;
		color: #FFFFFF;
		font-size: 1em;
		padding: 2%;
	}

	body.page-node-type-programmation .field--name-field-horaires {
		background: #EAEAEA;
		color: black;
		font-size: 1em;
		padding: 2%;
		/* Les anciens position:relative; left:-7px; padding-top:24px;
		   margin-bottom:-1% ont été retirés : c'étaient des rustines pour
		   compenser l'absence de conteneur commun avec .field--name-field-dateprog.
		   Devenues inutiles (et gênantes) maintenant que .date-horaires-wrap
		   aligne proprement les deux blocs. */
	}

	body.page-node-type-programmation .field--name-body {
		margin-top: 2%;
	}

	body.page-node-type-programmation .field--name-field-horaires .field__item {
		display: flex;
		align-items: center;
	}

	body.page-node-type-programmation .field--name-field-horaires .field__item:before {
		content: '\1F551';
		font-size: 1em;
		margin-right: 8px;
	}

	.order-1.order-lg-2.col-12.col-lg-9
	{
		padding-right:2%;
	}
	
	#actualites .titlearticle a {
	  display: flex;
	  justify-content: space-between;
	  align-items: baseline;
	}

	#actualites .titlearticle a span {
	  font-size: 0.5em;
	}

}


/* ==========================================================================
   REFONTE 2026 — nouveau header, footer, tokens
   Tout ce qui suit est nouveau. Rien au-dessus n'a été modifié.
   ========================================================================== */

:root {
	--cl-bg-cream: #F5F0E6;
	--cl-ink: #2B2A26;
	--cl-gold: #C9973B;
	/* --cl-gold-dark assombri de #B07F2E à #846226 (audit contraste WCAG 2.1) :
	   l'ancienne valeur ne passait pas 4.5:1 en texte normal sur blanc/crème
	   (3.55:1 / 3.12:1). #846226 passe 5.59:1 / 4.92:1. --cl-gold (inchangé)
	   reste utilisé en texte/icône sur fond sombre uniquement (hero, footer,
	   cartes agenda), où il passe déjà largement (6.4:1+). */
	--cl-gold-dark: #846226;
	/* Teinte hover des boutons dont le défaut est passé à --cl-gold-dark
	   (sinon défaut et hover seraient identiques). */
	--cl-gold-darker: #6B4F1D;
	--cl-overlay-dark: rgba(20, 16, 10, 0.55);
	--cl-footer-bg: #211C17;
	--cl-card-border: #E4DCC9;
	--cl-font-body: "Barlow", sans-serif;
	--cl-font-display: "Montserrat", sans-serif;
	--cl-radius: 4px;
	--cl-container-max: 1200px;
}

/* --------------------------- HEADER --------------------------- */

.site-header {
	background: #ffffff;
	/* z-index abaissé de 1030 à 100 : la barre d'administration Drupal
	   (Toolbar / Admin Toolbar) tourne autour de z-index 500-600 pour ses
	   menus déroulants. Avec 1030, notre header (frère de la toolbar dans
	   le DOM, pas un enfant) passait par-dessus ces menus. 100 reste très
	   au-dessus du contenu normal de page (z-index:auto par défaut) tout
	   en laissant l'admin toolbar s'afficher correctement par-dessus. */
	z-index: 100;
	border-bottom: 1px solid var(--cl-card-border);
}

.site-header__inner {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 0.75rem 1.25rem;
}

.site-header__logo svg {
	width: 200px;
	height: auto;
	display: block;
}

.site-header__logo svg path{
	fill:white;
}

.site-header__nav {
	flex: 1 1 auto;
	justify-content: center;
}

.site-header__menu {
	list-style: none;
	display: flex;
	gap: 1.75rem;
	margin: 0;
	padding: 0;
}

.site-header__menu .dropdown-toggle {
	background: none;
	border: none;
	font-family: var(--cl-font-body);
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--cl-ink);
	cursor: pointer;
	text-decoration:none;
}

.site-header__menu .dropdown-toggle::after {
	display: none;
}

.site-header__menu .dropdown-toggle:hover,
.site-header__menu .dropdown-toggle[aria-expanded="true"] {
	color: var(--cl-gold-dark);
}

.site-header__menu .dropdown-menu {
	border: 1px solid var(--cl-card-border);
	border-radius: var(--cl-radius);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	padding: 0.5rem 0;
	margin-top: 0.5rem;
}

.site-header__menu .dropdown-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-header__menu .dropdown-menu a {
	display: block;
	padding: 0.5rem 1.25rem;
	color: var(--cl-ink);
	text-decoration: none;
	font-size: 0.9rem;
}

.site-header__menu .dropdown-menu a:hover {
	background: var(--cl-bg-cream);
	color: var(--cl-gold-dark);
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.site-header__search svg {
	width: 25px;
	height: 25px;
	fill: var(--cl-ink);
}

.btn-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--cl-gold-dark);
	color: #fff !important;
	font-family: var(--cl-font-body);
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-decoration: none;
	padding: 0.65rem 1.25rem;
	border-radius: var(--cl-radius);
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

.btn-cta:hover {
	background: var(--cl-gold-darker);
	color: #fff;
}

.btn-cta svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.btn-cta--block {
	display: flex;
	justify-content: center;
	margin: 1rem;
}

.site-header__toggler {
	background: none;
	border: none;
	width: 32px;
	height: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 0;
}

.site-header__toggler span {
	display: block;
	height: 2px;
	background: var(--cl-ink);
	border-radius: 1px;
}

/* Menu mobile (accordéon Bootstrap natif) */
#mobileNav {
	background: var(--cl-bg-cream);
}

#mobileNav .accordion-button {
	font-family: var(--cl-font-body);
	text-transform: uppercase;
	font-size: 0.95rem;
	background: transparent;
	box-shadow: none;
}

#mobileNav .accordion-button:not(.collapsed) {
	color: var(--cl-gold-dark);
	background: transparent;
	box-shadow: none;
}

#mobileNav .accordion-body ul {
	list-style: none;
	padding-left: 0.5rem;
	margin: 0;
}

#mobileNav .accordion-body a {
	display: block;
	padding: 0.4rem 0;
	color: var(--cl-ink);
	text-decoration: none;
}

/* --------------------------- FOOTER --------------------------- */

.site-footer {
	background: var(--cl-footer-bg);
	color: #EDE7DA;
	padding: 3rem 1.25rem 0;
}

.site-footer__inner {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1.4fr;
	gap: 2rem;
	padding-bottom: 2.5rem;
}

.site-footer__logo svg {
	width: 230px;
	height: auto;
	margin-bottom: 1rem;
}

/* Cible précisément le SVG du logo footer via son ID (id="LogoFooter"),
   plutôt qu'un sélecteur universel sur .site-footer__logo svg — évite de
   toucher un autre SVG qui vivrait par erreur dans ce même conteneur. */
#LogoFooter * {
	fill: #fff !important;
	stroke: #fff !important;
}

.footadresse p {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 20px;
}

.site-footer__icon {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    color: #d9a441; /* couleur orange/dorée de la maquette */
}

.site-footer__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.site-footer__text,
.site-footer__phone a {
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
}

.site-footer__phone a {
    text-decoration: none;
}

.site-footer__col a.footcontact {
    color: #FFF;
	text-decoration:none;
	border-bottom: 1px solid #b07f2e;
}

.site-footer__phone a:hover {
    text-decoration: underline;
}

/* Lien "Nous écrire" avec soulignement doré */
.site-footer__link {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    border-bottom: 2px solid #d9a441;
    padding-bottom: 4px;
}

.site-footer__link:hover {
    color: #d9a441;
}

.site-footer__address,
.site-footer__phone {
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
	color: #EDE7DA;
	line-height: 1.5;
}

.site-footer__phone a {
	color: #EDE7DA;
	text-decoration: none;
}

.site-footer__social {
	display: flex;
	gap: 0.75rem;
	margin-top: 1rem;
}

.site-footer__social svg {
	width: 18px;
	height: 18px;
	fill: #EDE7DA;
}

.site-footer__social a {
	width: 34px;
	height: 34px;
	border: 1px solid rgba(237, 231, 218, 0.35);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.site-footer__social a:hover {
	border-color: var(--cl-gold);
	background: rgba(201, 151, 59, 0.15);
}

.site-footer__title {
	font-family: var(--cl-font-body);
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #fff;
	margin-bottom: 1rem;
}

.site-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-footer__links li {
	margin-bottom: 0.6rem;
}

.site-footer__links a {
	color: #C9C2B2;
	text-decoration: none;
	font-size: 0.9rem;
}

.site-footer__links a:hover {
	color: var(--cl-gold);
	text-decoration: underline;
}

.site-footer__bottom {
	border-top: 1px solid rgba(237, 231, 218, 0.15);
	padding: 1rem 1.25rem;
}

.site-footer__bottom-inner {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: #9A9082;
}

.site-footer__cd54 {
	color: #9A9082;
	text-decoration: none;
}

.site-footer__cd54:hover {
	color: var(--cl-gold);
}

@media screen and (max-width: 900px) {
	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__col--brand {
		grid-column: 1 / -1;
	}
}

@media screen and (max-width: 560px) {
	.site-footer__inner {
		grid-template-columns: 1fr;
	}

	.site-footer__bottom-inner {
		flex-direction: column;
		text-align: center;
	}
}


/* ==========================================================================
   REFONTE 2026 — page--front (hero, quick-links, domaine, agenda, why-visit)
   ========================================================================== */

/* Le hero (image, scrim, titre, CTA) vit maintenant dans header.html.twig
   sous .site-header--hero / .site-header__hero-* — voir plus haut dans ce
   fichier. Rien à faire ici. */

/* --- sections communes --- */

.section-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.8rem;
	color: var(--cl-gold-dark);
	margin-bottom: 0.25rem;
}

.section-title {
	font-family: var(--cl-font-display);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	color: var(--cl-ink);
	margin: 0 0 1rem;
}

/* --- quick-links (Préparer ma visite) --- */

.quick-links {
	background: var(--cl-bg-cream);
	padding: 3rem 1.25rem;
}

.quick-links__inner {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	text-align: left;
}

.quick-links__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin: 1.5rem 0;
}

.quick-card {
	background: #fff;
	border: 1px solid var(--cl-card-border);
	border-radius: var(--cl-radius);
	padding: 1.75rem 1.25rem;
	text-align: center;
	text-decoration: none;
	color: var(--cl-ink);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.quick-card:hover {
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.quick-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--cl-bg-cream);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	color: var(--cl-gold-dark);
}

.quick-card__icon svg {
	width: 22px;
	height: 22px;
}

.quick-card__label {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.85rem;
	letter-spacing: 0.03em;
	margin-bottom: 0.4rem;
}

.quick-card__desc {
	font-size: 0.8rem;
	color: #6b6459;
}

.quick-links__more {
	display: inline-block;
	color: var(--cl-gold-dark);
	text-decoration: none;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.quick-links__more:hover {
	text-decoration: underline;
}

/* --- domaine --- */

.domaine {
	/* Le grid 2 colonnes vit maintenant sur .domain_wrap (voir plus bas) —
	   .domaine reste le simple conteneur plein-largeur. Le padding horizontal
	   garantit la même marge mini que .agenda/.quick-links sous 1200px de
	   large (sinon domain_wrap colle au bord de la fenêtre pendant que les
	   autres sections gardent leur 1.25rem, d'où le micro-décalage visible
	   aux largeurs intermédiaires). */
	padding: 0 1.25rem;
}

.domain_wrap {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 0;
}

.domaine__text {
	padding: 3rem 3rem 3rem 0;
	max-width: 560px;
	margin: 0;
}

.domaine__desc {
	color: #4a463d;
	line-height: 1.6;
	margin-bottom: 1.5rem;
}

.domaine__media img {
	width: 100%;
	height: 100%;
	min-height: 380px;
	object-fit: cover;
	display: block;
}

/* --- agenda --- */

.agenda {
	padding: 3rem 1.25rem;
}

.agenda__wrap {
	max-width: var(--cl-container-max);
	margin: 0 auto;
}

.agenda__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.agenda__more {
	color: var(--cl-gold-dark);
	text-decoration: none;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.agenda__grid {
	display: grid;
	grid-template-columns: 50% 48%;
	gap: 1.5rem;
	margin-top: 1.5rem;
	align-items: stretch;
}

.agenda__featured,
.agenda__list {
	min-height: 380px;
}

@media screen and (max-width: 900px) {
	.agenda__grid {
		grid-template-columns: 1fr;
	}
}

/* ---- Carte "à la une" (vue eventune) ---- */

.agenda__featured .view-eventune {
	height: 100%;
}

.agenda__featured .view-eventune a{
	text-decoration:none;
	display:block;
	color:white;
}

.agenda__featured .view-header {
	display: none; /* le titre "À la une" par défaut de la vue, on garde le nôtre (.agenda__header) */
}

.agenda__featured .views-row {
	position: relative;
	height: 100%;
	min-height: 380px;
	border-radius: var(--cl-radius);
	overflow: hidden;
	color: #fff;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1em;
	padding-left: 2em;
}

/* L'image n'est plus enveloppée dans un <a> pour cette vue (contrairement
   à lastprog) — elle vient directement dans son propre champ. */
.agenda__featured .views-field-field-mediaimagelegende {
	position: absolute;
	inset: 0;
	z-index: 0;
}

/* Complète la chaîne de hauteur à travers tous les <div> wrapper
   intermédiaires générés par Drupal (field-content, paragraph,
   field--name-field-mediaimage...), quel que soit leur nombre exact. */
.agenda__featured .views-field-field-mediaimagelegende * {
	height: 100%;
}

.agenda__featured .views-field-field-mediaimagelegende img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.agenda__featured .views-row::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none; /* laisse passer les clics vers le lien de l'image en dessous */
	/* 2 dégradés superposés : le premier (gauche→droite, sombre→transparent)
	   couvre toute la hauteur pour que le texte reste lisible quelle que
	   soit sa position verticale ; le second (bas→haut) renforce encore
	   la zone où le texte est ancré (voir justify-content:flex-end
	   sur .views-row). */
	background:
		linear-gradient(
			to right,
			rgba(10, 8, 5, 0.9) 0%,
			rgba(10, 8, 5, 0.55) 45%,
			rgba(10, 8, 5, 0) 85%
		),
		linear-gradient(
			to top,
			rgba(10, 8, 5, 0.85) 0%,
			rgba(10, 8, 5, 0.4) 45%,
			rgba(10, 8, 5, 0.1) 100%
		);
}

/* Les 4 champs texte sont maintenant des divs frères (pas imbriqués) :
   catégorie, titre, date, corps — dans cet ordre, empilés en bas de la
   carte grâce au flex-direction:column + justify-content:flex-end sur
   .views-row. On les passe juste au-dessus du dégradé (z-index). */
.agenda__featured .views-field-field-type-d-evenement,
.agenda__featured .views-field-title,
.agenda__featured .views-field-field-dateprog,
.agenda__featured .views-field-nothing,
.agenda__featured .views-field-body {
	position: relative;
	z-index: 2;
}

.agenda__featured .views-field-nothing {
	display: block;
	margin-top: 0.5rem;
	color: var(--cl-gold) !important;
	text-transform: uppercase;
	font-size: 0.8rem !important;
	letter-spacing: 0.03em;
	font-style: normal !important;
}

.agenda__featured .views-field-nothing a{
	color: var(--cl-gold) !important;
}

.agenda__featured .views-field-field-type-d-evenement {
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.03em;
	color: var(--cl-gold);
	margin-bottom: 0.5rem;
}

.agenda__featured .views-field-title a {
	font-family: var(--cl-font-display);
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.15;
	color: #fff;
	text-decoration: none;
	display: block;
	margin-bottom: 0.5rem;
}

.agenda__featured .views-field-field-dateprog {
	font-size: 0.8rem;
	color: #E4DCC9;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin-bottom: 0.75rem;
}

/* Même astuce que sur /programme : masquer le séparateur brut entre les
   liens de date, empiler chaque date-range sur sa propre ligne. */
.agenda__featured .views-field-field-dateprog .field-content {
	font-size: 0;
}

.agenda__featured .views-field-field-dateprog a {
	display: block;
	font-size: 0.8rem;
	line-height: 1.4;
	color: inherit;
	text-decoration: none;
	margin-bottom: 0.2rem;
}

.agenda__featured .views-field-field-dateprog a:last-child {
	margin-bottom: 0;
}

/* Le corps du champ "body" vient avec des styles collés en ligne
   (copié-collé Word probablement) : color, font-family, font-size sur
   chaque <p>/<em>. Un style="" HTML ne peut être battu qu'avec !important —
   d'où ces overrides un peu lourds. Le vrai fix serait de nettoyer le
   champ body à la source (coller en texte brut plutôt que depuis Word). */
.agenda__featured .views-field-body,
.agenda__featured .views-field-body * {
	color: #E4DCC9 !important;
	font-family: var(--cl-font-body) !important;
	font-size: 0.85rem !important;
	line-height: 1.5 !important;
	background-color: transparent !important;
	text-align: left !important;
}

.agenda__featured .views-field-body {
	max-width: 46ch;
}

.agenda__featured .views-field-body p {
	margin: 0 0 0.4rem !important;
}

.agenda__featured .views-field-body em {
	font-style: italic !important;
}

/* ---- Les 3 petites vignettes (vue lastprog) ---- */

/* .views-row sont les enfants DIRECTS de .view-content (confirmé dans le
   HTML réel), donc une grille normale ici suffit — pas besoin du hack
   display:contents qui ne remontait pas au-delà de .view/.views-element-container. */
.agenda__list .views-element-container,
.agenda__list .view-lastprog {
	height: 100%;
}

.agenda__list .view-content {
	height: auto;
}

.agenda__list .view-content {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.agenda__list .views-row {
	position: relative;
	height: 100%;
	min-height: 380px;
	border-radius: var(--cl-radius);
	overflow: hidden;
	color: #fff;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	/* Catégorie/titre/date sont tous les 3 en flux normal (position:relative),
	   empilés naturellement par ce flex-column — plus besoin de réserver
	   une hauteur fixe en bas, la carte s'adapte d'elle-même à 1 ou
	   plusieurs lignes de date. */
	padding: 1.25rem;
}

.agenda__list .views-field-field-mediaimagelegende {
	position: absolute;
	inset: 0;
	z-index: 0;
}

/* Complète la chaîne de hauteur à travers tous les <div> wrapper
   intermédiaires générés par Drupal (field-content, <a>, paragraph,
   field--name-field-mediaimage...), quel que soit leur nombre exact. */
.agenda__list .views-field-field-mediaimagelegende * {
	height: 100%;
}

.agenda__list .views-field-field-mediaimagelegende img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.agenda__list .views-row::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none; /* laisse passer les clics vers le lien de l'image en dessous */
	background: linear-gradient(
		to top,
		rgba(10, 8, 5, 0.92) 0%,
		rgba(10, 8, 5, 0.55) 40%,
		rgba(10, 8, 5, 0.3) 100%
	);
}

@media screen and (max-width: 900px) {
	.agenda__grid {
		grid-template-columns: 1fr;
	}
	
	.agenda__list
	{
		margin: 0 auto;
		position: relative;
		width: 90%;
		height:auto;
	}
}

@media screen and (max-width: 640px) {
	.agenda__list .view-content {
		grid-template-columns: 1fr;
	}
	
	.agenda__list .views-row
	{
		width:100%;
		height:auto;
		min-height: auto;
	}
	
	.agenda__list .view-content 
	{
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 1rem;
	}
}

/* Catégorie + titre : flux normal, empilés naturellement par le flex de
   .views-row ci-dessus. Plus de bottom:Xrem fixe → plus de chevauchement
   possible si le titre fait 2 lignes. */
.agenda__list .views-field-field-type-d-evenement,
.agenda__list .views-field-field-titre-accueil,
.agenda__list .views-field-field-dateprog {
	position: relative;
	z-index: 2;
}

.agenda__list .views-field-field-type-d-evenement {
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	color: var(--cl-gold);
	margin-bottom: 0.35rem;
}

.agenda__list .views-field-field-titre-accueil a {
	font-family: var(--cl-font-display);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	text-decoration: none;
}

.agenda__list .views-field-field-dateprog {
	margin-top: 0.5rem;
	color: #C9C2B2;
	font-size: 0.8rem;
	line-height: 1.4;
}

/* Même astuce que sur les 2 autres cartes : masquer le séparateur brut
   entre les liens de date, empiler chaque date-range sur sa propre ligne. */
.agenda__list .views-field-field-dateprog .field-content {
	font-size: 0;
}

.agenda__list .views-field-field-dateprog a {
	display: block;
	font-size: 0.8rem;
	line-height: 1.4;
	color: inherit;
	text-decoration: none;
	margin-bottom: 0.2rem;
}

.agenda__list .views-field-field-dateprog a:last-child {
	margin-bottom: 0;
}

/* --- pourquoi venir --- */

.why-visit {
	/* Le grid 2 colonnes vit maintenant sur .why-visit__wrap (voir plus bas) —
	   .why-visit reste le simple conteneur plein-largeur avec son fond.
	   Padding horizontal : même raison que .domaine ci-dessus. */
	background: var(--cl-bg-cream);
	padding: 0 1.25rem;
}

.why-visit__wrap {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
}

.why-visit__text {
	padding: 3rem 3rem 3rem 0;
	max-width: 560px;
	margin: 0;
}

.why-visit__list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.why-visit__list li {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

.why-visit__list strong {
	display: block;
	font-size: 0.95rem;
	margin-bottom: 0.15rem;
	color: var(--cl-ink);
}

.why-visit__list p {
	margin: 0;
	font-size: 0.85rem;
	color: #6b6459;
}

.why-visit__icon {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	color: var(--cl-gold-dark);
}

.why-visit__icon svg {
	width: 100%;
	height: 100%;
}

.why-visit__media img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	display: block;
}

/* --- responsive : domaine / why-visit passent en 1 colonne --- */

@media screen and (max-width: 900px) {
	.domain_wrap,
	.why-visit__wrap {
		grid-template-columns: 1fr;
	}

	.domaine__text,
	.why-visit__text {
		padding: 2rem 0;
		max-width: none;
	}

	.domaine__media img,
	.why-visit__media img {
		min-height: 260px;
	}

	.quick-links__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 560px) {
	.quick-links__grid {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================================
   REFONTE 2026 — header--hero
   Le header intègre directement l'image, le titre et les CTA sur la page
   d'accueil (is_front). Un seul composant, une seule source de vérité pour
   toutes ces règles (plus de blocs dupliqués/concurrents dans ce fichier).

   Technique hero-media : l'<img> est positionné en absolute directement
   (pas ses parents). position:absolute + inset:0 se cale sur le premier
   ancêtre positionné, en ignorant tous les wrapper <div> intermédiaires
   générés par drupal_view() — peu importe leur hauteur/display, ça ne
   peut plus casser.

   Technique layout nav+titre : CSS Grid avec hauteur explicite (pas
   min-height) — grid-template-rows: auto 1fr place la nav en haut
   (hauteur automatique) et le titre en bas de l'espace restant.
   ========================================================================== */

body.path-frontpage main {
	margin-top: 0;
}

.site-header {
	flex-shrink: 0; /* empêche le header d'être écrasé par le flex-column
	                    de .dialog-off-canvas-main-canvas (pattern sticky-footer
	                    Bootstrap, body/wrapper en h-100 = hauteur 1 écran) */
}

.site-header--hero {
	position: relative;
	height: 640px;
}

@media screen and (max-width: 560px) {
	.site-header--hero {
		height: 760px;
	}
}

@media screen and (max-width: 560px) {
	.site-header__hero-partner-logo {
		height: 40px;
		right: 1rem;
		bottom: 1rem;
	}
}

.site-header__hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

/* Parent DIRECT de l'<img> (généré par drupal_view). Un height:100% sur
   l'image se calcule contre CE parent-là, pas contre .site-header__hero-media
   (l'ancêtre positionné) — ce sont deux mécanismes CSS différents (percentage
   height vs containing block d'un absolute). Sans cette ligne, le pourcentage
   de l'image n'a rien de défini à calculer et échoue. */
.site-header__hero-media .views-element-container {
	height: 100%;
	display: block;
}

.site-header__hero-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.site-header__hero-scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	/* Voile en 3 couches :
	   1) Vignette ancrée en bas à gauche (là où vit tout le bloc texte :
	      eyebrow doré + titre + sous-titre doré + boutons). Calculé pour
	      atteindre au moins 85% d'opacité sur TOUTE cette zone, pas juste
	      un point — c'est le seuil nécessaire pour que le texte doré (le
	      plus fragile des trois) garde 4.5:1 de contraste même dans le pire
	      des cas (un pixel quasi blanc de la photo juste derrière une lettre).
	      Le blanc du titre n'a besoin que de ~60%, donc à 85%+ les deux
	      passent large.
	   2) Vignette ancrée en bas à droite, même principe mais plus petite/
	      discrète — juste de quoi faire ressortir le logo partenaire,
	      pas un gros bloc de texte à couvrir.
	   3) Assombrissement léger en haut, pour la barre de nav transparente. */
	background:
		radial-gradient(
			ellipse 1100px 650px at -5% 105%,
			rgba(10, 8, 5, 0.92) 0%,
			rgba(10, 8, 5, 0.88) 45%,
			rgba(10, 8, 5, 0.55) 70%,
			rgba(10, 8, 5, 0) 90%
		),
		radial-gradient(
			ellipse 510px 250px at 100% 105%,
			rgba(10, 8, 5, 0.75) 40%,
			rgba(10, 8, 5, 0.55) 70%,
			rgba(10, 8, 5, 0.2) 90%,
			rgba(10, 8, 5, 0) 150%
		),
		linear-gradient(
			to bottom,
			rgba(10, 8, 5, 0.5) 0%,
			rgba(10, 8, 5, 0) 20%
		)
}

.site-header__bar {
	position: relative;
	z-index: 3;
	width: 100%;
}

.site-header--hero .site-header__inner {
	position: relative;
	z-index: 2;
	background: transparent;
	margin-top: 0;
	margin-bottom: 0;
}

.site-header--hero .site-header__logo svg path[fill="#0c100f"] {
	fill: #ffffff;
}

.site-header--hero .site-header__menu .dropdown-toggle {
	color: #ffffff;
}

.site-header--hero .site-header__menu .dropdown-toggle:hover,
.site-header--hero .site-header__menu .dropdown-toggle[aria-expanded="true"] {
	color: var(--cl-gold);
}

.site-header--hero .site-header__search svg {
	fill: #ffffff;
}

.site-header--hero .site-header__toggler span {
	background: #ffffff;
}

.site-header--hero .site-header__menu .dropdown-menu {
	background: #ffffff;
}

.site-header--hero .site-header__menu .dropdown-menu a {
	color: var(--cl-ink);
}

.site-header__hero-content {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	max-width: var(--cl-container-max);
	width: 100%;
	padding: 2rem 1.25rem 3rem;
	box-sizing: border-box;
	color: #fff;
}

.hero__eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 1em;
	color: white;
	margin-bottom: 0.5rem;
}

.hero__title {
	font-family: var(--cl-font-display);
	font-weight: 700;
	font-size: clamp(2rem, 5vw, 3.5rem);
	line-height: 1.05;
	margin: 0 0 0.5rem;
}

.hero__subtitle {
	font-style: italic;
	color: white;
	font-size: 1.1rem;
	margin-bottom: 1.5rem;
}

.hero__cta {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.btn-cta--outline {
	background: transparent;
	border: 1px solid #fff;
}

.btn-cta--outline:hover {
	background: rgba(255, 255, 255, 0.15);
}

/* --- menu mobile : en absolute, indépendant du flex/grid du header --- */

#mobileNav {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 15;
	background: var(--cl-bg-cream);
	max-height: calc(100vh - 80px);
	overflow-y: auto;
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.18);
}

#mobileNav .accordion {
	border-radius: 0;
}

#mobileNav .accordion-item {
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(43, 42, 38, 0.12);
}

#mobileNav .accordion-header {
	margin: 0;
}

#mobileNav .accordion-button {
	padding: 1rem 1.25rem;
	color: var(--cl-ink);
	box-shadow: none !important; /* nécessaire : override du focus-ring Bootstrap */
}

#mobileNav .accordion-button::after {
	filter: none;
}

#mobileNav .accordion-body {
	background: rgba(255, 255, 255, 0.5);
	padding: 0.25rem 1.25rem 1rem;
}

#mobileNav .btn-cta--block {
	border-radius: 0;
}

/* --- responsive barre du header --- */

@media screen and (max-width: 767px) {
	.site-header__inner {
		padding: 0.6rem 1rem;
		gap: 0.6rem;
	}

	.site-header__logo svg {
		width: 46px;
	}

	.site-header__actions {
		gap: 0.5rem;
	}

	.btn-cta {
		padding: 0.5rem 0.75rem;
		font-size: 0.8rem;
		gap: 0.35rem;
		width:100%;
		text-align:center;
		display:inline-block;
	}

	.btn-cta svg {
		width: 14px;
		height: 14px;
	}

	.site-header__search svg {
		width: 18px;
		height: 18px;
	}

	.site-header__toggler {
		width: 40px;
		height: 20px;
	}
}



@media screen and (max-width: 560px) {
	
	.btn-cta {
		padding: 0.5rem 0.75rem;
		font-size: 0.8rem;
		gap: 0.35rem;
		width:100%;
		text-align:center;
		display:inline-block;
	}
	.site-header__hero-content {
		padding: 1.25rem 1rem 4.5rem;
	}

	.hero__title {
		font-size: 2rem;
	}

	.hero__cta {
		gap: 0.6rem;
	}

	.hero__cta .btn-cta {
		flex: 1 1 auto;
		justify-content: center;
	}
	
	.site-header__inner 
	{
		max-width: var(--cl-container-max);
		margin: 0 auto;
		display: block;
		align-items: center;
		justify-content: space-between;
		gap: 1.5rem;
		padding: 0.75rem 1.25rem;
	}
	
	a.site-header__logo 
	{
        width: 100%;
        height: auto;
        display: block;
        margin-bottom: 10%;
        margin-top: 12%;
    }
	
	a.site-header__logo svg
	{
		width: 69%;
		height: auto;
		position:relative;
		margin:0 auto;
	}
	
	.site-header__actions 
	{
		display:block;
	}
	
	.site-header__actions a.site-header__search:first-child,
	.site-header__actions button.site-header__search:first-child
	{
		background:#b07f2e;
		border-radius:5px;
        padding: 5px;
        vertical-align: top;
	}
	
	.site-header__actions a.site-header__search,
	.site-header__actions button.site-header__search
	{
		width: 100%;
		height: auto;
		position:relative;
		display: inline-block;
		text-align: center;
		border:1px solid white;
		margin-bottom:2%;
	}
	
	.site-header__actions button.site-header__toggler
	{
		margin: 0 auto;
		margin-top: 3%;
		background: #B07F2E;
        border: 1px solid white;
        padding: 10px;
        width: 50px;
        height: 50px;
		border-radius:5px;
	}
}

@media screen and (max-width: 380px) {
	.btn-cta__label {
		display: none;
	}

	.btn-cta {
		padding: 0.5rem;
	}

	.site-header__inner {
		gap: 0.4rem;
	}
	
	.site-header__actions 
	{
		display:block;
	}
	
	.site-header__actions a.site-header__search:first-child,
	.site-header__actions button.site-header__search:first-child
	{
		background:#999;
		border-radius:5px;
        padding: 5px;
        vertical-align: top;
	}
	
	.site-header__actions a.btn-cta,
	.site-header__actions button.site-header__search
	{
		width: 100%;
		height: auto;
		position:relative;
		display: inline-block;
		text-align: center;
		margin-bottom:2%;
		border:1px solid white;
	}
	
	.site-header__actions button.site-header__toggler
	{
		margin: 0 auto;
		margin-top: 3%;
		background: #B07F2E;
        border: 1px solid white;
        padding: 10px;
        width: 50px;
        height: 50px;
		border-radius:5px;
	}
}

button.site-header__search
{
	background:none;
	border:none;
}

/* ==========================================================================
   REFONTE 2026 — panneau de recherche (#siteSearch)
   ========================================================================== */

#siteSearch {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 20;
	background: #fff;
	border-top: 1px solid var(--cl-card-border);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.08);
}

.site-header__search-panel {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	padding: 1.5rem 1.25rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.search-panel__form {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	max-width: 640px;
	margin: 0 auto;
	background: var(--cl-bg-cream);
	border: 1px solid var(--cl-card-border);
	border-radius: 999px;
	padding: 0.35rem 0.35rem 0.35rem 1.5rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.search-panel__form:focus-within {
	border-color: var(--cl-gold-dark);
	box-shadow: 0 0 0 3px rgba(132, 98, 38, 0.12);
}

.search-panel__input {
	flex: 1 1 auto;
	min-width: 0;
	border: none;
	background: transparent;
	padding: 0.65rem 0.5rem;
	font-family: var(--cl-font-body);
	font-size: 1rem;
	color: var(--cl-ink);
}

.search-panel__input:focus-visible {
	outline: 2px solid var(--cl-gold-dark);
	outline-offset: 2px;
	border-radius: 2px;
}

.search-panel__input::placeholder {
	color: #6b6459;
}

.search-panel__submit {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--cl-gold-dark);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.search-panel__submit:hover {
	background: var(--cl-gold-darker);
}

.search-panel__submit:focus-visible {
	outline: 2px solid var(--cl-gold-dark);
	outline-offset: 2px;
}

.search-panel__submit svg {
	width: 18px;
	height: 18px;
	fill: #fff;
}

.search-panel__close {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: none;
	border: none;
	padding: 0.6rem 0.85rem;
	border-radius: var(--cl-radius);
	font-family: var(--cl-font-body);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--cl-ink);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.search-panel__close:hover {
	background: var(--cl-bg-cream);
	color: var(--cl-gold-dark);
}

.search-panel__close svg {
	width: 14px;
	height: 14px;
	fill: currentColor;
}

.search-panel__close:focus-visible {
	outline: 2px solid var(--cl-gold-dark);
	outline-offset: 2px;
}

@media screen and (max-width: 640px) {
	.site-header__search-panel {
		padding: 1.1rem 1rem;
		gap: 0.6rem;
	}

	.search-panel__form {
		padding-left: 1rem;
	}

	.search-panel__close-label {
		display: none; /* juste l'icône, pour laisser la place au champ */
	}
}

/* ==========================================================================
   REFONTE 2026 — titre de page générique + fil d'Ariane
   Concerne toutes les pages internes standard (page.html.twig), pas
   seulement /programme, mais visible en premier ici.
   ========================================================================== */

.region-breadcrumb .breadcrumb {
	max-width: var(--cl-container-max);
	margin: 1.5rem auto 0;
	padding: 0 1.25rem;
	font-size: 0.85rem;
}

.region-breadcrumb .breadcrumb a {
	color: var(--cl-gold-dark);
	text-decoration: none;
}

.region-breadcrumb .breadcrumb a:hover {
	text-decoration: underline;
}

#block-b5subtheme-page-title {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	padding: 1rem 1.25rem 2rem;
}

#block-b5subtheme-page-title h1 {
	font-family: var(--cl-font-display);
	font-size: clamp(1.8rem, 3.5vw, 2.6rem);
	color: var(--cl-ink);
	margin: 0;
}
/* ==========================================================================
   REFONTE 2026 — pages internes : bloc "Informations clés" + carte
   "Aller plus loin" (sidebar)
   ========================================================================== */

/* --- Bloc "Informations clés" --- */

.info-cles-block {
	background: var(--cl-bg-cream);
	border: 1px solid var(--cl-card-border);
	border-radius: var(--cl-radius);
	padding: 1.5rem;
}

.info-cles-block__label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	color: var(--cl-gold-dark);
	margin: 0 0 1.25rem;
}

.info-cles-block__label svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.info-cles-block__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.info-cle {
	padding: 0.9rem 0;
	border-top: 1px solid var(--cl-card-border);
}

.info-cle__entete {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--cl-gold-dark);
	margin: 0 0 0.4rem;
}

.info-cle__row {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
}

@media screen and (max-width: 480px) {
	.info-cle__row {
		flex-direction: column;
		gap: 0.4rem;
	}
}

.info-cle:first-child {
	border-top: none;
	padding-top: 0;
}

.info-cle:last-child {
	padding-bottom: 0;
}

.info-cle__icon {
	flex: 0 0 auto;
	width: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cl-gold-dark);
	margin-top: 0.2rem;
}

.info-cle__icon i {
	font-size: 1.05rem;
	line-height: 1;
}

.info-cle__text {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.info-cle__titre {
	font-family: var(--cl-font-display);
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--cl-ink);
}

.info-cle__desc {
	font-size: 0.8rem;
	color: #6b6459;
	line-height: 1.4;
}

/* --- Carte "Aller plus loin" --- */

.apl-card-wrap {
	margin-top: 1.5rem;
}

.apl-card {
	display: block;
	background: #fff;
	border: 1px solid var(--cl-card-border);
	border-radius: var(--cl-radius);
	padding: 1.5rem;
	text-decoration: none;
	color: var(--cl-ink);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.apl-card:hover {
	border-color: var(--cl-gold-dark);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

/* Variante sans lien (field_apl_lien vide, field_apl_texte seul rempli) :
   même carte, mais pas cliquable — on retire l'effet de survol pour ne
   pas laisser croire qu'il y a un clic possible. */
.apl-card--static {
	cursor: default;
}

.apl-card--static:hover {
	border-color: var(--cl-card-border);
	box-shadow: none;
}

.apl-card__icon {
	display: inline-flex;
	width: 20px;
	height: 20px;
	color: var(--cl-gold-dark);
	margin-bottom: 0.5rem;
}

.apl-card__icon svg {
	width: 100%;
	height: 100%;
}

.apl-card__label {
	display: block;
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	color: var(--cl-gold-dark);
	margin-bottom: 0.5rem;
}

.apl-card__body {
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--cl-ink);
	margin-bottom: 0.75rem;
}

.apl-card__body p:last-child {
	margin-bottom: 0;
}

.apl-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--cl-font-display);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--cl-gold-dark);
}

.apl-card__cta svg {
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.apl-card:hover .apl-card__cta svg {
	transform: translateX(3px);
}

/* ==========================================================================
   REFONTE 2026 — bloc "Informations pratiques"
   (field--field-informations-pratiques.html.twig)
   v3 : structure Twig nettoyée (plus de colonne icône, plus de SVG
   trombone, plus de wrapper .informations-pratiques-right — le contenu
   est directement dans .informations-pratiques-container). Cadre épuré,
   liseré doré à gauche, même codes visuels que les autres cartes du site
   (.apl-card, .info-cles-block).
   ========================================================================== */

.informations-pratiques-container {
	background: var(--cl-bg-cream);
	border: 1px solid var(--cl-card-border);
	border-left: 4px solid var(--cl-gold-dark);
	border-radius: var(--cl-radius);
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}

.informations-pratiques-container div {
	background: transparent !important;
}

.informations-pratiques-title {
	font-family: var(--cl-font-display);
	font-weight: 700;
	font-size: 1rem;
	color: var(--cl-ink);
	margin-bottom: 0.6rem;
}

.informations-pratiques-content {
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--cl-ink);
}

.informations-pratiques-text p {
	margin-bottom: 0.75rem;
}

.informations-pratiques-text p:last-child {
	margin-bottom: 0;
}

.informations-pratiques-text a {
	color: var(--cl-gold-dark);
	text-decoration: underline;
	text-decoration-color: transparent;
	transition: text-decoration-color 0.2s ease;
}

.informations-pratiques-text a:hover {
	text-decoration-color: var(--cl-gold-dark);
}

/* ==========================================================================
   REFONTE 2026 — footer : 2 logos partenaires côte à côte, sous le logo
   principal du château
   ========================================================================== */

.site-footer__partner-logos {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-top: 1rem;
}

.site-footer__partner-logos svg {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
}

.site-footer__partner-logos svg #layer1 path {
	fill: #000 !important;
}

.site-footer__partner-logos svg path {
	fill: #fff !important;
}
/* ==========================================================================
   REFONTE 2026 — paragraphe "Les partenaires"
   (paragraph--les-partenaires.html.twig)
   Répété un grand nombre de fois : chaque carte est nettement séparée
   (bordure + espacement) pour ne jamais se mélanger avec la suivante,
   quel que soit le nombre d'instances.
   ========================================================================== */

.partenaire-card {
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--cl-card-border);
}

.partenaire-card:first-child {
	padding-top: 0;
}

.partenaire-card:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.partenaire-card__titre {
	font-family: var(--cl-font-display);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--cl-ink);
	margin: 0 0 1rem;
}

.partenaire-card__row {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
}

.partenaire-card__image {
	flex: 0 0 auto;
	display: block;
	width: 160px;
	border-radius: var(--cl-radius);
	overflow: hidden;
	transition: opacity 0.2s ease;
}

.partenaire-card__image:hover {
	opacity: 0.85;
}

.partenaire-card__image img {
	width: 100%;
	height: auto;
	display: block;
}

.partenaire-card__text {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--cl-ink);
}

.partenaire-card__text p {
	margin: 0 0 0.75rem;
}

.partenaire-card__text p:last-child {
	margin-bottom: 0;
}

.partenaire-card__text a {
	color: var(--cl-gold-dark);
	text-decoration: underline;
}

/* --- Mobile : image en haut, texte en dessous --- */
@media screen and (max-width: 640px) {
	.partenaire-card__row {
		flex-direction: column;
		gap: 1rem;
	}

	.partenaire-card__image {
		width: 100%;
		max-width: 220px;
	}
}
/* ==========================================================================
   REFONTE 2026 — zone d'alerte (fermeture/problème)
   N'existe dans le DOM que si la vue "alertes" a un résultat (vérifié
   côté Twig, voir page--front.html.twig) — jamais de bandeau vide.
   ========================================================================== */

.site-alert {
	position: relative;
	background: #8C8A63;
	color: #fff;
}

/* Lien étiré : le vrai <a> du titre (généré par la vue) s'étire en CSS
   pour couvrir toute la bannière, sans dupliquer le lien ni imbriquer
   tout le contenu dans une balise <a> (ce qui serait moins propre
   sémantiquement). Un seul lien réel, juste rendu cliquable partout. */
.site-alert a {
	color: inherit;
	text-decoration: none;
}

.site-alert a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Sécurité : si un des multiples <div> wrapper générés par Views entre
   le lien et .site-alert hérite d'un position (relative/absolute) venu
   d'ailleurs, le lien étiré ci-dessus se cale sur CE wrapper-là au lieu
   de toute la bannière — exactement le même piège que celui déjà
   rencontré avec .contextual-region sur la galerie photo. On neutralise
   explicitement toute la chaîne pour être sûr que .site-alert reste le
   seul ancêtre positionné. */
.site-alert__inner,
.site-alert__message,
.site-alert .views-element-container,
.site-alert .view,
.site-alert .view-content,
.site-alert .views-row,
.site-alert .views-field,
.site-alert .field-content {
	position: static !important;
}

.site-alert:hover {
	filter: brightness(1.08);
}

.site-alert__inner {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	padding: 0.85rem 1.25rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.site-alert__icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
}

.site-alert__message {
	font-size: 0.9rem;
	line-height: 1.4;
}

.site-alert__message p {
	margin: 0;
}

.site-alert__message a {
	color: #000;
	text-decoration: none;
	font-size:1.3em;
}

@media screen and (max-width: 560px) {
	.site-alert__inner {
		padding: 0.75rem 1rem;
	}

	.site-alert__message {
		font-size: 0.85rem;
	}
}

/* ==========================================================================
   REFONTE 2026 — puces en flèche pour les listes du contenu éditorial
   Scopé à .node__content pour ne toucher ni aux menus (header/footer/
   dropdowns), ni à nos listes custom (why-visit, informations clés),
   qui vivent en dehors de cette zone et gardent leur propre style.
   ========================================================================== */

.node__content ul {
	list-style: none;
	margin: 0 0 1rem;
	padding-left: 0;
}

.node__content ul li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.5rem;
	line-height: 1.6;
}

.node__content ul li::before {
	content: "→";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--cl-gold-dark);
	font-weight: 700;
}

/* Listes imbriquées : une 2e flèche, légèrement plus discrète */
.node__content ul ul {
	margin-top: 0.5rem;
}

.node__content ul ul li::before {
	color: var(--cl-ink);
	opacity: 0.6;
}

.block-views-blocksidebar-informations-cles-block-1
{
	margin-top:5%;
}
/* ==========================================================================
   REFONTE 2026 — galerie photo (field_galeriephoto)
   Nécessite field--field-galeriephoto.html.twig (chaque photo imprimée
   2 fois : vignette carrée cliquable + modale Bootstrap pour le zoom).
   Paragraphe répété : field_mediaimage (Média Image) + field_description
   (texte court, légende, affichée SOUS la photo).
   ========================================================================== */

.field--name-field-galeriephoto {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.5rem 1.25rem;
	margin: 2rem 0;
	/* Sans ça, chaque case s'étire par défaut à la hauteur de la plus
	   grande de sa ligne — une vignette sans légende se retrouvait avec
	   un vide en dessous, donnant l'impression d'un décalage. Avec
	   align-items:start, chaque case garde sa propre hauteur (juste
	   l'image, ou image + légende), toutes alignées en haut. */
	align-items: start;
}

/* --- Vignette (déclencheur) --- */

.galeriephoto-trigger {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	cursor: pointer;
	text-align: left;
	font: inherit;
	color: inherit;
}

.galeriephoto-trigger .paragraph--type--galeriephoto {
	display: flex;
	flex-direction: column;
}

.galeriephoto-trigger .field--name-field-mediaimage {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: var(--cl-radius);
	overflow: hidden;
	background: var(--cl-bg-cream);
}

/* Même technique que le hero/les cartes agenda : l'image se cale en
   position:absolute directement, ce qui ignore tous les <div> wrapper
   intermédiaires générés par le champ Média. */
.galeriephoto-trigger .field--name-field-mediaimage img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.galeriephoto-trigger:hover .field--name-field-mediaimage img {
	transform: scale(1.06);
}

.galeriephoto-trigger .field--name-field-description {
	margin-top: 0.6rem;
	font-size: 0.85rem;
	color: #6b6459;
	line-height: 1.4;
}

/* Masque les liens/boutons "Modifier · Supprimer" que Drupal affiche en
   survol pour les admins connectés (contextual links). */
.galeriephoto-trigger .contextual {
	display: none;
}

/* Drupal core applique position:relative à .contextual-region — sans le
   neutraliser, l'image (position:absolute) se cale sur ce conteneur-là
   au lieu de .field--name-field-mediaimage, et s'effondre à 0px. */
.galeriephoto-trigger .contextual-region {
	position: static !important;
}

/* --- Modale (zoom plein écran) --- */

.galeriephoto-modal .modal-dialog {
	max-width: 900px;
}

.galeriephoto-modal .modal-content {
	background: transparent;
	border: none;
}

.galeriephoto-modal .modal-body {
	padding: 0;
	position: relative;
}

.galeriephoto-modal .field--name-field-mediaimage img {
	width: 100%;
	height: auto;
	border-radius: var(--cl-radius);
	display: block;
}

.galeriephoto-modal .field--name-field-description {
	margin-top: 1rem;
	color: #fff;
	text-align: center;
	font-size: 0.95rem;
}

.galeriephoto-modal .contextual {
	display: none;
}

.galeriephoto-modal__close {
	position: absolute;
	top: -2.75rem;
	right: 0;
	filter: invert(1);
	opacity: 0.9;
}

.galeriephoto-modal__close:hover {
	opacity: 1;
}

@media screen and (max-width: 480px) {
	.field--name-field-galeriephoto {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem 0.75rem;
	}
	
	
}


/* Logo partenaire, bas droite de la photo du hero (accueil uniquement) */
.site-header__hero-partner-logo {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 2;
	height: 100px;
	width: auto;
	/* Force le logo en blanc, quelle que soit sa couleur d'origine dans
	   le fichier SVG — technique fiable pour un <img> externe, sans
	   risque de recopier/corrompre un tracé vectoriel complexe dans
	   le Twig en l'inlinant. */
	filter: brightness(0) invert(1);
	opacity: 0.9;
}
/* ==========================================================================
   REFONTE 2026 — page "Plan du site"
   Chaque menu placé dans region-content devient une section : titre +
   grille de liens en flèche. Scopé à .region-content:has(.block-menu.navigation) .block-menu.navigation
   pour ne toucher à aucun autre menu du site (header, footer...).
   ========================================================================== */

.region-content:has(.block-menu.navigation) .block-menu.navigation {
	max-width: var(--cl-container-max);
	margin: 0 auto;
	padding: 0 1.25rem;
}

.region-content:has(.block-menu.navigation) .block-menu.navigation + .block-menu.navigation {
	margin-top: 0.5rem;
}

.region-content:has(.block-menu.navigation) .block-menu.navigation h5 {
	font-family: var(--cl-font-display);
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--cl-ink);
	margin: 2rem 0 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--cl-card-border);
}

.region-content:has(.block-menu.navigation) .block-menu.navigation ul.menu-level-0 {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 0.5rem 1.5rem;
}

.region-content:has(.block-menu.navigation) .block-menu.navigation .nav-item {
	margin: 0;
}

.region-content:has(.block-menu.navigation) .block-menu.navigation .nav-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.35rem 0;
	color: var(--cl-ink);
	text-decoration: none;
	font-family: var(--cl-font-body);
	font-size: 0.95rem;
	transition: color 0.2s ease;
}

.region-content:has(.block-menu.navigation) .block-menu.navigation .nav-link::before {
	content: "→";
	color: var(--cl-gold-dark);
	font-weight: 700;
	flex-shrink: 0;
}

.region-content:has(.block-menu.navigation) .block-menu.navigation .nav-link:hover {
	color: var(--cl-gold-dark);
	text-decoration: underline;
}

@media screen and (max-width: 560px) {
	.region-content:has(.block-menu.navigation) .block-menu.navigation ul.menu-level-0 {
		grid-template-columns: 1fr;
	}
	
	.site-header__hero-partner-logo 
	{
		position: absolute;
		right: 1rem;
		bottom: 1rem;
		z-index: 2;
		height: 50px;
		width: auto;
		/* Force le logo en blanc, quelle que soit sa couleur d'origine dans
		   le fichier SVG — technique fiable pour un <img> externe, sans
		   risque de recopier/corrompre un tracé vectoriel complexe dans
		   le Twig en l'inlinant. */
		filter: brightness(0) invert(1);
		opacity: 0.9;
	}
}

/* Bloc "body" ajouté à la main sur la page Plan du site (liens type
   Nos Partenaires / Notre programme, hors des menus système) — même
   style de lien en flèche que les sections menu, pour rester cohérent.
   Scopé via :has(.block-menu.navigation) — cette combinaison précise
   (des blocs menu système posés directement dans region-content) est
   propre à cette page, ça évite de dépendre d'une classe de <body>
   dont on n'est pas sûr du nom exact généré par Drupal. */
.region-content:has(.block-menu.navigation) .field--name-body {
	max-width: var(--cl-container-max);
	margin: 2rem auto 0;
	padding: 2rem 1.25rem 0;
	border-top: 1px solid var(--cl-card-border);
}

.region-content:has(.block-menu.navigation) .field--name-body p {
	margin: 0 0 0.6rem;
}

.region-content:has(.block-menu.navigation) .field--name-body a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--cl-ink);
	text-decoration: none;
	font-family: var(--cl-font-body);
	font-size: 0.95rem;
	transition: color 0.2s ease;
}

.region-content:has(.block-menu.navigation) .field--name-body a::before {
	content: "→";
	color: var(--cl-gold-dark);
	font-weight: 700;
}

.region-content:has(.block-menu.navigation) .field--name-body a:hover {
	color: var(--cl-gold-dark);
	text-decoration: underline;
}

.field.field--name-field-mediaimage.field--type-entity-reference.field--label-hidden.field__item
{
	text-align:center;
	margin-top:2%;
	margin-bottom:2%;
}

.field--name-body img
{
	max-width:100%;
	height:auto;
	position:relative;
	margin:0 auto;
	margin-top:2%;
	margin-bottom:2%;
	text-align:center;
	display:block;
}

@media screen and (max-width: 990px) {
	.order-3.col-12.col-lg-3 .block-views-blocksidebar-infos-page-block-1
	{
		display:none;
	}
	
	.order-3.col-12.col-lg-3 .block-views-blocksidebar-informations-cles-block-1
	{
		display:none;
	}



}

@media screen and (min-width: 991px) {
	.order-1.order-lg-2.col-12.col-lg-9 .field--name-field-aller-plus-loin
	{
		display:none;
	}
	
	.order-1.order-lg-2.col-12.col-lg-9 .field--name-field_informations_cle
	{
		display:none;
	}



}