/* ============================================================
   RESPONSIVE STYLES — EASTERN HOPE LTD
   ============================================================ */

/* Laptop (max 1200px) */
@media screen and (max-width: 1200px) {
    .container { padding: 0 20px; }
    .hero-title { font-size: 2.8rem; }
}

/* Tablet (max 992px) */
@media screen and (max-width: 992px) {
    :root { --nav-height: 68px; }
    .section-padding { padding: 60px 0; }
    .hero { min-height: 550px; }
    .hero-title { font-size: 2.4rem; }
    .delivery-content {
        grid-template-columns: 1fr;
    }
    .product-layout {
        grid-template-columns: 1fr;
    }
    .sidebar {
        display: none; /* or toggle with JS; we hide for demo */
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 1rem;
    }
    .why-grid,
    .branches-grid,
    .projects-grid,
    .news-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    }
}

/* ========== MOBILE NAVIGATION ========== */
@media screen and (max-width: 768px) {
    .mobile-toggle {
        display: flex;
    }

    /* Overlay behind the menu */
    .nav-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.35);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        z-index: 999;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.4s ease;
    }

    .nav-overlay.active {
        opacity: 1;
        pointer-events: auto;
    }

    /* Slide-in panel from the right */
    .nav-links {
        position: fixed;
        top: 0;
        right: 0;
        width: min(320px, 70%);   /* takes about half the screen on phones */
        height: 100vh;
        background: #fff;
        box-shadow: -8px 0 30px rgba(0, 0, 0, 0.15);
        flex-direction: column;
        padding: 100px 2rem 2rem;
        gap: 1.5rem;
        transform: translateX(100%);
        opacity: 1;                /* we control via transform, not opacity */
        pointer-events: auto;
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 1001;
        overflow-y: auto;
    }

    .nav-links.active {
        transform: translateX(0);
    }

    /* Menu items */
    .nav-links a {
        font-size: 1.15rem;
        padding: 10px 0;
        display: block;
        width: 100%;
    }

    .nav-cta {
        margin: 1rem 0 0;
        align-self: flex-start;
    }
}

/* Contact page – stack on tablets & mobiles */
@media screen and (max-width: 992px) {
    .contact-layout {
        grid-template-columns: 1fr;
    }
    .contact-form-wrapper {
        margin-top: 2rem;
    }
}

/* Make form inputs comfortable on small screens */
@media screen and (max-width: 480px) {
    .contact-form-wrapper {
        padding: 1.5rem;
    }
    .contact-form h2 {
        font-size: 1.5rem;
    }
}

/* Small mobile (max 480px) */
@media screen and (max-width: 480px) {
    .hero-title { font-size: 1.7rem; }
    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }
    .btn { padding: 10px 20px; font-size: 0.95rem; }
}