*{box-sizing:border-box}
:root{--blue:#061bff;--dark:#071226;--text:#263244;--muted:#64748b;--soft:#f4f7ff}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--dark)}
a{text-decoration:none;color:inherit}
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:12px 5vw;border-bottom:1px solid #e8edf7}
.logo img{height:145px;width:auto;display:block;box-shadow:none;filter:none;background:transparent}
.menu{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.menu a:hover{color:var(--blue)}
.call{display:flex;align-items:center;gap:8px;background:var(--blue);color:#fff;padding:14px 18px;border-radius:999px;font-weight:900}
.hero{min-height:800px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:70px 6vw;background:radial-gradient(circle at 80% 20%,rgba(6,27,255,.12),transparent 28%),linear-gradient(135deg,#fff 0%,#f6f9ff 55%,#eaf0ff 100%);overflow:hidden}
.label{display:inline-block;color:var(--blue);font-weight:900;letter-spacing:.2em;text-transform:uppercase;font-size:12px;margin-bottom:14px}
h1{font-size:clamp(46px,7vw,92px);line-height:.92;letter-spacing:-.065em;margin:0 0 24px}
.hero p,.intro p,.title p,.tech-list p,.cards p,.inim p,.inim li,.contact p{font-size:18px;line-height:1.72;color:var(--text)}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{padding:16px 22px;border-radius:16px;font-weight:900}
.blue{background:var(--blue);color:#fff;box-shadow:0 16px 35px rgba(6,27,255,.22)}
.white{background:#fff;border:1px solid #dbe3f1}
.hero-showcase{background:#fff;border:1px solid #dbe3f1;border-radius:36px;padding:28px;box-shadow:0 22px 60px rgba(15,23,42,.08)}
.showcase-main{min-height:280px;border-radius:28px;background:linear-gradient(135deg,var(--dark),#1434ff);color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}
.showcase-main:before{content:"";position:absolute;inset:35px;border:1px solid rgba(255,255,255,.18);border-radius:22px}
.showcase-main strong{font-size:36px;letter-spacing:-.04em;position:relative}
.showcase-main small{color:#dbe7ff;margin-top:12px;position:relative}
.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.showcase-grid div{background:var(--soft);border-radius:18px;padding:22px;font-weight:900}
.showcase-grid b{display:block;color:var(--blue);font-size:28px}
.intro,.section,.inim,.contact,.realizzazioni{padding:86px 6vw}
.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}
h2{font-size:clamp(34px,5vw,62px);line-height:.98;letter-spacing:-.055em;margin:0 0 20px}
.title{max-width:980px;margin-bottom:36px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.cards article{background:#fff;border:1px solid #e3e9f5;border-radius:26px;padding:28px;box-shadow:0 12px 30px rgba(15,23,42,.06);transition:.25s}
.cards article:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(15,23,42,.1)}
.cards span{color:var(--blue);font-size:38px;font-weight:900}
.cards h3,.tech-list h3,.steps h3{font-size:24px;margin:14px 0 10px}
.technical{background:#f7faff}
.tech-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.tech-list div{background:#fff;border-radius:24px;padding:28px;border-left:5px solid var(--blue);box-shadow:0 12px 28px rgba(15,23,42,.06)}
.realizzazioni{background:#fff}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:-10px 0 28px}
.filter{border:1px solid #dbe3f1;background:#fff;color:var(--dark);border-radius:999px;padding:12px 16px;font-weight:900;cursor:pointer}
.filter.active,.filter:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.work-card{position:relative;overflow:hidden;min-height:380px;border-radius:28px;background:#f7faff;border:1px solid #e3e9f5;box-shadow:0 14px 36px rgba(15,23,42,.08)}
.work-card img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block;transition:transform .35s ease}
.work-card:hover img{transform:scale(1.04)}
.work-caption{position:absolute;left:0;right:0;bottom:0;padding:24px;background:linear-gradient(180deg,transparent,rgba(7,18,38,.92));color:#fff}
.work-caption span{display:inline-block;color:#9bb5ff;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.work-caption h3{margin:0;font-size:20px;line-height:1.25}
.work-caption p{font-size:14px!important;line-height:1.45!important;color:#e8efff!important;margin:8px 0 0}
.inim{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;background:linear-gradient(135deg,#071226,#102c6b);color:#fff}
.inim h2,.inim .label{color:#fff}
.inim p,.inim li{color:#e3ecff}
.inim ul{list-style:none;padding:0;display:grid;gap:12px}
.inim li{background:rgba(255,255,255,.09);border-radius:16px;padding:14px 16px}
.inim li:before{content:'✓';font-weight:900;margin-right:10px;color:#8fb3ff}
.inim-logos{display:grid;grid-template-columns:1fr;gap:18px}
.inim-logos img{background:#fff;border-radius:20px;padding:18px;max-width:100%;max-height:180px;object-fit:contain;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps div{background:#f7faff;border-radius:24px;padding:26px;border:1px solid #e3e9f5}
.steps b{font-size:42px;color:var(--blue)}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;background:#f7faff}
.contact-links{display:grid;gap:12px;margin-top:24px}
.contact-links a{background:#fff;border-radius:16px;padding:16px;font-weight:900;box-shadow:0 10px 24px rgba(15,23,42,.06)}
form{background:#fff;border-radius:28px;padding:28px;display:grid;gap:14px;box-shadow:0 18px 45px rgba(15,23,42,.08)}
input,select,textarea{border:1px solid #cfd8e8;border-radius:15px;padding:16px;font:inherit}
textarea{min-height:150px}
button{border:0}
form button{background:var(--blue);color:#fff;border-radius:15px;padding:17px;font-weight:900;font-size:16px}
footer{text-align:center;padding:28px;background:var(--dark);color:#dbe7ff}
@media(max-width:980px){.header{align-items:flex-start;flex-direction:column}.hero,.intro,.inim,.contact{grid-template-columns:1fr}.steps,.tech-list{grid-template-columns:1fr 1fr}.logo img{height:110px}.hero{padding:48px 22px}.intro,.section,.inim,.contact,.realizzazioni{padding:66px 22px}}
@media(max-width:640px){.menu{gap:14px;font-size:12px}.steps,.tech-list,.showcase-grid{grid-template-columns:1fr}h1{font-size:44px}.logo img{height:95px}.call{font-size:14px}.work-card,.work-card img{min-height:320px}} .inim-extra{margin-top:24px;display:flex;justify-content:center;align-items:center}
.inim-extra img{max-width:720px;width:100%;height:auto;border-radius:24px;background:#fff;padding:18px;box-shadow:0 18px 40px rgba(15,23,42,.12);border:1px solid #e6edf7} .domotica-{ background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%);
}
.-detail-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px; margin:30px 0 34px;
}
.-detail-grid article{ background:#fff; border:1px solid #e3e9f5; border-radius:24px; padding:26px; box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.-detail-grid h3{ margin:0 0 10px; font-size:22px; color:#071226;
}
.-detail-grid p{ margin:0; color:#263244; line-height:1.65;
}
.-photos .work-card{ min-height:340px;
}
.-photos .work-card img{ min-height:340px;
} .domotica-premium{ background:linear-gradient(180deg,#ffffff 0%,#f4f7ff 100%) !important;
}
.-professional-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin:34px 0;
}
.-professional-grid article{ background:#ffffff; border:1px solid #e3e9f5; border-radius:26px; padding:28px; box-shadow:0 14px 34px rgba(15,23,42,.07); transition:.25s ease;
}
.-professional-grid article:hover{ transform:translateY(-5px); box-shadow:0 22px 45px rgba(15,23,42,.11);
}
.bt-icon{ width:58px; height:58px; border-radius:18px; display:flex; align-items:center; justify-content:center; background:#061bff; color:#fff; font-size:26px; font-weight:900; margin-bottom:18px;
}
.-professional-grid h3{ margin:0 0 10px; font-size:22px; color:#071226;
}
.-professional-grid p{ margin:0; color:#263244; line-height:1.65;
}
.-highlight{ margin-top:28px; padding:34px; border-radius:30px; background:linear-gradient(135deg,#071226,#0d2c75); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.-highlight span{ display:inline-block; color:#8fb3ff; text-transform:uppercase; letter-spacing:.16em; font-weight:900; font-size:12px; margin-bottom:10px;
}
.-highlight h3{ margin:0 0 10px; font-size:30px;
}
.-highlight p{ margin:0; color:#dbe7ff; line-height:1.65;
}
.-highlight a{ flex:0 0 auto; background:#061bff; color:#fff; padding:16px 22px; border-radius:16px; font-weight:900; text-decoration:none;
}
@media(max-width:760px){ .-highlight{flex-direction:column;align-items:flex-start} .-highlight a{width:100%;text-align:center}
} .domotica-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:28px 0}
.domotica-gallery img{width:100%;height:220px;object-fit:cover;border-radius:22px;box-shadow:0 14px 30px rgba(0,0,0,.12)}
@media(max-width:700px){.domotica-gallery img{height:180px}}


/* ELETTROZETA PRO 2026 - Contatti rapidi moderni e menu mobile */
.header{
  position:sticky;
  top:0;
  z-index:1000;
}

.top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.quick-action{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-weight:900;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 12px 26px rgba(6,27,255,.18);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.quick-action:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(120deg,rgba(255,255,255,.0),rgba(255,255,255,.34),rgba(255,255,255,.0));
  transform:translateX(-120%) skewX(-18deg);
  transition:transform .75s ease;
  z-index:-1;
}

.quick-action:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(6,27,255,.28);
  filter:saturate(1.08);
}

.quick-action:hover:before{
  transform:translateX(120%) skewX(-18deg);
}

.quick-action svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:currentColor;
  animation:ezIconFloat 2.8s ease-in-out infinite;
}

.quick-action span{
  display:grid;
  line-height:1.05;
}

.quick-action small{
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.82;
}

.quick-action b{
  font-size:13px;
  white-space:nowrap;
}

.phone-action{background:linear-gradient(135deg,#061bff,#123cce)}
.email-action{background:linear-gradient(135deg,#071226,#263b69)}
.whatsapp-action{background:linear-gradient(135deg,#25D366,#128C4A);box-shadow:0 12px 26px rgba(37,211,102,.28)}

/* WhatsApp sempre visibile nella barra alta */
.whatsapp-action{display:inline-flex}
.whatsapp-action svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
@media(min-width:981px) and (max-width:1280px){
  .top-actions{gap:8px}
  .quick-action{padding:10px 12px}
  .quick-action b{font-size:12px}
}


.menu-toggle{
  display:none;
  width:48px;
  height:48px;
  border:1px solid #dbe3f1;
  border-radius:16px;
  background:#fff;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}

.menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  border-radius:999px;
  background:#071226;
  transition:transform .25s ease, opacity .25s ease;
}

.menu-open .menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-open .menu-toggle span:nth-child(2){opacity:0}
.menu-open .menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@keyframes ezIconFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-1px) scale(1.06)}
}

@media(max-width:1180px){
  .header{
    gap:16px;
    padding:10px 22px;
  }
  .logo img{
    height:86px;
  }
  .menu{
    gap:14px;
    font-size:12px;
  }
  .quick-action{
    padding:10px 12px;
  }
  .quick-action b{
    font-size:12px;
  }
}

@media(max-width:860px){
  .header{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
  }

  .logo img{
    height:70px;
  }

  .menu-toggle{
    display:flex;
    grid-column:3;
    grid-row:1;
  }

  .top-actions{
    grid-column:1 / -1;
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
  }

  .quick-action{
    justify-content:center;
    min-height:46px;
    padding:10px 8px;
    border-radius:16px;
  }

  .quick-action span{
    display:none;
  }

  .quick-action svg{
    width:24px;
    height:24px;
  }

  .whatsapp-action{
    display:inline-flex;
  }

  .menu{
    position:fixed;
    left:14px;
    right:14px;
    top:96px;
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    padding:14px;
    border-radius:24px;
    background:rgba(255,255,255,.98);
    border:1px solid #e3e9f5;
    box-shadow:0 26px 70px rgba(15,23,42,.18);
    opacity:0;
    transform:translateY(-12px) scale(.98);
    pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
  }

  .menu-open .menu{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }

  .menu a{
    padding:15px 16px;
    border-radius:16px;
    font-size:14px;
  }

  .menu a:hover{
    background:#f4f7ff;
  }

  body.menu-open{
    overflow:hidden;
  }

  .hero{
    padding-top:46px;
  }

  h1{
    font-size:clamp(40px,12vw,58px);
    letter-spacing:-.045em;
  }

  h2{
    font-size:clamp(32px,9vw,46px);
  }
}

@media(max-width:520px){
  .header{
    padding:8px 14px;
  }

  .logo img{
    height:58px;
  }

  .menu-toggle{
    width:44px;
    height:44px;
    border-radius:14px;
  }

  .top-actions{
    grid-template-columns:repeat(3,1fr);
  }

  .quick-action{
    min-height:44px;
    border-radius:14px;
  }

  .menu{
    top:82px;
  }

  .hero,
  .intro,
  .section,
  .inim,
  .contact,
  .realizzazioni{
    padding-left:18px;
    padding-right:18px;
  }

  .actions .btn,
  form button{
    width:100%;
    text-align:center;
  }

  .work-caption{
    padding:18px;
  }
}

/* Logo enlarged update */
.logo img{height:145px!important;width:auto}
@media(max-width:980px){.logo img{height:110px!important}}
@media(max-width:640px){.logo img{height:95px!important}}

/* Hero title reduced + better showcase text */
h1{font-size:clamp(46px,6vw,82px)!important;line-height:1.02!important}
.showcase-grid div{padding:20px;border-radius:18px}
.showcase-grid b{display:block;font-size:18px!important;line-height:1.2;color:#061bff;margin-bottom:8px}
.showcase-grid span{display:block;font-size:14px;line-height:1.45;color:#263244;font-weight:700}
@media(max-width:640px){
 h1{font-size:36px!important}
 .showcase-grid b{font-size:16px!important}
 .showcase-grid span{font-size:13px}
}

/* Aggiornamento: logo aziendale più grande + testi barra alta più leggibili */
.logo img{
  height:165px!important;
  width:auto!important;
  max-width:340px;
}
.top-actions{
  gap:12px!important;
}
.quick-action{
  padding:14px 18px!important;
  min-height:52px;
}
.quick-action b,
.quick-action span,
.quick-action{
  font-size:16px!important;
  line-height:1.15!important;
}
.quick-action svg{
  width:24px!important;
  height:24px!important;
}
@media(max-width:980px){
  .logo img{
    height:128px!important;
    max-width:300px;
  }
  .quick-action{
    padding:13px 16px!important;
  }
  .quick-action b,
  .quick-action span,
  .quick-action{
    font-size:15px!important;
  }
}

/* Alleggerimento finale: più aria, meno peso visivo, stessa identità */
.hero{
  min-height:720px!important;
  gap:46px!important;
}

.hero h1{
  max-width:760px!important;
  font-size:clamp(42px,5.2vw,76px)!important;
  line-height:1.02!important;
}

.hero p{
  max-width:700px!important;
}

.hero-showcase{
  padding:22px!important;
  border-radius:30px!important;
  box-shadow:0 22px 58px rgba(6,18,48,.14)!important;
}

.showcase-main{
  min-height:400px!important;
  border-radius:24px!important;
}

.smart-bg-thumbs{
  gap:16px!important;
}

.cards,
.-professional-grid,
.tech-list,
.reference-grid,
.works-grid,
.inim-premium-grid,
.recruiting-cards{
  gap:22px!important;
}

.cards article,
.-professional-grid article,
.tech-list div,
.steps div,
.reference-grid article,
.work-card,
.inim-premium-card,
.recruiting-cards article{
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(20,50,90,.12)!important;
}

.section,
.realizzazioni,
.inim-premium-section,
.recruiting-section{
  padding-top:82px!important;
  padding-bottom:82px!important;
}

.title{
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.title p{
  max-width:820px!important;
}

footer{
  padding-top:34px!important;
  padding-bottom:34px!important;
}

@media(max-width:760px){
  .hero{
    min-height:auto!important;
    gap:24px!important;
  }

  .hero h1{
    font-size:34px!important;
  }

  .showcase-main{
    min-height:auto!important;
  }

  .section,
  .realizzazioni,
  .inim-premium-section,
  .recruiting-section{
    padding-top:54px!important;
    padding-bottom:54px!important;
  }
}
@media(max-width:640px){
  .logo img{
    height:108px!important;
    max-width:260px;
  }
  .top-actions{
    width:100%;
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px!important;
  }
  .quick-action{
    width:100%;
    justify-content:center!important;
    padding:14px 16px!important;
  }
  .quick-action b,
  .quick-action span,
  .quick-action{
    font-size:16px!important;
  }
}


/* =========================================================
   FIX DEFINITIVO MOBILE - ELETTROZETA
   Corregge header, menu, contatti e proporzioni smartphone
   senza modificare la versione desktop.
========================================================= */

/* Correzione piccola anomalia menu */
@media(max-width:860px){
  .menu a{
    padding:15px 16px!important;
    border-radius:16px!important;
    font-size:14px!important;
  }
}

/* Tablet e smartphone */
@media(max-width:860px){

  body{
    overflow-x:hidden!important;
  }

  .header{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 14px!important;
  }

  .logo{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
  }

  .logo img{
    height:82px!important;
    max-width:220px!important;
    width:auto!important;
  }

  .menu-toggle{
    display:flex!important;
    grid-column:2!important;
    grid-row:1!important;
    width:44px!important;
    height:44px!important;
    border-radius:14px!important;
  }

  .top-actions{
    grid-column:1 / -1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:8px!important;
    margin:0!important;
  }

  .quick-action{
    width:100%!important;
    min-height:42px!important;
    padding:8px 6px!important;
    border-radius:14px!important;
    justify-content:center!important;
    gap:6px!important;
    box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
  }

  .quick-action svg{
    width:21px!important;
    height:21px!important;
    flex:0 0 21px!important;
  }

  .quick-action span{
    display:grid!important;
    text-align:left!important;
    line-height:1!important;
  }

  .quick-action small{
    font-size:8px!important;
    letter-spacing:.08em!important;
  }

  .quick-action b{
    font-size:10px!important;
    max-width:82px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .menu{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:124px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    padding:14px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid #e3e9f5!important;
    box-shadow:0 24px 60px rgba(15,23,42,.20)!important;
    opacity:0!important;
    transform:translateY(-10px)!important;
    pointer-events:none!important;
    z-index:9999!important;
  }

  body.menu-open .menu{
    opacity:1!important;
    transform:translateY(0)!important;
    pointer-events:auto!important;
  }

  .menu a{
    display:block!important;
    padding:14px 16px!important;
    border-radius:14px!important;
    font-size:14px!important;
    line-height:1.1!important;
  }

  .hero{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    padding:38px 18px 46px!important;
    gap:26px!important;
  }

  h1{
    font-size:38px!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
    margin-bottom:18px!important;
  }

  h2{
    font-size:34px!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }

  .hero p,
  .intro p,
  .title p,
  .tech-list p,
  .cards p,
  .inim p,
  .inim li,
  .contact p{
    font-size:16px!important;
    line-height:1.58!important;
  }

  .actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .btn{
    width:100%!important;
    text-align:center!important;
    padding:14px 16px!important;
  }

  .hero-showcase{
    padding:18px!important;
    border-radius:24px!important;
  }

  .showcase-main{
    min-height:210px!important;
    border-radius:20px!important;
    padding:24px!important;
  }

  .showcase-main strong{
    font-size:28px!important;
    line-height:1.05!important;
  }

  .showcase-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .showcase-grid div{
    padding:16px!important;
    border-radius:16px!important;
  }

  .showcase-grid b{
    font-size:16px!important;
  }

  .showcase-grid span{
    font-size:13px!important;
    line-height:1.42!important;
  }

  .intro,
  .section,
  .inim,
  .contact,
  .realizzazioni{
    padding:52px 18px!important;
  }

  .cards,
  .tech-list,
  .steps,
  .-professional-grid,
  .works-grid{
    grid-template-columns:1fr!important;
  }

  .cards article,
  .tech-list div,
  .steps div,
  .-professional-grid article{
    padding:22px!important;
    border-radius:22px!important;
  }

  .work-card,
  .work-card img{
    min-height:300px!important;
    border-radius:22px!important;
  }

  .domotica-gallery{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  .domotica-gallery img{
    height:150px!important;
    border-radius:16px!important;
  }

  .inim{
    grid-template-columns:1fr!important;
  }

  .inim-logos img{
    max-height:135px!important;
  }

  form{
    padding:22px!important;
    border-radius:22px!important;
  }
}

/* Smartphone piccoli */
@media(max-width:520px){

  .logo img{
    height:74px!important;
    max-width:205px!important;
  }

  .header{
    padding:7px 12px!important;
  }

  .top-actions{
    gap:6px!important;
  }

  .quick-action{
    min-height:40px!important;
    padding:7px 5px!important;
  }

  .quick-action svg{
    width:20px!important;
    height:20px!important;
  }

  .quick-action small{
    display:none!important;
  }

  .quick-action b{
    font-size:10px!important;
    max-width:74px!important;
  }

  .email-action b{
    max-width:68px!important;
  }

  .menu{
    top:114px!important;
  }

  h1{
    font-size:34px!important;
  }

  h2{
    font-size:30px!important;
  }

  .hero{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .intro,
  .section,
  .inim,
  .contact,
  .realizzazioni{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* SOLO LOGO +25% */
.logo img{
  height:206px!important; /* circa +25% da 165 */
  max-width:425px!important;
  width:auto!important;
}
@media(max-width:980px){
  .logo img{
    height:160px!important;
    max-width:375px!important;
  }
}
@media(max-width:860px){
  .logo img{
    height:103px!important; /* +25% da 82 */
    max-width:275px!important;
  }
}
@media(max-width:520px){
  .logo img{
    height:93px!important; /* +25% da 74 */
    max-width:256px!important;
  }
}


/* =========================================================
   SOLO SMARTPHONE - FIX BARRA ALTA CONTATTI
   Modifica esclusivamente telefono, email e WhatsApp in header.
   Desktop invariato.
========================================================= */
@media(max-width:640px){

  .header{
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:8px!important;
    padding:8px 12px 10px!important;
  }

  .top-actions{
    grid-column:1 / -1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:7px!important;
    margin-top:2px!important;
  }

  .quick-action{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    padding:6px 5px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
  }

  .quick-action svg{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    flex:0 0 20px!important;
  }

  .quick-action span{
    display:block!important;
    min-width:0!important;
    text-align:left!important;
    line-height:1!important;
  }

  .quick-action small{
    display:none!important;
  }

  .quick-action b{
    display:block!important;
    font-size:10px!important;
    line-height:1!important;
    max-width:64px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .phone-action b{
    max-width:70px!important;
  }

  .email-action b{
    max-width:54px!important;
  }

  .whatsapp-action{
    background:linear-gradient(135deg,#25D366,#128C4A)!important;
  }

  .whatsapp-action b{
    max-width:70px!important;
  }
}

/* Smartphone molto piccoli */
@media(max-width:390px){
  .top-actions{
    gap:5px!important;
  }

  .quick-action{
    height:41px!important;
    min-height:41px!important;
    border-radius:12px!important;
    gap:4px!important;
  }

  .quick-action svg{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    flex-basis:18px!important;
  }

  .quick-action b{
    font-size:9px!important;
    max-width:58px!important;
  }

  .email-action b{
    max-width:46px!important;
  }
}


/* =========================================================
   SOLO SMARTPHONE - LOGO CENTRALE + TASTI HEADER PICCOLI
   Desktop invariato.
========================================================= */
@media(max-width:640px){

  .header{
    display:grid!important;
    grid-template-columns:44px 1fr 44px!important;
    align-items:center!important;
    justify-items:center!important;
    gap:6px!important;
    padding:6px 10px 8px!important;
  }

  .logo{
    grid-column:2!important;
    justify-content:center!important;
    text-align:center!important;
    width:100%!important;
  }

  .logo img{
    height:82px!important;
    max-width:220px!important;
    margin:0 auto!important;
    display:block!important;
  }

  .menu-toggle{
    grid-column:3!important;
    grid-row:1!important;
    width:38px!important;
    height:38px!important;
    border-radius:12px!important;
    justify-self:end!important;
  }

  .top-actions{
    grid-column:1 / -1!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:6px!important;
    margin-top:0!important;
  }

  .quick-action{
    width:auto!important;
    min-width:auto!important;
    height:31px!important;
    min-height:31px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    gap:4px!important;
    box-shadow:0 5px 12px rgba(15,23,42,.12)!important;
  }

  .quick-action svg{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    flex:0 0 15px!important;
  }

  .quick-action span{
    display:block!important;
    line-height:1!important;
  }

  .quick-action small{
    display:none!important;
  }

  .quick-action b{
    font-size:9px!important;
    line-height:1!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }

  .phone-action b{
    max-width:none!important;
  }

  .email-action b{
    max-width:none!important;
  }

  .whatsapp-action b{
    max-width:none!important;
  }

  .menu{
    top:108px!important;
  }
}

@media(max-width:390px){

  .header{
    grid-template-columns:36px 1fr 36px!important;
    padding:5px 8px 7px!important;
  }

  .logo img{
    height:76px!important;
    max-width:205px!important;
  }

  .menu-toggle{
    width:34px!important;
    height:34px!important;
  }

  .top-actions{
    gap:4px!important;
  }

  .quick-action{
    height:28px!important;
    min-height:28px!important;
    padding:4px 6px!important;
    gap:3px!important;
  }

  .quick-action svg{
    width:13px!important;
    height:13px!important;
    min-width:13px!important;
    flex-basis:13px!important;
  }

  .quick-action b{
    font-size:8px!important;
  }

  .menu{
    top:98px!important;
  }
}

/* =========================================================
   ELETTROZETA - Sfondi sezioni con sfumature blu
   Mantiene layout, struttura e colori aziendali.
========================================================= */
:root{
  --blue-50:#f4f8ff;
  --blue-75:#eef5ff;
  --blue-100:#eaf2ff;
  --blue-150:#dfeaff;
  --blue-200:#d4e4ff;
  --blue-900:#061a42;
  --blue-950:#071226;
}

.hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(6,27,255,.18), transparent 30%),
    linear-gradient(135deg,#f9fbff 0%,#edf4ff 48%,#dfeaff 100%)!important;
}

#chi-siamo.section{
  background:linear-gradient(135deg,#ffffff 0%,#f1f6ff 52%,#e5efff 100%)!important;
}

#servizi.section{
  background:linear-gradient(135deg,#eef5ff 0%,#dfeaff 50%,#f8fbff 100%)!important;
}

#tecnica.section{
  background:linear-gradient(135deg,#e6f0ff 0%,#f7fbff 48%,#d7e6ff 100%)!important;
}

#realizzazioni.realizzazioni{
  background:linear-gradient(135deg,#f8fbff 0%,#eaf2ff 48%,#d8e7ff 100%)!important;
}

#domotica.domotica-premium,
#domotica.realizzazioni{
  background:linear-gradient(135deg,#eaf2ff 0%,#f6f9ff 45%,#dbe9ff 100%)!important;
}

#inim.inim{
  background:
    radial-gradient(circle at 78% 20%,rgba(143,179,255,.22),transparent 30%),
    linear-gradient(135deg,#071226 0%,#0d2b68 48%,#123d91 100%)!important;
}

#metodo.section{
  background:linear-gradient(135deg,#f5f9ff 0%,#e2edff 55%,#f8fbff 100%)!important;
}

#contatti.contact{
  background:
    radial-gradient(circle at 15% 12%,rgba(6,27,255,.14),transparent 26%),
    linear-gradient(135deg,#e8f1ff 0%,#f7fbff 46%,#d9e8ff 100%)!important;
}

/* Leggera armonizzazione dei riquadri sopra gli sfondi blu */
.cards article,
.tech-list div,
.steps div,
.-professional-grid article,
form,
.contact-links a,
.hero-showcase{
  background:rgba(255,255,255,.94)!important;
  border-color:rgba(180,199,232,.75)!important;
}

.showcase-grid div,
.work-card{
  background:rgba(244,248,255,.95)!important;
}

/* =========================================================
   FIX IMPAGINAZIONE FINALE - 27/04/2026
   Ridimensiona logo, header, testi e mobile mantenendo sfumature blu.
========================================================= */
html, body{max-width:100%;overflow-x:hidden!important}
.header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:10px 5vw!important;
}
.logo img{
  height:96px!important;
  max-width:230px!important;
  width:auto!important;
}
.menu{font-size:13px!important;gap:16px!important;align-items:center!important}
.top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:nowrap!important}
.quick-action{height:auto!important;min-height:42px!important;padding:9px 12px!important;border-radius:999px!important;font-size:13px!important;gap:7px!important;width:auto!important}
.quick-action svg{width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px!important}
.quick-action small{font-size:8px!important;display:block!important}
.quick-action b{font-size:11px!important;line-height:1.05!important;white-space:nowrap!important;max-width:130px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.hero{min-height:auto!important;padding:58px 6vw!important;gap:42px!important}
h1{font-size:clamp(38px,5vw,66px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
h2{font-size:clamp(30px,4vw,50px)!important;line-height:1.04!important;letter-spacing:-.04em!important}
.hero p,.intro p,.title p,.tech-list p,.cards p,.inim p,.inim li,.contact p{font-size:16px!important;line-height:1.62!important}
.intro,.section,.inim,.contact,.realizzazioni{padding:70px 6vw!important}
.cards article,.tech-list div,.steps div,.-professional-grid article{padding:24px!important}
.work-card,.work-card img{min-height:330px!important}

@media(max-width:1180px){
  .header{padding:9px 24px!important;gap:12px!important}
  .logo img{height:78px!important;max-width:205px!important}
  .menu{gap:10px!important;font-size:11px!important}
  .quick-action{padding:8px 9px!important;min-height:38px!important}
  .quick-action b{font-size:10px!important;max-width:92px!important}
}

@media(max-width:860px){
  .header{
    display:grid!important;
    grid-template-columns:44px 1fr 44px!important;
    align-items:center!important;
    justify-items:center!important;
    padding:7px 12px 8px!important;
    gap:6px!important;
  }
  .logo{grid-column:2!important;justify-content:center!important;width:100%!important;text-align:center!important}
  .logo img{height:68px!important;max-width:190px!important;margin:0 auto!important;display:block!important}
  .menu-toggle{display:flex!important;grid-column:3!important;grid-row:1!important;width:38px!important;height:38px!important;border-radius:12px!important;justify-self:end!important}
  .top-actions{grid-column:1 / -1!important;width:100%!important;display:flex!important;justify-content:center!important;gap:5px!important;flex-wrap:nowrap!important;margin-top:0!important}
  .quick-action{min-height:30px!important;height:30px!important;padding:4px 7px!important;border-radius:999px!important;gap:4px!important;width:auto!important;min-width:0!important}
  .quick-action svg{width:14px!important;height:14px!important;min-width:14px!important;flex-basis:14px!important}
  .quick-action span{display:block!important;line-height:1!important;min-width:0!important}
  .quick-action small{display:none!important}
  .quick-action b{font-size:8.5px!important;line-height:1!important;max-width:72px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .menu{position:fixed!important;left:12px!important;right:12px!important;top:98px!important;display:grid!important;grid-template-columns:1fr!important;gap:3px!important;padding:12px!important;border-radius:18px!important;z-index:9999!important;opacity:0!important;pointer-events:none!important;transform:translateY(-8px)!important;background:rgba(255,255,255,.98)!important;box-shadow:0 18px 50px rgba(15,23,42,.2)!important}
  body.menu-open .menu,.menu-open .menu{opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}
  .menu a{font-size:13px!important;padding:12px 14px!important;border-radius:12px!important}
  .hero{grid-template-columns:1fr!important;padding:34px 16px 42px!important;gap:22px!important}
  h1{font-size:32px!important;line-height:1.08!important;margin-bottom:14px!important}
  h2{font-size:28px!important;line-height:1.1!important}
  .hero p,.intro p,.title p,.tech-list p,.cards p,.inim p,.inim li,.contact p{font-size:15px!important;line-height:1.55!important}
  .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .btn{width:100%!important;text-align:center!important;padding:13px 14px!important}
  .hero-showcase{padding:16px!important;border-radius:22px!important}
  .showcase-main{min-height:185px!important;border-radius:18px!important;padding:20px!important}
  .showcase-main strong{font-size:24px!important;line-height:1.05!important}
  .showcase-grid{grid-template-columns:1fr!important;gap:9px!important}
  .intro,.section,.inim,.contact,.realizzazioni{padding:44px 16px!important}
  .cards,.tech-list,.steps,.-professional-grid,.works-grid{grid-template-columns:1fr!important}
  .work-card,.work-card img{min-height:280px!important}
  .domotica-gallery{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .domotica-gallery img{height:145px!important}
}

@media(max-width:390px){
  .header{grid-template-columns:36px 1fr 36px!important;padding:5px 8px 7px!important}
  .logo img{height:60px!important;max-width:170px!important}
  .menu-toggle{width:34px!important;height:34px!important}
  .top-actions{gap:4px!important}
  .quick-action{height:27px!important;min-height:27px!important;padding:3px 5px!important}
  .quick-action svg{width:12px!important;height:12px!important;min-width:12px!important;flex-basis:12px!important}
  .quick-action b{font-size:7.5px!important;max-width:58px!important}
  .menu{top:88px!important}
  h1{font-size:29px!important}
  h2{font-size:25px!important}
}

/* =========================================================
   CORREZIONE LOGO IMPATTO FORTE - SENZA ROMPERE LAYOUT
   Logo più grande e ben posizionato, header proporzionato.
========================================================= */
.header{
  min-height:112px!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  column-gap:22px!important;
  row-gap:8px!important;
  padding:10px 5vw!important;
}
.logo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  line-height:0!important;
  min-width:0!important;
}
.logo img{
  height:128px!important;
  max-width:310px!important;
  width:auto!important;
  object-fit:contain!important;
  display:block!important;
}
.menu{
  justify-content:center!important;
  align-items:center!important;
  min-width:0!important;
}
.top-actions{
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
}

@media(max-width:1180px){
  .header{
    grid-template-columns:auto 1fr!important;
    min-height:auto!important;
    padding:9px 22px!important;
  }
  .logo img{
    height:110px!important;
    max-width:270px!important;
  }
  .menu{
    grid-column:1 / -1!important;
    order:3!important;
    justify-content:center!important;
  }
  .top-actions{
    justify-self:end!important;
  }
}

@media(max-width:860px){
  .header{
    display:grid!important;
    grid-template-columns:42px 1fr 42px!important;
    align-items:center!important;
    justify-items:center!important;
    padding:8px 12px 9px!important;
    gap:6px!important;
  }
  .logo{
    grid-column:2!important;
    grid-row:1!important;
    justify-content:center!important;
    width:100%!important;
  }
  .logo img{
    height:88px!important;
    max-width:235px!important;
    margin:0 auto!important;
  }
  .menu-toggle{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
  }
  .top-actions{
    grid-column:1 / -1!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:6px!important;
    flex-wrap:nowrap!important;
  }
  .quick-action{
    height:31px!important;
    min-height:31px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    width:auto!important;
    min-width:0!important;
  }
  .quick-action svg{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    flex-basis:15px!important;
  }
  .quick-action small{display:none!important;}
  .quick-action b{
    font-size:9px!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .menu{top:112px!important;}
  .hero{padding-top:36px!important;}
}

@media(max-width:390px){
  .header{
    grid-template-columns:36px 1fr 36px!important;
    padding:6px 8px 8px!important;
  }
  .logo img{
    height:78px!important;
    max-width:210px!important;
  }
  .quick-action{
    height:28px!important;
    min-height:28px!important;
    padding:4px 6px!important;
  }
  .quick-action svg{
    width:13px!important;
    height:13px!important;
    min-width:13px!important;
  }
  .quick-action b{font-size:8px!important;}
  .menu{top:100px!important;}
}

/* refined logo sizing */
header img, .logo img, img.logo{
height:auto;
max-width:220px;
width:auto;
display:block;
}
@media (max-width:768px){
header img, .logo img, img.logo{
max-width:170px;
}
}

/* targeted header logo */
header .logo,
.header-logo,
.navbar-brand,
.site-logo{
display:flex;
align-items:center;
justify-content:center;
}
header .logo img,
.header-logo img,
.navbar-brand img,
.site-logo img{
max-width:280px !important;
width:280px !important;
height:auto !important;
display:block;
margin:0 auto;
}
@media (max-width:768px){
header .logo img,
.header-logo img,
.navbar-brand img,
.site-logo img{
max-width:220px !important;
width:220px !important;
}
}

/* INIM section images improved */
.inim-images, .alarm-images, .brand-images{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
align-items:center;
justify-items:center;
margin-top:20px;
}
.inim-images img, .alarm-images img, .brand-images img{
width:100%;
max-width:260px;
height:180px;
object-fit:contain;
background:#fff;
padding:12px;
border-radius:14px;
box-shadow:0 8px 18px rgba(0,0,0,.08);
}
@media (max-width:768px){
.inim-images, .alarm-images, .brand-images{
grid-template-columns:1fr;
gap:14px;
}
.inim-images img, .alarm-images img, .brand-images img{
max-width:240px;
height:auto;
}
}

/* Sicurezza Professionale section images */
.security-images, .sicurezza-images, .professional-security, .gallery-3{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
justify-items:center;
align-items:stretch;
margin-top:24px;
}
.security-images img, .sicurezza-images img, .professional-security img, .gallery-3 img{
width:100%;
max-width:280px;
height:190px;
object-fit:cover;
border-radius:16px;
box-shadow:0 8px 18px rgba(0,0,0,.10);
display:block;
}
@media(max-width:768px){
.security-images, .sicurezza-images, .professional-security, .gallery-3{
grid-template-columns:1fr;
gap:16px;
}
.security-images img, .sicurezza-images img, .professional-security img, .gallery-3 img{
max-width:240px;
height:auto;
}
}


/* FIX REALE - sezione Sicurezza Professionale / INIM: 3 immagini allineate */
#inim.inim{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important;
  align-items:stretch !important;
}
#inim.inim > div:first-child{
  grid-column:1 / -1 !important;
  max-width:980px !important;
  margin:0 auto 8px auto !important;
  text-align:center !important;
}
#inim .inim-logos{
  grid-column:1 / span 2 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:26px !important;
  align-items:stretch !important;
  margin:0 !important;
}
#inim .inim-extra{
  grid-column:3 / 4 !important;
  margin:0 !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
}
#inim .inim-logos img,
#inim .inim-extra img{
  width:100% !important;
  height:230px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  display:block !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border-radius:22px !important;
  padding:20px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.18) !important;
}
@media(max-width:900px){
  #inim.inim{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  #inim.inim > div:first-child,
  #inim .inim-logos,
  #inim .inim-extra{
    grid-column:1 / -1 !important;
  }
  #inim .inim-logos{
    grid-template-columns:1fr !important;
  }
  #inim .inim-logos img,
  #inim .inim-extra img{
    width:100% !important;
    max-width:360px !important;
    height:190px !important;
    margin:0 auto !important;
  }
}


/* SOLO SFUMATURA DIETRO AL LOGO */
header .logo,
.header-logo,
.navbar-brand,
.site-logo{
  position:relative !important;
  padding:14px 22px !important;
  border-radius:28px !important;
  background:radial-gradient(circle at center, rgba(255,255,255,.24) 0%, rgba(33,122,194,.18) 45%, rgba(5,25,55,0) 74%) !important;
}
header .logo::before,
.header-logo::before,
.navbar-brand::before,
.site-logo::before{
  content:"" !important;
  position:absolute !important;
  inset:-10px !important;
  z-index:-1 !important;
  border-radius:34px !important;
  background:linear-gradient(135deg,rgba(12,73,145,.45),rgba(255,255,255,.18),rgba(4,25,58,.28)) !important;
  filter:blur(12px) !important;
}
header .logo img,
.header-logo img,
.navbar-brand img,
.site-logo img{
  position:relative !important;
  z-index:2 !important;
}
@media(max-width:768px){
 header .logo,.header-logo,.navbar-brand,.site-logo{
   padding:10px 14px !important;
   border-radius:22px !important;
 }
}


/* Sicurezza Professionale a 4 immagini */
#inim .inim-logos{
 display:grid !important;
 grid-template-columns:repeat(2,1fr) !important;
 gap:22px !important;
}
#inim .inim-extra{
 margin-top:22px !important;
 display:flex !important;
 justify-content:center !important;
}
#inim .inim-extra img,
#inim .inim-logos img{
 width:100% !important;
 max-width:260px !important;
 height:210px !important;
 object-fit:contain !important;
 background:#fff !important;
 border-radius:18px !important;
 padding:16px !important;
 box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
}
@media(max-width:768px){
 #inim .inim-extra img,
 #inim .inim-logos img{
   max-width:230px !important;
   height:auto !important;
 }
}


/* FIX DEFINITIVO - sezione Sicurezza Professionale 4 immagini */
#inim{
  width:100% !important;
}

#inim .inim-logos,
#inim .security-grid,
#inim .gallery-4{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
  justify-items:center !important;
  margin-top:28px !important;
}

#inim .inim-logos img,
#inim .security-grid img,
#inim .gallery-4 img,
#inim .inim-extra img{
  width:100% !important;
  max-width:250px !important;
  height:220px !important;
  object-fit:contain !important;
  display:block !important;
  background:#ffffff !important;
  border-radius:18px !important;
  padding:16px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.12) !important;
}

#inim .inim-extra{
  display:contents !important;
}

@media(max-width:992px){
  #inim .inim-logos,
  #inim .security-grid,
  #inim .gallery-4{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:768px){
  #inim .inim-logos,
  #inim .security-grid,
  #inim .gallery-4{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  #inim .inim-logos img,
  #inim .security-grid img,
  #inim .gallery-4 img,
  #inim .inim-extra img{
    max-width:260px !important;
    height:auto !important;
    margin:0 auto !important;
  }
}


/* FIX DEFINITIVO SEZIONE INIM */
#inim{
  width:100% !important;
  padding-top:40px !important;
  padding-bottom:40px !important;
}

#inim .inim-logos,
#inim .inim-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important;
  align-items:stretch !important;
  justify-items:center !important;
  margin-top:28px !important;
}

#inim .inim-logos img,
#inim .inim-grid img,
#inim img{
  width:100% !important;
  max-width:300px !important;
  height:220px !important;
  object-fit:cover !important;
  border-radius:18px !important;
  display:block !important;
  box-shadow:0 10px 28px rgba(0,0,0,.12) !important;
}

#inim .caption,
#inim h3{
  text-align:center !important;
}

@media(max-width:992px){
  #inim .inim-logos,
  #inim .inim-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:768px){
  #inim .inim-logos,
  #inim .inim-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  #inim .inim-logos img,
  #inim .inim-grid img,
  #inim img{
    max-width:260px !important;
    height:auto !important;
    margin:0 auto !important;
  }
}


/* === FIX FINALE REALE SEZIONE INIM === */
#inim {
  display: block !important;
  padding: 70px 5vw !important;
}

#inim .inim-logos,
#inim .inim-gallery,
#inim .inim-grid {
  max-width: 1180px !important;
  margin: 32px auto 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}

#inim .inim-extra {
  display: contents !important;
}

#inim .inim-logos img,
#inim .inim-gallery img,
#inim .inim-grid img,
#inim .inim-extra img {
  width: 100% !important;
  height: 255px !important;
  max-width: none !important;
  object-fit: contain !important;
  display: block !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  box-shadow: 0 18px 45px rgba(7,25,60,.14) !important;
}

#inim > div:first-child {
  max-width: 1050px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

@media (max-width: 1050px) {
  #inim .inim-logos,
  #inim .inim-gallery,
  #inim .inim-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  #inim {
    padding: 50px 16px !important;
  }

  #inim .inim-logos,
  #inim .inim-gallery,
  #inim .inim-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  #inim .inim-logos img,
  #inim .inim-gallery img,
  #inim .inim-grid img,
  #inim .inim-extra img {
    height: 230px !important;
  }
}



/* RIORDINO DEFINITIVO 4 IMMAGINI SEZIONE INIM */
#inim{
  display:block !important;
}
#inim .inim-logos,
#inim .inim-gallery,
#inim .inim-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:22px !important;
  max-width:1180px !important;
  margin:28px auto 0 auto !important;
  justify-items:center !important;
  align-items:start !important;
}
#inim .inim-extra{
  display:contents !important;
}
#inim img{
  width:100% !important;
  max-width:250px !important;
  height:220px !important;
  object-fit:contain !important;
  background:#fff !important;
  border-radius:18px !important;
  padding:16px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.12) !important;
}
@media(max-width:1024px){
 #inim .inim-logos,
 #inim .inim-gallery,
 #inim .inim-grid{
   grid-template-columns:repeat(2,1fr) !important;
 }
}
@media(max-width:640px){
 #inim .inim-logos,
 #inim .inim-gallery,
 #inim .inim-grid{
   grid-template-columns:1fr !important;
   gap:16px !important;
 }
 #inim img{
   max-width:260px !important;
   height:auto !important;
 }
}



/* === CORREZIONE SULLO ZIP ALLEGATO - INIM COME DOMOTICA === */
#inim {
  display: block !important;
  padding: 78px 6vw !important;
}

#inim > div:first-child {
  max-width: 1080px !important;
  margin: 0 auto 34px auto !important;
  text-align: center !important;
}

#inim .inim-domotica-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 34px auto 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}

#inim .inim-domotica-card {
  width: 100% !important;
  min-height: 270px !important;
  background: #ffffff !important;
  border-radius: 24px !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  box-shadow: 0 18px 45px rgba(7, 25, 60, .16) !important;
}

