/**** CAROUSEL HEADER ****/


.ccma-carousel-heading {
	align-items: flex-start !important;
}

.ccma-carousel-heading .wp-block-heading {
	margin: 0;
	line-height: 1;
}

/*.ccma-carousel-heading .wp-block-heading:first-child {
	margin-bottom: 0.15em;
}*/

/**** CAROUSEL CONTROLS ****/

.ccma-carousel-controls {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin-left: auto;
	margin-right: 9vw;
}

@media (max-width: 800px) {
	.ccma-carousel-query .ccma-carousel-footer {
		display: grid !important;
		grid-template-columns: repeat(6, 1fr);
		align-items: start !important;    
		margin-top: var(--wp--preset--spacing--30);
	}
	.carousel-section .ccma-carousel-query {
		margin-top: var(--wp--preset--spacing--30);
	}
	.carousel-section .ccma-carousel-header .ccma-actus-mag-heading,
	.carousel-section .ccma-carousel-footer .ccma-inline-round-block {
		grid-column: 1 / 5;
	}
  	.carousel-section .ccma-carousel-header .ccma-carousel-controls,
	.carousel-section .ccma-carousel-footer .ccma-inline-round-block .ccma-carousel-controls {
		grid-column: 5/ 7;
		justify-self: end;
  	}
	.carousel-section .ccma-carousel-header > p {
		grid-column: 1/ 7;
	}
	.carousel-section .ccma-carousel-query .ccma-carousel-track > .wp-block-post {
		min-width: 233px !important;
		max-width: 263px !important;
	}
}	
.ccma-carousel-query .ccma-carousel-footer {
	padding-top: var(--wp--preset--spacing--30);
	margin-top: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}
.carousel-section .ccma-carousel-query {
	margin-top: 0;
	padding-top: var(--wp--preset--spacing--30);
	padding-bottom: 0;
	margin-bottom: 0;
}

.carousel-arrow {
	width: 45px;
	height: 45px;
	padding: 0;
	border: 0;
	border-radius: 15px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 45px 45px;
	cursor: pointer;
}

.carousel-arrow:disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.carousel-arrow--prev {
	transform: rotate(180deg);
	background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='38' height='38' rx='14' stroke='%23F7F1E1' stroke-width='2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.3933 8.31869C21.5953 8.11462 21.869 8 22.1544 8C22.4398 8 22.7135 8.11462 22.9154 8.31869L33.685 19.2159C33.8867 19.4202 34 19.6972 34 19.9859C34 20.2747 33.8867 20.5517 33.685 20.756L22.9154 31.6532C22.8168 31.7602 22.698 31.8461 22.5658 31.9057C22.4337 31.9652 22.2911 31.9972 22.1465 31.9998C22.0019 32.0024 21.8583 31.9755 21.7242 31.9207C21.5901 31.8659 21.4683 31.7843 21.366 31.6808C21.2637 31.5774 21.1831 31.4541 21.129 31.3184C21.0748 31.1827 21.0482 31.0374 21.0507 30.8911C21.0533 30.7447 21.0849 30.6004 21.1438 30.4668C21.2027 30.3331 21.2875 30.2128 21.3933 30.113L30.3249 21.0756H7.07696C6.79133 21.0756 6.5174 20.9608 6.31543 20.7565C6.11346 20.5521 6 20.2749 6 19.9859C6 19.6969 6.11346 19.4197 6.31543 19.2154C6.5174 19.011 6.79133 18.8962 7.07696 18.8962H30.3249L21.3933 9.85883C21.1917 9.6545 21.0784 9.37753 21.0784 9.08876C21.0784 8.79998 21.1917 8.52301 21.3933 8.31869Z' fill='%23F7F1E1'/%3E%3C/svg%3E%0A");
}

