/* ============================================================ */
/* RESPONSIVE BREAKPOINTS                                     */
/* ============================================================ */

@media (min-width: 640px) {
  .portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portfolio-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* TABLET & UP (900px+) */
@media (min-width: 900px) {
  .nav-links {
    display: flex;
  }

  .nav-cta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }

  /* Show/hide WhatsApp CTAs for screen sizes */
  .nav-whatsapp,
  .hero-whatsapp {
    display: inline-flex;
  }

  .whatsapp-fab {
    display: none;
  }

  .lang-switch {
    display: flex;
  }

  .nav-toggle {
    display: none;
  }

  .mobile-menu {
    display: none !important;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    align-items: center;
    gap: 3.5rem;
  }

  .hero-title {
    font-size: 2.7rem;
  }

  .cards-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .portfolio-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .portfolio-overview-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .before-after-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .about-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .reviews-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .contact-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: flex-start;
    gap: 2.5rem;
  }

  .footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .footer-right {
    text-align: right;
  }

  .portfolio-page-hero-grid,
  .portfolio-detail-grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.8fr);
    align-items: start;
  }

  .portfolio-detail-lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile: hide desktop CTAs and show floating FAB */
@media (max-width: 899px) {
  .nav-whatsapp,
  .hero-whatsapp {
    display: none;
  }

  .whatsapp-fab {
    display: inline-flex;
  }
}

/* FORM LAYOUTS */
@media (min-width: 700px) {
  .form-row.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .form-row.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ============================================================ */
/* PRINT STYLES                                                */
/* ============================================================ */

@media print {
  header,
  footer,
  .nav-toggle,
  .btn {
    display: none;
  }

  body {
    background: white;
    color: black;
  }

  a {
    color: #0066cc;
  }

  .card {
    page-break-inside: avoid;
  }
}
