/**
 * Enhanced Transition Effects
 * Provides visual enhancements for the smooth scrolling experience
 */

/* Transition effects for page elements */
.is-transitioning {
    pointer-events: none;
}

.is-transitioning::before {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.15);
    z-index: 1000;
    pointer-events: none;
    animation: fadeInOut 2s ease-in-out forwards;
}

@keyframes fadeInOut {
    0% { opacity: 0; }
    10% { opacity: 0.15; }
    90% { opacity: 0.15; }
    100% { opacity: 0; }
}

/* Active navigation styling */
.nav a.active-nav::after {
    width: 100%;
    opacity: 1;
}

/* Enhanced hover effects for navigation */
.nav a::after {
    opacity: 0.7;
}

.nav a.active-nav {
    font-weight: 700;
}

/* Scroll direction based effects */
[data-scroll-direction="down"] .nav {
    transform: translateY(-8px);
}

[data-scroll-direction="up"] .nav {
    transform: translateY(0);
}

/* Section transition effects */
.hero, .services, .portfolio, .contact {
    transition: transform 1.2s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.2s ease;
}

/* Parallax effect for hero section */
.hero::before {
    transition: transform 0.5s ease-out;
}

.is-scrolling .hero::before {
    transform: translateY(-1.5%);
}

/* Enhanced reveal animations */
.reveal {
    transition: opacity 1s ease, transform 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Video thumbnails enhanced hover */
.thumb-item div {
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.thumb-item:hover div:first-child {
    transform: scale(1.05);
}

/* Button hover effects */
.btn-primary {
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), 
                box-shadow 0.3s ease, 
                background-color 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(228, 214, 159, 0.2);
}

.btn-primary:active {
    transform: translateY(-1px);
    box-shadow: 0 3px 6px rgba(228, 214, 159, 0.1);
}
