/* Responsive Styles für 9G Werkstatt AG */

/* ============================================
   Tablet (768px - 1023px)
   ============================================ */
@media (max-width: 1023px) {
    .footer-content {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .navbar-menu {
        position: fixed;
        top: 70px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 70px);
        background-color: var(--color-white);
        flex-direction: column;
        align-items: flex-start;
        padding: var(--spacing-md);
        box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
        transition: left 0.3s ease;
    }
    
    .navbar-menu.active {
        left: 0;
    }
    
    .navbar-nav {
        flex-direction: column;
        width: 100%;
        gap: 0;
    }
    
    .navbar-nav li {
        width: 100%;
        border-bottom: 1px solid var(--color-border);
    }
    
    .navbar-nav a {
        display: block;
        padding: var(--spacing-sm);
    }
    
    .navbar-toggle {
        display: flex;
    }
}
@media (max-width: 1023px) {
    .container {
        padding: 0 var(--spacing-sm);
    }
    
    .hero h1 {
        font-size: 2.5rem;
    }
    
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============================================
   Mobile (bis 767px)
   ============================================ */
@media (max-width: 767px) {
    .footer-content {
        grid-template-columns: 1fr;
    }
    
    .navbar-brand .logo {
        height: 40px;
    }
}
@media (max-width: 767px) {
    html {
        font-size: 14px;
    }
    
    .container {
        padding: 0 var(--spacing-sm);
    }
    
    .section {
        padding: var(--spacing-lg) 0;
    }
    
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.75rem;
    }
    
    h3 {
        font-size: 1.5rem;
    }
    
    .hero {
        padding: var(--spacing-lg) 0;
    }
    
    .hero h1 {
        font-size: 2rem;
    }
    
    .hero p {
        font-size: 1rem;
    }
    
    .section-title h2 {
        font-size: 2rem;
    }
    
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }
    
    .btn {
        width: 100%;
        padding: 1rem 2rem;
    }
    
    .card {
        padding: var(--spacing-sm);
    }
}

/* ============================================
   Sehr kleine Bildschirme (bis 480px)
   ============================================ */
@media (max-width: 480px) {
    html {
        font-size: 14px;
    }
    
    .hero h1 {
        font-size: 1.75rem;
    }
    
    .section-title h2 {
        font-size: 1.75rem;
    }
}