/* ==========================================================================
   RESPONSIVE STYLES (MEDIA QUERIES)
   ========================================================================== */

/* Very Large Screens (1400px and up) */
@media (min-width: 1400px) {
    :root {
        --container-width: 1320px;
    }
}

/* Large Screens / Desktops (1200px and down) */
@media (max-width: 1200px) {
    .container {
        max-width: 960px;
    }
    
    h1 { font-size: 3.5rem; }
}

/* Medium Screens / Tablets (992px and down) */
@media (max-width: 992px) {
    .container {
        max-width: 720px;
    }
    
    .grid-4, .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .section-padding {
        padding: var(--space-xl) 0;
    }
    
    /* Navigation adjustments for tablet */
    .nav-links {
        gap: var(--space-md);
    }
    
    /* Hero Section */
    .hero-content h1 {
        font-size: 3rem;
    }
    
    .hero-content p {
        font-size: 1.125rem;
    }
}

/* Small Screens / Mobile Devices (768px and down) */
@media (max-width: 768px) {
    .container {
        max-width: 540px;
    }
    
    .grid-2, .grid-3, .grid-4 {
        grid-template-columns: 1fr;
    }
    
    /* Header & Mobile Menu */
    header {
        height: 70px;
        background-color: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        box-shadow: var(--shadow-sm);
    }
    
    .logo, header.scrolled .logo, .mobile-menu-btn {
        color: var(--text-dark);
    }
    
    .mobile-menu-btn {
        display: block;
    }
    
    .nav-links {
        position: fixed;
        top: 70px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 70px);
        background-color: var(--bg-main);
        flex-direction: column;
        align-items: flex-start;
        padding: var(--space-lg);
        transition: left var(--transition-normal);
        overflow-y: auto;
        box-shadow: var(--shadow-md);
        gap: 0;
    }
    
    .nav-links.active {
        left: 0;
    }
    
    .nav-links a {
        color: var(--text-dark);
        width: 100%;
        padding: var(--space-md) 0;
        font-size: 1.25rem;
        border-bottom: 1px solid var(--border-light);
    }
    
    header.scrolled .nav-links a {
        color: var(--text-dark);
    }
    
    .nav-links a::after {
        display: none;
    }
    
    .nav-links .btn {
        margin-top: var(--space-lg);
        width: 100%;
        text-align: center;
        background-color: var(--primary);
        color: var(--text-white) !important;
        border: none;
    }
    
    /* Typography for Mobile */
    h1 { font-size: 2.5rem; }
    h2 { font-size: 2rem; }
    h3 { font-size: 1.5rem; }
    
    /* Hero */
    .hero {
        padding-top: 70px; /* Header height */
        min-height: 80vh;
        text-align: center;
    }
    
    .hero-btns {
        flex-direction: column;
    }
    
    .hero-btns .btn {
        width: 100%;
    }
    
    /* Footer */
    .footer-col {
        text-align: center;
        margin-bottom: var(--space-lg);
    }
    
    .footer-col h3::after {
        left: 50%;
        transform: translateX(-50%);
    }
    
    .footer-contact li {
        justify-content: center;
        text-align: center;
    }
    
    .social-links {
        justify-content: center;
    }
    
    /* Page Header */
    .page-header {
        padding: 120px 0 60px;
    }
}

/* Extra Small Screens (576px and down) */
@media (max-width: 576px) {
    .container {
        padding: 0 var(--space-sm);
    }
    
    .section-padding {
        padding: var(--space-lg) 0;
    }
    
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    
    /* Form */
    .form-group.grid-2 {
        grid-template-columns: 1fr;
    }
}