#inim .inim-domotica-card img {
  width: 100% !important;
  height: 230px !important;
  max-width: 100% !important;
  max-height: 230px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 1050px) {
  #inim .inim-domotica-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 760px !important;
  }
}

@media (max-width: 640px) {
  #inim {
    padding: 52px 16px !important;
  }

  #inim .inim-domotica-grid {
    grid-template-columns: 1fr !important;
    max-width: 340px !important;
    gap: 16px !important;
  }

  #inim .inim-domotica-card {
    min-height: 230px !important;
  }

  #inim .inim-domotica-card img {
    height: 195px !important;
    max-height: 195px !important;
  }
}



/* === INIM FULL WIDTH: 4 immagini su tutta larghezza sezione === */
#inim{
  padding:78px 2vw !important;
}

#inim .inim-domotica-grid{
  width:100% !important;
  max-width:none !important;
  margin:34px auto 0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:18px !important;
  align-items:stretch !important;
}

#inim .inim-domotica-card{
  min-height:280px !important;
  padding:14px !important;
  border-radius:22px !important;
}

#inim .inim-domotica-card img{
  width:100% !important;
  height:245px !important;
  max-height:245px !important;
  object-fit:contain !important;
}

@media(max-width:1050px){
  #inim .inim-domotica-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:18px !important;
  }
}