/*** Variante Flèches Vertes ***/
/* Flèche précédente */
.carousel-arrow--prev {
	transform: rotate(180deg);
	background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='38' height='38' rx='14' stroke='%236a855a' stroke-width='2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.3933 8.31869C21.5953 8.11462 21.869 8 22.1544 8C22.4398 8 22.7135 8.11462 22.9154 8.31869L33.685 19.2159C33.8867 19.4202 34 19.6972 34 19.9859C34 20.2747 33.8867 20.5517 33.685 20.756L22.9154 31.6532C22.8168 31.7602 22.698 31.8461 22.5658 31.9057C22.4337 31.9652 22.2911 31.9972 22.1465 31.9998C22.0019 32.0024 21.8583 31.9755 21.7242 31.9207C21.5901 31.8659 21.4683 31.7843 21.366 31.6808C21.2637 31.5774 21.1831 31.4541 21.129 31.3184C21.0748 31.1827 21.0482 31.0374 21.0507 30.8911C21.0533 30.7447 21.0849 30.6004 21.1438 30.4668C21.2027 30.3331 21.2875 30.2128 21.3933 30.113L30.3249 21.0756H7.07696C6.79133 21.0756 6.5174 20.9608 6.31543 20.7565C6.11346 20.5521 6 20.2749 6 19.9859C6 19.6969 6.11346 19.4197 6.31543 19.2154C6.5174 19.011 6.79133 18.8962 7.07696 18.8962H30.3249L21.3933 9.85883C21.1917 9.6545 21.0784 9.37753 21.0784 9.08876C21.0784 8.79998 21.1917 8.52301 21.3933 8.31869Z' fill='%23f7f1e1'/%3E%3C/svg%3E%0A");
  	background-color: #6a855a;
}

/* Flèche suivante */
.carousel-arrow--next {
	background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='38' height='38' rx='14' stroke='%236a855a' stroke-width='2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.3933 8.31869C21.5953 8.11462 21.869 8 22.1544 8C22.4398 8 22.7135 8.11462 22.9154 8.31869L33.685 19.2159C33.8867 19.4202 34 19.6972 34 19.9859C34 20.2747 33.8867 20.5517 33.685 20.756L22.9154 31.6532C22.8168 31.7602 22.698 31.8461 22.5658 31.9057C22.4337 31.9652 22.2911 31.9972 22.1465 31.9998C22.0019 32.0024 21.8583 31.9755 21.7242 31.9207C21.5901 31.8659 21.4683 31.7843 21.366 31.6808C21.2637 31.5774 21.1831 31.4541 21.129 31.3184C21.0748 31.1827 21.0482 31.0374 21.0507 30.8911C21.0533 30.7447 21.0849 30.6004 21.1438 30.4668C21.2027 30.3331 21.2875 30.2128 21.3933 30.113L30.3249 21.0756H7.07696C6.79133 21.0756 6.5174 20.9608 6.31543 20.7565C6.11346 20.5521 6 20.2749 6 19.9859C6 19.6969 6.11346 19.4197 6.31543 19.2154C6.5174 19.011 6.79133 18.8962 7.07696 18.8962H30.3249L21.3933 9.85883C21.1917 9.6545 21.0784 9.37753 21.0784 9.08876C21.0784 8.79998 21.1917 8.52301 21.3933 8.31869Z' fill='%23f7f1e1'/%3E%3C/svg%3E%0A");
  	background-color: #6a855a;
}

/*** Variante Flèches Beige ***/
/* Flèche précédente */
section.carousel-section.has-vert-background-color .carousel-arrow--prev {
	transform: rotate(180deg);
	background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='38' height='38' rx='14' stroke='%23F7F1E1' stroke-width='2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.3933 8.31869C21.5953 8.11462 21.869 8 22.1544 8C22.4398 8 22.7135 8.11462 22.9154 8.31869L33.685 19.2159C33.8867 19.4202 34 19.6972 34 19.9859C34 20.2747 33.8867 20.5517 33.685 20.756L22.9154 31.6532C22.8168 31.7602 22.698 31.8461 22.5658 31.9057C22.4337 31.9652 22.2911 31.9972 22.1465 31.9998C22.0019 32.0024 21.8583 31.9755 21.7242 31.9207C21.5901 31.8659 21.4683 31.7843 21.366 31.6808C21.2637 31.5774 21.1831 31.4541 21.129 31.3184C21.0748 31.1827 21.0482 31.0374 21.0507 30.8911C21.0533 30.7447 21.0849 30.6004 21.1438 30.4668C21.2027 30.3331 21.2875 30.2128 21.3933 30.113L30.3249 21.0756H7.07696C6.79133 21.0756 6.5174 20.9608 6.31543 20.7565C6.11346 20.5521 6 20.2749 6 19.9859C6 19.6969 6.11346 19.4197 6.31543 19.2154C6.5174 19.011 6.79133 18.8962 7.07696 18.8962H30.3249L21.3933 9.85883C21.1917 9.6545 21.0784 9.37753 21.0784 9.08876C21.0784 8.79998 21.1917 8.52301 21.3933 8.31869Z' fill='%23F7F1E1'/%3E%3C/svg%3E%0A");
}

