/* surcharge variables globales */
:root {
	--bs-body-font-size: 1.2rem;
	--primary-theme-color: #7CB342!important;
	--bs-btn-hover-bg: #C0C1BF;
	--border-image-theme-color: #c3c3c3;
	--secondary-theme-color: #0D666A!important;
}

/* annulation fond du menu */
.center-header-box {
	background-image: none;
}

.fixed-header {
	box-shadow: none;
}

#back-menu-header {
	background-image: url(../uploads/vague-menu.svg);
	height: 90px;
	opacity: 0.9;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center bottom;
	background-color:transparent;
}

.social-links i {
	width: 54px;
	height: 54px;
	padding: 27px 0;
	border-radius: 27px;
}

.upperheader {
	height: 100px;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 120' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath fill='%230d666a' d='M0,55 C180,45 320,65 480,60 C640,55 800,45 960,55 C1120,65 1280,60 1440,55 L1440,0 L0,0 Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: cover;
}

@media (max-width: 1199.98px) {
	.upperheader { height:140px; font-size:14px; }
}

@media (max-width: 1399.98px) {
	.upperheader { font-size:16px; }
}

.footer-widget {
	padding-top: 65px;
	background-repeat: no-repeat!important;
	background-size: 100% 160px!important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,65 C180,75 320,55 480,60 C640,65 800,75 960,65 C1120,55 1280,60 1440,65 L1440,0 L0,0 Z'/%3E%3C/svg%3E")!important;
}

.footer-widget input#search::placeholder {
	color: #fff;
}
/* bandeau haut de page avec l'image par défaut */

/* Lisibilité renforcée */
.banner-section-page .banner-section-content h1,
.banner-section-page .banner-section-content p {
	text-shadow: 0 2px 10px rgba(0,0,0,.45);
	color:#fff;
}

/* extrait */
.banner-section-page .banner-section-content p {
	font-family: "Covered By Your Grace", Sans-serif;
	font-size: 30px;
	letter-spacing: 0.1em;
}

.banner-wrapper {
	position: relative;
}

/* date */
.banner-section-page .banner-section-content time {
	font-style: italic;
	font-size: smaller;
	color: #C0C0C0;
}

/* icone calendrier */
.banner-section-page .banner-section-content .elementor-icon-list-icon svg {
	fill: #C0C0C0;
}

/* Bannière */
.banner-section-page {
	position: relative;
	min-height: 500px;
	background-size: cover;
	background-position: center;
	
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Gradient sombre */
.banner-section-page::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0,0,0,.7) 0%,
		rgba(0,0,0,.4) 35%,
		rgba(0,0,0,.15) 75%
	);
	z-index: 1;
}

/* Texte */
.banner-section-page .container {
	position: relative;
	z-index: 2;
	color: #fff;
	text-align: center;
}

/* Vague douce (masque du gradient) */
.banner-section-vague {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 90px;
	z-index: 3;          /* AU-DESSUS du gradient */
	display: block;
}

@media screen and (max-width: 767.98px) {
	.upperheader {
		display:none;
	}
	#back-menu-header {
		background-image: none;
		opacity: 1;
	}
	#main-menu {
		z-index: 999;
		border-radius: 10px;
		background-color:var(--primary-theme-color);
	}
	
	.nav-menu {
		list-style-type: none;
		display: flex;
		float: left;
		width: auto;
	}
	
	.nav-menu li { padding:16px 5px 0px 10px; }
	
	.banner-section-page {
		min-height:370px;
	}

}


/* pour que le menu mobile soit au dessus du contenu */
#content {
	position:relative;
	z-index:-1;
}

/* menu toogle */
.menu-toggle, .close-menu {
	padding: .25rem .75rem;
	font-size: 2.25rem;
	border: 1px solid white;
	border-radius: 10px;
	background-color:#0e656a;
	transition: box-shadow .15s ease-in-out;
	
}

@media screen and (min-width: 320px) and (max-width: 767px) {

	button.close-menu {
		background-color:#0e656a;
		border: 1px solid white;
		color: white;
	}
	#main-menu ul li:nth-child(2n+1) { background: #adadad; }
	#main-menu ul li:nth-child(2n) { background: #7f7f7f; }
	#main-menu ul li:hover { background: #87c7c7; }	

}