@media(max-width:640px){
  #inim{
    padding:52px 14px !important;
  }
  #inim .inim-domotica-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  #inim .inim-domotica-card{
    min-height:230px !important;
  }
  #inim .inim-domotica-card img{
    height:195px !important;
    max-height:195px !important;
  }
}



/* === NUOVA SOLUZIONE SOLO SEZIONE SICUREZZA PROFESSIONALE / INIM === */
#inim.sicurezza-professionale-v2{
  padding:88px 5vw !important;
  background:
    radial-gradient(circle at 15% 10%, rgba(38,132,255,.28), transparent 34%),
    linear-gradient(135deg,#06172f 0%,#0a2b5e 48%,#0e559a 100%) !important;
  color:#ffffff !important;
  overflow:hidden !important;
}

#inim.sicurezza-professionale-v2 .spv2-intro{
  max-width:980px !important;
  margin:0 auto 40px auto !important;
  text-align:center !important;
}

#inim.sicurezza-professionale-v2 .label{
  display:inline-block !important;
  color:#9fd0ff !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin-bottom:12px !important;
}

#inim.sicurezza-professionale-v2 h2{
  color:#ffffff !important;
  font-size:clamp(32px,4.4vw,54px) !important;
  line-height:1.05 !important;
  margin:0 0 18px 0 !important;
  letter-spacing:-.035em !important;
}

#inim.sicurezza-professionale-v2 .spv2-intro p{
  color:rgba(255,255,255,.86) !important;
  font-size:18px !important;
  line-height:1.65 !important;
  margin:0 auto !important;
  max-width:850px !important;
}

#inim .spv2-layout{
  max-width:1220px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1.22fr .78fr !important;
  gap:28px !important;
  align-items:stretch !important;
}

#inim .spv2-feature,
#inim .spv2-card{
  position:relative !important;
  overflow:hidden !important;
  background:#ffffff !important;
  border-radius:30px !important;
  box-shadow:0 26px 70px rgba(0,0,0,.28) !important;
}

#inim .spv2-feature img{
  width:100% !important;
  height:560px !important;
  object-fit:contain !important;
  background:#ffffff !important;
  display:block !important;
  padding:22px !important;
  box-sizing:border-box !important;
}

#inim .spv2-feature-caption{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:34px 34px 28px 34px !important;
  background:linear-gradient(180deg,rgba(3,17,38,0) 0%,rgba(3,17,38,.82) 42%,rgba(3,17,38,.98) 100%) !important;
}

#inim .spv2-feature-caption h3{
  color:#ffffff !important;
  font-size:28px !important;
  margin:0 0 8px 0 !important;
}

#inim .spv2-feature-caption p{
  color:rgba(255,255,255,.86) !important;
  margin:0 !important;
  font-size:16px !important;
}

#inim .spv2-side{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:20px !important;
}

#inim .spv2-card{
  min-height:173px !important;
  display:grid !important;
  grid-template-columns:170px 1fr !important;
  align-items:center !important;
  padding:14px !important;
  gap:16px !important;
}

#inim .spv2-card img{
  width:170px !important;
  height:145px !important;
  object-fit:contain !important;
  background:#f5f8ff !important;
  border-radius:20px !important;
  padding:10px !important;
  box-sizing:border-box !important;
  display:block !important;
}

#inim .spv2-card h3{
  color:#08214a !important;
  font-size:21px !important;
  margin:0 !important;
  line-height:1.15 !important;
}

#inim .spv2-points{
  max-width:1220px !important;
  margin:28px auto 0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}

#inim .spv2-point{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:20px !important;
  padding:18px !important;
  display:flex !important;
  gap:12px !important;
  align-items:flex-start !important;
  backdrop-filter:blur(8px) !important;
}

#inim .spv2-point b{
  color:#8ed1ff !important;
  font-size:20px !important;
}

#inim .spv2-point span{
  color:#ffffff !important;
  font-weight:650 !important;
  line-height:1.35 !important;
}

@media(max-width:1050px){
  #inim .spv2-layout{
    grid-template-columns:1fr !important;
  }
  #inim .spv2-feature img{
    height:430px !important;
  }
  #inim .spv2-side{
    grid-template-columns:repeat(3,1fr) !important;
  }
  #inim .spv2-card{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }
  #inim .spv2-card img{
    width:100% !important;
    height:180px !important;
  }
  #inim .spv2-points{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:680px){
  #inim.sicurezza-professionale-v2{
    padding:58px 16px !important;
  }
  #inim .spv2-feature img{
    height:300px !important;
  }
  #inim .spv2-side,
  #inim .spv2-points{
    grid-template-columns:1fr !important;
  }
  #inim .spv2-card img{
    height:210px !important;
  }
  #inim .spv2-feature,
  #inim .spv2-card{
    border-radius:22px !important;
  }
  #inim .spv2-feature-caption{
    padding:48px 20px 20px 20px !important;
  }
  #inim .spv2-feature-caption h3{
    font-size:22px !important;
  }
}


