/* ============================================
   Loodgieters Friesland Direct — Responsive
   ============================================ */

@media (max-width: 1024px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }

  /* Mobile nav overlay */
  .nav-links.mobile-open {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--white);
    flex-direction: column;
    padding: calc(80px + var(--space-xl)) var(--space-xl) var(--space-xl);
    gap: var(--space-sm);
    z-index: 998;
    overflow-y: auto;
  }

  .nav-links.mobile-open li a {
    display: block;
    padding: var(--space-md) 0;
    font-size: 1.125rem;
    border-bottom: 1px solid var(--gray-200);
  }

  .hero .container { grid-template-columns: 1fr; }
  .hero-visual { display: none; }
  .hero { min-height: auto; padding-bottom: var(--space-3xl); }

  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .usp-grid { grid-template-columns: repeat(2, 1fr); }
  .reviews-container { grid-template-columns: repeat(2, 1fr); }
  .pricing-grid { grid-template-columns: repeat(2, 1fr); }
  .about-grid { grid-template-columns: 1fr; }
  .map-section .container { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .related-services { grid-template-columns: repeat(2, 1fr); }
  .usp-blocks { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .header-top { display: none; }
  .nav-cta .btn-primary { display: none; }

  .hero { padding-top: calc(80px + var(--space-2xl)); }
  .hero h1 { font-size: 1.75rem; }
  .hero-trust { gap: var(--space-md); }
  .hero-trust-item { font-size: 0.8125rem; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { justify-content: center; }

  .page-hero { padding-top: calc(80px + var(--space-2xl)); }

  .services-grid { grid-template-columns: 1fr; }
  .usp-grid { grid-template-columns: 1fr; gap: var(--space-md); }
  .reviews-container { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr; }
  .related-services { grid-template-columns: 1fr; }
  .usp-blocks { grid-template-columns: 1fr; }

  .mobile-cta { display: block; }
  body { padding-bottom: 72px; }

  .section { padding: var(--space-3xl) 0; }

  .pricing-table { font-size: 0.8125rem; }
  .pricing-table thead th,
  .pricing-table tbody td { padding: var(--space-sm) var(--space-md); }

  .cookie-content { flex-direction: column; text-align: center; }
  .cookie-content p { min-width: auto; }

  .final-cta-actions { flex-direction: column; align-items: center; }
  .final-cta-actions .btn { width: 100%; max-width: 300px; }
}

@media (max-width: 480px) {
  .container { padding: 0 var(--space-md); }
  .hero-trust { flex-direction: column; gap: var(--space-sm); }
  .hero-stats { position: static; margin-top: var(--space-xl); }
  .trust-bar .container { gap: var(--space-lg); }
  .trust-item { flex: 1 1 calc(50% - var(--space-lg)); }
}
