:root{
  --blu:#1e6c93;
  --blu-scuro:#174f6c;
  --navy:#1f3c88;
  --arancio:#f39200;
  --testo:#212121;
  --grigio:#5f6368;
  --sfondo:#ffffff;
  --sfondo-alt:#f2f2f2;
  --wa:#25d366;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Lato,"Helvetica Neue",Arial,sans-serif;color:var(--testo);background:var(--sfondo);font-size:17px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--blu)}
a:hover{color:var(--blu-scuro)}
.salta{position:absolute;left:-9999px}
.salta:focus{left:8px;top:8px;z-index:50;background:#fff;padding:8px 12px}

/* Testata sopra il banner, come nel sito attuale */
.testata{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:rgba(31,32,32,.5);color:#fff}
.marchio{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:18px;white-space:nowrap}
.marchio img{background:#fff;border-radius:3px;padding:3px 4px;height:41px;width:auto}
.marchio:hover{color:#fff}
.testata nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px}
.testata nav a,.testata nav button{color:rgba(255,255,255,.88);text-decoration:none;font:inherit;font-size:15px;background:none;border:0;padding:6px 0;cursor:pointer}
.testata nav a:hover,.testata nav button:hover,.testata nav a.attivo{color:#fff}
.testata nav a.attivo{font-weight:700}
.altro{position:relative}
.altro ul{display:none!important;position:absolute;right:0;top:100%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18);border-radius:4px;padding:8px 0!important;min-width:240px;flex-direction:column;align-items:stretch!important;gap:0!important}
.altro.aperto ul{display:flex!important}
.altro ul a{display:block;color:var(--testo)!important;padding:10px 18px!important}
.altro ul a:hover{background:var(--sfondo-alt)}
.apri-menu{display:none;background:none;border:1px solid rgba(255,255,255,.7);color:#fff;border-radius:4px;padding:6px 12px;font:inherit;font-size:15px;cursor:pointer}

/* Banner */
.banner{min-height:300px;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center;padding:110px 24px 50px}
.banner.home{min-height:420px}
.banner-titolo{margin:0;color:#fff;font-weight:900;font-size:clamp(30px,5.2vw,58px);line-height:1.25;max-width:900px;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:10px}

/* Contenuto */
main{display:block}
.testo{max-width:960px;margin:0 auto;padding:40px 24px 16px}
.testo h1{font-size:clamp(24px,3.4vw,32px);line-height:1.3;color:var(--testo);margin:8px 0 20px}
.testo h2{font-size:22px;color:var(--blu);margin:34px 0 10px}
.elenco{padding-left:22px}
.elenco li{margin:6px 0}
.punti{list-style:none;padding:0;display:grid;gap:10px}
.punti li{background:var(--sfondo-alt);border-left:4px solid var(--arancio);padding:12px 16px;border-radius:2px}
.nota{background:#fff8e6;border-left:4px solid var(--arancio);padding:12px 16px}

/* Schede servizi in home */
.schede{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 30px}
.scheda{text-decoration:none;color:var(--testo);display:block}
.scheda img{aspect-ratio:1/1;object-fit:cover;width:100%}
.scheda h2{text-align:center;color:var(--blu);font-weight:400;font-size:22px;margin:14px 0 6px}
.scheda p{text-align:center;margin:0 6px}
.scheda:hover h2{text-decoration:underline}

/* Domande frequenti */
.faq{border-bottom:1px solid #ddd;padding:6px 0}
.faq summary{cursor:pointer;font-weight:700;padding:12px 0;color:var(--blu);font-size:18px}
.faq p{margin:0 0 14px}

/* Chiamata all'azione */
.cta{text-align:center;background:var(--sfondo-alt);padding:34px 24px 40px;margin-top:30px}
.cta p{margin:0 0 18px;font-size:18px}
.bottone{display:inline-flex;align-items:center;gap:10px;margin:6px 8px;padding:13px 26px;border-radius:4px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:15px}
.bottone svg{width:22px;height:22px;fill:currentColor}
.bottone.wa{background:var(--blu);color:#fff}
.bottone.wa:hover{background:var(--blu-scuro);color:#fff}
.bottone.tel{border:2px solid var(--blu);color:var(--blu)}

/* Piede */
.piede{background:var(--grigio);color:#fff;padding:34px max(24px,calc((100% - 912px)/2)) 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 40px;max-width:none}
.piede a{color:#fff}
.piede p{margin:0 0 12px;font-size:15px}
.piede-nome{font-size:20px!important;font-weight:700}
.piede-legale{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.25);padding-top:14px;font-size:13px!important;opacity:.85}
.social{display:flex;gap:14px}
.social svg{width:26px;height:26px;fill:#fff}

/* Pulsante WhatsApp fisso */
.wa-fisso{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.3);z-index:30}
.wa-fisso svg{width:32px;height:32px;fill:#fff}

@media (max-width:900px){
  .apri-menu{display:block}
  .testata{flex-wrap:wrap;padding:10px 16px}
  .testata nav{display:none;width:100%}
  .testata nav.aperto{display:block}
  .testata nav ul{flex-direction:column;align-items:flex-start;gap:0;background:rgba(20,20,20,.92);border-radius:4px;padding:8px 16px}
  .testata nav li{width:100%}
  .testata nav a,.testata nav button{display:block;width:100%;text-align:left;padding:11px 0;font-size:17px}
  .altro ul{position:static;display:flex!important;box-shadow:none;background:transparent;padding:0 0 0 14px!important;min-width:0}
  .altro button{display:none!important}
  .altro ul a{color:rgba(255,255,255,.88)!important;padding:11px 0!important}
  .altro ul a:hover{background:transparent}
  .schede{grid-template-columns:1fr;gap:28px}
  .scheda img{aspect-ratio:4/3;object-position:center 25%}
  .banner{min-height:240px;padding-top:96px}
  .banner.home{min-height:330px}
  .piede{grid-template-columns:1fr}
}
