/* Smid Media Website Styles */
/* Productie-optimaliseerd voor school365.nl */

/* Hero Section Gradient */
.gradient-bg {
    background: linear-gradient(135deg, #667eea 0%, #4c51bf 100%);
}

/* Card Animations */
.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* Fade In Animation */
.fade-in {
    animation: fadeIn 0.6s ease-in;
}

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

/* Mobile Menu */
.mobile-menu {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}

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

/* Back to Top Button */
#back-to-top {
    transition: all 0.3s ease;
}

#back-to-top.visible {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Service Cards Enhancement */
.service-card {
    border: 1px solid #e5e7eb;
    background: white;
}

.service-card:hover {
    border-color: #667eea;
}

/* Contact Section Styling */
.contact-info {
    background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
}

/* Footer Enhancement */
footer {
    position: relative;
}

/* Responsive Design */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.25rem;
    }
    
    .service-grid {
        grid-template-columns: 1fr;
    }
}

/* Performance Optimizations */
img {
    max-width: 100%;
    height: auto;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Focus States voor Accessibility */
button:focus,
a:focus {
    outline: 2px solid #0000FF;
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    nav, footer, #back-to-top {
        display: none;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.4;
    }
}
