.elementor-widget-n-carousel > .elementor-widget-container {
	overflow: visible;
}

.shayz-carousel {
	--shayz-visible: 4;
	--shayz-gap: 10px;
	--shayz-edge: 250px;
	position: relative;
	width: 100%;
}

.shayz-carousel__viewport {
	width: calc(100% + (var(--shayz-edge) * 2));
	margin-right: calc(var(--shayz-edge) * -1);
	margin-left: calc(var(--shayz-edge) * -1);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.shayz-carousel__viewport::-webkit-scrollbar {
	display: none;
}

.shayz-carousel__viewport:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

.shayz-carousel__track {
	display: flex;
	align-items: stretch;
	gap: var(--shayz-gap);
	min-width: 100%;
}

.shayz-carousel__slide {
	flex: 0 0 calc((100% - (var(--shayz-visible) - 1) * var(--shayz-gap)) / var(--shayz-visible));
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.shayz-carousel__slide > .e-con {
	height: 100%;
}

.shayz-carousel__dots {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 6px;
	margin-top: 10px;
}

.shayz-carousel__dot {
	width: 6px;
	height: 6px;
	margin: 0 6px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background-color: var(--shayz-dot-color) !important;
	opacity: .2;
	cursor: pointer;
	transition: opacity .2s ease;
}

.shayz-carousel__dot.is-active {
	opacity: 1;
}

.shayz-carousel__arrow {
	position: absolute;
	top: 50%;
	z-index: 4;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0 0 4px;
	transform: translateY(-50%);
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 999px;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font: 300 36px/1 Arial, sans-serif;
	cursor: pointer;
}

.shayz-carousel__arrow--prev { left: 12px; }
.shayz-carousel__arrow--next { right: 12px; }
.shayz-carousel__arrow:disabled { opacity: .35; cursor: default; }

body.shayz-popup-open {
	overflow: hidden;
}

.shayz-popup-sources[hidden],
.shayz-popup-modal[hidden] {
	display: none !important;
}

.shayz-popup-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	padding: 24px;
	overflow: auto;
	background: rgba(0, 0, 0, .8);
	opacity: 0;
	transition: opacity 220ms cubic-bezier(.22, 1, .36, 1);
}

.shayz-popup-modal.is-open {
	opacity: 1;
}

.shayz-popup-modal__content {
	position: relative;
	width: min(800px, calc(100vw - 48px));
	max-width: 100%;
	min-height: 500px;
	margin: auto;
	border-radius: 30px;
	background: #fff;
	box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2);
	opacity: 0;
	filter: blur(4px);
	transform: translateY(12px) scale(.97);
	transition:
		opacity 240ms cubic-bezier(.22, 1, .36, 1),
		transform 260ms cubic-bezier(.22, 1, .36, 1),
		filter 220ms cubic-bezier(.22, 1, .36, 1);
}

.shayz-popup-modal.is-open .shayz-popup-modal__content {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0) scale(1);
}

.shayz-popup-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 20;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	color: #333 !important;
	font: 400 28px/1 Arial, sans-serif;
	cursor: pointer;
	transition: opacity 160ms ease, transform 160ms cubic-bezier(.22, 1, .36, 1);
}

.shayz-popup-modal__close:hover {
	opacity: .7;
}

.shayz-popup-modal__close:active {
	transform: scale(.97);
}

.shayz-popup-modal__close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.shayz-popup-modal__title {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.shayz-popup-modal__message,
.shayz-popup-modal__message > .elementor {
	width: 100%;
}

.shayz-popup-modal .shayz-carousel {
	--shayz-visible: 1 !important;
	--shayz-visible-laptop: 1 !important;
	--shayz-visible-tablet: 1 !important;
	--shayz-visible-mobile: 1 !important;
	--shayz-edge: 0px;
}

.shayz-popup-modal .shayz-carousel__arrow,
.shayz-popup-modal .shayz-carousel__dots {
	display: none;
}

.shayz-popup-modal--instant,
.shayz-popup-modal--instant .shayz-popup-modal__content {
	transition: none;
}

/* Elementor Pro used to generate these six custom pictogram cards. */
.elementor-2585 .elementor-element.elementor-element-2dfc4549.e-transform,
.elementor-2585 .elementor-element.elementor-element-3277561f.e-transform,
.elementor-2585 .elementor-element.elementor-element-4e64f414.e-transform,
.elementor-2585 .elementor-element.elementor-element-77955bea.e-transform,
.elementor-2585 .elementor-element.elementor-element-542e863.e-transform,
.elementor-2585 .elementor-element.elementor-element-450ab87f.e-transform {
	position: relative;
	z-index: 1;
	transform: rotate(10deg);
}

.elementor-2585 .elementor-element.elementor-element-2dfc4549.e-transform::after,
.elementor-2585 .elementor-element.elementor-element-3277561f.e-transform::after,
.elementor-2585 .elementor-element.elementor-element-4e64f414.e-transform::after,
.elementor-2585 .elementor-element.elementor-element-77955bea.e-transform::after,
.elementor-2585 .elementor-element.elementor-element-542e863.e-transform::after,
.elementor-2585 .elementor-element.elementor-element-450ab87f.e-transform::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	background: #fff;
	opacity: 1;
	transform: rotate(-10deg);
}