.menu-toggle span.fa-bars { color: #fff; }
.menu-toggle:hover { background-color:transparent; }
.header.toggled #main-menu { margin-bottom: 0px; }


/*.featured-image::after, */
.eco-nature-elementor-banner-section::after {
	background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 140' preserveAspectRatio='none'>\
<path fill='%23ffffff' d='M0,70 C180,20 360,110 540,85 720,60 900,20 1080,45 1260,70 1380,110 1440,95 L1440,140 L0,140 Z'/>\
</svg>");
	background-repeat: no-repeat;
	background-position: top center;
	content: "";
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background-size: 100% 125px;
	height: 90px;
}

/*
.featured-image::after {
	background-size: 100% 130px;
	height: 115px;
}
*/

/* Slider pleine largeur */
.bandeau-slider {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-bottom:30px;
}

/* pour la lisibilité */
.bandeau-slider .swiper-slide::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(0,0,0,0.55),
		rgba(0,0,0,0)
	);
	z-index: 1;
}

.bandeau-slider .slide-content {
	position: relative;
	z-index: 2;
	color: #fff;
}


.text-carousel {
	border-radius: 0px 40px;
}

/* Slides */
.text-carousel .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 2rem;
	font-weight: 600;
	color: #fff;

	opacity: 0;
	transition: opacity 0.6s ease;

	background-size: cover;       /* image recouvre entièrement */
	background-position: center;  /* centrage */
	background-repeat: no-repeat;
	height: 500px;                /* hauteur du slider */
	position: relative;
}

/* Slide actif */
.text-carousel .swiper-slide-active {
	opacity: 1;
}

/* Overlay pour lisibilité */
.text-carousel .swiper-slide::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.3); /* assombrir légèrement l'image */
	z-index: 1;
}

/* Contenu texte */
.slide-content {
	margin-left:100px;
	position: relative;
	z-index: 2;
	padding: 20px;
	max-width: 900px;
}

/* Flèches par défaut */
.articles-swiper .swiper-button-prev,
.articles-swiper .swiper-button-next,
.text-carousel .swiper-button-prev,
.text-carousel .swiper-button-next {
	color: #fff;
	width: 44px;
	height: 44px;
	background: #559132;
	border-radius: 50%;
	backdrop-filter: blur(4px);
	transition: opacity .3s, transform .3s;
}

.articles-swiper .swiper-button-prev::after,
.articles-swiper .swiper-button-next::after,
.text-carousel .swiper-button-prev::after,
.text-carousel .swiper-button-next::after {
	font-size: 18px;
	font-weight: bold;
}
/*
.articles-swiper .swiper-button-prev:hover,
.articles-swiper .swiper-button-next:hover,
*/
.text-carousel .swiper-button-prev:hover,
.text-carousel .swiper-button-next:hover {
	transform: scale(1.1);
	opacity: 1;
}

/* Mobile */
@media (max-width: 768px) {
	.text-carousel .swiper-button-prev,
	.text-carousel .swiper-button-next {
		width: 36px;
		height: 36px;
		/*background: rgba(0,0,0,.5);*/
	}

	.text-carousel .swiper-button-prev::after,
	.text-carousel .swiper-button-next::after {
		font-size: 14px;
	}
	
	.slide-content { margin-left:60px; }
}

.text-carousel .elementor-heading-title {
	font-family: "Covered By Your Grace", Sans-serif;
	font-size: 30px;
	font-weight: 400;
	color: #FFFFFF;
}

.slide-content .slide-description {
	font-size: 18px;
}

.articles-swiper .voir-plus,
.elementor-element.slider-element-button .elementor-button {
	background-color: var(--primary-theme-color);
	font-family: "Manrope",	Sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	border-radius: 18px 18px 18px 18px;
}

/* ===== BOUTON VOIR PLUS slider swipper ===== */
.articles-swiper .voir-plus {
    margin-top: auto;
    text-align: center;
    width: fit-content;
    margin: 0px auto 10px auto;
    padding: 5px 10px;
    text-transform: uppercase;
    color: #fff;
    z-index: 2;
	transition: all .5s ease;
}

.articles-swiper .voir-plus:hover {
	/* background: #005f8d; */
	opacity:0.5;
}


/* ===== PAGINATION ===== */
.swiper-pagination-bullet {
	background: #0073aa;
	opacity: .4;
}

.swiper-pagination-bullet-active {
	opacity: 1;
}




/* actualites */

.featured-image  {
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	/* min-height:500px;*/
}

