
/* LAYOUT RESPONSIVE PER SMARTPHONE E TABLET */
html, body {
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

@media (max-width:900px) {
  .page {
    width:100% !important;
    max-width:900px !important;
    margin:0 auto !important;
    overflow:hidden !important;
  }

  .brand-row {
    height:auto !important;
    min-height:72px !important;
    padding:10px 12px !important;
    gap:7px !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
  }

  .brand-text {
    flex:0 0 auto !important;
  }
  .windtre-text {font-size:26px !important;}
  .fastweb-text {font-size:25px !important;}
  .ho-text {font-size:25px !important;}

  .header-info {
    margin-left:0 !important;
    font-size:9px !important;
  }
  .header-info strong {font-size:10px !important;}

  .main-nav {
    width:100% !important;
    height:42px !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    padding:0 10px !important;
    scrollbar-width:none !important;
  }
  .main-nav::-webkit-scrollbar {display:none !important;}
  .main-nav a {
    flex:0 0 auto !important;
    font-size:10px !important;
    padding:8px 14px !important;
  }

  .site-table {
    width:calc(100% - 20px) !important;
    margin-left:10px !important;
    margin-right:10px !important;
  }

  .hero {
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:20px 18px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }
  .hero h1 {font-size:34px !important;}
  .hero h2 {font-size:20px !important;}
  .hero p {font-size:14px !important;}
  .check-list li {font-size:14px !important;}
  .hero-photo {
    width:100% !important;
    height:auto !important;
    max-height:300px !important;
    margin:0 !important;
  }

  .hero-actions {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }
  .hero-actions > * {
    flex:1 1 180px !important;
  }

  .services {
    margin:0 !important;
    padding:10px 6px 14px !important;
  }
  .section-heading {
    padding:0 4px !important;
  }
  .section-heading h2,
  .luigi-brand span {
    max-width:100% !important;
    font-size:26px !important;
    white-space:normal !important;
  }

  .store-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px 8px !important;
  }
  .service-card {
    min-width:0 !important;
  }
  .service-card img {
    width:100% !important;
    height:130px !important;
  }

  .home-assistance {
    margin:0 !important;
    padding:16px 14px 64px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }
  .luigi-brand strong {font-size:35px !important;}
  .luigi-copy h2 {font-size:22px !important;}
  .luigi-copy p {font-size:15px !important;}

  .assistance {
    margin:0 !important;
    padding:10px 0 12px !important;
  }
  .help-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px 8px !important;
  }
  .help-card {min-width:0 !important;}
  .help-card img {height:100px !important;}

  .assistance-contact {
    flex-wrap:wrap !important;
    gap:8px !important;
  }

  .footer {
    width:100% !important;
  }
}

@media (max-width:560px) {
  .brand-row {
    justify-content:flex-start !important;
    align-items:center !important;
  }
  .windtre-text {font-size:24px !important;}
  .fastweb-text {font-size:23px !important;}
  .ho-text {font-size:23px !important;}

  .header-info {
    flex:1 1 45% !important;
  }

  .hero h1 {font-size:30px !important;}
  .hero h2 {font-size:19px !important;}
  .hero p {font-size:14px !important; line-height:1.35 !important;}
  .check-list li {font-size:14px !important;}

  .store-grid,
  .help-grid {
    grid-template-columns:1fr !important;
  }

  .service-card img {height:160px !important;}
  .help-card img {height:150px !important;}

  .section-heading h2,
  .luigi-brand span {
    font-size:23px !important;
    padding:4px 10px !important;
  }

  .luigi-brand strong {font-size:35px !important;}
}


/* WhatsApp: icona reale SVG */
.assistance-contact .whatsapp-icon{
  background:transparent !important;
  border:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  overflow:visible !important;
}
.assistance-contact .whatsapp-svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
}
.assistance-contact .whatsapp-icon::before{content:none !important;}


