/* ==========================================================================
   RESPONSIVE OVERRIDES & BREAKPOINTS — Ultra Premium Portfolio
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. ULTRA-WIDE MONITORS (1920px +)
   -------------------------------------------------------------------------- */
@media (min-width: 1920px) {
  .container {
    max-width: 1600px;
  }

  .hero-title {
    font-size: 5rem !important;
  }

  .section-title {
    font-size: 3.5rem !important;
  }
}

/* --------------------------------------------------------------------------
   2. LARGE DESKTOP (1440px)
   -------------------------------------------------------------------------- */
@media (max-width: 1440px) {
  .container {
    max-width: 1140px;
  }
}

/* --------------------------------------------------------------------------
   3. TABLET LANDSCAPE / SMALL LAPTOPS (1024px)
   Transition point: Desktop nav → hamburger icon
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  :root {
    --nav-height: 64px;
  }

  .section {
    padding: 90px 0;
  }

  .navbar-wrapper {
    width: calc(100% - 24px) !important;
    top: 12px !important;
  }

  /* Hide desktop nav links capsule; show hamburger */
  .nav-links-capsule {
    display: none !important;
  }

  .mobile-menu-toggle {
    display: flex !important;
  }

  /* Hero layout stacks vertically */
  .hero-grid {
    grid-template-columns: 1fr !important;
    text-align: center;
    gap: 40px !important;
  }

  .hero-cta {
    justify-content: center;
  }

  /* About stacks */
  .about-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  /* Skills 2-col */
  .skills-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Projects 2-col */
  .projects-masonry {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Contact stacks */
  .contact-grid {
    grid-template-columns: 1fr !important;
  }
}

/* --------------------------------------------------------------------------
   4. TABLET PORTRAIT & LARGE PHONES (768px)
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  :root {
    --nav-height: 60px;
  }

  .section {
    padding: 70px 0;
  }

  .section-title {
    font-size: 2.2rem !important;
  }

  .hero-title {
    font-size: 2.8rem !important;
  }

  /* Skills single col */
  .skills-grid {
    grid-template-columns: 1fr !important;
  }

  /* Projects single col */
  .projects-masonry {
    grid-template-columns: 1fr !important;
  }

  /* Stats 2×2 grid */
  .stats-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  /* Project search box stretches full width */
  .projects-controls {
    flex-direction: column;
    align-items: stretch;
  }

  .project-search-box {
    width: 100% !important;
  }

  /* Chat widget */
  .chat-widget-window {
    width: calc(100vw - 32px) !important;
    right: 0 !important;
  }

  /* Footer stacks */
  .footer-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}

/* --------------------------------------------------------------------------
   5. SMALL MOBILE (480px)
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
  .container {
    padding: 0 16px;
  }

  .hero-title {
    font-size: 2.2rem !important;
  }

  .hero-subtitle {
    font-size: 1.15rem !important;
  }

  /* CTAs stack */
  .hero-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .btn {
    width: 100%;
  }

  /* Stats single col */
  .stats-grid {
    grid-template-columns: 1fr !important;
  }

  /* Socials single col */
  .social-grid {
    grid-template-columns: 1fr !important;
  }

  /* Section header smaller */
  .section-title {
    font-size: 1.9rem !important;
  }

  .filter-pills {
    gap: 6px;
  }

  .filter-btn {
    padding: 6px 12px;
    font-size: 0.8rem;
  }
}

/* --------------------------------------------------------------------------
   6. MINIMUM SUPPORTED WIDTH (320px)
   -------------------------------------------------------------------------- */
@media (max-width: 320px) {
  .hero-title {
    font-size: 1.9rem !important;
  }
}
