/* ==========================================================
   ITG Impianti — layout responsive
   Mobile: fino a 767px · Tablet: 768–1023px · Desktop: 1024px+
   ========================================================== */

/* Desktop stretto / tablet landscape */
@media (max-width: 1100px) {
  .nav-list { gap: var(--space-2); }
  .nav { gap: var(--space-3); }
  .services { grid-template-columns: repeat(2, 1fr); }
}

/* Tablet e mobile: menu hamburger */
@media (max-width: 1023px) {
  :root { --header-h: 76px; --header-h-small: 64px; }
  .menu-toggle { display: block; }
  .nav {
    position: fixed; left: 0; right: 0; top: var(--header-h-small); bottom: 0;
    flex-direction: column; align-items: stretch; justify-content: flex-start; gap: var(--space-4);
    padding: var(--space-4) 1.5rem; background: var(--white); overflow-y: auto;
    visibility: hidden; opacity: 0; transform: translateY(-12px);
    transition: opacity .3s var(--ease), transform .3s var(--ease), visibility 0s .3s;
  }
  .nav.is-open { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
  .nav-list { flex-direction: column; gap: 0; }
  .nav-list a { padding: 1.1rem 0; font-size: 1.1rem; border-bottom: 1px solid var(--line); }
  .nav-list a::after { display: none; }
  .nav-cta { min-height: 56px; }
  .logo { height: 58px; }
  .site-header.is-compact .logo { height: 50px; }
  .logo-plate { height: 96px; }

  .split { grid-template-columns: 1fr; gap: var(--space-4); }
  .why { grid-template-columns: repeat(2, 1fr); }
  .hero-orbit { opacity: .3; width: 90vw; right: -30%; }
}

/* Mobile */
@media (max-width: 767px) {
  body { font-size: 1rem; }
  .hero { min-height: auto; padding: var(--space-5) 0 6.5rem; }
  .hero-shade { background: linear-gradient(180deg, rgba(10, 18, 36, .9), rgba(10, 18, 36, .8)); }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn, .feature .btn, .cta .btn { width: 100%; }
  .hero-tags { flex-direction: column; gap: .25rem; padding: .9rem 0; }
  .hero-tags li:nth-child(n+3) { display: none; }

  .services, .categories, .why { grid-template-columns: 1fr; }
  .service { padding: var(--space-3); }
  .service-num { margin-bottom: var(--space-2); font-size: 2.25rem; }
  .category, .category + .category { padding: var(--space-3) 0; border-right: 0; border-bottom: 1px solid var(--line); }

  .gallery { grid-template-columns: 1fr; }
  .shot, .shot-wide { grid-column: auto; }

  .cta-inner { flex-direction: column; align-items: stretch; text-align: left; }
  .form { grid-template-columns: 1fr; }
  .form .btn { width: 100%; }
  .footer-inner { flex-direction: column; }
}

@media (max-width: 400px) {
  .why { gap: var(--space-3); }
}