/* BARRA CONTATTI ASSISTENZA - REGOLA UNICA SMARTPHONE */
@media (max-width:560px){
  .home-assistance{
    padding-bottom:135px !important;
  }

  .assistance-contact{
    width:100% !important;
    height:145px !important;
    min-height:145px !important;
    box-sizing:border-box !important;
    padding:8px 4px !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:2px !important;
    align-items:center !important;
    overflow:hidden !important;
  }

  .assistance-contact a{
    width:100% !important;
    min-width:0 !important;
    height:125px !important;
    min-height:125px !important;
    box-sizing:border-box !important;
    padding:6px 3px !important;
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) !important;
    align-items:center !important;
    justify-content:stretch !important;
    gap:5px !important;
    overflow:hidden !important;
    text-align:left !important;
  }

  .assistance-contact a > span{
    grid-column:1 !important;
    grid-row:1 !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:18px !important;
  }

  .assistance-contact a > div{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    font-size:10px !important;
    line-height:1.15 !important;
    text-align:left !important;
    overflow:hidden !important;
  }

  .assistance-contact a strong{
    display:block !important;
    width:100% !important;
    margin-top:3px !important;
    font-size:13px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .assistance-contact a:nth-child(3) strong{
    font-size:10px !important;
    line-height:1.12 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }
}


/* =========================================================
   CONTATTI ASSISTENZA - LAYOUT DEFINITIVO DESKTOP + MOBILE
   ========================================================= */

/* Desktop */
.assistance-contact{
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:58px !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:center !important;
  background:#082f67 !important;
  overflow:hidden !important;
}

.assistance-contact a{
  min-width:0 !important;
  height:42px !important;
  padding:0 10px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  color:#fff !important;
  text-decoration:none !important;
  border-right:1px solid rgba(255,255,255,.4) !important;
  font-size:11px !important;
  line-height:1.15 !important;
  overflow:hidden !important;
}

.assistance-contact a:last-child{
  border-right:0 !important;
}

.assistance-contact a > span{
  flex:0 0 34px !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  margin:0 !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#19a64b !important;
  border:2px solid #fff !important;
  overflow:hidden !important;
}

.assistance-contact a:last-child > span{
  background:#2175dd !important;
}

.assistance-contact .whatsapp-icon{
  background:#25D366 !important;
  border:2px solid #fff !important;
}

.assistance-contact .whatsapp-svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}

.assistance-contact a > div{
  min-width:0 !important;
  max-width:calc(100% - 42px) !important;
  font-size:11px !important;
  line-height:1.12 !important;
  overflow:hidden !important;
}

.assistance-contact strong{
  display:block !important;
  margin-top:2px !important;
  font-size:15px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

/* Smartphone */
@media (max-width:560px){
  html,body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .page{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  .assistance-contact{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:auto !important;
    min-height:210px !important;
    padding:6px 10px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:4px !important;
    overflow:hidden !important;
  }

  .home-assistance{
    padding-bottom:225px !important;
  }

  .assistance-contact a{
    width:100% !important;
    height:62px !important;
    min-height:62px !important;
    padding:5px 12px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.30) !important;
    text-align:left !important;
    overflow:hidden !important;
  }

  .assistance-contact a:last-child{
    border-bottom:0 !important;
  }

  .assistance-contact a > span{
    flex:0 0 40px !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
  }

  .assistance-contact a > div{
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    text-align:left !important;
    overflow:hidden !important;
  }

  .assistance-contact strong{
    font-size:16px !important;
    line-height:1.08 !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .assistance-contact a:nth-child(3) strong{
    font-size:13px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }
}

/* ICONA WHATSAPP PULITA */
.assistance-contact .whatsapp-icon{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
.assistance-contact .whatsapp-svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  image-rendering:auto !important;
}

/* ICONE CONTATTI PULITE - telefono, WhatsApp, email */
.assistance-contact .phone-icon,
.assistance-contact .whatsapp-icon,
.assistance-contact .email-icon{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
.assistance-contact .contact-icon-svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  image-rendering:auto !important;
}
