/* ==========================================================================
   E42 Split Carousel
   Défauts calés sur la maquette (image gauche / contenu droite, palette chaude).
   ========================================================================== */

.e42-sc {
	position: relative;
}

.e42-sc-swiper {
	position: relative;
	overflow: hidden;
	width: 100%;
}

/* Structure Swiper essentielle (embarquée pour ne pas dépendre du CSS de Swiper).
   Garantit une piste horizontale, et un fallback propre (1re slide) si le JS ne charge pas. */
.e42-sc-swiper .swiper-wrapper {
	display: flex;
	box-sizing: content-box;
	height: auto;
}

.e42-sc-swiper .swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: auto;
}

.e42-sc-slide {
	display: flex;
	align-items: stretch;
	height: auto;
}

/* --- Media (image) --- */
.e42-sc-media {
	flex: 0 0 50%;
	max-width: 50%;
	min-height: 460px;
	position: relative;
	overflow: hidden;
}

.e42-sc-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

/* Overlay couleur sur l'image (transparent par défaut) */
.e42-sc-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: transparent;
	pointer-events: none;
}

/* --- Content (panneau droite) --- */
.e42-sc-content {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 64px 72px;
	background-color: #FFFFFF;
}

/* Inversion image / contenu */
.e42-sc--reverse .e42-sc-slide {
	flex-direction: row-reverse;
}

/* --- Sur-titre --- */
.e42-sc-eyebrow {
	display: block;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #B89B6E;
	margin-bottom: 20px;
}

/* --- Titre --- */
.e42-sc-title {
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size: 30px;
	line-height: 1.15;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	font-weight: 500;
	color: #6C6C68;
	margin: 0 0 28px;
}

/* --- Liste --- */
.e42-sc-list {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
}

.e42-sc-list li {
	position: relative;
	padding-left: 22px;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #7A7268;
	margin-bottom: 12px;
}

.e42-sc-list li:last-child {
	margin-bottom: 0;
}

.e42-sc-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 5px;
	height: 5px;
	background-color: #B89B6E;
}

/* --- Bouton --- */
.e42-sc-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	white-space: nowrap;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #6C6C68;
	text-decoration: none;
	padding-bottom: 6px;
	border-bottom: 1px solid #D8CFC2;
	transition: color .3s ease, border-color .3s ease;
}

.e42-sc-btn:hover {
	color: #B89B6E;
	border-bottom-color: #B89B6E;
}

.e42-sc-arrow {
	display: inline-block;
	transition: transform .3s ease;
}

.e42-sc-btn:hover .e42-sc-arrow {
	transform: translateX(4px);
}

/* --- Navigation --- */
.e42-sc-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #4A4038;
	background: transparent;
	border: 0;
	outline: none;
	transition: opacity .3s ease, color .3s ease;
}

.e42-sc-nav svg {
	width: 22px;
	height: 22px;
	display: block;
}

.e42-sc-prev {
	left: 18px;
}

.e42-sc-next {
	left: auto;
	right: calc(50% + 18px);
}

.e42-sc--reverse .e42-sc-prev {
	left: auto;
	right: 18px;
}

.e42-sc--reverse .e42-sc-next {
	right: auto;
	left: calc(50% + 18px);
}

.e42-sc-nav.swiper-button-disabled {
	opacity: .25;
	cursor: default;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
	.e42-sc-content {
		padding: 48px;
	}
	.e42-sc-title {
		font-size: 28px;
	}
}

