/* Climneo Hero Slider 1.0.0 */
.climneo-hero {
	--climneo-hero-ratio-desktop: 21 / 9;
	--climneo-hero-ratio-tablet: 16 / 9;
	--climneo-hero-ratio-mobile: 9 / 16;
	--climneo-hero-padding-desktop: 42.8571%;
	--climneo-hero-padding-tablet: 56.25%;
	--climneo-hero-padding-mobile: 177.7778%;
	--climneo-hero-radius-desktop: 16px;
	--climneo-hero-radius-tablet: 14px;
	--climneo-hero-radius-mobile: 12px;
	--climneo-hero-min-height-desktop: 0px;
	--climneo-hero-max-height-desktop: 900px;
	--climneo-hero-min-height-tablet: 0px;
	--climneo-hero-max-height-tablet: 900px;
	--climneo-hero-min-height-mobile: 0px;
	--climneo-hero-max-height-mobile: 900px;
	--climneo-hero-content-width-desktop: 560px;
	--climneo-hero-content-width-tablet: 520px;
	--climneo-hero-content-width-mobile: 480px;
	--climneo-hero-transition: 250ms;
	position: relative;
	width: 100%;
	min-height: var(--climneo-hero-min-height-desktop);
	max-height: var(--climneo-hero-max-height-desktop);
	border-radius: var(--climneo-hero-radius-desktop);
	overflow: hidden;
	overflow: clip;
	isolation: isolate;
}

.climneo-hero,
.climneo-hero *,
.climneo-hero *::before,
.climneo-hero *::after,
.elementor-widget-climneo_hero_slider {
	box-sizing: border-box;
}

.elementor-widget-climneo_hero_slider {
	height: 0;
	min-height: 0;
	max-height: none;
	padding-top: clamp(var(--climneo-hero-min-height-desktop), var(--climneo-hero-padding-desktop), var(--climneo-hero-max-height-desktop));
}

.elementor-widget-climneo_hero_slider > .elementor-widget-container {
	position: absolute;
	inset: 0;
	height: 100%;
}

.climneo-hero__viewport {
	display: flex;
	width: 100%;
	aspect-ratio: var(--climneo-hero-ratio-desktop);
	min-height: inherit;
	max-height: inherit;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}

.climneo-hero__viewport::-webkit-scrollbar {
	display: none;
}

.climneo-hero__viewport::before {
	content: "";
	display: block;
	flex: 0 0 0;
	width: 0;
	padding-top: var(--climneo-hero-padding-desktop);
}