.featured-image .bg-svg {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 80px;
	display: block;
}

/* premiere image */
.featured-image-first {
  position: relative;
  width: 100%;
  min-height: clamp(220px, 45vw, 420px); /* responsive */
  display: flex;
  align-items: center;
  overflow: hidden;
  background: white; /* couleur section suivante */

}

/* Image */
.featured-image-first img {
  width: 100%;
  height: auto;
  flex-shrink: 0;
}

/* Vague masque responsive */
.featured-image-first::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -10%;
  width: 120%;
  height: clamp(70px, 15vw, 160px); /* vague responsive */
  background: white;
  border-radius: 100% 100% 0 0;
}

@media (max-width: 768px) {
	
	.featured-image-first::after {
		height: 90px;
	}
}

@media (min-width: 1200px) {
	.featured-image-first { height:90vh; }
	.featured-image-first::after {
		height: 70px;
	}
}

/* correction cadrage photo equipes */
#post-equipe-marie-laure-mollis .post-background { background-position-y: -92px; }
#post-equipe-jean-michel-noraz .post-background { background-position-y: -50px; }
#post-equipe-francis-perrineau .post-background { background-position-y: -50px; }
#post-equipe-patrick-zitter .post-background { background-position-y: -40px; }
#post-equipe-valerie-gagneux .post-background { background-position-y: -40px; }
#post-equipe-noelle-thines .post-background { background-position-y: -60px; }

@media (min-width: 767px) {
	.single-post-equipe #featured-image-marie-laure-mollis { margin-top:-100px; }
	.single-post-equipe #featured-image-francois-legent-desseaux { margin-top:-90px; }
	.single-post-equipe #featured-image-noelle-thines { margin-top:-80px; }
}
/* cacher premiere photos du slider equipe de la home */
.elementor-element-67614b8 .article-item:first-child { display:none; }

/* page equipe individuelles */
.site-contenu-post .single-post-equipe {
	width: 75%;
	min-height: 250px;
	margin: 90px auto 20px auto;
}

.site-contenu-post .single-post-equipe .featured-image {
	margin: 0 auto; /* centrage horizontal */
	display: flex;
	align-items: flex-start;
	justify-content: center;
	overflow: hidden;
}

.site-contenu-post .single-post-equipe .featured-image img {
	max-width: 100%;
	max-height: 60vh;
	width: auto;
	height: auto;
	object-fit: contain; /* aucune déformation */
	display: block;
	border: 1px solid var(--border-image-theme-color);
	border-radius: 0 40px;
}

@media (min-width: 768px) {
	.site-contenu-post .single-post-equipe .featured-image {
		max-height: 60vh;
		padding-right:20px;
	}
}

.post-content h2,
.site-contenu-home .single-post-equipe .titre-infos-bandeau,
.site-contenu-post .single-post-equipe .titre-infos-bandeau {
	color: var(--primary-theme-color)!important;
	font-size: 1.9rem;
	font-weight: 800;
	text-transform: uppercase;
	text-shadow: 0px 0px 40px rgba(0,0,0,0.3);
}

.site-contenu-home .single-post-equipe .extrait-infos-bandeau,
.site-contenu-post .single-post-equipe .extrait-infos-bandeau {
	font-size: 20px;
	font-weight: 900;
	padding: 8px 0;
}

/* galerie dans les posts */
.galerie-custom {
	column-count: 3;
	column-gap: 16px;
	margin-bottom: 2em;
}

.galerie-item {
	/*display: inline-block;*/
	width: 100%;
	margin-bottom: 16px;
	break-inside: avoid;
}

.galerie-item img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
}


/*
.featured-image	{
	position: absolute;
	top: 50%;
	left: 50%;
	height:	100%!important;
	width: auto;
	transform: translate(-50%, -50%);
	object-fit:	cover;
	min-width: 100%;
}
*/

/*
.blog-page .featured-image::after, .single-post	.featured-image::after {
	--background-overlay: '';
	background-color: #dc464600;
	background-image: linear-gradient(190deg, #26262652	86%, var( --e-global-color-primary ) 30%);
	z-index: 1 // priorité	importante pour	afficher;
}
*/

