/* =========================================================
   RESPONSIVE.CSS — Breakpoint overrides
   Breakpoints: Ultrawide (1600+), Desktop (default), Tablet (900px),
   Mobile (600px), Small mobile (400px)
========================================================= */

/* ---------------------------------------------
   Ultrawide (1600px+)
--------------------------------------------- */
@media (min-width: 1600px) {
  :root {
    --container-width: 1440px;
  }

  .hero__title {
    font-size: 5.5rem;
  }
}

/* ---------------------------------------------
   Tablet (≤ 1024px)
--------------------------------------------- */
@media (max-width: 1024px) {
  .services__grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

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

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

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

  .process__steps {
    grid-template-columns: repeat(3, 1fr);
    row-gap: var(--space-2xl);
  }

  .about__grid {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .about__visual {
    max-width: 320px;
    margin-inline: auto;
  }
}

/* ---------------------------------------------
   Mobile navbar links handled in sections.css (900px)
--------------------------------------------- */
@media (max-width: 900px) {
  .navbar__actions .btn--sm {
    display: none;
  }
}

/* ---------------------------------------------
   Mobile (≤ 640px)
--------------------------------------------- */
@media (max-width: 640px) {
  .services__grid,
  .portfolio__grid,
  .education__grid,
  .tech-grid {
    grid-template-columns: 1fr;
  }

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

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

  .hero__meta {
    gap: var(--space-lg);
  }

  .hero__meta-divider {
    display: none;
  }

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

  .footer__inner {
    flex-direction: column;
  }

  .footer__links {
    gap: var(--space-2xl);
  }

  .footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  .chatbot__window {
    width: min(92vw, 340px);
    right: -8px;
  }

  .timeline {
    padding-left: 32px;
  }

  .timeline__dot {
    left: -32px;
  }

  .floating-btn {
    right: var(--space-md);
    width: 46px;
    height: 46px;
  }

  .floating-btn--scrolltop {
    bottom: calc(var(--space-md) + 56px);
  }

  .floating-btn--whatsapp {
    bottom: var(--space-md);
  }

  .chatbot {
    right: var(--space-md);
    bottom: calc(var(--space-md) + 112px);
  }
}

/* ---------------------------------------------
   Small mobile (≤ 400px)
--------------------------------------------- */
@media (max-width: 400px) {
  .hero__title {
    font-size: 2.25rem;
  }

  .hero__cta {
    flex-direction: column;
    align-items: stretch;
  }

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

  .navbar__logo-mark {
    font-size: var(--fs-md);
  }
}

/* ---------------------------------------------
   Print styles (bonus polish)
--------------------------------------------- */
@media print {
  .navbar, .floating-btn, .chatbot, .scroll-progress {
    display: none !important;
  }
}
