/* ============================================
   Responsive styles aligned to redesign specs
   Breakpoints: 576px, 992px, 1200px
   ============================================ */

/* Tablets and below */
@media (max-width: 992px) {
    h1 { font-size: 2.1rem; }
    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.25rem; }

    .container { padding: 0 18px; }

    .navbar .container {
        flex-wrap: wrap;
    }

    .nav-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        background: #fff;
        border-bottom: 1px solid #e7edf5;
        display: none;
        padding: 0.75rem 1rem;
    }

    .nav-menu.active { display: flex; }

    .nav-menu li { width: 100%; }

    .nav-menu a {
        padding: 0.75rem 0.5rem;
        border-bottom: 1px solid #eef2f6;
    }

    .dropdown-menu {
        position: static;
        box-shadow: none;
        border: none;
        padding: 0;
    }

    .dropdown-menu a {
        padding-left: 1rem;
    }

    .menu-toggle { display: flex; }

    section { padding: 3rem 0; }

    .hero {
        grid-template-columns: 1fr;
        padding: 3rem 0;
    }

    .hero-cta-group {
        flex-direction: column;
        align-items: stretch;
    }

    .btn { width: 100%; }

    .services-grid,
    .features-grid,
    .statistics,
    .partner-logos,
    .content-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }

    .language-switcher,
    .lang-switcher {
        top: 12px;
        right: 12px;
    }
}

/* Mobile */
@media (max-width: 576px) {
    :root { --radius-card: 10px; }

    body { font-size: 15px; }

    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.1rem; }

    .container { padding: 0 14px; }

    .navbar { padding: 0.75rem 0; }

    .hero {
        padding: 2.5rem 0;
        gap: 1.5rem;
    }

    .hero-content p { font-size: 1rem; }

    .services-grid,
    .features-grid,
    .partner-logos {
        grid-template-columns: 1fr;
    }

    .statistics {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 1rem;
    }

    .testimonial-card { padding: 1.5rem; }

    .page-header { padding: 2rem 0; }

    section { padding: 2.5rem 0; }

    .language-switcher,
    .lang-switcher {
        top: 8px;
        right: 8px;
        padding: 6px 8px;
        gap: 6px;
    }

    .language-switcher .lang-btn,
    .lang-switcher a {
        padding: 6px 10px;
        font-size: 12px;
    }
}

/* Large screens */
@media (min-width: 1200px) {
    .container { max-width: 1280px; }
}
