/* Base styles */
html {
    scroll-behavior: smooth;
}

section {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.5s ease forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hover\:-translate-y-2:hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Critical fix: Page transition styles */
.page-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
    overflow-y: auto;
}

.main-content {
    transform: translateX(0);
    opacity: 1;
    background: var(--bg-color);
}

.samp-page {
    transform: translateX(100%);
    opacity: 0;
    background: var(--bg-color);
    z-index: 100;
}

.main-content.hidden {
    transform: translateX(-100%);
    opacity: 0;
}

.samp-page.visible {
    transform: translateX(0);
    opacity: 1;
}

.dark .samp-page {
    --bg-color: rgb(17 24 39);
}

.samp-page {
    --bg-color: rgb(243 244 246);
}

/* Fix for mobile menu */
.mobile-menu {
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
}

.mobile-menu.active {
    transform: translateX(0);
}