/* === SEZIONE INIM PREMIUM - aggiornata realmente === */
.inim-premium-section{padding:95px 20px;background:radial-gradient(circle at top left,rgba(0,93,255,.28),transparent 34%),linear-gradient(135deg,#061120 0%,#0b1d35 48%,#102b4c 100%);color:#fff;position:relative;overflow:hidden}
.inim-container{max-width:1220px;margin:0 auto}
.inim-header{text-align:center;max-width:900px;margin:0 auto 52px}
.inim-header h2{font-size:clamp(34px,4.5vw,58px);line-height:1.05;margin:14px 0 18px;font-weight:900;letter-spacing:-.04em}
.inim-header p{font-size:18px;line-height:1.75;color:#d9e7f7;margin:0}
.inim-premium-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px;align-items:stretch}
.inim-premium-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:28px;overflow:hidden;box-shadow:0 26px 65px rgba(0,0,0,.32);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.inim-premium-card:hover{transform:translateY(-7px);box-shadow:0 36px 85px rgba(0,0,0,.46);border-color:rgba(75,190,255,.5)}
.inim-premium-card.big{grid-row:span 2}
.inim-premium-card.wide{grid-column:span 2}
.inim-premium-card img{width:100%;height:230px;object-fit:cover;display:block;background:#fff}
.inim-premium-card.big img{height:465px}
.inim-premium-card.wide img{height:260px}
.inim-card-body{padding:24px}
.inim-card-body span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:14px;background:#0b7cff;color:#fff;font-weight:900;margin-bottom:16px}
.inim-card-body h3{font-size:23px;line-height:1.18;margin:0 0 12px;color:#fff}
.inim-card-body p{font-size:16px;line-height:1.65;color:#dceafb;margin:0}
.inim-cta-box{margin-top:26px;padding:30px;border-radius:28px;background:linear-gradient(135deg,rgba(0,124,255,.24),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:space-between;gap:24px}
.inim-cta-box h3{margin:0 0 8px;font-size:25px}.inim-cta-box p{margin:0;color:#dbe8f8;line-height:1.6}
.inim-cta-box a{display:inline-flex;white-space:nowrap;padding:15px 22px;border-radius:999px;background:#fff;color:#071a30;font-weight:900;text-decoration:none}
@media(max-width:1024px){.inim-premium-grid{grid-template-columns:1fr 1fr}.inim-premium-card.big,.inim-premium-card.wide{grid-column:span 2;grid-row:auto}.inim-premium-card.big img,.inim-premium-card.wide img{height:320px}.inim-cta-box{flex-direction:column;text-align:center}}
@media(max-width:640px){.inim-premium-section{padding:64px 16px}.inim-header{text-align:left;margin-bottom:30px}.inim-premium-grid{grid-template-columns:1fr}.inim-premium-card.big,.inim-premium-card.wide{grid-column:auto}.inim-premium-card img,.inim-premium-card.big img,.inim-premium-card.wide img{height:235px}.inim-card-body{padding:22px}.inim-cta-box{padding:22px;align-items:flex-start;text-align:left}.inim-cta-box a{width:100%;justify-content:center}}

/* =========================================================
   ELETTROZETA - MOBILE PERFETTO V3
   Intervento finale solo per smartphone: header compatto,
   logo centrato, pulsanti piccoli, sezioni leggibili e zero overflow.
========================================================= */
html{scroll-behavior:smooth;overflow-x:hidden}
*,*:before,*:after{box-sizing:border-box}
img,video,iframe{max-width:100%;height:auto}
@media(max-width:768px){
  body{overflow-x:hidden!important;-webkit-text-size-adjust:100%}
  .header{
    position:sticky!important;top:0!important;z-index:10000!important;
    display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;
    align-items:center!important;justify-items:center!important;
    padding:6px 10px 8px!important;gap:6px!important;
    background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px)!important;
    border-bottom:1px solid rgba(219,227,241,.9)!important;
  }
  .logo{grid-column:2!important;width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;min-width:0!important}
  .logo img{height:68px!important;max-width:190px!important;width:auto!important;display:block!important;margin:0 auto!important;object-fit:contain!important}
  .menu-toggle{grid-column:3!important;grid-row:1!important;width:40px!important;height:40px!important;border-radius:12px!important;padding:0!important;display:flex!important;background:#fff!important}
  .top-actions{grid-column:1/-1!important;width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:2px 0 0!important;align-items:stretch!important}
  .quick-action{width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:5px 4px!important;border-radius:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;box-shadow:0 6px 14px rgba(15,23,42,.12)!important;text-decoration:none!important}
  .quick-action svg{width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px!important;animation:none!important}
  .quick-action span{display:block!important;min-width:0!important;line-height:1!important;text-align:left!important}
  .quick-action small{display:none!important}
  .quick-action b{display:block!important;font-size:9.5px!important;line-height:1!important;max-width:58px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;letter-spacing:0!important}
  .phone-action b{max-width:68px!important}.email-action b{max-width:52px!important}.whatsapp-action b{max-width:60px!important}
  .menu{position:fixed!important;left:10px!important;right:10px!important;top:114px!important;z-index:10001!important;display:grid!important;grid-template-columns:1fr!important;gap:4px!important;padding:12px!important;border-radius:20px!important;background:#fff!important;border:1px solid #e3e9f5!important;box-shadow:0 24px 70px rgba(15,23,42,.24)!important;opacity:0!important;transform:translateY(-8px)!important;pointer-events:none!important;max-height:calc(100vh - 130px)!important;overflow:auto!important}
  body.menu-open .menu{opacity:1!important;transform:translateY(0)!important;pointer-events:auto!important}
  .menu a{display:block!important;padding:13px 14px!important;border-radius:14px!important;font-size:14px!important;line-height:1.1!important;text-align:left!important;color:#071226!important}
  .menu a:hover{background:#f4f7ff!important;color:#061bff!important}
  main{width:100%!important;overflow:hidden!important}
  .hero{display:grid!important;grid-template-columns:1fr!important;gap:24px!important;min-height:auto!important;padding:34px 16px 44px!important}
  .hero-copy,.hero-showcase,.title{min-width:0!important;max-width:100%!important}
  h1{font-size:32px!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:0 0 16px!important}
  h2{font-size:28px!important;line-height:1.12!important;letter-spacing:-.03em!important;margin-bottom:14px!important}
  h3{line-height:1.2!important}
  p,.cards p,.title p,.hero p,.tech-list p,.inim p,.contact p{font-size:15.5px!important;line-height:1.6!important}
  .label{font-size:11px!important;line-height:1.35!important;letter-spacing:.14em!important}
  .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .btn,.actions .btn{width:100%!important;text-align:center!important;padding:14px 16px!important;border-radius:14px!important;font-size:15px!important}
  .hero-showcase{padding:16px!important;border-radius:22px!important}.showcase-main{min-height:170px!important;border-radius:18px!important;padding:20px!important}.showcase-main strong{font-size:25px!important;line-height:1.08!important}.showcase-grid{grid-template-columns:1fr!important;gap:10px!important}.showcase-grid div{padding:15px!important;border-radius:15px!important}.showcase-grid b{font-size:15.5px!important}.showcase-grid span{font-size:13px!important;line-height:1.45!important}
  .intro,.section,.inim,.contact,.realizzazioni,.inim-premium-section{padding:48px 16px!important;display:block!important}
  .cards,.tech-list,.steps,.-professional-grid,.works-grid,.inim-premium-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .cards article,.tech-list div,.steps div,.-professional-grid article,.inim-premium-card{padding:20px!important;border-radius:20px!important;min-width:0!important}
  .cards span{font-size:30px!important}.cards h3,.tech-list h3,.steps h3,.-professional-grid h3{font-size:20px!important;margin:10px 0 8px!important}
  .filters{display:flex!important;gap:8px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:8px!important;margin-bottom:18px!important;-webkit-overflow-scrolling:touch!important}.filter{flex:0 0 auto!important;padding:10px 13px!important;font-size:13px!important}
  .work-card,.work-card img{min-height:280px!important;border-radius:20px!important}.work-caption{padding:17px!important}.work-caption h3{font-size:18px!important}.work-caption p{font-size:13px!important;line-height:1.4!important}
  .domotica-gallery{grid-template-columns:1fr 1fr!important;gap:10px!important}.domotica-gallery img{height:135px!important;border-radius:15px!important;object-fit:cover!important}
  .inim-premium-section{overflow:hidden!important}.inim-header{text-align:left!important;margin-bottom:26px!important}.inim-premium-card.big,.inim-premium-card.wide{grid-column:auto!important;grid-row:auto!important}.inim-premium-card{padding:0!important;overflow:hidden!important}.inim-premium-card img,.inim-premium-card.big img,.inim-premium-card.wide img{height:220px!important;object-fit:cover!important}.inim-card-body{padding:20px!important}.inim-card-body h3{font-size:20px!important}.inim-card-body p{font-size:14.5px!important}.inim-cta-box{display:block!important;padding:20px!important;border-radius:20px!important;text-align:left!important}.inim-cta-box a{width:100%!important;justify-content:center!important;text-align:center!important;margin-top:16px!important;white-space:normal!important}
  .contact{grid-template-columns:1fr!important}.contact-links{gap:10px!important}.contact-links a{font-size:15px!important;padding:14px!important;border-radius:14px!important;word-break:break-word!important}form{padding:20px!important;border-radius:20px!important;margin-top:22px!important}input,select,textarea{width:100%!important;padding:14px!important;border-radius:13px!important;font-size:16px!important}textarea{min-height:130px!important}form button{width:100%!important;padding:15px!important;border-radius:13px!important}
  footer{padding:22px 14px!important;font-size:13px!important;line-height:1.45!important}
}
@media(max-width:380px){
  .header{grid-template-columns:40px minmax(0,1fr) 40px!important;padding-left:8px!important;padding-right:8px!important}
  .logo img{height:62px!important;max-width:172px!important}.menu-toggle{width:38px!important;height:38px!important}.top-actions{gap:5px!important}.quick-action{height:36px!important;min-height:36px!important}.quick-action svg{width:17px!important;height:17px!important;min-width:17px!important}.quick-action b{font-size:9px!important;max-width:50px!important}.phone-action b{max-width:60px!important}.email-action b{max-width:42px!important}
  h1{font-size:30px!important}h2{font-size:26px!important}.hero,.intro,.section,.inim,.contact,.realizzazioni,.inim-premium-section{padding-left:14px!important;padding-right:14px!important}.domotica-gallery{grid-template-columns:1fr!important}.domotica-gallery img{height:170px!important}
}

/* =========================================================
   ELETTROZETA - LOGO MOBILE PREMIUM CENTRATO
   Intervento solo per smartphone: logo più visibile, centrato,
   header ordinato e contatti rapidi sotto al marchio.
   ========================================================= */
@media (max-width: 640px){
  body{ padding-top:0!important; }

  .header{
    position:sticky!important;
    top:0!important;
    z-index:9999!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:10px 12px 12px!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid rgba(6,27,255,.14)!important;
    box-shadow:0 10px 28px rgba(8,21,70,.10)!important;
    backdrop-filter:blur(16px)!important;
  }

  .header .logo,
  header .logo{
    order:1!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    margin:0 auto!important;
    padding:0!important;
  }

  .header .logo img,
  header .logo img,
  .logo img{
    height:92px!important;
    max-height:92px!important;
    max-width:86vw!important;
    width:auto!important;
    margin:0 auto!important;
    display:block!important;
    object-fit:contain!important;
  }

  .menu-toggle{
    order:2!important;
    position:absolute!important;
    top:18px!important;
    right:14px!important;
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
    background:#061bff!important;
    box-shadow:0 8px 22px rgba(6,27,255,.25)!important;
  }

  .top-actions{
    order:3!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    gap:6px!important;
    margin:2px 0 0!important;
  }

  .quick-action{
    min-height:42px!important;
    padding:7px 5px!important;
    border-radius:13px!important;
    justify-content:center!important;
  }

  .quick-action svg{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
  }

  .quick-action span{
    display:flex!important;
    flex-direction:column!important;
    line-height:1.05!important;
  }

  .quick-action small{
    font-size:9px!important;
    letter-spacing:.01em!important;
  }

  .quick-action b{
    font-size:10px!important;
    white-space:nowrap!important;
  }

  .menu{
    order:4!important;
    width:100%!important;
    text-align:center!important;
  }

  .hero{
    padding-top:34px!important;
  }
}

@media (max-width: 390px){
  .header .logo img,
  header .logo img,
  .logo img{
    height:84px!important;
    max-height:84px!important;
    max-width:82vw!important;
  }

  .quick-action b{font-size:9px!important;}
  .quick-action small{font-size:8px!important;}
}

/* =========================================================
   ELETTROZETA - Pulsanti contatto stile moderno squadrato
   Aggiornamento richiesto: telefono, mail e WhatsApp.
========================================================= */
.top-actions{
  gap:10px!important;
}
.quick-action{
  border-radius:10px!important;
  min-height:46px!important;
  padding:11px 16px!important;
  background:#ffffff!important;
  color:#071226!important;
  border:1px solid rgba(6,27,255,.18)!important;
  box-shadow:0 10px 22px rgba(7,18,38,.10)!important;
  overflow:hidden!important;
  text-transform:none!important;
}
.quick-action:before{
  display:none!important;
}
.quick-action:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 34px rgba(7,18,38,.16)!important;
  border-color:rgba(6,27,255,.35)!important;
}
.quick-action svg{
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  padding:7px!important;
  box-sizing:content-box!important;
  border-radius:8px!important;
  color:#fff!important;
  animation:none!important;
}
.phone-action svg{background:#061bff!important;}
.email-action svg{background:#071226!important;}
.whatsapp-action svg{background:#25D366!important;}
.quick-action small{
  display:block!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
  color:#5f6b7c!important;
  opacity:1!important;
}
.quick-action b{
  font-size:12px!important;
  color:#071226!important;
  font-weight:900!important;
  max-width:145px!important;
}
.phone-action,
.email-action,
.whatsapp-action{
  background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%)!important;
}
.whatsapp-action{
  border-color:rgba(37,211,102,.28)!important;
}
.whatsapp-action:hover{
  border-color:rgba(37,211,102,.55)!important;
}
@media(max-width:860px){
  .top-actions{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:7px!important;
    width:100%!important;
  }
  .quick-action{
    width:100%!important;
    height:auto!important;
    min-height:38px!important;
    padding:7px 8px!important;
    border-radius:9px!important;
    gap:6px!important;
    justify-content:center!important;
  }
  .quick-action svg{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    padding:6px!important;
    border-radius:7px!important;
  }
  .quick-action span{
    display:block!important;
    min-width:0!important;
    text-align:left!important;
  }
  .quick-action small{
    display:none!important;
  }
  .quick-action b{
    font-size:9px!important;
    max-width:72px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}
@media(max-width:390px){
  .top-actions{gap:5px!important;}
  .quick-action{
    min-height:34px!important;
    padding:5px 6px!important;
    border-radius:8px!important;
    gap:4px!important;
  }
  .quick-action svg{
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    padding:5px!important;
  }
  .quick-action b{
    font-size:8px!important;
    max-width:58px!important;
  }
}

/* MOBILE ICON ONLY */
@media screen and (max-width: 768px) {

  .header-buttons a span {
    display: none;
  }

  .header-buttons a {
    width: 38px;
    height: 38px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
  }

  .header-buttons a i {
    font-size: 16px;
    margin: 0;
  }

  .header-buttons {
    display: flex;
    justify-content: center;
    gap: 10px;
  }

}


@media (max-width: 768px) {
  .header-buttons a span { display:none; }
  .header-buttons {
    display:flex;
    justify-content:center;
    gap:10px;
  }
  .header-buttons a {
    width:45px;
    height:45px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
  }
  .header-buttons a i {
    font-size:20px;
  }
}

/* =========================================================
   ELETTROZETA - MOBILE APPLE CLEAN FINAL
   SOLO SMARTPHONE: logo senza sfondo, grande; icone contatti
   senza sfondo, più piccole e ben distanziate.
========================================================= */
@media (max-width:640px){
  html, body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .header{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    min-height:auto!important;
    padding:12px 14px 18px!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(18px)!important;
    border-bottom:1px solid rgba(226,232,240,.9)!important;
    box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
  }

  /* LOGO GRANDE, SOLO LOGO, SENZA SFONDO */
  .header .logo,
  header .logo,
  .logo{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    line-height:0!important;
  }

  .header .logo::before,
  header .logo::before,
  .logo::before{
    display:none!important;
    content:none!important;
  }

  .header .logo img,
  header .logo img,
  .logo img{
    height:94px!important;
    width:auto!important;
    max-width:255px!important;
    object-fit:contain!important;
    margin:0 auto!important;
    display:block!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
  }

  /* HAMBURGER PICCOLO, IN ALTO A DESTRA */
  .menu-toggle{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    width:34px!important;
    height:34px!important;
    border-radius:12px!important;
    display:flex!important;
    background:rgba(246,248,252,.92)!important;
    border:1px solid rgba(219,227,241,.9)!important;
    box-shadow:none!important;
    z-index:1002!important;
  }

  .menu-toggle span{
    width:17px!important;
    height:2px!important;
  }

  /* CONTATTI PIÙ IN BASSO, CENTRATI, SENZA SFONDO */
  .top-actions{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:24px!important;
    margin:30px 0 0!important;
    padding:0!important;
    background:transparent!important;
  }

  .quick-action,
  .phone-action,
  .email-action,
  .whatsapp-action{
    all:unset!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:transform .18s ease, opacity .18s ease!important;
  }

  .quick-action:before{
    display:none!important;
    content:none!important;
  }

  .quick-action span,
  .quick-action small,
  .quick-action b{
    display:none!important;
  }

  .quick-action svg{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    flex:0 0 24px!important;
    animation:none!important;
    filter:none!important;
    opacity:.92!important;
  }

  .quick-action:active{
    transform:scale(.88)!important;
    opacity:.75!important;
  }

  .phone-action svg{color:#061bff!important;fill:#061bff!important;}
  .email-action svg{color:#071226!important;fill:#071226!important;}
  .whatsapp-action svg{color:#25D366!important;fill:#25D366!important;}

  /* MENU MOBILE POSIZIONATO SOTTO HEADER */
  .menu{
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    top:158px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    padding:12px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid #e3e9f5!important;
    box-shadow:0 24px 58px rgba(15,23,42,.18)!important;
    opacity:0!important;
    transform:translateY(-8px)!important;
    pointer-events:none!important;
    z-index:1001!important;
  }

  body.menu-open .menu,
  .menu-open .menu{
    opacity:1!important;
    transform:translateY(0)!important;
    pointer-events:auto!important;
  }

  .menu a{
    display:block!important;
    padding:13px 15px!important;
    border-radius:14px!important;
    font-size:13px!important;
    line-height:1.1!important;
  }

  .hero{
    padding-top:34px!important;
  }
}

@media (max-width:390px){
  .header .logo img,
  header .logo img,
  .logo img{
    height:86px!important;
    max-width:235px!important;
  }

  .top-actions{
    margin-top:26px!important;
    gap:22px!important;
  }

  .quick-action svg{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    flex-basis:22px!important;
  }

  .menu{
    top:146px!important;
  }
}

/* =========================================================
   ELETTROZETA - MOBILE APPLE FINALE
   Solo smartphone: logo grande pulito, contatti con testo,
   animazione touch tipo iPhone. Desktop invariato.
========================================================= */
@media (max-width:640px){

  html, body{
    overflow-x:hidden!important;
  }

  .header{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    width:100%!important;
    padding:12px 14px 16px!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(18px)!important;
    border-bottom:1px solid rgba(219,227,241,.9)!important;
    min-height:auto!important;
  }

  .logo{
    order:1!important;
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    line-height:0!important;
  }

  .logo::before,
  header .logo::before{
    display:none!important;
    content:none!important;
  }

  .logo img,
  header .logo img{
    width:auto!important;
    height:92px!important;
    max-width:260px!important;
    max-height:none!important;
    display:block!important;
    object-fit:contain!important;
    margin:0 auto!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .menu-toggle{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#ffffff!important;
    border:1px solid #e3e9f5!important;
    box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
    z-index:10002!important;
  }

  .top-actions{
    order:2!important;
    width:100%!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:26px!important;
    margin:24px 0 0!important;
    padding:0!important;
    flex-wrap:nowrap!important;
    animation:ezAppleFadeUp .48s ease both!important;
  }

  .quick-action,
  .phone-action,
  .email-action,
  .whatsapp-action{
    all:unset!important;
    width:64px!important;
    min-width:64px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    color:#071226!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
    touch-action:manipulation!important;
  }

  .quick-action svg{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    flex:0 0 25px!important;
    display:block!important;
    fill:currentColor!important;
    animation:none!important;
    transition:transform .18s cubic-bezier(.2,.8,.2,1), opacity .18s ease!important;
    transform-origin:center!important;
    opacity:.95!important;
  }

  .quick-action span,
  .quick-action small,
  .quick-action b{
    display:none!important;
  }

  .quick-action::after{
    display:block!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1.05!important;
    letter-spacing:-.01em!important;
    color:#263244!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .phone-action::after{content:"Chiama"!important;}
  .email-action::after{content:"Email"!important;}
  .whatsapp-action::after{content:"WhatsApp"!important;}

  .phone-action svg{color:#061bff!important;}
  .email-action svg{color:#071226!important;}
  .whatsapp-action svg{color:#25D366!important;}

  .quick-action:active svg{
    transform:scale(.84)!important;
    opacity:1!important;
  }

  .quick-action:active::after{
    transform:scale(.96)!important;
  }

  .menu{
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    top:150px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    padding:14px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid #e3e9f5!important;
    box-shadow:0 24px 60px rgba(15,23,42,.18)!important;
    opacity:0!important;
    transform:translateY(-10px) scale(.98)!important;
    pointer-events:none!important;
    transition:opacity .22s ease, transform .22s ease!important;
    z-index:10001!important;
  }

  body.menu-open .menu,
  .menu-open .menu{
    opacity:1!important;
    transform:translateY(0) scale(1)!important;
    pointer-events:auto!important;
  }

  .menu a{
    display:block!important;
    padding:13px 15px!important;
    border-radius:14px!important;
    font-size:13px!important;
    line-height:1.1!important;
    font-weight:900!important;
  }

  .hero{
    padding-top:34px!important;
  }

  @keyframes ezAppleFadeUp{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
  }
}

@media (max-width:390px){
  .logo img,
  header .logo img{
    height:84px!important;
    max-width:238px!important;
  }

  .top-actions{
    gap:20px!important;
    margin-top:22px!important;
  }

  .quick-action,
  .phone-action,
  .email-action,
  .whatsapp-action{
    width:58px!important;
    min-width:58px!important;
  }

  .quick-action svg{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
  }

  .quick-action::after{
    font-size:10px!important;
  }

  .menu{
    top:140px!important;
  }
}

/* =========================================================
   FINALE - SOLO SMARTPHONE: SOLO ICONE CONTATTI + TOUCH
   Nessun testo, nessuno sfondo sui pulsanti. Desktop invariato.
========================================================= */
@media(max-width:640px){

  .header{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:12px 12px 18px!important;
  }

  .logo,
  header .logo,
  .header-logo,
  .navbar-brand,
  .site-logo{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    padding:0!important;
    margin:0!important;
  }

  .logo::before,
  header .logo::before,
  .header-logo::before,
  .navbar-brand::before,
  .site-logo::before{
    display:none!important;
    content:none!important;
  }

  .logo img,
  header .logo img,
  .header-logo img,
  .navbar-brand img,
  .site-logo img{
    height:96px!important;
    max-width:270px!important;
    width:auto!important;
    margin:0 auto!important;
    display:block!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .top-actions{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:28px!important;
    margin-top:26px!important;
    padding:0!important;
  }

  .quick-action,
  .phone-action,
  .email-action,
  .whatsapp-action{
    all:unset!important;
    width:48px!important;
    height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
    -webkit-tap-highlight-color:transparent!important;
    transition:transform .16s cubic-bezier(.2,.8,.2,1), opacity .16s ease!important;
  }

  .quick-action span,
  .quick-action small,
  .quick-action b,
  .quick-action::after,
  .phone-action::after,
  .email-action::after,
  .whatsapp-action::after{
    display:none!important;
    content:none!important;
  }

  .quick-action svg,
  .phone-action svg,
  .email-action svg,
  .whatsapp-action svg{
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
    flex:0 0 27px!important;
    opacity:.9!important;
    animation:none!important;
    transition:transform .16s cubic-bezier(.2,.8,.2,1), opacity .16s ease!important;
  }

  .phone-action svg{color:#061bff!important;fill:currentColor!important;}
  .email-action svg{color:#071226!important;fill:currentColor!important;}
  .whatsapp-action svg{color:#25D366!important;fill:currentColor!important;}

  .quick-action:active,
  .phone-action:active,
  .email-action:active,
  .whatsapp-action:active{
    transform:scale(.86)!important;
  }

  .quick-action:active svg{
    opacity:1!important;
    transform:scale(.94)!important;
  }

  .menu-toggle{
    position:absolute!important;
    top:14px!important;
    right:12px!important;
  }

  .menu{
    top:142px!important;
  }
}

@media(max-width:390px){
  .logo img,
  header .logo img,
  .header-logo img,
  .navbar-brand img,
  .site-logo img{
    height:88px!important;
    max-width:245px!important;
  }

  .top-actions{
    gap:24px!important;
    margin-top:24px!important;
  }

  .quick-action,
  .phone-action,
  .email-action,
  .whatsapp-action{
    width:44px!important;
    height:44px!important;
  }

  .quick-action svg,
  .phone-action svg,
  .email-action svg,
  .whatsapp-action svg{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
  }
}

/* =========================================================
   ELETTROZETA - LIVELLO iOS DEFINITIVO
   SOLO SMARTPHONE: logo in rilievo + icone contatti pulite
   Desktop invariato.
========================================================= */
@media(max-width:640px){

  body{
    padding-bottom:0!important;
    overflow-x:hidden!important;
  }

  .header{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:14px 14px 22px!important;
    min-height:auto!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  /* Logo protagonista con sfondo in rilievo, non pesante */
  .logo,
  header .logo,
  .header-logo,
  .navbar-brand,
  .site-logo{
    width:auto!important;
    max-width:92vw!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0 auto!important;
    padding:16px 24px!important;
    border-radius:30px!important;
    background:linear-gradient(145deg,#ffffff 0%,#edf3ff 48%,#dce9ff 100%)!important;
    box-shadow:
      0 18px 35px rgba(6,27,255,.16),
      inset 0 1px 0 rgba(255,255,255,.95),
      inset 0 -10px 22px rgba(6,27,255,.08)!important;
    position:relative!important;
    overflow:visible!important;
  }

  .logo:before,
  header .logo:before,
  .header-logo:before,
  .navbar-brand:before,
  .site-logo:before{
    content:""!important;
    position:absolute!important;
    inset:6px!important;
    border-radius:24px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(6,27,255,.08))!important;
    box-shadow:inset 0 1px 8px rgba(255,255,255,.75)!important;
    filter:none!important;
    z-index:0!important;
  }

  .logo img,
  header .logo img,
  .header-logo img,
  .navbar-brand img,
  .site-logo img{
    position:relative!important;
    z-index:2!important;
    height:96px!important;
    width:auto!important;
    max-width:255px!important;
    margin:0 auto!important;
    display:block!important;
    object-fit:contain!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:drop-shadow(0 7px 10px rgba(7,18,38,.22))!important;
    animation:ezLogoIOS .7s cubic-bezier(.2,.8,.2,1) both!important;
  }

  /* Contatti: solo simboli, nessun riquadro, centrati */
  .top-actions{
    grid-column:auto!important;
    width:100%!important;
    margin:28px 0 0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:34px!important;
    flex-wrap:nowrap!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .quick-action,
  .phone-action,
  .email-action,
  .whatsapp-action{
    all:unset!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    background:transparent!important;
    border:none!important;
    border-radius:0!important;
    box-shadow:none!important;
    outline:none!important;
    padding:0!important;
    margin:0!important;
    transform:translateZ(0)!important;
    transition:transform .18s cubic-bezier(.2,.9,.2,1), opacity .18s ease!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .quick-action:before,
  .quick-action:after,
  .phone-action:before,
  .phone-action:after,
  .email-action:before,
  .email-action:after,
  .whatsapp-action:before,
  .whatsapp-action:after{
    display:none!important;
    content:none!important;
    background:none!important;
    box-shadow:none!important;
  }

  .quick-action span,
  .quick-action small,
  .quick-action b,
  .phone-action span,
  .phone-action small,
  .phone-action b,
  .email-action span,
  .email-action small,
  .email-action b,
  .whatsapp-action span,
  .whatsapp-action small,
  .whatsapp-action b{
    display:none!important;
  }

  .quick-action svg,
  .phone-action svg,
  .email-action svg,
  .whatsapp-action svg{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    flex:0 0 29px!important;
    display:block!important;
    opacity:.9!important;
    fill:currentColor!important;
    filter:drop-shadow(0 5px 8px rgba(7,18,38,.12))!important;
    animation:ezIconIOS .55s cubic-bezier(.2,.8,.2,1) both!important;
    transition:transform .18s cubic-bezier(.2,.9,.2,1), opacity .18s ease, filter .18s ease!important;
  }

  .phone-action svg{color:#061bff!important;}
  .email-action svg{color:#071226!important;}
  .whatsapp-action svg{color:#25D366!important;}

  /* Effetto touch tipo iPhone */
  .quick-action:active,
  .phone-action:active,
  .email-action:active,
  .whatsapp-action:active{
    transform:scale(.82)!important;
    opacity:.86!important;
  }

  .quick-action:active svg,
  .phone-action:active svg,
  .email-action:active svg,
  .whatsapp-action:active svg{
    transform:scale(.92)!important;
    opacity:1!important;
    filter:drop-shadow(0 2px 4px rgba(7,18,38,.10))!important;
  }

  .menu-toggle{
    position:absolute!important;
    top:16px!important;
    right:12px!important;
    width:38px!important;
    height:38px!important;
    border-radius:13px!important;
  }

  .menu{
    top:170px!important;
  }

  @keyframes ezLogoIOS{
    from{opacity:0;transform:translateY(-8px) scale(.97)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }

  @keyframes ezIconIOS{
    from{opacity:0;transform:translateY(8px) scale(.92)}
    to{opacity:.9;transform:translateY(0) scale(1)}
  }
}

@media(max-width:390px){
  .logo,
  header .logo,
  .header-logo,
  .navbar-brand,
  .site-logo{
    padding:13px 18px!important;
    border-radius:26px!important;
  }

  .logo img,
  header .logo img,
  .header-logo img,
  .navbar-brand img,
  .site-logo img{
    height:88px!important;
    max-width:232px!important;
  }

  .top-actions{
    margin-top:24px!important;
    gap:30px!important;
  }

  .quick-action svg,
  .phone-action svg,
  .email-action svg,
  .whatsapp-action svg{
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
  }

  .menu{top:154px!important;}
}


/* =========================================================
   ELETTROZETA - HEADER DEFINITIVO iOS
   SOLO SMARTPHONE: logo in rilievo, icone vere senza riquadro,
   nessun testo, animazione touch.
========================================================= */
@media (max-width: 640px){

  body{
    overflow-x:hidden !important;
  }

  .header{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-height:auto !important;
    padding:14px 14px 18px !important;
    gap:0 !important;
    row-gap:0 !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
  }

  .header .logo,
  header .logo{
    order:1 !important;
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:10px 0 12px !important;
    margin:0 !important;
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
    line-height:0 !important;
  }

  .header .logo::before,
  header .logo::before{
    display:none !important;
    content:none !important;
  }

  .header .logo img,
  header .logo img{
    width:auto !important;
    height:96px !important;
    max-width:265px !important;
    display:block !important;
    margin:0 auto !important;
    object-fit:contain !important;
    background:transparent !important;
    box-shadow:none !important;
    filter:
      drop-shadow(0 12px 16px rgba(7,18,38,.22))
      drop-shadow(0 3px 4px rgba(255,255,255,.85)) !important;
  }

  .top-actions{
    order:2 !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:30px !important;
    margin:24px 0 0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .quick-action,
  .phone-action,
  .email-action,
  .whatsapp-action{
    all:unset !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    cursor:pointer !important;
    color:inherit !important;
    transform:translateZ(0) !important;
    transition:transform .16s cubic-bezier(.2,.8,.2,1), opacity .16s ease !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .quick-action span,
  .quick-action small,
  .quick-action b,
  .quick-action::before,
  .quick-action::after{
    display:none !important;
    content:none !important;
  }

  .quick-action svg{
    display:block !important;
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    min-height:29px !important;
    fill:currentColor !important;
    color:currentColor !important;
    opacity:.92 !important;
    filter:drop-shadow(0 5px 7px rgba(7,18,38,.13)) !important;
    animation:none !important;
    transition:transform .16s cubic-bezier(.2,.8,.2,1), opacity .16s ease, filter .16s ease !important;
  }

  .quick-action:active{
    transform:scale(.82) !important;
    opacity:.86 !important;
  }

  .quick-action:active svg{
    transform:scale(1.08) !important;
    opacity:1 !important;
    filter:drop-shadow(0 2px 4px rgba(7,18,38,.18)) !important;
  }

  .phone-action{ color:#061bff !important; }
  .email-action{ color:#071226 !important; }
  .whatsapp-action{ color:#25D366 !important; }

  .menu-toggle{
    order:3 !important;
    position:absolute !important;
    top:18px !important;
    right:14px !important;
    width:38px !important;
    height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.78) !important;
    border:1px solid rgba(226,232,240,.95) !important;
    box-shadow:0 8px 20px rgba(7,18,38,.08) !important;
  }

  .menu{
    top:150px !important;
    left:14px !important;
    right:14px !important;
    z-index:9999 !important;
  }

  .hero{
    padding-top:34px !important;
  }
}

@media (max-width:390px){
  .header .logo img,
  header .logo img{
    height:86px !important;
    max-width:238px !important;
  }
  .top-actions{
    gap:26px !important;
    margin-top:20px !important;
  }
  .quick-action,
  .phone-action,
  .email-action,
  .whatsapp-action{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
  }
  .quick-action svg{
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    min-height:27px !important;
  }
  .menu{ top:136px !important; }
}

/* Logo più grande solo su smartphone */
@media (max-width:640px){
  .header .logo img,
  header .logo img{
    height:132px !important;
    max-width:min(86vw, 350px) !important;
  }

  .menu{
    top:196px !important;
  }
}

@media (max-width:390px){
  .header .logo img,
  header .logo img{
    height:118px !important;
    max-width:min(84vw, 310px) !important;
  }

  .menu{
    top:176px !important;
  }
}

/* Logo protagonista e centrato solo su smartphone */
@media (max-width:640px){
  .header .logo,
  header .logo{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
  }

  .header .logo img,
  header .logo img{
    width:50vw !important;
    min-width:230px !important;
    max-width:360px !important;
    height:auto !important;
    margin:0 auto !important;
  }

  .menu{
    top:190px !important;
  }
}

@media (max-width:390px){
  .header .logo img,
  header .logo img{
    width:58vw !important;
    min-width:220px !important;
    max-width:330px !important;
    height:auto !important;
  }

  .menu{
    top:182px !important;
  }
}

/* Logo a tutta larghezza solo su smartphone */
@media (max-width:640px){
  body .header{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:10px 8px 18px !important;
  }

  body .header .logo,
  body header .logo{
    order:1 !important;
    width:100vw !important;
    max-width:100vw !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto !important;
    padding:0 !important;
  }

  body .header .logo img,
  body header .logo img{
    width:94vw !important;
    max-width:94vw !important;
    min-width:0 !important;
    height:auto !important;
    max-height:none !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }

  body .header .top-actions{
    order:2 !important;
    margin-top:14px !important;
  }

  body .header .menu-toggle{
    top:16px !important;
    right:12px !important;
  }

  body .header .menu{
    top:calc(71vw + 92px) !important;
  }
}

@media (max-width:390px){
  body .header .logo img,
  body header .logo img{
    width:96vw !important;
    max-width:96vw !important;
  }

  body .header .menu{
    top:calc(73vw + 86px) !important;
  }
}

/* Smartphone: logo aziendale a tutta larghezza schermo */
@media (max-width:640px){
  html body .header{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    padding:0 0 18px !important;
    gap:0 !important;
  }

  html body .header .logo,
  html body header .logo{
    order:1 !important;
    width:100vw !important;
    max-width:100vw !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
  }

  html body .header .logo img,
  html body header .logo img{
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    height:auto !important;
    max-height:none !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }

  html body .header .top-actions{
    order:2 !important;
    margin-top:8px !important;
  }

  html body .header .menu-toggle{
    top:14px !important;
    right:12px !important;
  }

  html body .header .menu{
    top:calc(75vw + 76px) !important;
  }
}

/* MOBILE ONLY: logo aziendale centrato a tutta larghezza schermo */
@media only screen and (max-width:760px){
  body header.header,
  body .header{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100vw !important;
    max-width:100vw !important;
    padding:0 0 16px !important;
    margin:0 !important;
    overflow:visible !important;
  }

  body header.header > a.logo,
  body .header > a.logo,
  body header .logo{
    order:1 !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto !important;
    padding:0 !important;
  }

  body header.header > a.logo img,
  body .header > a.logo img,
  body header .logo img{
    display:block !important;
    width:100vw !important;
    max-width:none !important;
    min-width:100vw !important;
    height:auto !important;
    max-height:none !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }

  body header.header .top-actions,
  body .header .top-actions{
    order:2 !important;
    width:100% !important;
    margin-top:8px !important;
  }

  body header.header .menu-toggle,
  body .header .menu-toggle{
    position:absolute !important;
    top:14px !important;
    right:12px !important;
  }

  body header.header .menu,
  body .header .menu{
    top:calc(75vw + 78px) !important;
  }
}

/* Ripristino icone contatto mobile come nella versione precedente */
@media only screen and (max-width:760px){
  body header.header .top-actions,
  body .header .top-actions{
    order:2 !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:30px !important;
    margin:24px 0 0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body header.header .quick-action,
  body header.header .phone-action,
  body header.header .email-action,
  body header.header .whatsapp-action,
  body .header .quick-action,
  body .header .phone-action,
  body .header .email-action,
  body .header .whatsapp-action{
    all:unset !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    cursor:pointer !important;
    transform:translateZ(0) !important;
    transition:transform .16s cubic-bezier(.2,.8,.2,1), opacity .16s ease !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  body header.header .quick-action span,
  body header.header .quick-action small,
  body header.header .quick-action b,
  body header.header .quick-action::before,
  body header.header .quick-action::after,
  body .header .quick-action span,
  body .header .quick-action small,
  body .header .quick-action b,
  body .header .quick-action::before,
  body .header .quick-action::after{
    display:none !important;
    content:none !important;
  }

  body header.header .quick-action svg,
  body .header .quick-action svg{
    display:block !important;
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    min-height:29px !important;
    fill:currentColor !important;
    color:currentColor !important;
    opacity:.92 !important;
    filter:drop-shadow(0 5px 7px rgba(7,18,38,.13)) !important;
    animation:none !important;
  }

  body header.header .phone-action,
  body .header .phone-action{ color:#061bff !important; }

  body header.header .email-action,
  body .header .email-action{ color:#071226 !important; }

  body header.header .whatsapp-action,
  body .header .whatsapp-action{ color:#25D366 !important; }

  body header.header .quick-action:active,
  body .header .quick-action:active{
    transform:scale(.82) !important;
    opacity:.86 !important;
  }
}

/* Simboli contatto sempre corretti */
.quick-action .contact-symbol{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  fill:currentColor !important;
  color:currentColor !important;
}

@media only screen and (max-width:760px){
  body .quick-action .contact-symbol{
    display:block !important;
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    min-height:29px !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  body .phone-action{ color:#061bff !important; }
  body .email-action{ color:#071226 !important; }
  body .whatsapp-action{ color:#25D366 !important; }
}

/* Simboli testuali di fallback per i contatti */
.contact-fallback-symbol{
  display:none;
}

@media only screen and (max-width:760px){
  body header.header .quick-action .contact-symbol,
  body .header .quick-action .contact-symbol{
    display:none !important;
  }

  body header.header .quick-action .contact-fallback-symbol,
  body .header .quick-action .contact-fallback-symbol{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:999px !important;
    font-style:normal !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:27px !important;
    font-weight:900 !important;
    line-height:1 !important;
    color:currentColor !important;
    background:transparent !important;
  }

  body header.header .quick-action .whatsapp-symbol,
  body .header .quick-action .whatsapp-symbol{
    border:2px solid currentColor !important;
    font-size:11px !important;
    letter-spacing:0 !important;
  }
}

/* Smartphone: prima apertura solo logo, poi sito al tap */
.mobile-logo-gate{
  display:none;
}

@media only screen and (max-width:760px){
  body.mobile-intro-active{
    overflow:hidden !important;
  }

  body.mobile-intro-active .mobile-logo-gate{
    position:fixed !important;
    inset:0 !important;
    z-index:99999 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100vw !important;
    height:100vh !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:#061bff !important;
    cursor:pointer !important;
  }

  body.mobile-intro-active .mobile-logo-gate img{
    width:min(84vw, 420px) !important;
    max-width:84vw !important;
    height:auto !important;
    object-fit:contain !important;
    filter:
      drop-shadow(0 18px 28px rgba(0,0,0,.28))
      drop-shadow(0 2px 0 rgba(255,255,255,.75)) !important;
  }

  body:not(.mobile-intro-active) header.header > a.logo,
  body:not(.mobile-intro-active) .header > a.logo{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  body:not(.mobile-intro-active) header.header > a.logo img,
  body:not(.mobile-intro-active) .header > a.logo img,
  body:not(.mobile-intro-active) header .logo img{
    width:min(82vw, 340px) !important;
    min-width:0 !important;
    max-width:min(82vw, 340px) !important;
    height:auto !important;
    margin:0 auto !important;
  }

  body:not(.mobile-intro-active) header.header .menu,
  body:not(.mobile-intro-active) .header .menu{
    top:calc(62vw + 96px) !important;
  }
}

@media only screen and (max-width:390px){
  body.mobile-intro-active .mobile-logo-gate img{
    width:86vw !important;
    max-width:86vw !important;
  }

  body:not(.mobile-intro-active) header.header > a.logo img,
  body:not(.mobile-intro-active) .header > a.logo img,
  body:not(.mobile-intro-active) header .logo img{
    width:84vw !important;
    max-width:84vw !important;
  }
}

/* Dopo il tap: logo header più piccolo e centrato su smartphone */
@media only screen and (max-width:760px){
  body:not(.mobile-intro-active) header.header,
  body:not(.mobile-intro-active) .header{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }

  body:not(.mobile-intro-active) header.header > a.logo,
  body:not(.mobile-intro-active) .header > a.logo,
  body:not(.mobile-intro-active) header .logo{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
  }

  body:not(.mobile-intro-active) header.header > a.logo img,
  body:not(.mobile-intro-active) .header > a.logo img,
  body:not(.mobile-intro-active) header .logo img{
    width:min(58vw, 250px) !important;
    min-width:0 !important;
    max-width:min(58vw, 250px) !important;
    height:auto !important;
    margin:0 auto !important;
  }

  body:not(.mobile-intro-active) header.header .top-actions,
  body:not(.mobile-intro-active) .header .top-actions{
    margin-top:14px !important;
  }

  body:not(.mobile-intro-active) header.header .menu,
  body:not(.mobile-intro-active) .header .menu{
    top:calc(44vw + 92px) !important;
  }
}

@media only screen and (max-width:390px){
  body:not(.mobile-intro-active) header.header > a.logo img,
  body:not(.mobile-intro-active) .header > a.logo img,
  body:not(.mobile-intro-active) header .logo img{
    width:min(64vw, 230px) !important;
    max-width:min(64vw, 230px) !important;
  }

  body:not(.mobile-intro-active) header.header .menu,
  body:not(.mobile-intro-active) .header .menu{
    top:calc(48vw + 88px) !important;
  }
}

/* Desktop: icona email arancione e sempre visibile */
@media (min-width:761px){
  .header .email-action,
  header .email-action{
    background:linear-gradient(135deg,#ff8a00,#ff5a00) !important;
    color:#fff !important;
    box-shadow:0 12px 26px rgba(255,108,0,.28) !important;
  }

  .header .email-action:hover,
  header .email-action:hover{
    filter:saturate(1.08) !important;
    box-shadow:0 18px 34px rgba(255,108,0,.34) !important;
  }
}

/* Desktop: stesse icone contatto della versione smartphone */
@media (min-width:761px){
  .header .top-actions,
  header .top-actions{
    gap:18px !important;
  }

  .header .quick-action,
  header .quick-action{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
  }

  .header .quick-action span,
  .header .quick-action small,
  .header .quick-action b,
  header .quick-action span,
  header .quick-action small,
  header .quick-action b,
  .header .quick-action .contact-symbol,
  header .quick-action .contact-symbol{
    display:none !important;
  }

  .header .quick-action .contact-fallback-symbol,
  header .quick-action .contact-fallback-symbol{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:999px !important;
    font-style:normal !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:28px !important;
    font-weight:900 !important;
    line-height:1 !important;
    color:currentColor !important;
    background:transparent !important;
  }

  .header .quick-action .whatsapp-symbol,
  header .quick-action .whatsapp-symbol{
    border:2px solid currentColor !important;
    font-size:11px !important;
    letter-spacing:0 !important;
  }

  .header .phone-action,
  header .phone-action{
    color:#061bff !important;
  }

  .header .whatsapp-action,
  header .whatsapp-action{
    color:#25D366 !important;
  }

  .header .email-action,
  header .email-action{
    color:#fff !important;
  }
}

/* CORREZIONE FINALE DESKTOP: stessi simboli contatto del mobile */
@media (min-width:761px){
  html body header.header .top-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:18px !important;
  }

  html body header.header .quick-action{
    all:unset !important;
    position:relative !important;
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    cursor:pointer !important;
    box-shadow:0 12px 26px rgba(6,27,255,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease !important;
  }

  html body header.header .quick-action:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 18px 34px rgba(7,18,38,.18) !important;
  }

  html body header.header .quick-action svg,
  html body header.header .quick-action .contact-symbol,
  html body header.header .quick-action .contact-fallback-symbol,
  html body header.header .quick-action span,
  html body header.header .quick-action small,
  html body header.header .quick-action b,
  html body header.header .quick-action::before{
    display:none !important;
    content:none !important;
  }

  html body header.header .quick-action::after{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:999px !important;
    background:transparent !important;
    color:currentColor !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:28px !important;
    font-weight:900 !important;
    line-height:1 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  html body header.header .phone-action{
    background:#fff !important;
    color:#061bff !important;
    border:1px solid #dbe3f1 !important;
  }

  html body header.header .phone-action::after{
    content:"\260E" !important;
  }

  html body header.header .email-action{
    background:#fff !important;
    color:#071226 !important;
    border:1px solid #dbe3f1 !important;
  }

  html body header.header .email-action::after{
    content:"\2709" !important;
  }

  html body header.header .whatsapp-action{
    background:#fff !important;
    color:#25D366 !important;
    border:1px solid #dbe3f1 !important;
  }

  html body header.header .whatsapp-action::after{
    content:"WA" !important;
    border:2px solid currentColor !important;
    font-size:11px !important;
    letter-spacing:0 !important;
  }
}

/* Banner sempre davanti: logo e contatti fissi in primo piano */
html body header.header,
html body .header{
  position:sticky !important;
  top:0 !important;
  z-index:2147483000 !important;
  isolation:isolate !important;
  transform:translateZ(0) !important;
  box-shadow:0 10px 28px rgba(7,18,38,.10) !important;
}

html body header.header .logo,
html body header.header .top-actions,
html body header.header .quick-action,
html body .header .logo,
html body .header .top-actions,
html body .header .quick-action{
  position:relative !important;
  z-index:2147483001 !important;
}

html body header.header .menu,
html body .header .menu{
  z-index:2147483002 !important;
}

/* Sezione tecnica con riferimenti */
.technical-reference{
  background:#071226 !important;
  color:#fff !important;
}

.technical-reference h2,
.technical-reference h3{
  color:#fff !important;
}

.technical-reference .title p{
  color:#dbe7ff !important;
}

.reference-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
  gap:18px !important;
}

.reference-grid article{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:24px !important;
  padding:26px !important;
  box-shadow:0 18px 44px rgba(0,0,0,.16) !important;
}

.reference-grid span{
  display:inline-block !important;
  margin-bottom:12px !important;
  color:#9bb5ff !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.reference-grid p{
  color:#e8efff !important;
  font-size:16px !important;
  line-height:1.68 !important;
}

.reference-grid a{
  display:inline-flex !important;
  margin-top:10px !important;
  color:#fff !important;
  font-weight:900 !important;
  border-bottom:2px solid #8fb3ff !important;
}

.reference-grid a:hover{
  color:#9bb5ff !important;
}

/* Privacy policy */
.privacy-note{
  margin:0 !important;
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.privacy-note a{
  color:#061bff !important;
  font-weight:900 !important;
  text-decoration:underline !important;
}

footer a{
  color:#fff !important;
  font-weight:900 !important;
  text-decoration:underline !important;
}

.privacy-page{
  background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%) !important;
}

.privacy-page h1{
  font-size:clamp(38px,6vw,74px) !important;
  line-height:.95 !important;
  letter-spacing:-.055em !important;
  margin:0 0 20px !important;
}

.privacy-updated{
  display:inline-flex !important;
  margin-top:8px !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#071226 !important;
  font-weight:900 !important;
  box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}

.privacy-content{
  display:grid !important;
  gap:16px !important;
  max-width:1040px !important;
}

.privacy-content article{
  background:#fff !important;
  border:1px solid #e3e9f5 !important;
  border-radius:24px !important;
  padding:26px !important;
  box-shadow:0 12px 30px rgba(15,23,42,.06) !important;
}

.privacy-content h2{
  margin:0 0 12px !important;
  font-size:28px !important;
  line-height:1.1 !important;
  letter-spacing:-.02em !important;
}

.privacy-content p{
  margin:0 0 12px !important;
}

.privacy-content p:last-child{
  margin-bottom:0 !important;
}

.privacy-content a{
  color:#061bff !important;
  font-weight:900 !important;
  text-decoration:underline !important;
}

.privacy-back{
  margin-top:28px !important;
}

@media(max-width:760px){
  .privacy-page h1{
    font-size:40px !important;
  }

  .privacy-content article{
    padding:22px !important;
  }

  .privacy-content h2{
    font-size:24px !important;
  }
}

/* CORREZIONE DEFINITIVA: banner fisso sempre visibile sopra tutto */
html{
  scroll-padding-top:190px !important;
}

html body{
  padding-top:182px !important;
}

html body > header.header,
html body > .header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:2147483647 !important;
  background:rgba(255,255,255,.98) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  border-bottom:1px solid #e8edf7 !important;
  box-shadow:0 14px 34px rgba(7,18,38,.14) !important;
  transform:translateZ(0) !important;
  isolation:isolate !important;
}

html body > main,
html body > footer{
  position:relative !important;
  z-index:1 !important;
}

html body > header.header .logo,
html body > header.header .top-actions,
html body > header.header .quick-action,
html body > header.header .menu-toggle,
html body > header.header .menu{
  position:relative !important;
  z-index:2147483647 !important;
}

@media(max-width:1180px){
  html{
    scroll-padding-top:220px !important;
  }

  html body{
    padding-top:214px !important;
  }
}

@media(max-width:760px){
  html{
    scroll-padding-top:270px !important;
  }

  html body{
    padding-top:258px !important;
  }

  html body > header.header,
  html body > .header{
    max-height:none !important;
    overflow:visible !important;
  }
}

@media(max-width:390px){
  html{
    scroll-padding-top:252px !important;
  }

  html body{
    padding-top:242px !important;
  }
}

/* Menu banner: titoli sezioni più grandi e in riquadri */
html body header.header .menu,
html body .header .menu{
  gap:10px !important;
  align-items:center !important;
}

html body header.header .menu a,
html body .header .menu a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:11px 15px !important;
  border:1px solid #dbe3f1 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#071226 !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  line-height:1 !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease, border-color .18s ease !important;
}

html body header.header .menu a:hover,
html body .header .menu a:hover{
  color:#061bff !important;
  border-color:#bac8ff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 14px 28px rgba(6,27,255,.12) !important;
}

@media(max-width:1180px){
  html body header.header .menu a,
  html body .header .menu a{
    min-height:44px !important;
    padding:13px 16px !important;
    font-size:15px !important;
    border-radius:12px !important;
  }
}

@media(max-width:760px){
  html body header.header .menu a,
  html body .header .menu a{
    justify-content:flex-start !important;
    width:100% !important;
    font-size:15px !important;
  }
}

/* Smartphone: banner non fisso, torna al comportamento precedente */
@media(max-width:760px){
  html{
    scroll-padding-top:0 !important;
  }

  html body{
    padding-top:0 !important;
  }

  html body > header.header,
  html body > .header{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    z-index:1000 !important;
    box-shadow:0 8px 20px rgba(7,18,38,.08) !important;
  }
}

/* CORREZIONE MOBILE: contatti allineati e menu compatto */
@media(max-width:760px){
  html body > header.header,
  html body > .header{
    position:sticky !important;
    top:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100% !important;
    padding:8px 14px 12px !important;
    background:rgba(255,255,255,.98) !important;
    overflow:visible !important;
  }

  html body > header.header > a.logo,
  html body > .header > a.logo{
    order:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
    padding:0 48px 0 48px !important;
  }

  html body > header.header > a.logo img,
  html body > .header > a.logo img{
    width:min(64vw, 238px) !important;
    max-width:min(64vw, 238px) !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 auto !important;
  }

  html body > header.header .top-actions,
  html body > .header .top-actions{
    order:2 !important;
    width:100% !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:28px !important;
    margin:10px auto 0 !important;
    padding:0 !important;
  }

  html body > header.header .quick-action,
  html body > .header .quick-action{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
  }

  html body > header.header .menu-toggle,
  html body > .header .menu-toggle{
    order:3 !important;
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    width:40px !important;
    height:40px !important;
    z-index:2147483647 !important;
  }

  html body > header.header .menu,
  html body > .header .menu{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:14px !important;
    right:14px !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    max-height:58vh !important;
    overflow:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    padding:10px !important;
    margin:0 !important;
    background:#fff !important;
    border:1px solid #dbe3f1 !important;
    border-radius:14px !important;
    box-shadow:0 18px 40px rgba(7,18,38,.16) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
    transition:opacity .18s ease, transform .18s ease !important;
    z-index:2147483647 !important;
  }

  html body.menu-open > header.header .menu,
  html body.menu-open > .header .menu,
  html body.menu-open header.header .menu,
  html body.menu-open .header .menu{
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  html body > header.header .menu a,
  html body > .header .menu a{
    width:100% !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:12px 14px !important;
    font-size:14px !important;
    border-radius:10px !important;
  }
}

@media(max-width:390px){
  html body > header.header > a.logo img,
  html body > .header > a.logo img{
    width:min(68vw, 224px) !important;
    max-width:min(68vw, 224px) !important;
  }

  html body > header.header .top-actions,
  html body > .header .top-actions{
    gap:24px !important;
  }
}

/* INIM: immagini proporzionate e riquadri ordinati */
html body .inim-premium-section{
  padding:92px 6vw !important;
}

html body .inim-container{
  max-width:1180px !important;
  margin:0 auto !important;
}

html body .inim-premium-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

html body .inim-premium-card,
html body .inim-premium-card.big,
html body .inim-premium-card.wide{
  grid-row:auto !important;
  grid-column:auto !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:100% !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.09) !important;
}

html body .inim-premium-card img,
html body .inim-premium-card.big img,
html body .inim-premium-card.wide img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  object-fit:contain !important;
  display:block !important;
  padding:18px !important;
  background:#fff !important;
}

html body .inim-card-body{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  padding:22px !important;
  min-height:218px !important;
}

html body .inim-card-body span{
  flex:0 0 auto !important;
  margin-bottom:14px !important;
}

html body .inim-card-body h3{
  margin:0 0 10px !important;
  font-size:22px !important;
  line-height:1.16 !important;
}

html body .inim-card-body p{
  margin:0 !important;
  color:#dceafb !important;
  font-size:15px !important;
  line-height:1.58 !important;
}

html body .inim-cta-box{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:24px !important;
  border-radius:24px !important;
}

@media(max-width:1100px){
  html body .inim-premium-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  html body .inim-card-body{
    min-height:190px !important;
  }
}

@media(max-width:640px){
  html body .inim-premium-section{
    padding:58px 16px !important;
  }

  html body .inim-premium-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  html body .inim-premium-card,
  html body .inim-premium-card.big,
  html body .inim-premium-card.wide{
    padding:0 !important;
  }

  html body .inim-premium-card img,
  html body .inim-premium-card.big img,
  html body .inim-premium-card.wide img{
    aspect-ratio:16 / 10 !important;
    padding:14px !important;
  }

  html body .inim-card-body{
    min-height:auto !important;
    padding:20px !important;
  }

  html body .inim-card-body h3{
    font-size:21px !important;
  }

  html body .inim-cta-box{
    grid-template-columns:1fr !important;
    align-items:flex-start !important;
  }

  html body .inim-cta-box a{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

.inim-authorized-badge{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  width:max-content !important;
  max-width:100% !important;
  margin:18px 0 0 !important;
  padding:8px 14px 8px 10px !important;
  border:1px solid rgba(6,27,255,.22) !important;
  border-radius:999px !important;
  background:#eef4ff !important;
  color:#061bff !important;
  font-weight:900 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 10px 26px rgba(6,27,255,.10) !important;
}

.inim-authorized-badge:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 14px 32px rgba(6,27,255,.15) !important;
}

.inim-authorized-badge img{
  width:74px !important;
  height:auto !important;
  flex:0 0 auto !important;
  display:block !important;
  border-radius:10px !important;
  background:#fff !important;
  padding:3px !important;
}

.inim-authorized-badge span{
  display:block !important;
}

.inim-authorized-logo-panel{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  width:max-content !important;
  max-width:100% !important;
  margin:24px 0 0 !important;
  padding:14px 18px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.08) !important;
  box-shadow:0 20px 48px rgba(0,0,0,.22) !important;
}

.inim-authorized-logo-panel img{
  width:118px !important;
  height:auto !important;
  flex:0 0 auto !important;
  display:block !important;
  border-radius:14px !important;
  background:#fff !important;
  padding:6px !important;
}

.inim-authorized-logo-panel strong,
.inim-authorized-logo-panel span{
  display:block !important;
}

.inim-authorized-logo-panel strong{
  color:#fff !important;
  font-size:20px !important;
  line-height:1.2 !important;
}

.inim-authorized-logo-panel span{
  margin-top:4px !important;
  color:#dceafb !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

@media(max-width:640px){
  .inim-authorized-badge{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:14px !important;
  }

  .inim-authorized-badge img{
    width:66px !important;
  }

  .inim-authorized-logo-panel{
    width:100% !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    padding:18px !important;
  }

  .inim-authorized-logo-panel img{
    width:142px !important;
  }
}

.antenne-section{
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%) !important;
}

.antenne-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:18px !important;
}

.antenne-grid article{
  position:relative !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #e3e9f5 !important;
  border-radius:24px !important;
  padding:28px !important;
  box-shadow:0 16px 38px rgba(15,23,42,.08) !important;
}

.antenne-grid article::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:5px !important;
  background:#061bff !important;
}

.antenne-grid span{
  display:inline-flex !important;
  margin-bottom:12px !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  background:#eef4ff !important;
  color:#061bff !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.antenne-grid h3{
  margin:0 0 10px !important;
  color:#071226 !important;
  font-size:23px !important;
  line-height:1.18 !important;
}

.antenne-grid p{
  margin:0 !important;
  color:#263244 !important;
  font-size:16px !important;
  line-height:1.66 !important;
}

.antenne-cta{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:22px !important;
  margin-top:22px !important;
  padding:26px !important;
  border-radius:24px !important;
  background:#071226 !important;
  color:#fff !important;
  box-shadow:0 22px 52px rgba(7,18,38,.18) !important;
}

.antenne-cta h3{
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:24px !important;
  line-height:1.2 !important;
}

.antenne-cta p{
  margin:0 !important;
  color:#dbe7ff !important;
  font-size:16px !important;
  line-height:1.6 !important;
}

.antenne-cta a{
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-height:48px !important;
  padding:14px 20px !important;
  border-radius:999px !important;
  background:#061bff !important;
  color:#fff !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  box-shadow:0 14px 30px rgba(6,27,255,.28) !important;
}

@media(max-width:640px){
  .antenne-grid{
    grid-template-columns:1fr !important;
  }

  .antenne-grid article{
    padding:22px !important;
    border-radius:20px !important;
  }

  .antenne-cta{
    grid-template-columns:1fr !important;
    padding:22px !important;
    border-radius:20px !important;
  }

  .antenne-cta a{
    width:100% !important;
    white-space:normal !important;
    text-align:center !important;
  }
}

#chi-siamo,
#servizi,
#tecnica,
#realizzazioni,
#domotica,
#antenne,
#inim,
#lavora-con-noi,
#metodo{
  scroll-margin-top:180px !important;
}

@media(max-width:640px){
  #chi-siamo,
  #servizi,
  #tecnica,
  #realizzazioni,
  #domotica,
  #antenne,
  #inim,
  #lavora-con-noi,
  #metodo{
    scroll-margin-top:126px !important;
  }
}

.back-to-top{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:2147483003 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:52px !important;
  height:52px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#061bff !important;
  color:#fff !important;
  box-shadow:0 18px 38px rgba(6,27,255,.34) !important;
  cursor:pointer !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.back-to-top:hover{
  transform:translateY(-3px) !important;
  background:#071226 !important;
  box-shadow:0 22px 46px rgba(7,18,38,.28) !important;
}

.back-to-top svg{
  width:26px !important;
  height:26px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.4 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

@media(max-width:640px){
  .back-to-top{
    right:14px !important;
    bottom:16px !important;
    width:48px !important;
    height:48px !important;
  }
}

/* Sezione ricerca personale */
.recruiting-section{
  background:linear-gradient(180deg,#f7faff 0%,#fff 100%) !important;
}

.recruiting-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr) !important;
  gap:34px !important;
  align-items:start !important;
}

.recruiting-copy h2{
  max-width:920px !important;
}

.recruiting-copy p{
  max-width:860px !important;
  font-size:18px !important;
  line-height:1.68 !important;
  color:#263244 !important;
}

.recruiting-cards{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:26px !important;
}

.recruiting-cards article{
  background:#fff !important;
  border:1px solid #e3e9f5 !important;
  border-radius:22px !important;
  padding:22px !important;
  box-shadow:0 16px 38px rgba(15,23,42,.07) !important;
}

.recruiting-cards span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
  background:#061bff !important;
  color:#fff !important;
  font-weight:900 !important;
  margin-bottom:14px !important;
}

.recruiting-cards h3,
.recruiting-form h3{
  margin:0 0 10px !important;
  color:#071226 !important;
}

.recruiting-cards p{
  font-size:15.5px !important;
  line-height:1.58 !important;
  margin:0 !important;
}

.recruiting-form{
  position:sticky !important;
  top:150px !important;
  border:1px solid #e3e9f5 !important;
  border-radius:26px !important;
  box-shadow:0 26px 70px rgba(6,27,255,.10),0 18px 45px rgba(15,23,42,.08) !important;
}

.recruiting-form h3{
  font-size:28px !important;
}

.privacy-check{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:#42526b !important;
}

.privacy-check input{
  width:18px !important;
  height:18px !important;
  margin-top:2px !important;
  flex:0 0 18px !important;
}

.recruiting-whatsapp{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  border-radius:15px !important;
  background:#eaf7ef !important;
  color:#0d7a3a !important;
  font-weight:900 !important;
  text-align:center !important;
}

@media(max-width:1100px){
  .recruiting-layout{
    grid-template-columns:1fr !important;
  }

  .recruiting-form{
    position:static !important;
  }
}

@media(max-width:760px){
  .recruiting-cards{
    grid-template-columns:1fr !important;
  }

  .recruiting-copy p{
    font-size:15.5px !important;
  }

  .recruiting-form h3{
    font-size:24px !important;
  }
}

/* Logo fisso: al passaggio del mouse aumenta leggermente e trema */
.header .logo img,
header .logo img,
.logo img{
  transform-origin:center center !important;
  will-change:transform !important;
  animation:none !important;
  transition:transform .2s ease !important;
}

.header .logo:hover img,
header .logo:hover img,
.logo:hover img{
  animation:ezLogoHoverShake .58s ease-in-out both !important;
}

@keyframes ezLogoHoverShake{
  0%{transform:scale(1) translateX(0) rotate(0)}
  18%{transform:scale(1.07) translateX(-2px) rotate(-1deg)}
  36%{transform:scale(1.08) translateX(2px) rotate(1deg)}
  54%{transform:scale(1.07) translateX(-1.5px) rotate(-.7deg)}
  72%{transform:scale(1.07) translateX(1px) rotate(.5deg)}
  100%{transform:scale(1.06) translateX(0) rotate(0)}
}

@media(prefers-reduced-motion:reduce){
  .header .logo img,
  header .logo img,
  .logo img{
    animation:none !important;
  }

  .header .logo:hover img,
  header .logo:hover img,
  .logo:hover img{
    transform:scale(1.04) !important;
  }
}

/* Lavora con noi nel menu, con sfondo blu */
.header .menu a.menu-recruiting,
header .menu a.menu-recruiting,
html body header.header .menu a.menu-recruiting{
  margin-left:18px !important;
  padding:11px 16px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#061bff,#123cce) !important;
  color:#fff !important;
  line-height:1 !important;
  box-shadow:0 12px 26px rgba(6,27,255,.26) !important;
}

.header .menu a.menu-recruiting:hover,
header .menu a.menu-recruiting:hover,
html body header.header .menu a.menu-recruiting:hover{
  background:linear-gradient(135deg,#071226,#061bff) !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
}

@media(max-width:860px){
  .header .menu a.menu-recruiting,
  header .menu a.menu-recruiting,
  html body header.header .menu a.menu-recruiting{
    margin-left:0 !important;
    margin-top:6px !important;
    text-align:center !important;
    padding:13px 14px !important;
  }
}

/* Versione APP solo smartphone */
.mobile-app{display:none}
@media(max-width:640px){
  body{
    margin:0!important;
    background:#eef2f8!important;
    background-image:none!important;
    overflow-x:hidden!important;
  }
  .header,
  main#home,
  footer,
  .back-to-top{
    display:none!important;
  }
  .mobile-app{
    position:relative;
    display:block!important;
    width:min(100%,430px);
    min-height:100svh;
    margin:0 auto;
    color:#101522;
    background:linear-gradient(180deg,#fff 0,#f7f9fc 174px,#f7f9fc 100%);
    background-image:linear-gradient(180deg,#fff 0,#f7f9fc 174px,#f7f9fc 100%)!important;
    font-family:Arial,Helvetica,sans-serif;
    overflow-x:hidden;
  }
  .mobile-app *,
  .mobile-app *::before,
  .mobile-app *::after{
    box-sizing:border-box;
  }
  .mobile-app a{
    color:inherit;
    text-decoration:none;
    -webkit-tap-highlight-color:rgba(6,71,255,.12);
  }
  .mobile-app svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-app-topbar{
    position:sticky;
    top:0;
    z-index:30;
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-height:86px;
    padding:max(8px,env(safe-area-inset-top)) 12px 8px;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(223,230,240,.9);
    backdrop-filter:blur(16px);
  }
  .mobile-app-logo,
  .mobile-app-logo img{
    display:block;
  }
  .mobile-app-logo img{
    width:86px;
    height:auto;
  }
  .mobile-top-contacts{
    min-width:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .mobile-top-contacts a{
    min-width:0;
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 8px;
    border:1px solid #dfe6f0;
    border-radius:8px;
    color:#0647ff!important;
    background:#fff;
    font-size:12px;
    font-weight:900;
    line-height:1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-top-contacts a:first-child{
    grid-column:1/-1;
    color:#fff!important;
    background:#0647ff;
    border-color:#0647ff;
  }
  .mobile-icon-button{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#fff!important;
    background:#0647ff;
    box-shadow:0 10px 20px rgba(6,71,255,.22);
  }
  .mobile-app-main{
    padding:14px 14px calc(104px + env(safe-area-inset-bottom));
  }
  .mobile-hero{
    min-height:calc(100svh - 118px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:22px 18px;
    border:1px solid #dbe4f2;
    border-radius:8px;
    color:#fff;
    background:linear-gradient(135deg,rgba(6,71,255,.98),rgba(8,55,182,.96) 58%,rgba(225,38,47,.9));
    background-image:linear-gradient(135deg,rgba(6,71,255,.98),rgba(8,55,182,.96) 58%,rgba(225,38,47,.9))!important;
    box-shadow:0 18px 42px rgba(6,71,255,.2);
  }
  .mobile-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:16px;
    color:rgba(255,255,255,.88);
    font-size:12px;
    font-weight:900;
    letter-spacing:0;
    text-transform:uppercase;
  }
  .mobile-hero-logo{
    display:none;
    width:168px;
    height:auto;
    margin:0 auto 18px;
    padding:0;
    border-radius:8px;
    background:transparent!important;
    box-shadow:none;
  }
  .mobile-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#6dffb0;
    box-shadow:0 0 0 5px rgba(109,255,176,.18);
  }
  .mobile-hero h1{
    max-width:12ch;
    margin:0;
    color:#fff!important;
    font-size:38px!important;
    line-height:.98!important;
    font-weight:900;
    letter-spacing:0!important;
    overflow-wrap:break-word;
  }
  .mobile-hero p{
    max-width:270px;
    margin:14px 0 0;
    color:rgba(255,255,255,.82)!important;
    font-size:16px!important;
    line-height:1.42!important;
    letter-spacing:0!important;
  }
  .mobile-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:24px;
  }
  .mobile-action{
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:8px;
    color:#fff!important;
    background:rgba(255,255,255,.14);
    font-weight:900;
    backdrop-filter:blur(12px);
  }
  .mobile-action-primary{
    color:#0647ff!important;
    background:#fff;
    border-color:#fff;
  }
  .mobile-section{
    margin-top:18px;
    content-visibility:auto;
    contain-intrinsic-size:430px;
  }
  .mobile-title{
    padding:4px 2px 10px;
  }
  .mobile-title span{
    display:block;
    margin:0 0 6px;
    color:#0647ff;
    font-size:12px;
    font-weight:900;
    letter-spacing:0;
    text-transform:uppercase;
  }
  .mobile-title h2{
    margin:0;
    color:#101522!important;
    font-size:23px!important;
    line-height:1.08!important;
    font-weight:900;
    letter-spacing:0!important;
  }
  .mobile-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .mobile-grid article,
  .mobile-job-card,
  .mobile-contact-list a{
    border:1px solid #dfe6f0;
    border-radius:8px;
    background:#fff;
    box-shadow:0 12px 28px rgba(16,21,34,.09);
  }
  .mobile-grid article{
    min-height:102px;
    padding:14px;
  }
  .mobile-grid b{
    display:block;
    margin-bottom:7px;
    color:#101522;
    font-size:16px;
    line-height:1.12;
  }
  .mobile-grid p,
  .mobile-job-card p,
  .mobile-address{
    margin:0;
    color:#667085!important;
    font-size:14px!important;
    line-height:1.34!important;
    letter-spacing:0!important;
  }
  .mobile-job-card{
    padding:16px;
  }
  .mobile-job-card a{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:14px;
    border-radius:8px;
    color:#fff!important;
    background:#0647ff;
    font-size:15px;
    font-weight:900;
  }
  .mobile-contact-list{
    display:grid;
    gap:9px;
  }
  .mobile-contact-list a{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 13px;
  }
  .mobile-contact-list span{
    color:#667085;
    font-size:12px;
    font-weight:900;
  }
  .mobile-contact-list b{
    color:#0647ff;
    font-size:14px;
    overflow-wrap:anywhere;
    text-align:right;
  }
  .mobile-address{
    margin-top:14px;
  }
  .mobile-tabbar{
    position:fixed;
    left:50%;
    bottom:max(10px,env(safe-area-inset-bottom));
    z-index:40;
    width:min(402px,calc(100% - 20px));
    height:72px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    padding:8px;
    transform:translateX(-50%);
    border:1px solid rgba(223,230,240,.95);
    border-radius:8px;
    background:rgba(255,255,255,.94);
    box-shadow:0 16px 38px rgba(16,21,34,.18);
    backdrop-filter:blur(18px);
  }
  .mobile-tabbar a{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border-radius:6px;
    color:#667085;
    font-size:11px;
    font-weight:900;
  }
  .mobile-tabbar svg{
    width:20px;
    height:20px;
  }
  .mobile-tabbar a.is-active{
    color:#0647ff;
    background:#eef3ff;
  }
  .mobile-reveal{
    opacity:0;
    transform:translateY(8px);
    transition:opacity 260ms ease,transform 260ms ease;
  }
  .mobile-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
  }
}
@media(max-width:355px){
  .mobile-app-topbar{grid-template-columns:78px minmax(0,1fr);gap:8px;padding-left:10px;padding-right:10px}
  .mobile-app-logo img{width:74px}
  .mobile-top-contacts a{font-size:11px;padding:0 6px}
  .mobile-hero-logo{width:140px}
  .mobile-hero h1{font-size:33px!important}
  .mobile-grid{grid-template-columns:1fr}
}
@media(min-width:641px){
  .mobile-app{display:none!important}
}
@media(max-width:640px) and (prefers-reduced-motion:reduce){
  .mobile-reveal{
    opacity:1;
    transform:none;
    transition:none;
  }
}

/* Smartphone APP essenziale - solo mobile */
@media(max-width:640px){
  html{
    scroll-behavior:smooth!important;
    -webkit-text-size-adjust:100%!important;
  }
  body{
    min-width:0!important;
    background:#eef2f8!important;
    background-image:none!important;
  }
  body::before,
  body::after{
    display:none!important;
    content:none!important;
  }
  .header,
  main#home,
  footer,
  .back-to-top{
    display:none!important;
  }
  .mobile-app{
    display:block!important;
    width:min(100%,430px)!important;
    min-height:100svh!important;
    margin:0 auto!important;
    color:#111827!important;
    background:#f5f7fb!important;
    background-image:none!important;
    font-family:Arial,Helvetica,sans-serif!important;
    overflow-x:hidden!important;
  }
  .mobile-app *,
  .mobile-app *::before,
  .mobile-app *::after{
    box-sizing:border-box!important;
    letter-spacing:0!important;
  }
  .mobile-app a{
    text-decoration:none!important;
    -webkit-tap-highlight-color:rgba(6,71,255,.12)!important;
  }
  .mobile-app svg{
    width:20px!important;
    height:20px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .mobile-app-topbar{
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    display:grid!important;
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    min-height:88px!important;
    padding:max(8px,env(safe-area-inset-top)) 12px 8px!important;
    background:rgba(255,255,255,.96)!important;
    border-bottom:1px solid rgba(220,226,236,.95)!important;
    box-shadow:0 8px 24px rgba(17,24,39,.08)!important;
    backdrop-filter:blur(16px)!important;
  }
  .mobile-app-logo,
  .mobile-app-logo img{
    display:block!important;
  }
  .mobile-app-logo img{
    width:88px!important;
    max-width:88px!important;
    height:auto!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .mobile-top-contacts{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  .mobile-top-contacts a{
    min-width:0!important;
    min-height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 8px!important;
    border:1px solid #dce4f0!important;
    border-radius:8px!important;
    color:#0647ff!important;
    background:#fff!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .mobile-top-contacts a:first-child{
    grid-column:1/-1!important;
    color:#fff!important;
    background:#0647ff!important;
    border-color:#0647ff!important;
  }
  .mobile-app-main{
    padding:12px 12px calc(96px + env(safe-area-inset-bottom))!important;
  }
  .mobile-hero{
    min-height:330px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:stretch!important;
    text-align:left!important;
    padding:20px 16px!important;
    border:1px solid #dfe6f0!important;
    border-radius:8px!important;
    color:#111827!important;
    background:#fff!important;
    background-image:none!important;
    box-shadow:0 12px 30px rgba(17,24,39,.09)!important;
  }
  .mobile-status{
    width:max-content!important;
    max-width:100%!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 18px!important;
    padding:8px 10px!important;
    border:1px solid #dfe6f0!important;
    border-radius:8px!important;
    color:#0647ff!important;
    background:#eef3ff!important;
    font-size:11px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
  }
  .mobile-dot{
    width:8px!important;
    height:8px!important;
    border-radius:50%!important;
    background:#7cffb2!important;
    box-shadow:0 0 0 5px rgba(124,255,178,.18)!important;
  }
  .mobile-hero-logo{
    display:none!important;
  }
  .mobile-hero h1{
    max-width:11ch!important;
    margin:0!important;
    color:#111827!important;
    font-size:34px!important;
    line-height:1.04!important;
    font-weight:900!important;
    overflow-wrap:break-word!important;
  }
  .mobile-hero p{
    max-width:300px!important;
    margin:12px 0 0!important;
    color:#667085!important;
    font-size:16px!important;
    line-height:1.38!important;
  }
  .mobile-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin-top:24px!important;
  }
  .mobile-action{
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:1px solid #dfe6f0!important;
    border-radius:8px!important;
    color:#0647ff!important;
    background:#eef3ff!important;
    font-size:15px!important;
    font-weight:900!important;
  }
  .mobile-action-primary{
    color:#fff!important;
    background:#0647ff!important;
    border-color:#0647ff!important;
  }
  .mobile-section{
    margin-top:16px!important;
    content-visibility:auto!important;
    contain-intrinsic-size:360px!important;
  }
  .mobile-title{
    padding:2px 2px 10px!important;
  }
  .mobile-title span{
    display:block!important;
    margin:0 0 5px!important;
    color:#0647ff!important;
    font-size:11px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
  }
  .mobile-title h2{
    margin:0!important;
    color:#111827!important;
    font-size:22px!important;
    line-height:1.08!important;
    font-weight:900!important;
  }
  .mobile-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .mobile-grid article,
  .mobile-job-card,
  .mobile-contact-list a{
    border:1px solid #dfe6f0!important;
    border-radius:8px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(17,24,39,.08)!important;
  }
  .mobile-grid article{
    position:relative!important;
    min-height:104px!important;
    padding:14px!important;
    overflow:hidden!important;
  }
  .mobile-grid article::before{
    content:""!important;
    display:block!important;
    width:28px!important;
    height:4px!important;
    margin-bottom:14px!important;
    border-radius:999px!important;
    background:#0647ff!important;
  }
  .mobile-grid article:nth-child(3)::before{
    background:#e1262f!important;
  }
  .mobile-grid b{
    display:block!important;
    margin:0 0 6px!important;
    color:#111827!important;
    font-size:16px!important;
    line-height:1.12!important;
  }
  .mobile-grid p,
  .mobile-job-card p,
  .mobile-address{
    margin:0!important;
    color:#667085!important;
    font-size:14px!important;
    line-height:1.32!important;
  }
  .mobile-job-card{
    padding:16px!important;
  }
  .mobile-job-card a{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:14px!important;
    border-radius:8px!important;
    color:#fff!important;
    background:#0647ff!important;
    font-size:15px!important;
    font-weight:900!important;
  }
  .mobile-contact-list{
    display:grid!important;
    gap:8px!important;
  }
  .mobile-contact-list a{
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:10px 12px!important;
  }
  .mobile-contact-list span{
    color:#667085!important;
    font-size:12px!important;
    font-weight:900!important;
  }
  .mobile-contact-list b{
    color:#0647ff!important;
    font-size:14px!important;
    overflow-wrap:anywhere!important;
    text-align:right!important;
  }
  .mobile-address{
    margin-top:12px!important;
    padding:0 2px!important;
  }
  .mobile-tabbar{
    position:fixed!important;
    left:50%!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    z-index:60!important;
    width:min(404px,calc(100% - 20px))!important;
    height:70px!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
    padding:8px!important;
    transform:translateX(-50%)!important;
    border:1px solid rgba(220,226,236,.95)!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.95)!important;
    box-shadow:0 18px 44px rgba(17,24,39,.16)!important;
    backdrop-filter:blur(18px)!important;
  }
  .mobile-tabbar a{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    border-radius:6px!important;
    color:#667085!important;
    font-size:11px!important;
    font-weight:900!important;
  }
  .mobile-tabbar svg{
    width:19px!important;
    height:19px!important;
  }
  .mobile-tabbar a.is-active{
    color:#0647ff!important;
    background:#eef3ff!important;
  }
  .mobile-reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}
@media(max-width:355px){
  .mobile-app-topbar{
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:8px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .mobile-app-logo img{
    width:74px!important;
    max-width:74px!important;
  }
  .mobile-top-contacts a{
    font-size:11px!important;
    padding:0 6px!important;
  }
  .mobile-hero h1{
    font-size:33px!important;
  }
  .mobile-grid{
    grid-template-columns:1fr!important;
  }
}
@media(min-width:641px){
  .mobile-app{
    display:none!important;
  }
}

/* Ripristino smartphone: sito originale + banner alto con logo e contatti */
@media(max-width:640px){
  html body .mobile-app{
    display:none!important;
  }

  html body header.header{
    position:sticky!important;
    top:0!important;
    z-index:10000!important;
    display:grid!important;
    grid-template-columns:86px minmax(0,1fr) 40px!important;
    grid-template-areas:
      "logo contacts toggle"
      "menu menu menu"!important;
    gap:8px!important;
    align-items:center!important;
    width:100%!important;
    padding:max(8px,env(safe-area-inset-top)) 10px 8px!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid #dfe6f0!important;
    box-shadow:0 10px 26px rgba(15,23,42,.1)!important;
    backdrop-filter:blur(16px)!important;
  }

  html body main#home{
    display:block!important;
  }

  html body footer{
    display:block!important;
  }

  html body .header .logo,
  html body header.header .logo{
    grid-area:logo!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
  }

  html body .header .logo img,
  html body header.header .logo img{
    width:76px!important;
    max-width:76px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    transform:none!important;
    animation:none!important;
  }

  html body .header .top-actions,
  html body header.header .top-actions{
    grid-area:contacts!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    align-items:center!important;
    justify-content:stretch!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  html body .header .quick-action,
  html body header.header .quick-action{
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:0 7px!important;
    border:1px solid #dfe6f0!important;
    border-radius:8px!important;
    color:#0647ff!important;
    background:#fff!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  html body .header .phone-action,
  html body header.header .phone-action{
    grid-column:1/-1!important;
    color:#fff!important;
    background:#0647ff!important;
    border-color:#0647ff!important;
  }

  html body .header .quick-action svg,
  html body header.header .quick-action svg{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    flex:0 0 15px!important;
    background:transparent!important;
    color:currentColor!important;
    padding:0!important;
    border-radius:0!important;
  }

  html body .header .quick-action span,
  html body header.header .quick-action span{
    min-width:0!important;
    display:block!important;
    overflow:hidden!important;
  }

  html body .header .quick-action small,
  html body header.header .quick-action small{
    display:none!important;
  }

  html body .header .quick-action b,
  html body header.header .quick-action b{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    color:inherit!important;
    font-size:11px!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  html body .header .whatsapp-action b,
  html body header.header .whatsapp-action b{
    font-size:0!important;
  }

  html body .header .whatsapp-action b::after,
  html body header.header .whatsapp-action b::after{
    content:"WhatsApp"!important;
    font-size:11px!important;
  }

  html body .header .menu-toggle,
  html body header.header .menu-toggle{
    grid-area:toggle!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:8px!important;
    background:#071226!important;
    box-shadow:none!important;
  }

  html body .header .menu,
  html body header.header .menu{
    grid-area:menu!important;
    top:104px!important;
  }
}

@media(max-width:370px){
  html body header.header{
    grid-template-columns:74px minmax(0,1fr) 38px!important;
    gap:6px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  html body .header .logo img,
  html body header.header .logo img{
    width:68px!important;
    max-width:68px!important;
  }

  html body .header .quick-action b,
  html body header.header .quick-action b,
  html body .header .whatsapp-action b::after,
  html body header.header .whatsapp-action b::after{
    font-size:10px!important;
  }
}
/* Sfondo immagini nella sezione Smart Electrical System */
.showcase-main{
  min-height:430px!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  padding:28px!important;
  overflow:hidden!important;
  background:
    linear-gradient(145deg,rgba(3,12,28,.86),rgba(0,65,170,.58)),
    url("rack-dati-elettrozeta.png") center/cover no-repeat!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 22px 54px rgba(0,38,110,.30)!important;
}

.showcase-main::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 12% 10%,rgba(0,161,255,.28),transparent 30%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34))!important;
  pointer-events:none!important;
}

.showcase-main strong,
.showcase-main small,
.smart-bg-thumbs{
  position:relative!important;
  z-index:2!important;
}

.showcase-main strong{
  display:block!important;
  max-width:520px!important;
  text-shadow:0 14px 28px rgba(0,0,0,.55)!important;
}

.showcase-main small{
  display:block!important;
  color:#eaf4ff!important;
  text-shadow:0 10px 20px rgba(0,0,0,.50)!important;
}

.smart-bg-thumbs{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:14px!important;
  margin-top:22px!important;
}

.smart-bg-thumbs img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.28)!important;
  background:#071226!important;
}

@media(max-width:640px){
  .showcase-main{
    min-height:auto!important;
    padding:20px!important;
  }

  .smart-bg-thumbs{
    grid-template-columns:1fr!important;
  }

  .smart-bg-thumbs img{
    height:auto!important;
    aspect-ratio:1/1!important;
  }
}