.elementor-2585 .elementor-element.elementor-element-69523696,
.elementor-2585 .elementor-element.elementor-element-8e34,
.elementor-2585 .elementor-element.elementor-element-417746fe,
.elementor-2585 .elementor-element.elementor-element-23adf938,
.elementor-2585 .elementor-element.elementor-element-a239ae3,
.elementor-2585 .elementor-element.elementor-element-141a406a {
	position: relative;
	z-index: 1;
}

.elementor-2585 .elementor-element.elementor-element-1296097b {
	position: relative;
	z-index: 0;
}

/* Top Down is purely illustrative: no hover state or pointer interaction. */
.elementor-2585 .elementor-element.elementor-element-74012a17,
.elementor-2585 .elementor-element.elementor-element-74012a17 *,
.elementor-2585 .elementor-element.elementor-element-77f9aa5f:hover .elementor-element-74012a17,
.elementor-2585 .elementor-element.elementor-element-77f9aa5f:hover .elementor-element-74012a17 * {
	pointer-events: none !important;
	animation: none !important;
	transition: none !important;
	filter: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
	translate: none !important;
	rotate: none !important;
	scale: none !important;
}

@media (max-width: 1366px) {
	.shayz-carousel {
		--shayz-visible: var(--shayz-visible-laptop, 3);
		--shayz-gap: var(--shayz-gap-laptop, 10px);
	}
}

