/* ============================================================
   G2D Soluzioni Software — Responsive layer (shared)
   Il markup ha stili inline con valori fissi in px, ri-serializzati
   da React con spazi dopo ":" e ",". Questo foglio li corregge per
   tablet/mobile tramite selettori [style*="…"] + !important, senza
   toccare il markup.
   Breakpoint: 1024px (tablet) · 900px (nav) · 640px (mobile).
   ============================================================ */

/* --- Anti-overflow & media fluide --- */
img, svg, video { max-width: 100%; }

/* --- Navbar: hamburger (nascosto su desktop) --- */
.nav-toggle-cb { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.nav-burger {
  display: none;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
  color: #121221;
  padding: 2px 6px;
  -webkit-user-select: none;
  user-select: none;
}

/* ============================================================
   TABLET  (≤ 1024px)
   ============================================================ */
@media (max-width: 1024px) {
  /* Padding orizzontale di sezioni/nav/footer (80px → 40px) */
  [style*=" 80px"] { padding-left: 40px !important; padding-right: 40px !important; }

  /* Griglie a molte colonne */
  [style*="grid-template-columns: repeat(5, 1fr)"] { grid-template-columns: repeat(3, 1fr) !important; }
  [style*="grid-template-columns: repeat(4, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }

  /* Tipografia grande → ridotta */
  [style*="font-size: 96px"] { font-size: 54px !important; }
  [style*="font-size: 52px"] { font-size: 40px !important; }
  [style*="font-size: 48px"] { font-size: 38px !important; }
  [style*="font-size: 46px"] { font-size: 36px !important; }
  [style*="font-size: 44px"] { font-size: 35px !important; }
  [style*="font-size: 42px"] { font-size: 34px !important; }
  [style*="font-size: 40px"] { font-size: 33px !important; }
  [style*="font-size: 38px"] { font-size: 31px !important; }
  [style*="font-size: 36px"] { font-size: 30px !important; }
  [style*="font-size: 34px"] { font-size: 28px !important; }
}

/* ============================================================
   NAV MOBILE  (≤ 900px) — menu hamburger
   ============================================================ */
@media (max-width: 900px) {
  nav .nav-burger { display: block; margin-left: auto; }

  /* Nasconde il bottone CTA e il badge prodotto nella barra */
  nav > a:last-child { display: none !important; }
  nav > div:not(.nav-links) { display: none !important; }

  /* Menu a tendina */
  nav .nav-links {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
    margin: 0;
    padding: 6px 0 !important;
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .10);
  }
  nav .nav-toggle-cb:checked ~ .nav-links { display: flex !important; }
  nav .nav-links a {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 28px !important;
    font-size: 15px !important;
  }

  /* Gruppi di bottoni "flex-shrink:0" → possono restringersi e andare a capo */
  [style*="flex-shrink: 0"][style*="flex-wrap: wrap"] { flex-shrink: 1 !important; max-width: 100% !important; }

  /* Layout a due colonne → una colonna */
  [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: 340px 1fr"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: 1fr 1.2fr"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: 1.2fr 1fr"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: repeat(3, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ============================================================
   MOBILE  (≤ 640px)
   ============================================================ */
@media (max-width: 640px) {
  /* Padding orizzontale ridotto al minimo */
  [style*=" 80px"] { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="padding: 56px 60px"] { padding-left: 22px !important; padding-right: 22px !important; }

  /* Griglie → colonna singola / due colonne */
  [style*="grid-template-columns: repeat(5, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
  [style*="grid-template-columns: repeat(3, 1fr)"] { grid-template-columns: 1fr !important; }

  /* Tipografia ulteriormente ridotta */
  [style*="font-size: 96px"] { font-size: 34px !important; }
  [style*="font-size: 52px"] { font-size: 30px !important; }
  [style*="font-size: 48px"] { font-size: 29px !important; }
  [style*="font-size: 46px"] { font-size: 28px !important; }
  [style*="font-size: 44px"] { font-size: 27px !important; }
  [style*="font-size: 42px"] { font-size: 26px !important; }
  [style*="font-size: 40px"] { font-size: 26px !important; }
  [style*="font-size: 38px"] { font-size: 25px !important; }
  [style*="font-size: 36px"] { font-size: 24px !important; }
  [style*="font-size: 34px"] { font-size: 23px !important; }
  [style*="font-size: 32px"] { font-size: 22px !important; }
  [style*="font-size: 30px"] { font-size: 21px !important; }
}

/* ============================================================
   NAV DROPDOWN "Prodotti" (desktop) — hover
   ============================================================ */
.nav-dropdown { position: relative; }

.nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 200;
  display: none;
  flex-direction: column;
  min-width: 220px;
  margin-top: 10px;
  padding: 6px;
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
}

/* Ponte trasparente sopra il gap: evita che il menu si chiuda spostando il mouse */
.nav-dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 12px;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu { display: flex; }

.nav-dropdown-menu a {
  display: block;
  white-space: nowrap;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
}

.nav-caret { transition: transform .2s ease; }
.nav-dropdown:hover .nav-caret { transform: rotate(180deg); }

/* --- Dropdown nel menu hamburger (≤ 900px): statico ed espanso --- */
@media (max-width: 900px) {
  .nav-dropdown { width: 100%; }
  .nav-dropdown-menu {
    position: static;
    display: flex !important;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
  .nav-dropdown::after { display: none; }
  nav .nav-links .nav-dropdown-menu a {
    padding: 11px 28px 11px 48px !important;
    border-radius: 0;
    font-size: 15px !important;
    color: #555 !important;
    background: transparent !important;
  }
  /* La panoramica "Prodotti" coincide col trigger già visibile: evita il doppione */
  nav .nav-links .nav-dropdown-menu a:first-child { display: none; }
  .nav-caret { display: none; }
}
