/* Sfondo libero: pannelli e schede sono trasparenti per consentire un background personalizzato. */
*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--site-bg-color:#f5f9fd;--site-bg-image:url("img/sfondo-pagina.png")}body{margin:0;background-color:var(--site-bg-color);background-image:var(--site-bg-image);background-position:center top;background-size:900px auto;background-repeat:repeat-y;background-attachment:scroll;font-family:Arial,Helvetica,sans-serif;color:#102a57} .page{width:900px;margin:0 auto;background:transparent;box-shadow:0 0 34px rgba(20,40,70,.12);overflow:hidden}.site-header{background:transparent}.brand-row{height:90px;display:flex;align-items:center;padding:8px 16px 8px 24px;gap:10px;border-bottom:1px solid #e9edf3}.brand-logo{width:64px;height:50px;display:flex;align-items:center;justify-content:center;flex:0 0 64px;background:transparent;border:0;padding:0;box-shadow:none;overflow:visible}.brand-logo img{width:64px;height:50px;max-width:none;max-height:none;object-fit:contain;display:block;background:transparent;overflow:visible}.divider{display:none}.header-info{display:flex;align-items:center;gap:7px;font-size:10px;line-height:1.22;color:#152b50;margin-left:auto}.header-info strong{font-size:11px}.pin{width:25px;height:25px;border-radius:50%;background:#f0441e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.round-icon{width:27px;height:27px;border-radius:50%;background:#f0441e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.round-icon.blue{background:#102a57}.main-nav{height:38px;display:flex;align-items:center;justify-content:center;gap:5px;background:linear-gradient(90deg,#ffb900 0%,#ff3b0d 23%,#ff2e11 78%,#ffb400 100%);padding:0 25px}.main-nav a{color:#fff;text-decoration:none;font-size:11px;font-weight:800;padding:8px 17px;border-radius:18px;white-space:nowrap}.main-nav a.active{background:#ffd21a;color:#111b2c}.section-card{background:transparent;border:1px solid #edf0f4;border-radius:0 0 22px 22px;box-shadow:0 6px 22px rgba(20,45,75,.08)}.hero{position:relative;min-height:345px;margin:10px 14px 0;padding:25px 25px 18px;display:grid;grid-template-columns:1fr 390px;gap:22px;overflow:hidden;background:transparent}.hero-copy{position:relative;z-index:2}.hero h1{margin:0 0 4px;font-size:38px;line-height:1;color:#071f4c;letter-spacing:-1.2px}.hero h2{margin:0 0 10px;font-size:20px;line-height:1.05;color:#071f4c}.hero p{margin:0 0 6px;font-size:14px;line-height:1.3}.check-list{list-style:none;margin:8px 0 12px;padding:0}.check-list li{font-size:14px;line-height:1.3;margin:0;padding-left:25px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;background:#f0441e;color:#fff;text-align:center;font-size:12px;line-height:19px;font-weight:900}.hero-photo{position:relative;z-index:2;height:246px;align-self:start;margin-top:2px;border:6px solid #fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 22px rgba(20,35,60,.18)}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.hero-ctas{display:flex;gap:9px;position:relative;z-index:4}.cta{display:flex;align-items:center;gap:8px;height:44px;border-radius:12px;border:2px solid #fff;color:#fff;text-decoration:none;padding:0 11px;box-shadow:0 3px 8px rgba(0,0,0,.12)}.cta.red{background:#f0441e;width:174px}.cta.orange{background:#f5a900;width:196px}.cta-icon{font-size:21px}.cta small,.cta strong{display:block}.cta small{font-size:9px}.cta strong{font-size:13px}.section{padding:28px 20px 26px}.services{background:transparent}.section-heading{margin:0 8px 16px}.section-heading h2{margin:0 0 5px;font-size:30px;line-height:1;color:#071f4c;letter-spacing:-.7px}.section-heading p{margin:0;font-size:14px}.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 11px}.service-card{background:transparent;border:1px solid #e6eaf0;border-radius:10px;overflow:hidden;box-shadow:0 5px 16px rgba(30,55,90,.07);padding-bottom:10px}.service-card img{width:100%;height:130px;display:block;object-fit:cover}.service-title{display:flex;align-items:center;gap:7px;margin:-1px 10px 5px 0}.service-title h3{margin:0;font-size:14px;line-height:1.05;color:#071f4c}.ico{width:45px;height:45px;min-width:45px;margin-top:-7px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:25px;font-weight:900;border:3px solid #fff}.ico.red{background:#f0441e}.ico.yellow{background:#f7bd00}.service-card p{font-size:9.5px;line-height:1.28;margin:0 10px;color:#294466}.home-assistance{margin:12px 14px 0;position:relative;padding:18px 24px 72px;display:grid;grid-template-columns:1.1fr 1fr;gap:24px;background:transparent;overflow:hidden}.luigi-brand{display:flex;flex-direction:column;justify-content:center}.luigi-brand strong{font-size:62px;line-height:.8;color:#092f68;letter-spacing:-4px}.luigi-brand span{display:inline-block;margin-top:8px;font-size:23px;font-weight:900;color:#fff;background:#092f68;padding:4px 14px;border-radius:10px;width:max-content}.luigi-copy h2{margin:4px 0 8px;font-size:25px;color:#0b3976;font-style:italic}.luigi-copy p{margin:0;font-size:13px;line-height:1.35}.assistance-contact{position:absolute;left:0;right:0;bottom:0;height:58px;background:#082f67;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.assistance-contact a{height:38px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;text-decoration:none;border-right:1px solid rgba(255,255,255,.4);font-size:10px}.assistance-contact a:last-child{border-right:0}.assistance-contact span{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#19a64b;font-size:18px;border:2px solid #fff}.assistance-contact a:last-child span{background:#2175dd}.assistance-contact strong{display:block;font-size:14px}.assistance{padding-top:26px;background:transparent}.help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.help-card{background:transparent;border:1px solid #e4e9f0;border-radius:10px;overflow:hidden;box-shadow:0 5px 14px rgba(30,55,90,.06);padding-bottom:9px}.help-card img{width:100%;height:88px;display:block;object-fit:cover}.help-title{display:flex;align-items:center;gap:5px;padding:5px 8px 3px}.help-title h3{margin:0;color:#071f4c;font-size:12.5px;line-height:1}.dot{width:12px;height:12px;border-radius:50%;display:block}.dot.blue{background:#1572dc}.dot.green{background:#159b53}.dot.red{background:#f0441e}.dot.purple{background:#7049c8}.help-card p{font-size:8.7px;line-height:1.2;margin:0 8px;color:#294466}.footer-wave{margin-top:18px;padding:16px 28px 22px;background:transparent;color:#294466;border-top:1px solid #e3e9f1;display:flex;justify-content:space-between;font-size:11px;font-weight:700}.footer-wave div{background:transparent;padding:0;border-radius:0}@media(max-width:900px){.page{margin:0;width:900px}}

