/* ============================================================
   ZS RECYCLING — Responsive / Mobile Styles
   ============================================================ */

/* ---- Tablet (≤ 1024px) ---- */
@media (max-width: 1024px) {
  .hero-content {
    grid-template-columns: 1fr;
    gap: 3rem;
    padding: 4rem 2rem;
  }

  .hero-copy {
    max-width: 100%;
    text-align: center;
  }

  .hero-actions {
    justify-content: center;
  }

  .hero-certs {
    justify-content: center;
  }

  .hero-certs .cert-strip {
    justify-content: center;
  }

  .hero-visual {
    display: none;
  }

  .stat-cards {
    max-width: 560px;
    margin: 0 auto;
  }

  .about-preview-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .items-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .process-steps-grid {
    grid-template-columns: 1fr;
  }

  .services-cards {
    grid-template-columns: 1fr;
  }
}

/* ---- Mobile (≤ 768px) ---- */
@media (max-width: 768px) {
  :root {
    --nav-height: 64px;
  }

  section {
    padding: 4rem 0;
  }

  .container {
    padding: 0 1.25rem;
  }

  /* --- Nav mobile --- */
  .nav-links,
  .nav-actions {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  /* --- Hero mobile --- */
  .hero {
    min-height: auto;
    padding-top: var(--nav-height);
    padding-bottom: 2rem;
  }

  .hero-bg {
    background:
      linear-gradient(
        to bottom,
        rgba(10, 22, 40, 0.92) 0%,
        rgba(10, 22, 40, 0.80) 100%
      ),
      url('https://images.unsplash.com/photo-1518770660439-4636190af475?w=800&q=80') center/cover no-repeat;
  }

  .hero-content {
    grid-template-columns: 1fr;
    padding: 3rem 1.25rem 2rem;
    gap: 2rem;
    text-align: center;
  }

  .hero-actions {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
  }

  .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }

  /* Mobile CTA — emphasise "CALL FOR PICKUP" */
  .hero-actions .btn-primary::before {
    content: 'CALL FOR ';
  }

  .hero-certs .cert-strip {
    justify-content: center;
    gap: 0.5rem;
  }

  /* --- Stat cards mobile: single column --- */
  .stat-cards {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  /* --- Services strip mobile --- */
  .services-strip-grid {
    gap: 2rem;
  }

  /* --- Section headers --- */
  .section-header {
    margin-bottom: 2.5rem;
  }

  /* --- About preview --- */
  .about-preview-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .about-photo-stack {
    grid-template-columns: 1fr 1fr;
  }

  .about-photo:first-child {
    margin-top: 0;
  }

  /* --- Process steps mobile --- */
  .process-steps::before {
    left: 1.75rem;
  }

  .process-step {
    gap: 1.25rem;
  }

  .step-icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
  }

  .step-icon-bg {
    width: 3rem;
    height: 3rem;
  }

  .step-content h3 {
    font-size: 1.05rem;
  }

  .process-steps-grid {
    grid-template-columns: 1fr;
  }

  /* --- Items grid mobile --- */
  .items-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }

  /* --- Services cards mobile --- */
  .services-cards {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  /* --- Footer mobile --- */
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  /* --- Page hero mobile --- */
  .page-hero {
    padding: calc(var(--nav-height) + 2.5rem) 0 2.5rem;
  }

  /* --- Contact grid --- */
  .contact-grid {
    grid-template-columns: 1fr !important;
  }

  /* --- About sections --- */
  .about-mission-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .certs-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ---- Small mobile (≤ 420px) ---- */
@media (max-width: 420px) {
  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.35rem; }

  .stat-card .stat-value {
    font-size: 1.25rem;
  }

  .items-grid {
    grid-template-columns: 1fr;
  }

  .cert-badge {
    font-size: 0.65rem;
    padding: 0.3rem 0.7rem;
  }

  .footer-bottom-links {
    gap: 1rem;
  }
}