/*div de chapeau */
/*
.single-post .elementor-element.entete-post {
    --display: flex;
    --min-height: 42vh;
    --flex-direction: column;
    --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --justify-content: center;
    --align-items: center;
    --background-transition: 0.3s;
    --overlay-opacity: 1;
    --border-style: none;
    --border-radius: 10px 10px 10px 10px;
    --margin-top: 0%;
    --margin-bottom: 0%;
    --margin-left: 0%;
    --margin-right: 0%;
    --padding-top: 5%;
    --padding-bottom: 5%;
    --padding-left: 5%;
    --padding-right: 5%;
}
*/
/*titre chapeau */
.single-post .elementor-element.elementor-element-3ca72d1 .elementor-heading-title {
    color: #dfdede;
    /*font-family: "Josefin Sans", Sans-serif;*/
    font-size: 2.2rem;
    font-weight: bold;
    text-transform: uppercase;
    font-style: italic;
    /*text-shadow: 0px 0px 10px rgba(0,0,0,0.3);*/
    text-shadow: 1px 1px 24px black, 0 0 1em black, 0 0 1.2em black;
}

.single-post .elementor-element.elementor-element-8112b29 .elementor-heading-title {
    color: #dfdede;
    /* font-family: var( --e-global-typography-accent-font-family ), Sans-serif; */
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.3;
    text-shadow: 1px 1px 24px black, 0 0 1em black, 0 0 1.2em black;
}

/* partage RS */
.share-responsive {
    display: flex;
    gap: 10px;
    align-items: center;
    z-index: 9999;
    font-size: 20px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Desktop : sticky à droite */
@media (min-width: 768px) {
    .share-responsive {
        position: fixed;
        top: 50%;
        right: 20px;
        flex-direction: column;
        transform: translateY(-50%);
        background: rgba(255,255,255,0.95);
        padding: 10px;
        border-radius: 10px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    }

    .share-responsive a:hover,
    .share-responsive button:hover {
        transform: scale(1.2);
    }
}

/* Mobile : sticky bottom */
@media (max-width: 767px) {
    .share-responsive {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        justify-content: space-around;
        background: #fff;
        border-top: 1px solid #ddd;
        padding: 8px 0;
    }

    .share-responsive a:hover,
    .share-responsive button:hover {
        transform: scale(1.1);
    }
}

.share-responsive a,
.share-responsive button {
    background: none;
    border: none;
    color: #333;
    cursor: pointer;
    position: relative;
    transition: transform 0.2s ease;
}

/* Couleur spécifique pour Instagram */
.share-responsive .fa-instagram {
    color: #E4405F;
}

/* Tooltip simple */
.share-responsive [title]::after {
    content: attr(title);
    position: absolute;
    bottom: 130%; /* au dessus du bouton */
    left: 50%;
    transform: translateX(-50%);
    background: #222;
    color: #fff;
    padding: 4px 6px;
    font-size: 12px;
    white-space: nowrap;
    border-radius: 4px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.share-responsive [title]:hover::after {
    opacity: 1;
}

/* contenu actus */
.single-post .elementor-element.elementor-element-contentactualites, .single-post .elementor-element.elementor-element-contentpresse, .single-post .elementor-element.elementor-element-contentphotos, .single-post .elementor-element.elementor-element-header {
	/*width: 75%;*/
	min-height: 250px;
	margin: 20px auto 0px auto;
}

/* navigation posts */
.single-post .elementor-element.elementor-element-9293f7c, .single-post .elementor-element.elementor-element-4811a2f, .single-post .elementor-element.elementor-element-6f25e9b {
	--my-basis: 33%;
	flex: 0 1 var(--my-basis); /* flex-grow | flex-shrink | flex-basis */
}

/* bouton du milieu */
.single-post .elementor-element.elementor-element-4811a2f {
	justify-items:center;
	text-align: center;
}
/* bouton de gauche */
.single-post .elementor-element.elementor-element-6f25e9b {
	justify-items: end;
	text-align:right;
}

.elementor-post-navigation span.post-navigation__prev--title, .elementor-post-navigation span.post-navigation__home--title, .elementor-post-navigation span.post-navigation__next--title {
	color: #000;
	/*font-family: var( --e-global-typography-secondary-font-family ), Sans-serif;*/
	font-size: 16px;
	font-weight: 800;
	display: block;
	margin-top: 10px;
	padding-bottom: 10px;
	line-height: 1.2;
}

.elementor-post-navigation svg {
	height:80px;
	fill:var(--primary-theme-color);
	transition: all 0.5s;
}

.elementor-post-navigation svg:hover {
	opacity: 0.5;
	transform: scale(0.8);
}


@media (max-width: 767px) {

	.site-contenu-post .single-post-equipe .featured-image {
		width: 100%;
		max-height:50vh;
	}

	.site-contenu-post .single-post-equipe,
	.single-post .elementor-element.elementor-element-contentactualites, .single-post .elementor-element.elementor-element-contentpresse, .single-post .elementor-element.elementor-element-contentphotos, .single-post .elementor-element.elementor-element-header {
		width: 100%;
		padding:15px;
		margin-top:0px;
	}
	.elementor-post-navigation svg {
		height:50px;
	}
	.elementor-post-navigation {
		min-height: 150px;
	}
	
	.galerie-custom {
		column-count: 1;
	}
}

/* liste des posts pour widget articles par catégorie */
/* Grille horizontale */
.articles-horizontal .liste-articles {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 25px;
}

/* Grille verticale : 2 posts par ligne */
.articles-vertical .liste-articles {
	display: grid;
	/*grid-template-columns: repeat(2, 1fr);*/
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 25px;
}

/*
@media (max-width: 768px) {
	.articles-vertical .liste-articles {
		grid-template-columns: 1fr;
	}
}
*/

/* positionnement */
.articles-vertical .article-item,
.articles-horizontal .article-item {
	position: relative;
}

/* Carte article */
.articles-horizontal .article-item,
.articles-vertical .article-item {
	display:flex;
	flex-direction: column;
	align-items: flex-end;
}

.articles-horizontal .article-item {
	width: calc(24% - 17px) !important;
}

/* Wrapper image (ratio fixe) */
.articles-vertical .article-item > a,
.articles-horizontal .article-item > a {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9; /* ajuste si besoin */
	overflow: hidden;
	border-radius: 0 20px;
}

/* Image cadrée */
.articles-vertical .article-item img,
.articles-horizontal .article-item img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* gradient sur image */
.articles-vertical .article-item > a::before,
.articles-horizontal .article-item > a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0,0,0,.65) 0%,
		rgba(0,0,0,.35) 45%,
		rgba(0,0,0,.1) 70%
	);
	z-index: 1;
}

