/* ===========================
   NIEC Responsive - responsive.css
   =========================== */

/* --- Large screens (< 1024px) --- */
@media (max-width: 1200px) {
    .nav .nav__item { padding: 9px 17px; font-size: 12px; }
}

@media (max-width: 1024px) {
    .nav .nav__item { padding: 8px 12px; font-size: 11px; }
    .logo-img { height: 40px; }
    .footer-logo-img { height: 48px; }
    .hero-inner { grid-template-columns: 1fr; text-align: center; }
    .hero-content { max-width: 100%; }
    .hero-subtitle { margin-left: auto; margin-right: auto; }
    .hero-buttons { justify-content: center; }
    .hero-mockup { display: none; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .feature-grid { grid-template-columns: 1fr; }
    .showcase-grid { grid-template-columns: 1fr; }
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .values-grid { grid-template-columns: repeat(2, 1fr); }
    .events-grid { grid-template-columns: 1fr; }
    .abroad-grid { grid-template-columns: 1fr; }
}

/* --- Tablet (< 768px) --- */
@media (max-width: 768px) {
    .main-nav, .header-actions { display: none; }
    .mobile-toggle { display: flex; }

    .hero-nav-wrap { margin-top: 40px; padding: 0; }
    .hero-nav { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

    .hero { min-height: auto; padding: 100px 0 60px; }
    .hero-title { font-size: 32px; }
    .hero-subtitle { font-size: 16px; }
    .hero-buttons { flex-direction: column; align-items: center; }
    .hero-buttons .gradient-btn,
    .hero-buttons .ghost-btn { width: 100%; max-width: 280px; }

    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .stat-number { font-size: 28px; }

    .section { padding: 60px 0; }
    .section-lg { padding: 80px 0; }

    .feature-grid { gap: 16px; }
    .blog-grid { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
    .values-grid { grid-template-columns: 1fr; }
    .programme-categories { grid-template-columns: 1fr; }
    .contact-cards { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }

    .page-header { padding: 100px 0 40px; }
    .page-header h1 { font-size: 28px; }

    .glass-card { padding: 24px; }

    .form-grid { grid-template-columns: 1fr; }

    .cta-banner-inner { padding: 40px 24px; }

    .footer-bottom { flex-direction: column; text-align: center; }
    .newsletter-input-wrap { flex-direction: column; }

    .tier-tabs { gap: 2px; }
    .tier-tab { padding: 10px 12px; font-size: 13px; }

    .testimonial-card { flex: 0 0 300px; }

    .events-controls { flex-direction: column; align-items: stretch; }
    .events-view-toggle, .events-filter-toggle { justify-content: center; }
}

/* --- Small mobile (< 480px) --- */
@media (max-width: 480px) {
    .container { padding: 0 16px; }
    .logo-img { height: 36px; }
    .footer-logo-img { height: 42px; }

    .hero { padding: 80px 0 40px; }
    .hero-title { font-size: 28px; }

    .stats-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
    .stat-number { font-size: 24px; }
    .stat-label { font-size: 13px; }

    .section-title { font-size: 24px; }
    .section-subtitle { font-size: 16px; }

    .team-grid { grid-template-columns: 1fr; }
    .team-photo { width: 100px; height: 100px; font-size: 30px; }

    .tier-tabs { flex-wrap: nowrap; overflow-x: auto; }

    .accordion-trigger { padding: 16px; font-size: 15px; }
    .accordion-content-inner { padding: 0 16px 16px; }

    .mobile-nav-panel { width: 100%; max-width: 100%; }
}

/* --- Generic two-column card grid (downloads, partnerships, related/search results) --- */
.two-col-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.two-col-grid > * { min-width: 0; }
@media (max-width: 768px) {
    .two-col-grid { grid-template-columns: 1fr; }
}