/* Flèche suivante */
section.carousel-section.has-vert-background-color .carousel-arrow--next {
	background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='38' height='38' rx='14' stroke='%23F7F1E1' stroke-width='2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.3933 8.31869C21.5953 8.11462 21.869 8 22.1544 8C22.4398 8 22.7135 8.11462 22.9154 8.31869L33.685 19.2159C33.8867 19.4202 34 19.6972 34 19.9859C34 20.2747 33.8867 20.5517 33.685 20.756L22.9154 31.6532C22.8168 31.7602 22.698 31.8461 22.5658 31.9057C22.4337 31.9652 22.2911 31.9972 22.1465 31.9998C22.0019 32.0024 21.8583 31.9755 21.7242 31.9207C21.5901 31.8659 21.4683 31.7843 21.366 31.6808C21.2637 31.5774 21.1831 31.4541 21.129 31.3184C21.0748 31.1827 21.0482 31.0374 21.0507 30.8911C21.0533 30.7447 21.0849 30.6004 21.1438 30.4668C21.2027 30.3331 21.2875 30.2128 21.3933 30.113L30.3249 21.0756H7.07696C6.79133 21.0756 6.5174 20.9608 6.31543 20.7565C6.11346 20.5521 6 20.2749 6 19.9859C6 19.6969 6.11346 19.4197 6.31543 19.2154C6.5174 19.011 6.79133 18.8962 7.07696 18.8962H30.3249L21.3933 9.85883C21.1917 9.6545 21.0784 9.37753 21.0784 9.08876C21.0784 8.79998 21.1917 8.52301 21.3933 8.31869Z' fill='%23F7F1E1'/%3E%3C/svg%3E%0A");
}

/**** CAROUSEL QUERY ****/

.ccma-carousel-query {
	--ccma-actus-gap: 24px;
	--ccma-actus-slide-width: 333px;

	width: 100%;
	overflow: visible;
}

.ccma-carousel-query.post {
	--ccma-actus-gap: 6vw;
	--ccma-actus-visible-slides: 3;
	--ccma-actus-slide-width:
		calc(
			(
				100% -
				(
					var(--ccma-actus-visible-slides) - 1
				) *
				var(--ccma-actus-gap)
			) /
			var(--ccma-actus-visible-slides)
		);
	margin-top: 2.2rem;
}


/**** CAROUSEL QUERY TRACK ****/

/* Hide scrollbar visually */
.ccma-carousel-track {
	scrollbar-width: none;
}

.ccma-carousel-track::-webkit-scrollbar {
	display: none;
}

/* Gutenberg post-template li */
.ccma-carousel-track > .wp-block-post {
	/*flex: 0 0 clamp(230px, 23vw, 290px);
	width: clamp(230px, 23vw, 290px);*/
	scroll-snap-align: start;
}


/*.ccma-carousel-track > li:first-child {
	padding-left: calc(var(--wp--preset--spacing--80) + 3rem);
}*/


.ccma-carousel-query.elu .ccma-carousel-track > li:first-child {
	padding-left: var(--wp--preset--spacing--80);
}

.ccma-carousel-query .ccma-carousel-track {
	display: flex !important;
	grid-template-columns: none !important;
	flex-wrap: nowrap;
	align-items: flex-start;

	width: calc(100% + 32px);
	max-width: none;

	gap: var(--ccma-actus-gap);

	margin: 0 -16px;
	padding: 20px 16px 24px;

	box-sizing: border-box;
	list-style: none;

	overflow-x: auto;
	overflow-y: hidden;

	scroll-snap-type: x mandatory;
	scroll-padding-inline: 16px;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;

	padding-block: 40px 70px;
	margin-block: -40px -70px;
	overflow-x: auto;
	overflow-y: hidden;
	padding-right: 265px;
}

.ccma-carousel-query .ccma-carousel-track::-webkit-scrollbar {
	display: none;
}

@media (max-width: 1024px) {
	.ccma-carousel-query {
		--ccma-actus-visible-slides: 2;
	}
}

@media (max-width: 640px) {
	.ccma-carousel-query {
		--ccma-actus-visible-slides: 1;
		--ccma-actus-gap: 16px;
	}
}


/*** CAROUSEL QUERY TRACK Variant Elus ***/

.ccma-carousel-query.ccma-carousel-query--elus ul.ccma-carousel-track li:first-child {
	padding-left: 0;
}

/**** CAROUSEL CARD ****/

.ccma-carousel-query .ccma-carousel-card {
	width: 100%;
	height: auto;
	min-height: 0;

	align-self: flex-start;
	justify-content: flex-start;
}

/* Prevent Gutenberg flex rules from enlarging inner blocks */
.ccma-carousel-query .ccma-carousel-card > * {
	flex-grow: 0;
	flex-shrink: 0;
}