/* h3 centré sur image */
.articles-vertical .article-item h3,
.articles-horizontal .article-item h3 {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 1rem;
	text-align: center;
	pointer-events: none; /* le clic passe sur l’image */
	transform: translateY(12px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

/* lisibilité maximale */
.articles-vertical .article-item h3 a,
.articles-horizontal .article-item h3 a {
	color: #fff;
	font-size: clamp(1.1rem, 2.5vw, 1.5rem);
	font-weight: 600;
	text-decoration: none;
	text-shadow: 0 3px 12px rgba(0,0,0,.6);
}


/* Image légèrement zoomée au repos */
.articles-vertical .article-item img,
.articles-horizontal .article-item img {
	transform: scale(1.08);
	transition: transform 0.6s ease;
}

/* hover sympa */
.article-item:hover a::before {
	background: linear-gradient(
		to top,
		rgba(0,0,0,.75),
		rgba(0,0,0,.4),
		rgba(0,0,0,.15)
	);
}

.articles-vertical .article-item:hover img,
.articles-horizontal .article-item:hover img {
	transform: scale(1);
}

.articles-vertical .article-item:hover h3,
.articles-horizontal .article-item:hover h3 {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 768px) {
	.articles-vertical .article-item h3,
	.articles-horizontal .article-item h3 {
		opacity: 1;
		transform: none;
	}
	
	.articles-vertical .article-item img,
	.articles-horizontal .article-item img {
		transform: scale(1);
	}
}



/* Tablet */
@media (max-width: 1024px) {
	.articles-horizontal .article-item {
		width: calc(50% - 12px) !important;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.articles-horizontal .article-item {
		width: 100% !important;
	}
}

/* slider equipe ***************************************************/
/* Swiper structure */
/* sécurité */
/*
.articles-swiper .liste-articles {
    overflow: hidden;
}
*/
.articles-swiper .liste-articles {
    position: relative;
    padding: 0 60px; /* espace pour les flèches */
}

/* flèches */
/*
.articles-swiper .swiper-button-prev,
.articles-swiper .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    color: #000;
}
*/

/* gauche */
/*
.articles-swiper .swiper-button-prev {
    left: -25px;
}
*/
/* droite */
/*
.articles-swiper .swiper-button-next {
    right: -25px;
}
*/

/* slides */
.articles-swiper .swiper-slide {
    height: auto;
    display: flex;
}

/* carte */
.articles-swiper .article-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 430px; /* ← AJUSTE ICI */
    background: #fff;
    border-radius: 0px 40px;
}

/* image uniforme */
.articles-swiper .article-item img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

/* titre centré */
.articles-swiper .article-item h3 {
    text-align: center;
    margin: 10px 10px;
    font-size:20px;
    /*
    min-height: 3.6em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    */
    overflow: hidden;
}
/*
.article-item h3 {
    text-align: center;
    margin: 15px 10px;
    min-height: 3.6em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
*/

.articles-swiper .swiper-pagination {
	position:relative;
	bottom:-5px!important;
}

@media (max-width: 767px) {
	.articles-swiper .swiper-button-prev,
	.articles-swiper .swiper-button-next,
	.articles-swiper .swiper-pagination { display:none; }
}

/* bouton en bas */
.articles-swiper .voir-plus {
    margin-top: auto;
    text-align: center;
}


/* Slide cliquable entier */
.articles-swiper .article-item a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* ===== ORDRE DES ÉLÉMENTS ===== */
.articles-swiper h3 {
	text-align: center;
	margin-bottom: 10px;
}

.article-excerpt {
	padding: 0 10px;
	font-size: 0.95rem;
	line-height: 1.5;
	color: #555;
	text-align: center;
	margin-bottom: 10px;
	min-height: 4em; /* égalise même si extrait court */
}

.article-item .thumb {
	overflow: hidden;
	border-radius: 0 30px;
}

.article-item .thumb img {
	display: block;
	width: 100%;
	height: auto;
	transform: scale(1.08);
	transition: transform 0.8s ease, filter 0.8s ease;
}

.article-item:hover .thumb img {
	transform: scale(1);
}


@media (min-width: 1200px) {
	.article-item .thumb img { min-height:340px; }
}

/* slide cliquable en entier */
.article-item {
	cursor: pointer;
}


/********************************* page index actus /equipe etc ******************************/
/* conteneur général tous les posts */
.blog-posts-content {
	display:flex;
	flex-wrap:wrap;
	margin:20px 50px;
	overflow: hidden;
	max-width: 100%;
	box-sizing: border-box;
}

/* diminuer marge mobile */
@media (max-width: 767.98px) {
	.blog-posts-content {
		margin:0px 15px;
	}
}

/* container global article */
.post-wrapper { flex-basis:33%; }

/* contenu du post */
.post-wrapper .elementor-element.post-container {
	display: flex;
	flex-direction: column;
	/*
	container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );
	container-widget-height: initial;
	container-widget-flex-grow: 0;
	container-widget-align-self: initial;
	*/
	justify-content: center;
	align-items: center;
	gap: 0px 0px;
	background-transition: 0.3s;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	margin-right: 0px;
	padding-top: 5%;
	padding-bottom: 0%;
	padding-left: 5%;
	padding-right: 5%;
}

@media (max-width: 767.98px) {
	.post-wrapper {
		flex-basis: 100%;
		min-width: 0;
		flex-shrink: 1;
		overflow: hidden;
		padding:12px;
		box-shadow:none;
	}
	.post-wrapper .elementor-element.post-container {
		padding-left: 0%;
		padding-right: 0%;
		padding-bottom: 0%;
	}
}

/* image mise en avant */
.post-wrapper .elementor-element.post-background:not(.elementor-motion-effects-element-type-background), .post-wrapper .elementor-element.post-background > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width:100%;
}

/* surcharge pour categorie equipe */
.page-equipe .post-wrapper .elementor-element.post-background:not(.elementor-motion-effects-element-type-background), .page-equipe .post-wrapper .elementor-element.post-background > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-position: center top;
}
.page-equipe .post-date { display:none; }