@media (max-width: 767px) {
	.e42-sc-slide,
	.e42-sc--reverse .e42-sc-slide {
		flex-direction: column;
	}
	.e42-sc-media,
	.e42-sc-content {
		flex-basis: auto !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	.e42-sc-media {
		min-height: 280px;
	}
	.e42-sc-content {
		padding: 36px 24px;
	}
	.e42-sc-title {
		font-size: 26px;
	}
	.e42-sc-prev,
	.e42-sc--reverse .e42-sc-prev {
		left: 14px;
		right: auto;
		top: 140px;
	}
	.e42-sc-next,
	.e42-sc--reverse .e42-sc-next {
		right: 14px;
		left: auto;
		top: 140px;
	}
}

/* ==========================================================================
   Modificateurs administrables (classes pilotées par les contrôles)
   ========================================================================== */

/* Alignement du contenu */
.e42-sc-align-center .e42-sc-content {
	text-align: center;
	align-items: center;
}
.e42-sc-align-center .e42-sc-btn {
	align-self: center;
}
.e42-sc-align-center .e42-sc-list li {
	padding-left: 0;
}
.e42-sc-align-center .e42-sc-list li::before {
	display: none;
}

.e42-sc-align-right .e42-sc-content {
	text-align: right;
	align-items: flex-end;
}
.e42-sc-align-right .e42-sc-btn {
	align-self: flex-end;
}
.e42-sc-align-right .e42-sc-list li {
	padding-left: 0;
	padding-right: 20px;
}
.e42-sc-align-right .e42-sc-list li::before {
	left: auto;
	right: 0;
}

/* Forme des puces */
.e42-bullet-circle .e42-sc-list li::before {
	border-radius: 50%;
}
.e42-bullet-none .e42-sc-list li {
	padding-left: 0;
	padding-right: 0;
}
.e42-bullet-none .e42-sc-list li::before {
	display: none;
}

/* Masquer une flèche individuellement */
.e42-hide-prev .e42-sc-prev {
	display: none;
}
.e42-hide-next .e42-sc-next {
	display: none;
}

/* ==========================================================================
   Contenu (paragraphe WYSIWYG) — affiché au-dessus de la liste
   ========================================================================== */
.e42-sc-text {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: #5C5C5C;
	margin-bottom: 36px;
}

.e42-sc-text p {
	margin: 0 0 18px;
}

.e42-sc-text > *:last-child {
	margin-bottom: 0;
}

.e42-sc-text a {
	color: inherit;
	text-decoration: underline;
}

/* ==========================================================================
   Apparence « Grille à icônes » (.e42-sc-list--icons)
   Icônes filaires en ligne, multi-colonnes (défaut 2). Pixel-perfect maquette.
   ========================================================================== */
.e42-sc-list--icons {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
	row-gap: 20px;
}

.e42-sc-list--icons li {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 !important;
	padding: 0 !important;
	position: static;
}

/* Neutralise la puce carrée/ronde dans l'apparence icônes */
.e42-sc-list--icons li::before {
	display: none !important;
}

.e42-sc-ico {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #9A938B;
	line-height: 0;
}

.e42-sc-ico svg {
	width: 24px;
	height: 24px;
	display: block;
}

/* Icônes filaires curées (liste héritée) : trait visible, sans remplissage. */
.e42-sc-ico svg.e42-sc-ico-line {
	stroke: currentColor;
	stroke-width: 1.3;
	fill: none;
}

/* Icônes téléversées via le contrôle Elementor (police ou SVG/image). */
.e42-sc-ico i {
	font-size: 24px;
	line-height: 1;
	color: currentColor;
}

.e42-sc-ico img {
	width: 24px;
	height: 24px;
	display: block;
	object-fit: contain;
}

.e42-sc-ico-label {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.4;
	color: inherit;
}

/* Alignement du contenu vs grille d'icônes */
.e42-sc-align-center .e42-sc-list--icons {
	justify-items: center;
}
.e42-sc-align-center .e42-sc-list--icons li {
	justify-content: center;
}
.e42-sc-align-right .e42-sc-list--icons {
	justify-items: end;
}
.e42-sc-align-right .e42-sc-list--icons li {
	flex-direction: row-reverse;
}

/* Repli mono-colonne en mobile (fallback si le CSS responsive Elementor est purgé) */
@media (max-width: 600px) {
	.e42-sc-list--icons {
		grid-template-columns: 1fr;
	}
}