/* Marchi testuali nel banner superiore */
.brand-text{display:flex;align-items:center;justify-content:center;font-weight:900;white-space:nowrap;line-height:1}.windtre-text{font-size:31px;color:#f0441e;letter-spacing:-1.2px;text-shadow:0 1px 0 rgba(255,255,255,.35)}.fastweb-text{font-size:30px;color:#f2ad00;letter-spacing:-1px;text-shadow:0 1px 0 rgba(255,255,255,.35)}.ho-text{font-size:30px;color:#5b22b8;letter-spacing:-.8px;text-shadow:0 1px 0 rgba(255,255,255,.35)}
/* Descrizioni più leggibili */
.service-card p{font-size:14px;line-height:1.42;color:#1f416b}
.help-card p{font-size:13px;line-height:1.38;color:#1f416b}
.luigi-copy p{font-size:16px;line-height:1.5;color:#1f416b}

/* Testi dei servizi e dell'assistenza: dimensioni maggiorate */
.service-title h3{font-size:17px;line-height:1.12}
.service-card p{font-size:14.5px;line-height:1.42;margin-left:12px;margin-right:12px}
.help-title h3{font-size:14.5px;line-height:1.1}
.help-card p{font-size:11.5px;line-height:1.35;margin-left:10px;margin-right:10px}
.luigi-brand strong{font-size:68px}
.luigi-brand span{font-size:25px}
.luigi-copy h2{font-size:29px;line-height:1.08}
.luigi-copy p{font-size:17px;line-height:1.45}
.assistance-contact a{font-size:11px}
.assistance-contact strong{font-size:15px}
.footer-wave{font-size:13px}

/* CORREZIONE TESTI EVIDENZIATI - dimensioni realmente maggiorate */
.service-title h3{font-size:20px !important;line-height:1.12 !important;}
.service-card p{font-size:17px !important;line-height:1.38 !important;margin-left:12px !important;margin-right:12px !important;}
.help-title h3{font-size:17px !important;line-height:1.12 !important;}
.help-card p{font-size:15px !important;line-height:1.32 !important;margin-left:10px !important;margin-right:10px !important;}
.luigi-brand strong{font-size:72px !important;}
.luigi-brand span{font-size:27px !important;}
.luigi-copy h2{font-size:32px !important;line-height:1.08 !important;}
.luigi-copy p{font-size:19px !important;line-height:1.42 !important;}
.assistance-contact a{font-size:13px !important;}
.assistance-contact strong{font-size:17px !important;}
.footer-wave{font-size:14px !important;}

/* CORREZIONE TESTI SERVIZI - VERSIONE 2 */
.service-title h3{font-size:19px !important;line-height:1.15 !important;font-weight:800 !important;}
.service-card p{font-size:16px !important;line-height:1.35 !important;margin:0 12px !important;color:#173b67 !important;}
.help-title h3{font-size:16px !important;line-height:1.15 !important;font-weight:800 !important;}
.help-card p{font-size:14px !important;line-height:1.35 !important;margin:0 10px !important;color:#173b67 !important;}
.luigi-copy h2{font-size:30px !important;line-height:1.08 !important;font-weight:800 !important;}
.luigi-copy p{font-size:17px !important;line-height:1.45 !important;color:#173b67 !important;}
.luigi-brand strong{font-size:68px !important;}
.luigi-brand span{font-size:25px !important;}
.assistance-contact a{font-size:13px !important;}
.assistance-contact strong{font-size:17px !important;}

/* DIMENSIONI TESTI RICHIESTE */
.service-title h3{font-size:16px !important;}
.service-card p{font-size:13px !important;}
.help-title h3{font-size:16px !important;}
.help-card p{font-size:13px !important;}
.luigi-copy h2{font-size:23px !important;}
.luigi-copy p{font-size:15px !important;}


/* V2 ATTIVA - DIMENSIONI RICHIESTE */
.service-title h3{font-size:16px !important;}
.service-card p{font-size:13px !important;}
.help-title h3{font-size:16px !important;}
.help-card p{font-size:13px !important;}
.luigi-copy h2{font-size:23px !important;}
.luigi-copy p{font-size:15px !important;}

/* SOLO MODIFICA RICHIESTA: ASSISTENZA A DOMICILIO stessa dimensione di I NOSTRI SERVIZI */
.luigi-brand span{font-size:30px !important;}

/* TITOLI SEZIONE - STESSA DIMENSIONE E STESSA ESTETICA */
.section-heading h2,
.luigi-brand span{
  display:inline-block !important;
  box-sizing:border-box !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.5px !important;
  padding:4px 14px !important;
  border-radius:10px !important;
  background:transparent !important;
}
.section-heading h2{
  color:#071f4c !important;
  border:3px solid #f0441e !important;
  margin:0 0 5px !important;
}
.luigi-brand span{
  color:#fff !important;
  background:#092f68 !important;
  border:3px solid #092f68 !important;
  margin-top:8px !important;
}

/* ULTIMA MODIFICA: due titoli identici per dimensione/estetica, cambia solo il colore di fondo */
.section-heading h2,
.luigi-brand span{
  display:inline-block !important;
  box-sizing:border-box !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.5px !important;
  padding:4px 14px !important;
  border-radius:10px !important;
  color:#fff !important;
}
.section-heading h2{
  background:#f0441e !important;
  border:3px solid #f0441e !important;
  margin:0 0 5px !important;
}
.luigi-brand span{
  background:#092f68 !important;
  border:3px solid #092f68 !important;
  margin-top:8px !important;
}

/* SOLO MODIFICA RICHIESTA: titolo Luigi 20px */
.luigi-copy h2{font-size:20px !important;}

/* Correzione richiesta: titolo Luigi */
.luigi-brand strong{font-size:35px !important;}

/* TIPOGRAFIA UNICA DEL SITO: INTER */
@font-face{font-family:'InterLocal';src:url('fonts/Inter-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'InterLocal';src:url('fonts/Inter-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'InterLocal';src:url('fonts/Inter-SemiBold.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'InterLocal';src:url('fonts/Inter-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'InterLocal';src:url('fonts/Inter-ExtraBold.otf') format('opentype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'InterLocal';src:url('fonts/Inter-Black.otf') format('opentype');font-weight:900;font-style:normal;font-display:swap}
html,body,.page,.page *{font-family:'InterLocal',Inter,Arial,sans-serif;}
.page *{font-style:normal;}

/* =========================================================
   TIPOGRAFIA FINALE UNIFORME
   Un solo carattere e un solo stile tipografico per tutto il sito.
   Le differenze sono solo dimensione, peso e colore quando servono.
   ========================================================= */
html, body, .page, .page * {
  font-family: 'InterLocal', Inter, Arial, sans-serif !important;
  font-style: normal !important;
  letter-spacing: normal !important;
}

/* Mantieni le icone come elementi grafici, senza alterarne il peso */
.ico, .dot, .pin, .round-icon, .cta-icon, .assistance-contact span {
  font-family: Arial, sans-serif !important;
  letter-spacing: normal !important;
  font-style: normal !important;
}

/* Dimensioni concordate */
.service-title h3 { font-size:16px !important; }
.service-card p { font-size:13px !important; }
.help-title h3 { font-size:16px !important; }
.help-card p { font-size:13px !important; }
.luigi-brand strong { font-size:35px !important; font-weight:800 !important; }
.luigi-brand span { font-size:30px !important; font-weight:800 !important; }
.luigi-copy h2 { font-size:25px !important; font-weight:700 !important; }
.luigi-copy p { font-size:15px !important; }
.section-heading h2 { font-size:30px !important; font-weight:800 !important; }

/* RIDUZIONE SPAZIO BIANCO TRA HERO E SERVIZI */
.hero{min-height:285px !important;}


/* TRE SEZIONI PRINCIPALI - TABELLE BEN DISTINTE */
.hero.section-card{
  margin:12px 14px 0 !important;
  border:2px solid #aebfd2 !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 4px 14px rgba(20,40,70,.10) !important;
}

.services.section{
  margin:14px 14px 0 !important;
  padding:14px 10px 16px !important;
  border:2px solid #aebfd2 !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 4px 14px rgba(20,40,70,.10) !important;
}

.assistance-block{
  margin:14px 14px 0 !important;
  border:2px solid #aebfd2 !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 4px 14px rgba(20,40,70,.10) !important;
  overflow:hidden !important;
}

.assistance-block .home-assistance{
  margin:0 !important;
}

.assistance-block .assistance{
  margin:0 !important;
}


/* SFONDO PAGINA - FILE UNICO DA SOSTITUIRE */
:root{
  --site-bg-color:transparent;
  --site-bg-image:url("img/sfondo-pagina.png");
}
html{
  background:transparent !important;
}
body{
  background-color:transparent !important;
  background-image:url("img/sfondo-pagina.png") !important;
  background-position:center top !important;
  background-size:cover !important;
  background-repeat:repeat-y !important;
  background-attachment:scroll !important;
}
.page{
  background:transparent !important;
}

/* SFONDI SEPARATI:
   - sfondo-pagina.png = area esterna al sito
   - sfondo-professionale.png = interno del sito */
html{
  background:transparent !important;
}
body{
  background-color:transparent !important;
  background-image:url("img/sfondo-pagina.png") !important;
  background-position:center top !important;
  background-size:cover !important;
  background-repeat:repeat-y !important;
  background-attachment:scroll !important;
}
.page{
  background-color:transparent !important;
  background-image:url("img/sfondo-professionale.png") !important;
  background-position:center top !important;
  background-size:900px auto !important;
  background-repeat:repeat-y !important;
}

/* EFFETTO 3D SULL'INTERO SITO */
.page{
  position:relative !important;
  border:1px solid #173b67 !important;
  border-radius:16px !important;
  box-shadow:
    6px 6px 0 rgba(23,59,103,.20),
    6px 6px 16px rgba(20,40,70,.28),
    inset 0 2px 0 rgba(255,255,255,.78),
    inset -2px 0 0 rgba(23,59,103,.12) !important;
  transform:translateY(-3px) !important;
}

/* DISTACCO SUPERIORE DEL SITO */
.page{
  margin-top:2px !important;
}

/* DISTACCO SUPERIORE 5PX */
.page{margin-top:5px !important;}

/* EFFETTO 3D SOLO SUGLI ELEMENTI EVIDENZIATI */
.hero-ctas .cta{
  position:relative !important;
  transform:translateY(-3px) !important;
  border:1px solid rgba(255,255,255,.95) !important;
  box-shadow:
    6px 6px 0 rgba(23,59,103,.20),
    6px 6px 16px rgba(20,40,70,.28),
    inset 0 2px 0 rgba(255,255,255,.55),
    inset -2px -2px 0 rgba(0,0,0,.10) !important;
}

.section-heading h2,
.luigi-brand span{
  position:relative !important;
  transform:translateY(-3px) !important;
  box-shadow:
    6px 6px 0 rgba(23,59,103,.20),
    6px 6px 16px rgba(20,40,70,.28),
    inset 0 2px 0 rgba(255,255,255,.45),
    inset -2px -2px 0 rgba(0,0,0,.10) !important;
}