@media (max-width: 767.98px) {
	.post-wrapper .elementor-element.post-background {
		padding-top: 7%;
		padding-bottom: 7%;
		padding-left: 7%;
		padding-right: 7%;
	}
}
@media (max-width: 1024px) {
	post-wrapper .elementor-element.post-background {
		min-height: 46vh;
	}
}
.post-wrapper .elementor-element.post-background {
	display: flex;
	min-height: 50vh;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.28);
	margin-top: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	margin-right: 0px;
	padding-top: 5%;
	padding-bottom: 5%;
	padding-left: 5%;
	padding-right: 5%;
	transition-duration: 0.5s;
	transform: scale(1.05);
	border-radius:0px 40px;
}

.post-wrapper .elementor-element.post-background:hover {
	transform: scale(1);
	cursor:pointer;
}

/* titre du post */
body:not(.rtl) .post-wrapper .elementor-element.post-title {
	left: 5px;
	width:100%;
	margin-bottom: 8px;
}

.post-wrapper .elementor-element.post-title > .elementor-widget-container {
	margin: 0px 0px 0px 0px;
	padding: 0% 0% 0% 0%;
}

.post-wrapper .elementor-element.post-title.elementor-element {
	align-self: flex-start;
	order: -99999;
}

.post-wrapper .elementor-element.post-title .elementor-heading-title {
	
	/*font-family: "Josefin Sans", Sans-serif; */
	font-size: 1.3rem;
	font-weight: 800;
	text-transform: uppercase;
	text-shadow: 0px 0px 40px rgba(0,0,0,0.3);
	white-space:nowrap;
	overflow:hidden;
}

