:root{--blue:#0758a3;--blue2:#0a67b6;--dark:#0d2d55;--pale:#eef5fb;--line:#d9e4ef;--text:#17324f;--muted:#5d7188;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}.wrap{width:min(1180px,94%);margin:auto}a{color:inherit}.topbar{background:linear-gradient(90deg,#0758a3,#0d3f79);color:white;font-size:14px}.topbar-inner{min-height:42px;display:flex;align-items:center;gap:30px}.topbar a{text-decoration:none}.top-cta{margin-left:auto;background:white;color:var(--blue);font-weight:800;padding:8px 18px;border-radius:6px}.logo-row{display:flex;justify-content:center;padding:14px 0 10px}.brand-logo{width:min(1120px,96%);height:280px;object-fit:contain}.nav{border-top:1px solid #e6edf4;border-bottom:1px solid #dce7f1;background:#fff}.nav-inner{height:58px;display:flex;align-items:center;justify-content:center;gap:48px}.nav a{text-decoration:none;color:var(--dark);font-weight:700;font-size:14px;padding:19px 0 14px;border-bottom:3px solid transparent}.nav a:hover,.nav a.active{color:var(--blue);border-bottom-color:var(--blue)}
.hero{background:#f7f9fc}.hero-grid{display:grid;grid-template-columns:43% 57%;min-height:450px}.hero-copy{padding:44px 28px 28px 18px;background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.94),rgba(255,255,255,.18))}.hero-copy h1{margin:0;color:var(--blue);font-size:54px;line-height:.96;letter-spacing:-1.5px}.hero-copy>p{font-size:20px;line-height:1.28;font-weight:700;color:#0b4d88;max-width:520px}.btn{display:inline-flex;align-items:center;gap:14px;text-decoration:none;border-radius:6px;padding:14px 20px;font-weight:800}.primary{background:var(--blue);color:#fff}.light{background:white;color:var(--blue)}.hero-points{display:flex;gap:28px;margin-top:26px;color:#0b4d88}.hero-points>div{display:flex;align-items:center;gap:8px;font-size:13px}.big-ico{font-size:30px}.hero-photo{background:url('assets/hero-clima.jpg') center right/cover no-repeat;position:relative;min-height:450px}
.services{padding:18px 0 22px;background:#fff}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);text-align:center;gap:8px}.service-grid article{padding:8px}.service-icon{width:60px;height:60px;margin:0 auto 10px;border-radius:50%;background:#eaf3fb;display:grid;place-items:center;color:var(--blue);font-size:30px}.service-grid h3{font-size:14px;color:#0b4d88;margin:4px 0}.service-grid p{font-size:12px;margin:0;color:#274864;line-height:1.25}
.tech-grid{display:grid;grid-template-columns:38% 23% 39%;min-height:270px}.tech-photo{background:url('assets/tecnologia-efficienza.jpg') center/cover no-repeat}.tech-blue{background:linear-gradient(135deg,#0e4a8c,#0758a3);color:#fff;padding:28px}.tech-blue h2{font-size:30px;line-height:1.05;margin:0 0 12px}.tech-blue p{font-size:18px;line-height:1.25}.tech-blue .btn{font-size:12px}.benefits{padding:20px 28px;display:flex;flex-direction:column;justify-content:center;gap:18px;background:#fff}.benefits>div{display:flex;align-items:center;gap:20px;color:#0b4d88}.benefits span{font-size:38px}.benefits p{margin:0;font-size:14px;line-height:1.35}.benefits b{font-size:16px}
.certs{background:#f6f9fd;padding:18px 0 24px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.section-head h2{font-size:34px;color:#0b4d88;margin:0;border-bottom:4px solid var(--blue);padding-bottom:5px}.section-head p{margin:0;color:#173f6b;font-size:15px}.cert-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.cert-grid article{background:white;border-radius:8px;padding:14px 10px;text-align:center;box-shadow:0 1px 0 rgba(0,0,0,.04)}.cert-grid a{text-decoration:none}.cert-grid img{width:100%;height:64px;object-fit:contain}.cert-grid h3{color:#0758a3;font-size:14px;line-height:1.15;margin:8px 0 0}.cert-grid h3 span{font-weight:400;font-size:12px}
.consult{background:linear-gradient(90deg,#0758a3,#0b4f91);color:#fff;padding:18px 0}.consult-grid{display:grid;grid-template-columns:70px 1.4fr 1fr 190px;gap:20px;align-items:center}.phone{font-size:52px}.consult h2{margin:0;font-size:24px}.consult p{margin:2px 0;font-size:14px;line-height:1.3}.prices{font-size:14px;line-height:1.15}.prices b{font-size:20px}.prices small{font-size:12px}.wide{justify-content:center}
footer{background:#fff;border-top:1px solid #dfe8f1;padding:16px 0}.footer-grid{display:grid;grid-template-columns:auto 1fr auto auto;gap:26px;align-items:center;font-size:12px;color:#31506c}.footer-brand{color:#0758a3;font-size:18px}.counter-box{display:flex;align-items:center;gap:8px}.counter-box span{font-weight:700;color:#0758a3}.counter-box strong{font-family:monospace;font-size:18px;letter-spacing:2px;background:#222;color:#fff;padding:3px 7px;border-radius:3px}.footer-links a{text-decoration:none;color:#0758a3}
@media(max-width:900px){.topbar-inner{flex-wrap:wrap;gap:8px;padding:8px 0}.top-cta{margin-left:0}.brand-logo{height:220px}.nav-inner{justify-content:flex-start;overflow-x:auto;gap:22px}.hero-grid{grid-template-columns:1fr}.hero-copy{background:#fff}.hero-copy h1{font-size:44px}.hero-photo{min-height:360px}.service-grid{grid-template-columns:repeat(3,1fr)}.tech-grid{grid-template-columns:1fr}.tech-photo{min-height:240px}.cert-grid{grid-template-columns:repeat(2,1fr)}.consult-grid{grid-template-columns:65px 1fr}.prices,.wide{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.counter-box{justify-content:flex-end}}
@media(max-width:520px){.brand-logo{height:170px}.hero-copy h1{font-size:34px}.hero-copy>p{font-size:17px}.hero-points{flex-direction:column;gap:10px}.service-grid{grid-template-columns:repeat(2,1fr)}.cert-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.section-head h2{font-size:28px}.consult-grid{grid-template-columns:1fr}.prices,.wide{grid-column:1}.footer-grid{grid-template-columns:1fr}.counter-box{justify-content:flex-start}}

/* Ottimizzazione certificazioni su smartphone */
@media(max-width:520px){
  .certs{padding:14px 0 18px}
  .cert-grid{gap:12px;margin-top:10px}
  .cert-grid article{padding:12px 10px 14px;border-radius:12px}
  .cert-grid img{display:block;width:160px;max-width:70%;height:58px;object-fit:cover;object-position:top center;margin:0 auto 6px}
  .cert-grid h3{font-size:15px;line-height:1.15;margin:4px 0 0}
  .cert-grid h3 span{font-size:13px;line-height:1.2}
}

/* === SOPRALLUOGO + CONTATTI: AGGIORNAMENTO 2026-09-11 === */
.survey-form-section{
  background:#eef5fb;
  padding:38px 0;
}
.survey-layout{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:34px;
  align-items:start;
}
.form-eyebrow{
  display:inline-block;
  color:#0758a3;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  margin-bottom:8px;
}
.survey-intro h2{
  margin:0 0 12px;
  color:#0b4d88;
  font-size:34px;
  line-height:1.05;
}
.survey-intro p{
  color:#31506c;
  line-height:1.55;
  margin:0 0 18px;
}
.survey-contact-note{
  background:#fff;
  border-left:4px solid #0758a3;
  border-radius:8px;
  padding:14px 16px;
  display:grid;
  gap:4px;
  color:#17324f;
}
.survey-form{
  background:#fff;
  border:1px solid #d9e4ef;
  border-radius:14px;
  padding:24px;
  box-shadow:0 8px 30px rgba(7,88,163,.08);
  min-width:0;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.form-grid label{
  display:grid;
  gap:7px;
  color:#17324f;
  font-size:13px;
  font-weight:700;
  min-width:0;
}
.full-field{grid-column:1/-1}
.survey-form input,
.survey-form select,
.survey-form textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  border:1px solid #bfcfdf;
  border-radius:7px;
  background:#fff;
  color:#17324f;
  font:inherit;
  font-weight:400;
  padding:11px 12px;
  outline:none;
}
.survey-form textarea{resize:vertical;min-height:120px}
.survey-form input:focus,
.survey-form select:focus,
.survey-form textarea:focus{
  border-color:#0758a3;
  box-shadow:0 0 0 3px rgba(7,88,163,.12);
}
.privacy-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:18px 0;
  font-size:13px;
  line-height:1.4;
  color:#31506c;
}
.privacy-consent input{
  width:18px;
  height:18px;
  flex:0 0 auto;
  margin-top:1px;
}
.privacy-consent a{color:#0758a3;font-weight:700}
.submit-survey{border:0;cursor:pointer}
.form-note{margin:10px 0 0;color:#667b90;font-size:12px}
.hp-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.form-status{
  display:none;
  margin:0 0 16px;
  border-radius:8px;
  padding:12px 14px;
  font-size:14px;
  line-height:1.4;
}
.form-status.ok{display:block;background:#eaf7ee;color:#216a37;border:1px solid #b8dfc3}
.form-status.error{display:block;background:#fff0f0;color:#8b2424;border:1px solid #ebc2c2}

/* Consulenza completa: telefono, WhatsApp, orari e prezzi */
.consult-grid-complete{
  grid-template-columns:64px minmax(0,1.35fr) minmax(220px,.8fr) minmax(180px,.65fr);
}
.consult-copy{min-width:0}
.consult-copy h2{margin-bottom:6px}
.contact-hours{margin-top:8px!important;font-size:13px!important}
.weekend-note{opacity:.9}
.prices{
  display:grid;
  gap:10px;
}
.prices>div{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:8px;
  align-items:baseline;
}
.prices b{grid-row:1/3;font-size:22px}
.prices span{font-weight:700}
.prices small{font-size:12px}
.consult-actions{
  display:grid;
  gap:9px;
}
.consult-actions .btn{
  width:100%;
  justify-content:center;
  white-space:nowrap;
}
.whatsapp-btn{
  background:#fff;
  color:#0b6b4d;
}

/* Footer sempre leggibile e completo */
footer .footer-grid{
  align-items:center;
}
.footer-brand{white-space:nowrap}
.counter-box{min-width:0}

/* Adattamento nuovo modulo/consulenza */
@media(max-width:1000px){
  .survey-layout{grid-template-columns:1fr}
  .consult-grid-complete{
    grid-template-columns:56px minmax(0,1fr) minmax(210px,.75fr);
  }
  .consult-actions{
    grid-column:2/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .form-grid{grid-template-columns:1fr}
  .full-field{grid-column:auto}
  .consult-grid-complete{grid-template-columns:1fr}
  .consult-grid-complete .phone{display:none}
  .consult-actions{
    grid-column:auto;
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:520px){
  .survey-form-section{padding:24px 0}
  .survey-layout{gap:18px}
  .survey-intro h2{font-size:27px}
  .survey-form{padding:16px}
  .survey-form input,
  .survey-form select,
  .survey-form textarea{font-size:16px}
  .consult-actions{grid-template-columns:1fr}
  .prices>div{grid-template-columns:auto 1fr}
}

/* CTA pagina codici errore */
.error-codes-cta{background:#fff;padding:28px 0;border-top:1px solid #e3ebf3;border-bottom:1px solid #e3ebf3}
.error-codes-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.error-codes-cta h2{margin:0 0 6px;color:#0b4d88;font-size:30px}
.error-codes-cta p{margin:0;color:#516a82}
@media(max-width:760px){
  .error-codes-cta-inner{display:grid;grid-template-columns:1fr}
  .error-codes-cta h2{font-size:25px}
}

/* === LAYOUT UNICO E PULITO - 2026-09-13 === */
html, body {
  margin: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.wrap {
  width: min(1180px, calc(100% - 32px));
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.hero-grid,
.service-grid,
.tech-grid,
.cert-grid,
.survey-layout,
.consult-grid,
.consult-grid-complete,
.footer-grid {
  min-width: 0;
  max-width: 100%;
}

.hero-grid > *,
.service-grid > *,
.tech-grid > *,
.cert-grid > *,
.survey-layout > *,
.consult-grid > *,
.consult-grid-complete > *,
.footer-grid > * {
  min-width: 0;
  max-width: 100%;
}

/* Certificazioni: nessuno spostamento laterale */
#certificazioni .section-head,
#certificazioni .cert-grid {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  transform: none;
}

#certificazioni .cert-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#certificazioni .cert-grid article {
  min-width: 0;
  overflow: hidden;
}

/* Modulo sopralluogo: mantiene l'impaginazione corretta */
#sopralluogo .survey-layout {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  transform: none;
}

@media (max-width: 900px) {
  .wrap {
    width: calc(100% - 24px);
  }

  #certificazioni .cert-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .wrap {
    width: calc(100% - 20px);
  }

  #certificazioni .cert-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #certificazioni .cert-grid img {
    width: 140px;
    max-width: 60%;
    height: 54px;
    object-fit: contain;
    object-position: center;
  }
}

/* === CERTIFICAZIONI: VERSIONE DEFINITIVA 2026-09-13 === */
#certificazioni.certs{
  padding:28px 0 34px;
}

#certificazioni .cert-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
  width:100%;
}

#certificazioni .cert-grid article{
  background:#fff;
  border:1px solid #dfe8f1;
  border-radius:14px;
  min-height:190px;
  padding:20px 14px 18px;
  text-align:center;
  box-shadow:0 7px 20px rgba(7,88,163,.07);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
}

#certificazioni .cert-grid article > a{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-decoration:none;
}

#certificazioni .cert-grid img{
  display:block;
  width:auto;
  max-width:88%;
  height:78px;
  object-fit:contain;
  object-position:center;
  margin:0 auto 14px;
  flex:0 0 auto;
}

#certificazioni .cert-grid h3{
  color:#0758a3;
  font-size:15px;
  line-height:1.22;
  margin:0;
  font-weight:800;
}

#certificazioni .cert-grid h3 span{
  display:inline-block;
  margin-top:3px;
  color:#31506c;
  font-size:12.5px;
  line-height:1.25;
  font-weight:400;
}

@media(max-width:960px){
  #certificazioni .cert-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  #certificazioni.certs{
    padding:20px 0 24px;
  }

  #certificazioni .cert-grid{
    grid-template-columns:1fr;
    gap:12px;
    margin-top:14px;
  }

  #certificazioni .cert-grid article{
    min-height:0;
    padding:18px 14px;
  }

  #certificazioni .cert-grid img{
    width:auto;
    max-width:76%;
    height:72px;
    margin-bottom:12px;
  }

  #certificazioni .cert-grid h3{
    font-size:15px;
  }
}

.counter-box{display:none!important;}