/* Base Container */
.luxury-hero-slider-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #F8F7F4; /* Warm Ivory Background Accent fallback */
}

/* Individual Slides */
.hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    display: flex;
}

/* Transition Effects */
.luxury-hero-slider.effect-fade .hero-slide {
    transition: opacity var(--slider-transition-duration, 0.9s) ease-in-out, visibility var(--slider-transition-duration, 0.9s) ease-in-out;
}

.luxury-hero-slider.effect-slide .hero-slide {
    transform: translateX(100%);
    transition: transform var(--slider-transition-duration, 0.9s) ease-in-out, visibility var(--slider-transition-duration, 0.9s) ease-in-out;
}

.luxury-hero-slider.effect-slide .hero-slide[data-active="true"] {
    transform: translateX(0);
}

.luxury-hero-slider.effect-slide .hero-slide.slide-left {
    transform: translateX(-100%);
}

.hero-slide[data-active="true"] {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

/* Background & Ken Burns Effect */
.hero-slider-bg-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

.hero-slider-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    transform: scale(1);
    transition: transform 6s linear;
}

/* Zoom In Effect */
.hero-slide.has-ken-burns.zoom-in[data-active="true"] .hero-slider-bg {
    transform: scale(1.05);
}

/* Zoom Out Effect */
.hero-slide.has-ken-burns.zoom-out .hero-slider-bg {
    transform: scale(1.05); /* Start slightly zoomed in */
}

.hero-slide.has-ken-burns.zoom-out[data-active="true"] .hero-slider-bg {
    transform: scale(1); /* Zoom out to normal */
}

/* Backwards compatibility */
.hero-slide.has-ken-burns:not(.zoom-out)[data-active="true"] .hero-slider-bg {
    transform: scale(1.05);
}


.hero-slider-bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: background-color 0.3s ease;
}

/* Content Wrapper */
.hero-slider-content-wrap {
    position: relative;
    width: 100%;
    display: flex;
    z-index: 2;
	box-sizing: border-box;
}

.hero-slider-content {
    /* controlled by Elementor layout settings */
}

/* Typography Defaults & Animations */
.hero-slider-label {
    opacity: 0;
    transform: translateY(20px);
}

.hero-slider-headline {
    opacity: 0;
    transform: translateY(20px);
}

.hero-slider-desc {
    opacity: 0;
    transform: translateY(20px);
}

/* CTA Button Wrapper */
.hero-slider-btn-wrap {
	opacity: 0;
    transform: translateY(20px);
}

/* CTA Button */
.hero-slider-btn {
    text-decoration: none;
}

/* Staggered Animations Trigger */
/* Durations and delays are now controlled via Elementor settings. Default fallback provided here */

.hero-slide[data-active="true"] .hero-slider-label {
    animation-name: fadeUp;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	animation-duration: 0.8s;
	animation-delay: 0.2s;
}

.hero-slide[data-active="true"] .hero-slider-headline {
    animation-name: fadeUp;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	animation-duration: 0.8s;
	animation-delay: 0.4s;
}

.hero-slide[data-active="true"] .hero-slider-desc {
    animation-name: fadeUp;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	animation-duration: 0.8s;
	animation-delay: 0.6s;
}

.hero-slide[data-active="true"] .hero-slider-btn-wrap {
    animation-name: fadeUp;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	animation-duration: 0.8s;
	animation-delay: 0.8s;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Navigation Arrows */
.hero-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
	border: none;
}

.hero-slider-arrow i {
	line-height: 1;
}

.hero-slider-arrow svg {
	fill: currentColor;
}

.hero-slider-prev {
    /* Set by Elementor */
}

.hero-slider-next {
    /* Set by Elementor */
}

/* Pagination Dots */
.hero-slider-pagination {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    z-index: 10;
}

.hero-slider-dot {
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.4s ease;
}