.post-wrapper .elementor-element.post-title .elementor-heading-title > a {
	color: var(--primary-theme-color);
}

@media (max-width: 767.98px) {
	.post-wrapper .elementor-element.post-title .elementor-heading-title {
		font-size: 1.2rem;
	}
}

/* bouton  plus */
.post-wrapper .elementor-element.post-button.elementor-element {
	align-self: flex-end;
	order: 99999;
	position:absolute;
}
.post-wrapper .elementor-element.post-button {
	bottom: 75px;
	right:20px;
}

@media (max-width: 767.98px) {
	.post-wrapper .elementor-element.post-button {
		right:0px;
	}
}

.post-wrapper .elementor-element.post-button .elementor-button {
	fill: #fff;
	background-color: var(--primary-theme-color);
	border-style: solid;
	border-width: 1px;
	border-radius: 30px;
	box-shadow: 0px 0px 10px 0px #0d666a;
	padding: 12px 15px;
	display:block;
	width:60px;
}

/* date post */
.post-wrapper .post-date {
	position: relative;
	float: right;
	margin-right: 10px;
	font-size: 10px;
	margin-top: -20px;
}

/* extrait post */
.post-wrapper .post-excerpt .elementor-heading-title {
	color: var(--e-global-color-text);
	font-family: var( --e-global-typography-accent-font-family ), Sans-serif;
	font-size: var( --e-global-typography-accent-font-size );
	font-weight: var( --e-global-typography-accent-font-weight );
	line-height: 1.3;
	margin-top: 20px;
	/*margin-right: 65px;*/
	text-align: justify;
	height:70px;
	display: -webkit-box;
	-webkit-line-clamp: 3;           /* Limite à 3 lignes */
	-webkit-box-orient: vertical;    /* Orientation verticale */
	overflow: hidden;                /* Cache l'excès */
	text-overflow: ellipsis;         /* Affiche ... à la fin */
	word-break: break-word;          /* Coupe les mots si nécessaire */
	max-width: 100%;                 /* Responsive : largeur max */
}

/* pagination */
.blog-page .pagination {
	display: flex;
	justify-content: space-between;
	margin: 0px 75px;
}

.blog-page .pagination .next {
	margin-right: 25px;
}

@media (max-width: 767.98px) {
	.blog-page .pagination {
		margin: 0px 15px;
	}

	.blog-page .pagination .next {
		margin-right: 0px;
	}
}

.blog-page .pagination .page-numbers {
	display: inline-block;
	text-decoration: none;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	text-align: center;
	font-weight: 800;
	color: #fff;
}

.blog-page .pagination .page-numbers {
	padding-top: 11px;
}

.blog-page .pagination .page-numbers:not(.prev, .next, .current) {
	background-color: var( --primary-theme-color );
}

.blog-page .pagination .page-numbers svg {
	fill: var( --primary-theme-color );
}

.blog-page .pagination .current {
	background-color: #333;
}
@media (min-width: 1200px) {
	.blog-page .blog-posts-content:not(.blog-posts-page-1) {
		margin-top:80px;
	}
}

/* uniformiser hauteur des images en avant dans les resultats de recherche */
.post-thumbnail {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: #f2f2f2;
}

