/* Performance optimized styles */
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.gallery-item {
    flex: 0 0 auto;
    width: 300px;
    height: 200px;
}

@media (max-width: 768px) {
    .gallery-item {
        width: 280px;
        height: 200px;
        min-width: 280px;
    }
}

@media (max-width: 480px) {
    .gallery-item {
        width: 260px;
        height: 180px;
        min-width: 260px;
    }
}

/* Optimize images for performance */
img {
    will-change: transform;
    backface-visibility: hidden;
}

/* Smooth animations with GPU acceleration */
.group-hover\:scale-110 {
    transform: translateZ(0);
    transition: transform 0.3s ease;
}

.group:hover .group-hover\:scale-110 {
    transform: scale(1.1) translateZ(0);
}

/* Optimize hero slider */
.hero-slide {
    will-change: opacity;
    backface-visibility: hidden;
}

/* Performance optimizations */
* {
    box-sizing: border-box;
}

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Reduce layout shifts */
.gallery-item img {
    aspect-ratio: 3/2;
    object-fit: cover;
}

/* Optimize modal performance */
.modal-backdrop {
    will-change: opacity;
    transform: translateZ(0);
}

/* Menu minimal */
.menu-link {
    position: relative;
}

/* Hamburger menu animation */
.hamburger-line {
    transform-origin: center;
}

.menu-open .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.menu-open .hamburger-line:nth-child(2) {
    opacity: 0;
}

.menu-open .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* Active menu item */
.menu-link.active {
    color: #60a5fa;
}

.mobile-menu-link.active {
    color: #60a5fa;
}

/* Logo hover effect */
.logo-container:hover {
    transform: translateY(-1px);
}

/* Menu mobile slide animation */
#menu {
    transform: translateY(-10px);
    opacity: 0;
    transition: all 0.3s ease;
}

#menu.show {
    transform: translateY(0);
    opacity: 1;
}

/* Mobile gallery optimizations */
@media (max-width: 768px) {
    .gallery-item {
        touch-action: pan-x;
        user-select: none;
        -webkit-user-select: none;
    }
    
    .gallery-item img {
        pointer-events: auto;
        touch-action: manipulation;
    }
    
    /* Smooth scrolling for mobile */
    .flex.overflow-x-auto {
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
    }
    
    /* Mobile modal full screen */
    .modal-backdrop {
        padding: 0 !important;
    }
    
    .modal-backdrop .w-full {
        width: 100vw !important;
        height: 100vh !important;
    }
    
    .modal-backdrop img {
        width: 100vw !important;
        height: 100vh !important;
        object-fit: contain !important;
    }
    
    /* Hide scrollbars on mobile modal */
    .modal-backdrop {
        overflow: hidden;
    }
}

/* Touch gestures for mobile gallery */
.touch-pan-x {
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
}

/* Full screen modal */
.modal-fullscreen {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9999 !important;
}

.modal-fullscreen img {
    width: 100vw !important;
    height: 100vh !important;
    object-fit: contain !important;
}

/* Mobile scroll indicators */
@media (max-width: 768px) {
    .scroll-indicator {
        animation: pulse 2s infinite;
    }
    
    @keyframes pulse {
        0%, 100% { opacity: 0.5; }
        50% { opacity: 1; }
    }
}