/* QMIA Gallery Styles */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

#qmia-gallery-container {
    font-family: 'Manrope', sans-serif;
}

/* Animations */
@keyframes qmiaFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

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

#qmia-gallery-container .animate-fade-in {
    animation: qmiaFadeIn 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

#qmia-gallery-container .animate-slide-up {
    animation: qmiaSlideUp 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Sticky Navbar Transitions */
#qmia-navbar {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

#qmia-navbar a, #qmia-navbar div, #qmia-navbar button {
    transition: all 0.3s ease;
}

/* Mobile Menu Transition */
#qmia-mobile-menu {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
}

/* Hide scrollbar for Chrome, Safari and Opera */
#qmia-gallery-container .scrollbar-hide::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
#qmia-gallery-container .scrollbar-hide {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* Transition improvements */
#qmia-gallery-container .transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

/* Ensure images maintain aspect ratio in the grid */
#qmia-gallery-container #qmia-gallery-grid img {
    object-fit: cover;
}

/* Modal specific styles */
#qmia-image-modal {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

#qmia-modal-img {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

/* Line clamp for captions */
.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Desktop spacing improvements */
@media (min-width: 1280px) {
    #qmia-gallery-container .max-w-screen-2xl {
        max-width: 1400px;
    }
}

/* Card hover zoom */
.qmia-category-card:hover img {
    transform: scale(1.05);
}

.qmia-category-card {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
