/**
 * AMICO Slider Styles
 * Based on Elementor Pro Slides Widget
 *
 * @package AmicoSlider
 * @author MXBO STUDIO
 * @copyright 2024 AMICO Corp. All rights reserved.
 */

/* Main Slider Styles */
.elementor-widget-amico-slider .elementor-slides-wrapper {
	overflow: hidden !important;
	width: 100%;
}

.elementor-widget-amico-slider .elementor-slides-wrapper .swiper {
	overflow: hidden !important;
}

.elementor-widget-amico-slider .swiper-wrapper {
	display: flex;
	width: 100%;
}

.elementor-widget-amico-slider .elementor-slides .swiper-slide {
	width: 100% !important;
	flex-shrink: 0;
	position: relative;
	overflow: hidden;
}

.elementor-widget-amico-slider .elementor-slides .swiper-slide-bg {
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 100%;
	min-width: 100%;
	width: 100% !important;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: center center;
	-webkit-transform-origin: center center;
}

/* Video Background Support */
.elementor-slides .swiper-slide-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	max-width: 100%;
}

.elementor-widget-amico-slider .elementor-slides .swiper-slide-inner {
	background-position: 50%;
	background-repeat: no-repeat;
	bottom: 0;
	left: 0;
	margin: auto;
	padding: 50px;
	position: absolute;
	right: 0;
	top: 0;
	width: 100% !important;
	height: 100%;
	box-sizing: border-box;
}

.elementor-slides .swiper-slide-inner,
.elementor-slides .swiper-slide-inner:hover {
	color: #fff;
	display: flex;
}

.elementor-slides .swiper-slide-inner .elementor-background-overlay {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.elementor-slides .swiper-slide-inner .elementor-slide-content {
	position: relative;
	width: 100%;
	z-index: 1;
}

.elementor-slides .swiper-slide-contents {
	position: relative;
	z-index: 1;
}

.elementor-slides .swiper-slide-inner .elementor-slide-heading {
	font-size: 35px;
	font-weight: 700;
	line-height: 1;
}

.elementor-slides .swiper-slide-inner .elementor-slide-description {
	font-size: 17px;
	line-height: 1.4;
}

.elementor-slides .swiper-slide-inner .elementor-slide-description:not(:last-child),
.elementor-slides .swiper-slide-inner .elementor-slide-heading:not(:last-child) {
	margin-bottom: 30px;
}

.elementor-slides .swiper-slide-inner .elementor-slide-button {
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
	display: inline-block;
}

.elementor-slides .swiper-slide-inner .elementor-slide-button,
.elementor-slides .swiper-slide-inner .elementor-slide-button:hover {
	background: transparent;
	color: inherit;
	text-decoration: none;
}

/* Vertical Positioning */
.elementor--v-position-top .swiper-slide-inner {
	align-items: flex-start;
}

.elementor--v-position-bottom .swiper-slide-inner {
	align-items: flex-end;
}

.elementor--v-position-middle .swiper-slide-inner {
	align-items: center;
}

/* Horizontal Positioning */
.elementor--h-position-left .swiper-slide-inner {
	justify-content: flex-start;
}

.elementor--h-position-right .swiper-slide-inner {
	justify-content: flex-end;
}

.elementor--h-position-center .swiper-slide-inner {
	justify-content: center;
}

/* RTL Support */
body.rtl .elementor-widget-slides .elementor-swiper-button-next {
	left: 10px;
	right: auto;
}

body.rtl .elementor-widget-slides .elementor-swiper-button-prev {
	left: auto;
	right: 10px;
}

.elementor-slides-wrapper div:not(.swiper-slide) > .swiper-slide-inner {
	display: none;
}

/* Ken Burns Effect */
@-webkit-keyframes elementor-ken-burns-in {
	0% {
		-webkit-transform: scale(1) translateZ(0);
		transform: scale(1) translateZ(0);
	}
	100% {
		-webkit-transform: scale(1.3) translateZ(0);
		transform: scale(1.3) translateZ(0);
	}
}

@keyframes elementor-ken-burns-in {
	0% {
		-webkit-transform: scale(1) translateZ(0);
		transform: scale(1) translateZ(0);
	}
	100% {
		-webkit-transform: scale(1.3) translateZ(0);
		transform: scale(1.3) translateZ(0);
	}
}

@-webkit-keyframes elementor-ken-burns-out {
	0% {
		-webkit-transform: scale(1.3) translateZ(0);
		transform: scale(1.3) translateZ(0);
	}
	100% {
		-webkit-transform: scale(1) translateZ(0);
		transform: scale(1) translateZ(0);
	}
}

@keyframes elementor-ken-burns-out {
	0% {
		-webkit-transform: scale(1.3) translateZ(0);
		transform: scale(1.3) translateZ(0);
	}
	100% {
		-webkit-transform: scale(1) translateZ(0);
		transform: scale(1) translateZ(0);
	}
}

.swiper-slide-bg.elementor-ken-burns.elementor-ken-burns--in {
	-webkit-animation: elementor-ken-burns-in 10s linear forwards;
	animation: elementor-ken-burns-in 10s linear forwards;
	-webkit-transform-origin: center center;
	transform-origin: center center;
}

.swiper-slide-bg.elementor-ken-burns.elementor-ken-burns--out {
	-webkit-animation: elementor-ken-burns-out 10s linear forwards;
	animation: elementor-ken-burns-out 10s linear forwards;
	-webkit-transform-origin: center center;
	transform-origin: center center;
}

/* Content Animations */
@-webkit-keyframes fadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes fadeInRight {
	from {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInRight {
	from {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}
	50% {
		opacity: 1;
	}
}

@keyframes zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}
	50% {
		opacity: 1;
	}
}

.animated {
	animation-duration: 1s;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-webkit-animation-fill-mode: both;
}

.fadeInDown {
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
}

.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}

.fadeInRight {
	-webkit-animation-name: fadeInRight;
	animation-name: fadeInRight;
}

.zoomIn {
	-webkit-animation-name: zoomIn;
	animation-name: zoomIn;
}

/* Responsive */
@media (max-width: 767px) {
	.elementor-slides .swiper-slide-inner {
		padding: 30px;
	}

	.elementor-slides .swiper-slide-inner .elementor-slide-heading {
		font-size: 23px;
		line-height: 1;
		margin-bottom: 15px;
	}

	.elementor-slides .swiper-slide-inner .elementor-slide-description {
		font-size: 13px;
		line-height: 1.4;
		margin-bottom: 15px;
	}
}