.climneo-hero__slide {
	--climneo-hero-slide-background: #eef4e3;
	--climneo-hero-overlay: rgba(0, 0, 0, 0);
	--climneo-hero-panel: rgba(255, 255, 255, 0);
	--climneo-hero-panel-width: 560px;
	--climneo-hero-panel-radius: 16px;
	--climneo-hero-fit-desktop: cover;
	--climneo-hero-position-desktop: 50% 50%;
	--climneo-hero-h-desktop: start;
	--climneo-hero-v-desktop: center;
	position: relative;
	display: grid;
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
	background: var(--climneo-hero-slide-background);
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.climneo-hero__slide[hidden] {
	display: none;
}

.climneo-hero__media,
.climneo-hero__media img,
.climneo-hero__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.climneo-hero__media img {
	display: block;
	object-fit: var(--climneo-hero-fit-desktop);
	object-position: var(--climneo-hero-position-desktop);
}

.climneo-hero__overlay {
	z-index: 1;
	background: var(--climneo-hero-overlay);
	pointer-events: none;
}

.climneo-hero__content-wrap {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: var(--climneo-hero-v-desktop);
	justify-content: var(--climneo-hero-h-desktop);
	width: 100%;
	min-width: 0;
	padding: clamp(24px, 5vw, 72px);
}

.climneo-hero__content {
	width: min(100%, var(--climneo-hero-content-width-desktop), var(--climneo-hero-panel-width));
	padding: clamp(20px, 3vw, 40px);
	border-radius: var(--climneo-hero-panel-radius);
	background: var(--climneo-hero-panel);
	color: var(--climneo-hero-text-color, #102830);
}

.climneo-hero__eyebrow,
.climneo-hero__heading,
.climneo-hero__description {
	margin-block: 0 16px;
	color: inherit;
}

.climneo-hero__description :where(p, ul, ol, li, strong, em, a) {
	color: inherit;
}

.climneo-hero__eyebrow {
	font-size: clamp(.75rem, 1.2vw, .95rem);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.climneo-hero__heading {
	font-size: clamp(1.75rem, 4vw, 3.75rem);
	line-height: 1.05;
	text-wrap: balance;
}

.climneo-hero__description {
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.5;
}

.climneo-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 48px;
	padding: 12px 24px;
	border: var(--climneo-hero-cta-border-width, 0) solid var(--climneo-hero-cta-border-color, #92bd43);
	border-radius: var(--climneo-hero-cta-radius, 12px);
	background: var(--climneo-hero-cta-bg, #92bd43);
	color: var(--climneo-hero-cta-color, #102830);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: color var(--climneo-hero-transition), background-color var(--climneo-hero-transition), transform var(--climneo-hero-transition);
}

.climneo-hero__cta:hover,
.climneo-hero__cta:focus-visible {
	background: var(--climneo-hero-cta-bg-hover, #769b33);
	color: var(--climneo-hero-cta-color-hover, #102830);
}

.climneo-hero__cta:focus-visible,
.climneo-hero button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
	box-shadow: 0 0 0 5px #102830;
}

.climneo-hero__controls {
	position: absolute;
	z-index: 4;
	inset: 0;
	pointer-events: none;
}

.climneo-hero__controls:not([hidden]) {
	display: block;
}

.climneo-hero .climneo-hero__arrow,
.climneo-hero .climneo-hero__pagination button,
.climneo-hero .climneo-hero__rotation {
	border: 0;
	cursor: pointer;
	pointer-events: auto;
}

.climneo-hero .climneo-hero__arrow {
	position: absolute;
	top: 50%;
	display: grid;
	place-items: center;
	width: 44px;
	min-width: 44px;
	height: 44px;
	min-height: 44px;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: #102830;
	font-size: 2rem;
	line-height: 1;
	text-transform: none;
	transform: translateY(-50%);
}

.climneo-hero .climneo-hero__arrow--previous { left: 16px; }
.climneo-hero .climneo-hero__arrow--next { right: 16px; }

.climneo-hero__pagination {
	position: absolute;
	left: 50%;
	bottom: 16px;
	display: flex;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .86);
	transform: translateX(-50%);
	pointer-events: auto;
}

.climneo-hero .climneo-hero__pagination button {
	position: static;
	display: block;
	width: 12px;
	min-width: 12px;
	height: 12px;
	min-height: 12px;
	padding: 0;
	border: 2px solid #102830;
	border-radius: 50%;
	background: transparent;
	line-height: 1;
}

.climneo-hero .climneo-hero__pagination button[aria-current="true"] {
	background: #102830;
}

.climneo-hero .climneo-hero__rotation {
	position: absolute;
	right: 16px;
	bottom: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 44px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	color: #102830;
	font-weight: 700;
	line-height: 1.2;
	text-transform: none;
}

.climneo-hero--effect-fade .climneo-hero__viewport {
	position: relative;
	display: block;
	overflow: hidden;
}

.climneo-hero--effect-fade .climneo-hero__slide {
	position: absolute;
	inset: 0;
}

.climneo-hero--effect-fade.is-enhanced .climneo-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--climneo-hero-transition);
}

.climneo-hero--effect-fade.is-enhanced .climneo-hero__slide.is-active {
	opacity: 1;
	pointer-events: auto;
}

@media (max-width: 1024px) {
	.elementor-widget-climneo_hero_slider {
		padding-top: clamp(var(--climneo-hero-min-height-tablet), var(--climneo-hero-padding-tablet), var(--climneo-hero-max-height-tablet));
	}
	.climneo-hero {
		min-height: var(--climneo-hero-min-height-tablet);
		max-height: var(--climneo-hero-max-height-tablet);
		border-radius: var(--climneo-hero-radius-tablet);
	}
	.climneo-hero__viewport { aspect-ratio: var(--climneo-hero-ratio-tablet); }
	.climneo-hero__viewport::before { padding-top: var(--climneo-hero-padding-tablet); }
	.climneo-hero__media img {
		object-fit: var(--climneo-hero-fit-tablet, var(--climneo-hero-fit-desktop));
		object-position: var(--climneo-hero-position-tablet, var(--climneo-hero-position-desktop));
	}
	.climneo-hero__content-wrap {
		align-items: var(--climneo-hero-v-tablet, var(--climneo-hero-v-desktop));
		justify-content: var(--climneo-hero-h-tablet, var(--climneo-hero-h-desktop));
	}
	.climneo-hero__content {
		width: min(100%, var(--climneo-hero-content-width-tablet), var(--climneo-hero-panel-width));
	}
}

@media (max-width: 767px) {
	.elementor-widget-climneo_hero_slider {
		padding-top: clamp(var(--climneo-hero-min-height-mobile), var(--climneo-hero-padding-mobile), var(--climneo-hero-max-height-mobile));
	}
	.climneo-hero {
		min-height: var(--climneo-hero-min-height-mobile);
		max-height: var(--climneo-hero-max-height-mobile);
		border-radius: var(--climneo-hero-radius-mobile);
	}
	.climneo-hero__viewport {
		aspect-ratio: var(--climneo-hero-ratio-mobile);
	}
	.climneo-hero__viewport::before { padding-top: var(--climneo-hero-padding-mobile); }
	.climneo-hero__media img {
		object-fit: var(--climneo-hero-fit-mobile, var(--climneo-hero-fit-desktop));
		object-position: var(--climneo-hero-position-mobile, var(--climneo-hero-position-desktop));
	}
	.climneo-hero__content-wrap {
		align-items: var(--climneo-hero-v-mobile, var(--climneo-hero-v-desktop));
		justify-content: var(--climneo-hero-h-mobile, var(--climneo-hero-h-desktop));
		padding: 24px;
	}
	.climneo-hero__content {
		width: min(100%, var(--climneo-hero-content-width-mobile), var(--climneo-hero-panel-width));
		max-height: calc(100% - 32px);
		padding: 20px;
		overflow: auto;
	}
	.climneo-hero__cta--full-mobile { display: flex; width: 100%; }
	.climneo-hero .climneo-hero__arrow { top: auto; bottom: 8px; transform: none; }
	.climneo-hero .climneo-hero__arrow--previous { left: 8px; }
	.climneo-hero .climneo-hero__arrow--next { right: auto; left: 58px; }
	.climneo-hero .climneo-hero__rotation { right: 8px; bottom: 8px; }
	.climneo-hero__pagination { left: 108px; bottom: 12px; gap: 6px; padding: 8px; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.climneo-hero,
	.climneo-hero * {
		scroll-behavior: auto !important;
		transition-duration: 0s !important;
		animation-duration: 0s !important;
	}
}
