/* SPA Container and Sliding Animations */
.spa-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.steps-wrapper {
    display: flex;
    width: 600%; /* 6 steps * 100% */
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.step-slide {
    flex: 0 0 16%; /* 100% / 6 steps */
    width: 16%;
    min-height: 100vh;
}

/* Active step positioning */
.steps-wrapper[data-current-step="1"] {
    transform: translateX(0%);
}

.steps-wrapper[data-current-step="2"] {
    transform: translateX(-16.5%);
}

.steps-wrapper[data-current-step="3"] {
    transform: translateX(-32.8%);
}

.steps-wrapper[data-current-step="4"] {
    transform: translateX(-49%);
}

.steps-wrapper[data-current-step="5"] {
    transform: translateX(-65.5%);
}

.steps-wrapper[data-current-step="6"] {
    transform: translateX(-82%);
}

/* Ensure proper box-sizing for all step content */
.step-slide * {
    box-sizing: border-box;
}

/* Fade animation for smooth transitions */
.step-slide {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.step-slide.active {
    opacity: 1;
}

/* Prevent overflow issues during transitions */
body {
    overflow-x: hidden;
}

/* Ensure full viewport height for consistency */
.booking-step {
    min-height: 100vh;
    padding-top: 40px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .steps-wrapper {
        transition: transform 0.3s ease-in-out;
    }

    .booking-step {
        min-height: auto;
        padding-top: 20px;
    }
}

/* Loading state for step transitions */
.step-slide.loading {
    opacity: 0.7;
    pointer-events: none;
}

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Ensure progress bar is always visible */
booking-steps {
    position: relative;
    z-index: 100;
}