@media (max-width: 1024px) {
	.shayz-carousel {
		--shayz-visible: 1;
		--shayz-gap: 0px;
		--shayz-edge: 0px;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__viewport {
		scroll-behavior: auto;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__slide {
		flex-basis: 100%;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__slide *,
	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__slide *::before,
	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__slide *::after {
		animation: none !important;
		transition: none !important;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__arrow {
		display: grid;
		width: 48px;
		height: 48px;
		border-color: rgba(255, 255, 255, .9);
		background: rgba(0, 0, 0, .72);
		touch-action: manipulation;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__arrow--prev {
		left: 12px;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__arrow--next {
		right: 12px;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__dots {
		display: none;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__slide .elementor-widget-image {
		right: auto !important;
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .shayz-carousel__slide .elementor-widget-image img {
		width: auto !important;
		height: auto !important;
		max-width: min(72vw, 280px) !important;
		max-height: 390px !important;
		object-fit: contain;
	}

	.elementor-2585 .elementor-element.elementor-element-f785ae2 .elementor-button,
	.elementor-2585 .elementor-element.elementor-element-f785ae2 .elementor-button:hover,
	.elementor-2585 .elementor-element.elementor-element-f785ae2 .elementor-button:focus,
	.elementor-2585 .elementor-element.elementor-element-f785ae2 .elementor-button:active {
		animation: none !important;
		transition: none !important;
		filter: none !important;
		box-shadow: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	/* The responsive quality layouts use their own six pictogram containers. */
	.elementor-2585 .elementor-element.elementor-element-5937a3b,
	.elementor-2585 .elementor-element.elementor-element-c92cb1f,
	.elementor-2585 .elementor-element.elementor-element-30c928c,
	.elementor-2585 .elementor-element.elementor-element-175e24a,
	.elementor-2585 .elementor-element.elementor-element-df0c4f8,
	.elementor-2585 .elementor-element.elementor-element-e74f72d,
	.elementor-2585 .elementor-element.elementor-element-296269d6,
	.elementor-2585 .elementor-element.elementor-element-34cb1974,
	.elementor-2585 .elementor-element.elementor-element-5dd618d3,
	.elementor-2585 .elementor-element.elementor-element-2341e79e,
	.elementor-2585 .elementor-element.elementor-element-7c6c5dde,
	.elementor-2585 .elementor-element.elementor-element-569ca398 {
		position: relative;
		z-index: 3;
		isolation: isolate;
		border-radius: 5px;
		background: #fff !important;
		background-color: #fff !important;
		background-image: none !important;
		box-shadow: 7px 7px 0 #080808;
		transform: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-2585 .elementor-element.elementor-element-35a3dda {
		position: relative;
		min-height: 70dvh;
		overflow: hidden;
	}

	.elementor-2585 .elementor-element.elementor-element-5fde592 {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
	}

	.elementor-2585 .elementor-element.elementor-element-54921e7 {
		width: min(60vw, 560px) !important;
		max-width: none !important;
		margin-inline: auto !important;
	}

	.elementor-2585 .elementor-element.elementor-element-4e77ea8,
	.elementor-2585 .elementor-element.elementor-element-78bba6c {
		position: absolute;
		inset: 0;
		min-height: 70dvh;
	}

	.elementor-2585 .elementor-element.elementor-element-af496d9 {
		position: absolute !important;
		top: auto !important;
		right: auto !important;
		bottom: 0 !important;
		left: 50% !important;
		width: min(78.5vw, 60dvh, 620px) !important;
		height: auto !important;
		max-width: none !important;
		margin: 0 !important;
		transform: translateX(-50%) !important;
	}

	.elementor-2585 .elementor-element.elementor-element-af496d9 img {
		display: block;
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 767px) {
	.shayz-carousel {
		--shayz-visible: 1;
		--shayz-gap: 0px;
		--shayz-edge: 0px;
	}

	.elementor-2585 .elementor-element.elementor-element-31be91f5 {
		position: relative;
		min-height: clamp(620px, 82dvh, 700px);
		padding: 0 !important;
		overflow: hidden;
	}

	.elementor-2585 .elementor-element.elementor-element-3975c58 {
		position: absolute !important;
		top: calc(clamp(56px, 9dvh, 80px) + 80px) !important;
		right: auto !important;
		bottom: auto !important;
		left: 50% !important;
		z-index: 1;
		width: min(88vw, 360px) !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translateX(-50%) !important;
	}

	.elementor-2585 .elementor-element.elementor-element-6274fce8 {
		position: absolute !important;
		top: auto !important;
		right: auto !important;
		bottom: 0 !important;
		left: 50% !important;
		z-index: 3;
		width: min(118vw, 460px) !important;
		height: auto !important;
		max-width: none !important;
		margin: 0 !important;
		transform: translateX(-50%) !important;
	}

	.elementor-2585 .elementor-element.elementor-element-6274fce8 img {
		display: block;
		width: 100%;
		max-width: none;
	}

	/* 250px + 35px auparavant : les deux valeurs passent à 20 %. */
	.elementor-2585 .elementor-element.elementor-element-3ec84310 {
		margin-bottom: 50px !important;
		--margin-bottom: 50px !important;
	}

	.elementor-2585 .elementor-element.elementor-element-30704893 {
		gap: 4px !important;
		row-gap: 4px !important;
		--gap: 4px !important;
		--row-gap: 4px !important;
	}

	.elementor-2585 .elementor-element.elementor-element-63a7fe99 {
		margin-top: 7px !important;
		--margin-top: 7px !important;
		height: 220px !important;
		min-height: 220px !important;
		max-height: 220px !important;
		overflow: hidden !important;
	}

	.elementor-2585 .elementor-element.elementor-element-73c6668a,
	.elementor-2585 .elementor-element.elementor-element-73c6668a * {
		animation: none !important;
		transition: none !important;
	}

	.elementor-2585 .elementor-element.elementor-element-74012a17 {
		filter: none !important;
		transform: none !important;
	}

	.elementor-2585 .elementor-element.elementor-element-2a25b7ab,
	.elementor-2585 .elementor-element.elementor-element-77f9aa5f {
		margin-top: 0 !important;
		padding-top: 0 !important;
		--margin-top: 0px !important;
		transform: none !important;
	}

	.elementor-2585 .elementor-element.elementor-element-6fe0d115,
	.elementor-2585 .elementor-element.elementor-element-76217bce {
		min-height: 21px;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.elementor-2585 .elementor-element.elementor-element-1da2912b,
	.elementor-2585 .elementor-element.elementor-element-74012a17,
	.elementor-2585 .elementor-element.elementor-element-1da2912b img,
	.elementor-2585 .elementor-element.elementor-element-74012a17 img {
		animation: none !important;
		transition: none !important;
		filter: none !important;
		box-shadow: none !important;
		transform: none !important;
	}

	/* The mobile quality section used to overlap and darken the bottle visuals. */
	.elementor-2585 .elementor-element.elementor-element-4311a54a {
		margin-top: 0 !important;
		--margin-top: 0px !important;
	}

	.elementor-2585 .elementor-element.elementor-element-75e8354,
	.elementor-2585 .elementor-element.elementor-element-75e8354:not(.elementor-motion-effects-element-type-background) {
		display: none !important;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		box-shadow: none !important;
		filter: none !important;
	}

	.shayz-popup-modal {
		place-items: start center;
		padding: 14px;
	}

	.shayz-popup-modal__content {
		width: calc(100vw - 28px);
		min-height: 0;
		border-radius: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shayz-carousel__viewport { scroll-behavior: auto; }
	.shayz-carousel__dot { transition: none; }
	.shayz-popup-modal,
	.shayz-popup-modal__content,
	.shayz-popup-modal__close { transition: none; }
}
