/* =========================================================
   Autosoe Hero Slider — Elementor Widget styles
   ========================================================= */

.ahs-slider {
	position: relative;
	width: 100%;
	height: 700px;
	overflow: hidden;
	background: #1a1a1a;
}

.ahs-slide {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 700px;
	overflow: hidden;
}

/* ---------- Background + Ken Burns zoom ---------- */
.ahs-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transform: scale(1);
	will-change: transform;
}

.ahs-kenburns .swiper-slide-active .ahs-bg {
	animation: ahs-zoom 10s linear forwards;
}

@keyframes ahs-zoom {
	from { transform: scale(1); }
	to   { transform: scale(1.1); }
}

.ahs-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.08);
	pointer-events: none;
}

/* ---------- Side images ---------- */
.ahs-side {
	position: absolute;
	bottom: 0;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.9s ease 0.35s, transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) 0.35s;
}

.ahs-side--left {
	left: 0;
	transform: translateX(-50px);
	max-width: 30%;
}

.ahs-side--right {
	right: 0;
	transform: translateX(50px);
	max-width: 35%;
}


.swiper-slide-active .ahs-side {
	opacity: 1;
	transform: translateX(0);
}

.ahs-side img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- Content ---------- */
.ahs-content {
	position: relative;
	z-index: 3;
	max-width: 760px;
	padding: 0 30px;
	text-align: center;
}

.ahs-title {
	margin: 0 0 14px;
	font-family: 'Protest Strike', sans-serif;
	font-weight: 400;
	font-size: 80px;
	line-height: 1.08;
	letter-spacing: 0.5px;
	color: #fff;
	text-transform: uppercase;
}

.ahs-desc {
	margin: 0 auto 40px;
	max-width: 560px;
	font-family: 'Carlito', sans-serif;
	font-size: 18px;
	line-height: 26px;
	color: #fff;
}

/* ---------- Button ---------- */
.ahs-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0 36px;
	height: 56px;
	background: #fff;
	color: #000;
	font-family: 'Carlito', sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-transform: capitalize;
	text-decoration: none;
	border-radius: 8px;
	transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.ahs-btn svg {
	stroke: #EC2324;
	transition: transform 0.3s ease, stroke 0.3s ease;
}

.ahs-btn:hover {
	background: #000;
	color: #fff;
	transform: translateY(-2px);
}

.ahs-btn:hover svg {
	stroke: #fff;
	transform: translateX(4px);
}

/* ---------- Layer entrance animations (staggered, like RevSlider) ---------- */
.ahs-anim {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.9s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.swiper-slide-active .ahs-anim[data-delay="0"] { transition-delay: 0.15s; }
.swiper-slide-active .ahs-anim[data-delay="1"] { transition-delay: 0.55s; }
.swiper-slide-active .ahs-anim[data-delay="2"] { transition-delay: 0.95s; }

.swiper-slide-active .ahs-anim {
	opacity: 1;
	transform: translateY(0);
}

/* ---------- Arrows ---------- */
.ahs-nav {
	position: absolute;
	top: 50%;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-top: -26px;
	color: #fff;
	background: rgba(0, 0, 0, 0.25);
	border-radius: 50%;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.3s ease, background-color 0.3s ease;
}

.ahs-slider:hover .ahs-nav { opacity: 1; }
.ahs-nav:hover { background: #EC2324; }
.ahs-nav--prev { left: 30px; }
.ahs-nav--next { right: 30px; }

/* ---------- Dots ---------- */
.ahs-dots.swiper-pagination {
	bottom: 26px;
}

.ahs-dots .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 5px !important;
	background: #fff;
	opacity: 0.5;
	transition: opacity 0.3s ease, background-color 0.3s ease;
}

.ahs-dots .swiper-pagination-bullet-active {
	background: #EC2324;
	opacity: 1;
}

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
	.ahs-title { font-size: 70px; }
}

@media (max-width: 1024px) {
	.ahs-title { font-size: 60px; }
	.ahs-side--left { max-width: 26%; }
	.ahs-side--right { max-width: 30%; }
}

@media (max-width: 767px) {
	.ahs-title { font-size: 42px; }
	.ahs-desc { font-size: 16px; line-height: 24px; margin-bottom: 28px; }
	.ahs-btn { height: 48px; padding: 0 26px; }
	.ahs-side--left { max-width: 40%; opacity: 0.4 !important; }
	.ahs-side--right { max-width: 45%; opacity: 0.4 !important; }
	.ahs-nav { display: none; }
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
	.ahs-anim,
	.ahs-side,
	.ahs-bg { transition: none !important; animation: none !important; transform: none !important; opacity: 1 !important; }
}
