/* ═══════════════════════════════════════════════════
 * LĨNH NAM — Responsive Enhancement v4.0
 * Additional breakpoints: 480px, 1024px, 1440px
 * Improves on existing 768px breakpoint
 ═══════════════════════════════════════════════════ */

/* ─── Extra Small (≤480px) — Small phones ─── */
@media (max-width: 480px) {
  .container {
    padding: 0 16px;
  }

  .section-title.large {
    font-size: 24px;
    line-height: 1.3;
  }

  .hero-title {
    font-size: 28px !important;
  }

  .hero-subtitle {
    font-size: 14px !important;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .stat-value {
    font-size: 28px;
  }

  .team-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .event-card {
    flex-direction: column;
  }

  .event-card-date {
    flex-direction: row;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    min-width: unset;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .footer-col:first-child {
    text-align: center;
  }

  .partners-slider {
    margin: 0 -16px;
  }

  .partner-logo {
    width: 100px;
    height: 56px;
  }
}

/* ─── Tablet (769px — 1024px) ─── */
@media (min-width: 769px) and (max-width: 1024px) {
  .container {
    max-width: 960px;
  }

  .hero-title {
    font-size: 42px !important;
  }

  .stats-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .events-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-top {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ─── Desktop Large (≥1440px) ─── */
@media (min-width: 1440px) {
  .container {
    max-width: 1320px;
  }

  .hero-title {
    font-size: 64px !important;
  }

  .hero-subtitle {
    font-size: 20px !important;
  }

  .section-title.large {
    font-size: 42px;
  }

  .stats-grid {
    gap: 48px;
  }

  .team-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 36px;
  }

  .events-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
}

/* ─── Dark Mode Fixes ─── */
[data-theme="dark"] .section-light {
  background: #1a1a1a;
}

[data-theme="dark"] .section-light .section-title.dark,
[data-theme="dark"] .section-light .section-tag {
  color: var(--cream);
}

[data-theme="dark"] .partner-logo {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .partner-logo:hover {
  background: rgba(201, 168, 76, 0.08);
  border-color: rgba(201, 168, 76, 0.2);
}

[data-theme="dark"] .partner-placeholder {
  color: var(--cream);
}

[data-theme="dark"] .team-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .event-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .stat-card {
  background: rgba(255, 255, 255, 0.04);
}

/* ─── Accessibility ─── */
@media (prefers-reduced-motion: reduce) {
  .partners-track {
    animation: none !important;
  }

  .crypto-ticker-track {
    animation: none !important;
  }

  .events-ticker-track {
    animation: none !important;
  }

  .fade-in {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ─── Print Styles ─── */
@media print {
  .navbar,
  .crypto-ticker,
  .events-ticker,
  .mobile-toggle,
  .footer-badges,
  .zalo-float,
  #cookieBanner {
    display: none !important;
  }

  .footer {
    background: #fff !important;
    color: #333 !important;
  }

  body {
    font-size: 12pt;
    line-height: 1.5;
  }
}