.post-thumbnail img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-box { border-radius: 0px 40px; }
.post-box .box { border-radius: 0 40px 0 0; }

/* mentions légales */
#post-399 h3 {
	font-size: 22px;
	margin-top: 15px;
	text-transform: initial;
	padding-bottom: 10px;
	margin-bottom: 10px;
	color: 
}

/* divers actualités */

.elementor-element-contentactualites .wp-block-image img,
.elementor-element-contentactualites p img {
	border-radius: 0px 40px;
	border: 1px solid black;
}

.elementor-element-contentactualites p img {
	float: left;
	margin: 0px 15px 15px 0;
}

.elementor-element-contentactualites .wp-block-image figure:not(.size-medium),
.elementor-element-contentactualites .wp-block-image :not(.size-medium) img,
.elementor-element-contentactualites p img {
	width:90%;
}

.elementor-element-contentactualites p:has(img) + p,
.elementor-element-contentactualites p:has(img) + .galerie-custom {
	clear: both;
}

.elementor-element-contentequipe p a.btn-actus:hover,
.elementor-element-contentactualites p a.btn-actus:hover {
	background-color:var(--secondary-theme-color);
}

.elementor-element-contentequipe p a.btn-actus,
.elementor-element-contentactualites p a.btn-actus {
	color:#fff;
	font-size:20px;
	padding:8px;
	font-weight:800;
	background-color:var(--primary-theme-color);
	transition: color 0.8s ease-in-out, background-color 0.8s ease-in-out, border-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
}

/* menu */
#main-menu a, #main-menu li a, #main-menu ul li a {
	font-size: large;
}

@media (max-width: 991.98px) {
	#main-menu a, #main-menu li a, #main-menu ul li a {
		font-size: small;
	}
}

/* swipe actualites */

/* desactiver swipe sur la navigation */
.elementor-post-navigation,
.elementor-post-navigation a {
	touch-action: manipulation;
}

/* feedback visuel */
.site-contenu-post {
	overscroll-behavior-x: contain;
}

/* boutons de swipe */
.swipe-nav {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	z-index: 999;
	pointer-events: auto;
}

.swipe-prev {
	left: 30px;
}

.swipe-next {
	right: -20px;
}

.swipe-nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: rgba(0,0,0,0.45);
	border-radius: 50%;
	backdrop-filter: blur(4px);
}

.swipe-nav svg {
	width: 20px;
	height: 20px;
	fill: #fff;
}

/* indication visuelle du swipe */
@keyframes swipeHintLeft {
	0% { transform: translate(-50%, -50%); opacity: .4; }
	50% { transform: translate(-65%, -50%); opacity: .8; }
	100% { transform: translate(-50%, -50%); opacity: .4; }
}

@keyframes swipeHintRight {
	0% { transform: translate(-50%, -50%); opacity: .4; }
	50% { transform: translate(-35%, -50%); opacity: .8; }
	100% { transform: translate(-50%, -50%); opacity: .4; }
}

.swipe-prev {
	animation: swipeHintLeft 2.5s ease-in-out infinite;
}

.swipe-next {
	animation: swipeHintRight 2.5s ease-in-out infinite;
}

/* mobile only */
@media (min-width: 992px) {
	.swipe-nav {
		display: none;
	}
}

/* menu fixé */
.sticky-header {
	/*position: relative;*//* empeche l'image d'aller sous le menu */
	transition: all 0.3s ease;
}

.sticky-header.is-sticky {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
}

@media (max-width: 991.98px) { .sticky-header.is-sticky { top: 30px; }}
@media (max-width: 767.98px) { .sticky-header.is-sticky { top: 45px; }}

body.has-sticky {
	padding-top: 90px; /* ajuste à la hauteur du menu */
}

/* actu à la une */
.alaune {
	color: #fff;
	text-align: end;
	
}

.alaune span {
	background: var(--secondary-theme-color);
	padding: 8px;
	border-radius: 15px;
	font-size: 20px;
	font-weight: 600;
}

.alaune time svg {
	fill: #C0C0C0;
	height: 1em;
	width: 1em;
}

.alaune time {
	color: #C0C0C0;
	font-style: italic;
	padding-left: 15px;
}

.alaune-title {
	font-family: Manrope;
	font-weight: 800;
	line-height: 40px;
	font-size: 36px;
	color: #fff;
}

blockquote.wp-block-quote p {
	font-weight: 700;
	font-style: italic;
}
