/* TRC Integrated - Main Stylesheet */

/* Font Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* Base Styles */
body {
    font-family: 'Inter', sans-serif;
}

/* Navigation Styles */
.navbar-large {
    height: 112px;
    transition: height 0.3s cubic-bezier(0.4,0,0.2,1);
}

.navbar-small {
    height: 56px;
    transition: height 0.3s cubic-bezier(0.4,0,0.2,1);
}

.logo-large {
    font-size: 2.5rem !important;
    transition: font-size 0.3s cubic-bezier(0.4,0,0.2,1);
}

.logo-small {
    font-size: 1.5rem !important;
    transition: font-size 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* Mobile Menu Styles */
#mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
    opacity: 0;
}

#mobile-menu.show {
    max-height: 500px;
    opacity: 1;
}

/* Gallery Styles */
.gallery-item:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}

.gallery-overlay {
    background: rgba(187, 211, 51, 0.9);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

/* Service Card Styles */
.service-card:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}

/* Portfolio Styles */
.portfolio-item:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}

.portfolio-overlay {
    background: rgba(187, 211, 51, 0.9);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.portfolio-item:hover .portfolio-overlay {
    opacity: 1;
}

/* Lightbox Modal */
#lightbox-modal {
    z-index: 50;
}

#lightbox-modal button {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Utility Classes */
.transition-all {
    transition: all 0.3s ease;
}

.transform {
    transform: translateY(-2px);
}

/* Responsive Design Helpers */
@media (max-width: 768px) {
    .navbar-large {
        height: 80px;
    }

    .navbar-small {
        height: 60px;
    }

    .logo-large {
        font-size: 2rem !important;
    }

    .logo-small {
        font-size: 1.25rem !important;
    }
}

/* Print Styles */
@media print {
    .navbar, .footer, .mobile-menu {
        display: none !important;
    }
}