/*
.ccma-carousel-track li .ccma-carousel-title {
	transition: transform 0.2s ease;
}

.ccma-carousel-track li:hover {
	transform: translateY(-0.2em);
}

.ccma-carousel-track li:hover .ccma-carousel-title {
	transform: translateX(1em);
}
*/
/* Card */
/* Do not force the card to fill an artificial height */


/*** CAROUSEL CARD Pill Category ***/

.ccma-carousel-pill-category {
	transition: all 0.35s ease;
}

.post .ccma-carousel-pill-category > * {
	display: none;
}

.post .ccma-carousel-pill-category > a:first-of-type {
	display: inline;
}

.ccma-carousel-pill-category:hover {
	background-color: var(--wp--preset--color--beige);

}

.ccma-carousel-pill-category:hover a {
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #1f2d1f) 88%, black);
}

.ccma-carousel-pill-category a:hover {
text-decoration: underline;
}

.ccma-carousel-pill-category {
	position: absolute;
	z-index: 3;
	top: -1.5em;
	right: -3em;

	margin: 0;
	padding: 0.8em 1em 0.6em;

	border-radius: 15px;
	background: color-mix(in srgb, var(--wp--preset--color--contrast, #1f2d1f) 88%, black);
	color: var(--wp--preset--color--vert);

	font-size: 0.9rem;
	line-height: 1;

	max-width: 19em;
}

.ccma-carousel-pill-category a {
	font-family: var(--wp--preset--font-family--sagace) !important;
	font-weight: 400 !important;
	text-decoration: none;
}


/*** CAROUSEL CARD Thumbnail ***/

/* Fixed media height instead of fixed image width */

.ccma-carousel-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 900px) {
	.ccma-carousel-thumbnail {
		height: 360px;
	}
}

@media (max-width: 520px) {
	.ccma-carousel-thumbnail {
		height: 320px;
	}
}

/*** CAROUSEL CARD Title ***/
.ccma-carousel-title {
	z-index: 2;

	width: calc(100% - 3.2rem);
	margin: -2.65rem 0 0 -3rem !important;

	border-radius: 10px !important;
	background: var(--wp--preset--color--beige, #f7f1e1);
	color: var(--wp--preset--color--vert, #6a855a);

	box-sizing: border-box;
	line-height: 1.05;
	bottom: -1em;
  	position: absolute;
}

.post .ccma-carousel-title {
	padding: 0.8em 1em 0.65em !important;
	min-height: 50px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.ccma-carousel-title a {
	display: block;
	color: inherit !important;
	text-decoration: none;
}

.post .ccma-carousel-title > a {
	line-height: 1.4;
}

/* Round arrow attached to the title */
.ccma-carousel-title::after {
	content: "";
	position: absolute;
	left: 100%;
	bottom: 0;

	border-radius: 10px;
	background-color: var(--wp--preset--color--contrast, #1f2d1f);
	background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='50' height='50' rx='15' fill='%232A3524'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M25 4.6875C13.7812 4.6875 4.6875 13.7812 4.6875 25C4.6875 36.2188 13.7812 45.3125 25 45.3125C36.2188 45.3125 45.3125 36.2188 45.3125 25C45.3125 13.7812 36.2188 4.6875 25 4.6875ZM33.9167 26.1042C34.2093 25.8112 34.3736 25.4141 34.3736 25C34.3736 24.5859 34.2093 24.1888 33.9167 23.8958L27.6667 17.6458C27.5236 17.4923 27.3511 17.3692 27.1595 17.2838C26.9678 17.1984 26.7609 17.1525 26.5511 17.1488C26.3413 17.1451 26.1329 17.1837 25.9383 17.2622C25.7438 17.3408 25.567 17.4578 25.4187 17.6062C25.2703 17.7545 25.1533 17.9313 25.0747 18.1258C24.9962 18.3204 24.9576 18.5288 24.9613 18.7386C24.965 18.9484 25.0109 19.1553 25.0963 19.347C25.1817 19.5386 25.3048 19.7111 25.4583 19.8542L29.0417 23.4375H17.1875C16.7731 23.4375 16.3757 23.6021 16.0826 23.8951C15.7896 24.1882 15.625 24.5856 15.625 25C15.625 25.4144 15.7896 25.8118 16.0826 26.1049C16.3757 26.3979 16.7731 26.5625 17.1875 26.5625H29.0417L25.4583 30.1458C25.3048 30.2889 25.1817 30.4614 25.0963 30.653C25.0109 30.8447 24.965 31.0516 24.9613 31.2614C24.9576 31.4712 24.9962 31.6796 25.0747 31.8742C25.1533 32.0687 25.2703 32.2455 25.4187 32.3938C25.567 32.5422 25.7438 32.6592 25.9383 32.7378C26.1329 32.8163 26.3413 32.8549 26.5511 32.8512C26.7609 32.8475 26.9678 32.8016 27.1595 32.7162C27.3511 32.6308 27.5236 32.5077 27.6667 32.3542L33.9167 26.1042Z' fill='%23F7F1E1'/%3E%3C/svg%3E");	background-repeat: no-repeat;
	background-position: bottom;
	background-size: 50px 50px;
	width: 50px;
	height: 50px;
	pointer-events: none;
}

/**** CAROUSEL FOOTER ****/

.ccma-carousel-footer {
	display: flex !important;
	align-items: center;
	justify-content: space-between !important;
	gap: 2rem;

	margin-top: 4.2rem;
	margin-left: var(--ccma-mag-gutter) !important;
	margin-right: var(--ccma-mag-gutter) !important;
	max-width: none !important;
}

/* No results */
.ccma-carousel-no-results {
	margin-left: var(--ccma-mag-gutter);
	color: var(--wp--preset--color--vert, #6a855a);
}


/* Responsive */
@media (max-width: 900px) {
	.ccma-carousel-section {
		--ccma-mag-gutter: 6vw;
	}

	.ccma-carousel-header {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.ccma-carousel-intro {
		max-width: 620px;
	}

	.ccma-carousel-track > .wp-block-post {
		flex-basis: 240px;
		width: 240px;
	}

	.ccma-carousel-title {
		margin-left: 0 !important;
		width: calc(100% - 3rem);
	}

	.ccma-carousel-category {
		right: -0.8rem;
	}

	.ccma-carousel-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.ccma-carousel-controls {
		margin-left: 0;
		margin-right: 0;
	}
}

/* Force all carousel cards to align from the same top line */
.ccma-carousel-track {
	align-items: flex-start !important;
}


/* Make every card start at the same vertical point */
.ccma-carousel-card {
	position: relative;
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start !important;
	height: auto;
	margin: 0 !important;
	padding: 0 !important;
}

/* Make the media area identical on every card */
.ccma-carousel-media {
	display: block;
	width: 100%;
	margin: 0 !important;
	aspect-ratio: 2 / 3;
	overflow: hidden;
}

.ccma-carousel-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	object-position: center !important;
}
.ccma-carousel-query--elus .ccma-carousel-track {
	margin: 0 0;
}

.elu.type-elu .ccma-carousel-card {
	align-items: center;
	/*max-width: 17.014vw;*/
}

.elu.type-elu .ccma-carousel-card {
	width: fit-content;
}


/* Prevent variable title height from moving the card itself */
.ccma-carousel-title {
	flex: 0 0 auto;
}

/*********** LE MAG ACTUS VARIANT *********/

.ccma-carousel-query .ccma-carousel-track > .wp-block-post {
	flex: 0 0 var(--ccma-actus-slide-width);
	margin: 0;

	scroll-snap-align: start;
	scroll-snap-stop: always;

}

.ccma-carousel-query.post .ccma-carousel-track > .wp-block-post {
	width: var(--ccma-actus-slide-width);
	min-width: var(--ccma-actus-slide-width);
	max-width: var(--ccma-actus-slide-width);
}

.ccma-carousel-query.elu .ccma-carousel-track > .wp-block-post {
	max-width: 17.014vw !important;
}


/* ELUS CARDS */

.ccma-elu-featured-card {
	gap: 7.5vw;
	align-items: center;
	padding: 0 14vw;
}

.ccma-elu-featured-media {
	flex: 0 0 30vw;
	max-width: 30vw;
	padding: 0 !important;
}

.ccma-elu-featured-media .wp-block-post-featured-image {
	margin: 0;
	width: 100%;
}

.ccma-elu-featured-media .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ccma-elu-featured-content {
	flex: 1 1 auto;
	align-items: flex-start;
	gap: 0.35rem;
}

.ccma-elu-featured-function {
	margin: 0;
	font-size: 2rem;
	line-height: 2;
	color: var(--wp--preset--color--vert);
	font-family: var(--wp--preset--font-family--rocksalt) !important;
	font-weight: 400;
	letter-spacing: 0.02em;
}

.ccma-elu-featured-function a {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

.ccma-elu-featured-name {
	margin: 0;
	font-size: clamp(2rem, 3vw, 3.2rem);
	line-height: 0.95;
	font-weight: 700;
}

.ccma-carousel-excerpt {
	margin-top: 0.75rem;
	max-width: 34rem;
	font-size: 1.1rem;
	line-height: 1.55;
}

.elu .ccma-carousel-card h5 + div {
	gap: 0.2em;
}

.elu .ccma-carousel-excerpt p {
	line-height: 1.2;
	color: var(--wp-preset--color--vert-200);
	font-size: var(--wp--preset--font-size--body-small) !important;
}

.ccma-carousel-excerpt p {
	margin: 0;
}

@media (max-width: 900px) {
	.ccma-elu-featured-card {
		flex-wrap: wrap !important;
		gap: 2rem;
	}

	.ccma-elu-featured-media {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ccma-elu-featured-content {
		width: 100%;
	}
}

.ccma-elu-vp-section {
	background: var(--wp--preset--color--vert);
	padding: clamp(2rem, 4vw, 3.5rem);
	color: var(--wp--preset--color--beige);
	position: relative !important;
	overflow: visible !important;
	padding: 2em 14vw !important;
  	margin-top: 3em;
}

.ccma-elu-vp-header {
	margin-bottom: 1.75rem;
	gap: 2rem;
	align-items: flex-start;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	position: relative !important;
	z-index: 30 !important;
}

.ccma-elu-vp-heading {
	gap: 0.15rem;
}

.ccma-elu-vp-kicker {
	margin: 0;
	color: var(--wp--preset--color--beige);
	font-family: var(--wp--preset--font-family--rocksalt) !important;
	font-weight: 400;
	letter-spacing: 0.02em;
	font-size: clamp(1.7rem, 2vw, 2.2rem);
	line-height: 2;
}

.ccma-elu-vp-title {
	margin: 0;
	color: var(--wp--preset--color--beige);
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1;
	font-weight: 500;
}

.ccma-elu-vp-nav {
	display: flex;
	gap: 0.45rem;
	align-items: center;
	padding-top: 0.5rem;
	position: relative !important;
	z-index: 40 !important;
}

.ccma-elu-vp-nav-btn {
	position: relative !important;
	z-index: 50 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	/*border: 2px solid rgba(247, 241, 225, 0.9);*/
	border-radius: 15px;
	background: transparent;
	color: var(--wp--preset--color--beige);
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.ccma-elu-vp-nav-btn:hover {
	/*background: var(--wp--preset--color--beige);*/
	color: var(--wp--preset--color--vert);
	transform: translateY(-1px);
}

.ccma-elu-vp-query {
	--ccma-vp-bleed-left: 0px;
	--ccma-vp-bleed-right: 120px;
	position: relative !important;
	z-index: 1 !important;
	margin: 0 0 0 0 !important;
	overflow: visible !important;
	max-width: none !important;
}

.ccma-elu-vp-track {
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	gap: 1rem;

	margin-top: 0;
	margin-bottom: 0;
	margin-left: calc(var(--ccma-vp-bleed-left) * -1);
	margin-right: calc(var(--ccma-vp-bleed-right) * -1);

	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
	padding-left: var(--ccma-vp-bleed-left);
	padding-right: var(--ccma-vp-bleed-right);

	width: calc(100% + var(--ccma-vp-bleed-left) + var(--ccma-vp-bleed-right));
	box-sizing: border-box;

	overflow-x: auto;
	overflow-y: hidden;

	scroll-snap-type: x proximity;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;

	position: relative;
	z-index: 1;
}

.ccma-elu-vp-track::-webkit-scrollbar {
	display: none;
}

.ccma-elu-vp-track > li {
	flex: 0 0 clamp(180px, 25vw, 315px);
	margin: 0;
	scroll-snap-align: start;
	list-style: none !important;
}

.ccma-elu-vp-card {
	position: relative !important;
	z-index: 1 !important;
	gap: 0.75rem;
	padding: 0;
	background: transparent;
	align-items: center !important;
}

.ccma-elu-vp-media {
	margin: 0;
	width: 100%;
}

.ccma-elu-vp-media img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ccma-elu-vp-card-body {
	position: relative !important;
	z-index: 1 !important;
	gap: 0.2rem;
	align-items: center;
	text-align: center;
}

.ccma-elu-vp-name {
	margin: 0;
	font-size: 1rem;
	line-height: 1.15;
	font-weight: 500;
	color: var(--wp--preset--color--beige);
}

.ccma-elu-vp-name a {
	color: inherit;
	text-decoration: none;
}

.ccma-elu-vp-name a:hover {
	text-decoration: underline;
}

.ccma-elu-vp-role {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.2;
	color: var(--wp--preset--color--beige);
	opacity: 0.95;
}

.ccma-elu-vp-role a {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

.ccma-elu-vp-no-results {
	color: var(--wp--preset--color--beige);
	margin: 0;
}

@media (max-width: 781px) {
	.ccma-elu-vp-header {
		flex-wrap: wrap !important;
	}

	.ccma-elu-vp-query {
		--ccma-vp-bleed-right: 72px;
	}

	.ccma-elu-vp-track > li {
		flex-basis: clamp(160px, 55vw, 220px);
	}
}

/* Conteneur des boutons */
.ccma-elu-vp-nav {
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

/* Boutons */
.ccma-elu-vp-nav-btn {
	display: inline-block;
	width: 45px;
	height: 45px;
	padding: 0;
	border: 0;
	border-radius: 15px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 45px 45px;
	cursor: pointer;

	/* Masque les caractères ← et → présents dans le HTML */
	font-size: 0;
	line-height: 0;

	transition:
		transform 0.2s ease,
		opacity 0.2s ease;
}

.ccma-elu-vp-nav-btn:hover,
.ccma-elu-vp-nav-btn:focus-visible {
	transform: translateY(-1px);
}

/*.ccma-elu-vp-nav-btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--beige, #f7f1e1);
	outline-offset: 3px;
}*/

/* Flèche précédente */
.ccma-elu-vp-nav-prev {
	background-image: url("data:image/svg+xml,%3Csvg width='45' height='45' viewBox='0 0 45 45' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1.5' y='1.5' width='42' height='42' rx='13.5' stroke='%23F7F1E1' stroke-width='3'/%3E%3Cpath d='M23 13.5L14 22.5L23 31.5M14 22.5H31' stroke='%23F7F1E1' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Flèche suivante */
.ccma-elu-vp-nav-next {
	background-image: url("data:image/svg+xml,%3Csvg width='45' height='45' viewBox='0 0 45 45' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1.5' y='1.5' width='42' height='42' rx='13.5' stroke='%23F7F1E1' stroke-width='3'/%3E%3Cpath d='M22 13.5L31 22.5L22 31.5M14 22.5H31' stroke='%23F7F1E1' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ccma-elu-delegues-section {
	background: var(--wp--preset--color--beige);
	color: var(--wp--preset--color--contrast, #222);
	padding: clamp(2rem, 4vw, 3.5rem);
	padding: 2em 14vw !important;
  	margin-top: 3em;
}

.ccma-elu-delegues-header {
	margin-bottom: 1.75rem;
	gap: 2rem;
	align-items: flex-start;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

.ccma-elu-delegues-kicker {
	margin: 0;
	color: var(--wp--preset--color--vert) !important;
	font-family: var(--wp--preset--font-family--rocksalt) !important;
	font-weight: 400;
	letter-spacing: 0.02em;
	font-size: clamp(1.8rem, 2vw, 2.3rem);
	line-height: 1;
}

.ccma-elu-delegues-title {
	margin: 0;
	color: var(--wp--preset--color--contrast, #222);
	font-size: clamp(2rem, 3vw, 3.1rem);
	line-height: 1;
	font-weight: 700;
}

.ccma-elu-delegues-query {
	margin: 0 0 0 0 !important;
	max-width: none !important;
}

.ccma-elu-delegues-grid {
	row-gap: 2.2rem;
	column-gap: 1rem;
}

.ccma-elu-delegues-grid > li {
	margin: 0;
	list-style: none;
}

.ccma-elu-delegues-card {
	gap: 0.7rem;
	padding: 0;
	background: transparent;
}

.ccma-elu-delegues-media {
	margin: 0;
	width: 100%;
}

.ccma-elu-delegues-media img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ccma-elu-delegues-card-body {
	gap: 0.15rem;
	align-items: center;
	text-align: center;
}

.ccma-elu-delegues-name {
	margin: 0;
	font-size: 1rem;
	line-height: 1.15;
	font-weight: 700;
	color: var(--wp--preset--color--vert);
}

.ccma-elu-delegues-name a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

.ccma-elu-delegues-role {
	margin: 0.1rem 0 0;
	font-size: 0.95rem;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast, #222);
}

.ccma-elu-delegues-role a {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

.ccma-elu-delegues-no-results {
	margin: 0;
}

@media (max-width: 1200px) {
	.ccma-elu-delegues-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 900px) {
	.ccma-elu-delegues-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.ccma-elu-delegues-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}



.ccma-carousel-query--elus ul {
	gap: 1em;
}

.elu h5:first-of-type {
	text-decoration: underline;
    text-decoration-color: currentcolor;
    text-decoration-thickness: auto;
	text-decoration-color: currentcolor;
	text-decoration-thickness: auto;
	text-decoration-thickness: 35%;
	-webkit-text-decoration-color: var(--wp-preset--color--vert-300, #BBCBB2);
	-webkit-text-decoration-color: var(--wp-preset--color--vert-300, #BBCBB2);
	text-decoration-color: var(--wp-preset--color--vert-300, #BBCBB2);
	text-underline-offset: -11%;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
}

.has-vert-background-color .elu h5:first-of-type {
	-webkit-text-decoration-color: var(--wp-preset--color--vert-800, #3A4932);
	-webkit-text-decoration-color: var(--wp-preset--color--vert-800, #3A4932);
	text-decoration-color: var(--wp-preset--color--vert-800, #3A4932);

}

/* ==========================================================
   CARROUSEL LE MAG — RECONSTRUCTION
   ========================================================== */

.carousel-section {
	/*
	 * Valeur de secours. Le JavaScript la remplace par la position
	 * exacte du contenu de .ccma-carousel-header.
	 */
	--ccma-carousel-start-offset: max(
		var(--wp--preset--spacing--30, 24px),
		calc((100vw - 1340px) / 2)
	);
	--ccma-carousel-end-offset: var(--wp--preset--spacing--30, 24px);
	--ccma-carousel-card-gap: clamp(24px, 6vw, 96px);
	--ccma-carousel-card-width: clamp(280px, 23vw, 410px);
}

.carousel-section .ccma-carousel-query {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
	overflow: visible !important;
}

.carousel-section .ccma-carousel-query .ccma-carousel-track {
	display: flex !important;
	grid-template-columns: none !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;

	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;  
	margin: 0 0 2em;

	/*
	 * Le padding gauche constitue l’état initial du carrousel.
	 * Comme il appartient au contenu scrollable, il disparaît lorsque
	 * scrollLeft augmente et ne réduit pas le viewport du slider.
	 */
	padding-top: var(--wp--preset--spacing--50) !important;
	padding-right: var(--ccma-carousel-end-offset) !important;
	padding-bottom: var(--wp--preset--spacing--30)!important;
	padding-left: var(--ccma-carousel-start-offset) !important;

	gap: var(--ccma-carousel-card-gap) !important;
	list-style: none;

	overflow-x: auto !important;
	overflow-y: hidden !important;
	overscroll-behavior-inline: contain;

	/*
	 * Le snap obligatoire supprimait visuellement l’offset initial
	 * en forçant la première carte contre le bord gauche.
	 * La navigation est désormais pilotée par ccma-actus-carousel.js.
	 */
	scroll-snap-type: none !important;
	scroll-padding-inline: 0 !important;
	scroll-behavior: auto;

	scrollbar-width: none;
	-ms-overflow-style: none;
}

.carousel-section .ccma-carousel-query.elu .ccma-carousel-track {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.carousel-section .ccma-carousel-query .ccma-carousel-track::-webkit-scrollbar {
	display: none;
}

/*
 * Neutralise les pseudo-éléments utilisés par les anciennes tentatives
 * d’offset : ils ne doivent plus participer au layout Flex.
 */
.carousel-section .ccma-carousel-query .ccma-carousel-track::before,
.carousel-section .ccma-carousel-query .ccma-carousel-track::after {
	content: none !important;
	display: none !important;
}

.carousel-section .elu {
	--ccma-carousel-card-width: clamp(230px, 33vw, 333px);
	--ccma-carousel-card-gap: clamp(24px, 2vw, 96px);
}

.carousel-section
	.ccma-carousel-query
	.ccma-carousel-track
	> .wp-block-post {
	flex: 0 0 var(--ccma-carousel-card-width);
	width: var(--ccma-carousel-card-width);
	min-width: var(--ccma-carousel-card-width);
	max-width: var(--ccma-carousel-card-width);

	box-sizing: border-box;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;

	scroll-snap-align: none !important;
	scroll-snap-stop: normal !important;
}

.carousel-section .ccma-carousel-card {
	position: relative;
	width: 100% !important;
	margin: 0 !important;
}

.carousel-section .ccma-carousel-thumbnail {
	width: 100%;
	margin: 0;
	overflow: hidden;
}

.carousel-section .ccma-carousel-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width: 1024px) {
	.carousel-section {
		--ccma-carousel-card-gap: clamp(20px, 4vw, 48px);
		--ccma-carousel-card-width: clamp(260px, 42vw, 380px);
	}
}

@media screen and (max-width: 640px) {
	.carousel-section {
		--ccma-carousel-start-offset: var(--wp--preset--spacing--20, 16px);
		--ccma-carousel-end-offset: var(--wp--preset--spacing--20, 16px);
		--ccma-carousel-card-gap: 16px;
		--ccma-carousel-card-width: calc(100vw - 64px);
	}
}