.elementor-widget-aido-carousel,
.elementor-widget-aido-carousel > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.aido-carousel {
	--aido-carousel-pagination: #fff;
	--aido-carousel-arrow-offset: clamp(8px, 2vw, 18px);
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	isolation: isolate;
}

.aido-carousel *,
.aido-carousel *::before,
.aido-carousel *::after {
	box-sizing: border-box;
}

.aido-carousel__swiper,
.aido-carousel__wrapper,
.aido-carousel__slide,
.aido-carousel__mount,
.aido-carousel__content {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.aido-carousel__swiper {
	overflow: hidden;
	touch-action: pan-y pinch-zoom;
	overscroll-behavior-inline: contain;
}

.aido-carousel__wrapper {
	align-items: stretch;
}

.aido-carousel__slide {
	position: relative;
	display: flex;
	flex: 0 0 auto;
	height: auto;
	overflow: hidden;
}

.aido-carousel__mount,
.aido-carousel__content {
	display: flex;
	flex: 1 1 auto;
	height: 100%;
}

.aido-carousel__content.elementor-element,
.aido-carousel__slide > .elementor-element {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.aido-carousel__slide > .elementor-element {
	flex: 1 1 auto;
}

.aido-carousel__mount:not(.is-hydrated) {
	min-height: inherit;
}

.aido-carousel:not(.is-ready):not(.is-editor) .aido-carousel__slide:not(:first-child) {
	display: none;
}

.aido-carousel.is-ready .aido-carousel__slide,
.aido-carousel.is-editor .aido-carousel__slide {
	display: flex;
}

.aido-carousel img,
.aido-carousel picture,
.aido-carousel video,
.aido-carousel iframe,
.aido-carousel svg {
	max-width: 100%;
}

.aido-carousel video,
.aido-carousel iframe {
	display: block;
	width: 100%;
}

.aido-carousel__arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(36px, 5vw, 44px);
	height: clamp(36px, 5vw, 44px);
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: #fff;
	background: rgba(0, 0, 0, .35);
	transform: translateY(-50%);
	cursor: pointer;
	transition: opacity 180ms ease, background-color 180ms ease, color 180ms ease;
}

.aido-carousel__arrow--previous {
	inset-inline-start: var(--aido-carousel-arrow-offset);
}

.aido-carousel__arrow--next {
	inset-inline-end: var(--aido-carousel-arrow-offset);
}

.aido-carousel__arrow svg,
.aido-carousel__arrow i {
	width: 1em;
	height: 1em;
	font-size: inherit;
	fill: currentColor;
}

.aido-carousel__arrow:disabled {
	opacity: .35;
	cursor: default;
}

.aido-carousel__pagination {
	z-index: 5;
	color: var(--aido-carousel-pagination);
}

.aido-carousel .swiper-pagination-bullet {
	background: var(--aido-carousel-pagination);
}

.aido-carousel .swiper-pagination-progressbar-fill {
	background: var(--aido-carousel-pagination);
}

.aido-carousel-controller {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	gap: 8px;
}

.aido-carousel-controller__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	min-width: 0;
	gap: 6px;
	padding: 10px;
	border: 0;
	color: #fff;
	background: transparent;
	cursor: pointer;
	touch-action: manipulation;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, opacity 180ms ease;
}

.aido-carousel-controller__button:disabled {
	opacity: .35;
	cursor: default;
}

.aido-carousel-controller__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	line-height: 1;
}

.aido-carousel-controller__icon svg,
.aido-carousel-controller__icon i {
	width: 1em;
	height: 1em;
	font-size: inherit;
	fill: currentColor;
}

.aido-carousel-controller__text {
	min-width: 0;
	overflow-wrap: anywhere;
}

.aido-carousel-controller__counter {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
	.aido-carousel__arrow,
	.aido-carousel-controller__button {
		transition-duration: 0ms;
	}
}
