﻿/* tetti-master-v1786107277.css - H2 42px, H3 36-40px, NO quote box, sezione blu ottimizzata */
/* tetti-master-v1786106348.css - H2 +10px, H3 +6/+8px per leggibilita' desktop */
/* tetti-master-v1786105516.css - FIX container max-width 1200px (era 100%) */
/* tetti-master-v1786100829.css - h3 +2 punti  */

:root {
  --bg-perla-1: #f0f0f0;
  --bg-perla-2: #d8d8d8;
  --text-blue: #1B3A5C;
  --text-blue-light: #2c5078;
  --accent-light: #e5dcc8;
  --accent-dark: #1B3A5C;
}
/* TETTI TOP SERVICE - MASTER CSS v1
   Applicato a TUTTE le 7 pagine (index, servizi, chisiamo, contatti, faq, sicurezza, lavori)
   Contiene: header UNICO, footer compatto, whatsapp, cookie banner, form, perla gradient
*/

/* ============================================================
   HEADER UNICO - IDENTICO PER TUTTE LE PAGINE
   ============================================================ */
.site-header {
  background: #ffffff !important;
  box-shadow: none !important;
  border-bottom: 1px solid #FFD700 !important;
  position: sticky !important;
  top: 0;
  z-index: 1000;
  min-height: 136px !important;
  padding: 0 !important;
}
.site-header > .container,
.site-header > .header-inner,
.site-header .container.header-inner,
.site-header > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 136px !important;
  padding: 15px 40px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  gap: 2rem !important;
}
.site-header .logo-link {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.site-header .logo-img,
.site-header img.logo-img {
  height: 100px !important;
  width: auto !important;
  max-width: 320px !important;
  display: block !important;
  background: transparent !important;
  border: none !important;
  filter: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.site-header .nav-desktop,
.site-header nav {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
  margin-left: auto !important;
}
.site-header .nav-desktop a,
.site-header nav a {
  color: #0a1628 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  transition: color 0.2s !important;
}
.site-header .nav-desktop a:hover,
.site-header nav a:hover {
  color: #FFD700 !important;
}
.site-header .hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0.5rem !important;
  cursor: pointer !important;
}
.site-header .hamburger span {
  display: block !important;
  width: 28px !important;
  height: 3px !important;
  margin: 5px 0 !important;
  background: #0a1628 !important;
  border-radius: 2px !important;
  transition: all 0.3s !important;
}

@media (max-width: 900px) {
  .site-header { min-height: 110px !important; }
  .site-header > .container,
  .site-header > .header-inner,
  .site-header > div { min-height: 110px !important; padding: 12px 20px !important; }
  .site-header .logo-img { height: 80px !important; max-width: 240px !important; }
  .site-header .nav-desktop { display: none !important; }
  .site-header .hamburger { display: block !important; }
}
@media (max-width: 500px) {
  .site-header { min-height: 100px !important; }
  .site-header > .container,
  .site-header > .header-inner,
  .site-header > div { min-height: 100px !important; padding: 10px 15px !important; }
  .site-header .logo-img { height: 70px !important; max-width: 200px !important; }
  .site-header .logo-link { margin-left: 0.25rem !important; }
}

/* ============================================================
   FOOTER - IDENTICO TUTTE LE PAGINE
   ============================================================ */
.site-footer {
  padding: 60px 0 25px !important;
  background: #0a1628 !important;
  color: rgba(255,255,255,0.85) !important;
  border-top: 2px solid #FFD700 !important;
}
.site-footer h4 {
  color: #fff !important;
  font-size: 0.95rem !important;
  margin: 0 0 0.5rem 0 !important;
  font-weight: 700 !important;
}
.site-footer p {
  margin: 0 0 0.35rem 0 !important;
  line-height: 1.35 !important;
  font-size: 0.82rem !important;
  color: rgba(255,255,255,0.85) !important;
}
.site-footer ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-footer li {
  margin: 0 0 0.25rem 0 !important;
  line-height: 1.3 !important;
  font-size: 0.82rem !important;
}
.site-footer a {
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none !important;
}
.site-footer a:hover { color: #fff !important; }
.footer-logo {
  max-width: 180px !important;
  height: auto !important;
  filter: brightness(0) invert(1) !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
}
.footer-grid {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1fr !important;
  gap: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.footer-bottom {
  border-top: 1px solid rgba(255, 215, 0, 0.4) !important;
  padding-top: 0.8rem !important;
  text-align: center !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 0.78rem !important;
}
.footer-bottom p { margin: 0 !important; }

@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 1rem !important; }
}
@media (max-width: 500px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem 0.8rem !important;
    margin-bottom: 0.6rem !important;
  }
  .footer-grid > div { margin-bottom: 0 !important; }
  .footer-grid > div:nth-child(1) {
    grid-column: span 2;
    text-align: center;
    margin-bottom: 0.4rem !important;
  }
  .site-footer { padding: 40px 0 16px !important; }
  .site-footer h4 { font-size: 0.72rem !important; margin: 0 0 0.2rem 0 !important; text-transform: uppercase; letter-spacing: 0.5px; }
  .site-footer p { font-size: 0.68rem !important; line-height: 1.25 !important; margin: 0 0 0.15rem 0 !important; }
  .site-footer li { font-size: 0.68rem !important; line-height: 1.2 !important; }
  .footer-logo { max-width: 90px !important; margin: 0 auto 0.2rem !important; }
  .footer-bottom { padding-top: 0.4rem !important; font-size: 0.62rem !important; }
}

/* Footer info importanti in GIALLO */
.site-footer a[href^="tel:"] {
  color: #FFD700 !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  text-decoration: none !important;
}
.site-footer a[href^="mailto:"] {
  color: #FFD700 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  word-break: break-all !important;
}
.site-footer .footer-grid > div:nth-child(2) > p:first-of-type {
  color: #FFD700 !important;
  font-weight: 600 !important;
}
.site-footer .footer-grid > div:nth-child(4) > p:last-of-type {
  color: #FFD700 !important;
  font-weight: 600 !important;
}
.site-footer .footer-grid > div:nth-child(4) > p:last-of-type strong {
  color: #FFD700 !important;
  font-weight: 800 !important;
  display: block;
  margin-bottom: 0.15rem;
}

/* ============================================================
   WHATSAPP FAB
   ============================================================ */
.whatsapp-fab,
.whatsapp-float,
a[href*="wa.me"],
.whatsapp-link,
.wa-float {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 9999 !important;
  width: 60px !important;
  height: 60px !important;
  background: #25D366 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.5) !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
}
.whatsapp-fab:hover { transform: scale(1.1) !important; }
.whatsapp-fab svg { width: 32px !important; height: 32px !important; fill: #fff !important; color: #fff !important; }
@media (max-width: 500px) {
  .whatsapp-fab { width: 56px !important; height: 56px !important; bottom: 16px !important; right: 16px !important; }
}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
#cookieBanner {
  position: fixed !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
  width: 100% !important; max-width: 100% !important;
  height: auto !important; min-height: 0 !important; max-height: 50vh !important;
  overflow-y: auto !important;
  background: #ffffff !important;
  border-top: 3px solid #a8a8a8 !important;
  border-radius: 0 !important;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.15) !important;
  z-index: 99999 !important;
  padding: 1rem 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
  font-family: 'Poppins', system-ui, -apple-system, sans-serif !important;
  font-size: 0.9rem !important;
  color: #0a1628 !important;
}
#cookieBanner .cookie-inner {
  background: transparent !important; border-radius: 0 !important; box-shadow: none !important;
  max-width: 1280px !important; width: 100% !important; padding: 0 !important;
  position: static !important; max-height: none !important; height: auto !important;
  overflow: visible !important; transform: none !important;
  display: flex !important; align-items: center !important; gap: 1.5rem !important;
  flex-wrap: wrap !important; margin: 0 auto !important;
}
#cookieBanner .cookie-btn {
  border: none !important; padding: 0.6rem 1rem !important; border-radius: 6px !important;
  font-size: 0.85rem !important; font-weight: 600 !important; cursor: pointer !important;
  font-family: inherit !important; background: #f0f0f0 !important; color: #0a1628 !important;
  flex: 1 !important;
}
#cookieBanner .cookie-btn-primary { background: #a8a8a8 !important; color: #fff !important; }
#cookieBanner .cookie-btn-secondary { background: transparent !important; border: 1px solid #ccc !important; }
@media (max-width: 768px) {
  #cookieBanner .cookie-inner { flex-direction: column !important; align-items: stretch !important; gap: 0.5rem !important; }
}

/* ============================================================
   NO HORIZONTAL SCROLL
   ============================================================ */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
body { touch-action: pan-y pinch-zoom; }

/* ===== FIX MARGINE CTA FINALE (sezione "Pronto a proteggere") =====
   Classi usate: .cta-finale (in alcune pagine) + .pronto (in altre) — stesse regole */
.cta-finale,
.pronto {
  padding: 120px 0 100px !important;
  margin: 0 !important;
  background: #1B3A5C !important;
  color: #fff !important;
  text-align: center !important;
}
.cta-finale h2,
.pronto h2,
.pronto .pronto-title {
  color: #fff !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  font-weight: 800 !important;
}
.cta-finale p,
.pronto p,
.pronto .pronto-text {
  color: rgba(255,255,255,0.9) !important;
  font-size: 1.1rem !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}
/* Bottone + telefono spaziati */
.cta-finale a[href*="tel:"],
.pronto a[href*="tel:"] {
  display: inline-block !important;
  margin-top: 1.5rem !important;
  margin-left: 0.75rem !important;
  color: #FFD700 !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  text-decoration: none !important;
}
.pronto .pronto-actions,
.cta-finale .cta-actions {
  margin-top: 1.5rem !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1rem !important;
}

/* ===== FIX CONTRASTI FORM INPUT ===== */
.form-field input,
.form-field textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  background: #ffffff !important;
  color: #0a1628 !important;
  border: 2px solid #1B3A5C !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
  transition: all 0.2s !important;
}
.form-field input::placeholder,
.form-field textarea::placeholder,
input::placeholder,
textarea::placeholder {
  color: #8a8a8a !important;
  font-weight: 400 !important;
}
.form-field input:focus,
.form-field textarea:focus,
input:focus,
textarea:focus {
  background: #ffffff !important;
  border-color: #FFD700 !important;
  box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.3) !important;
  outline: none !important;
}
.form-field label,
.form-field > label,
label {
  color: #0a1628 !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.5rem !important;
}

/* ============================================================
   BOTTONI PRONTO / CTA (rosso + bianco)
   ============================================================ */
.btn-rosso,
.pronto .btn-rosso,
.cta-finale .btn-rosso {
  display: inline-block !important;
  background: #d63a2f !important;
  color: #ffffff !important;
  padding: 14px 32px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  box-shadow: 0 4px 12px rgba(214, 58, 47, 0.3) !important;
  font-family: inherit !important;
}
.btn-rosso:hover,
.pronto .btn-rosso:hover {
  background: #b82e25 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(214, 58, 47, 0.4) !important;
  color: #ffffff !important;
}
.btn-bianco,
.pronto .btn-bianco {
  display: inline-block !important;
  background: #ffffff !important;
  color: #1B3A5C !important;
  padding: 14px 32px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-decoration: none !important;
  border: 2px solid #ffffff !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-family: inherit !important;
}
.btn-bianco:hover {
  background: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/* ============================================================
   NAV MOBILE - nascosta su desktop, visibile solo su mobile
   Identica in tutte le 7 pagine
   ============================================================ */
.site-header .nav-mobile {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  background: #ffffff !important;
  flex-direction: column !important;
  padding: 1rem 1.5rem !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
  border-top: 1px solid rgba(0,0,0,0.05) !important;
  z-index: 999 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.3s ease !important;
}
.site-header .nav-mobile.open {
  display: flex !important;
  max-height: 600px !important;
}
.site-header .nav-mobile a {
  display: block !important;
  padding: 0.75rem 0 !important;
  color: #0a1628 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}
.site-header .nav-mobile a:last-child {
  border-bottom: none !important;
}
.site-header .nav-mobile a:hover,
.site-header .nav-mobile a.active {
  color: #1B3A5C !important;

  background: rgba(255, 215, 0, 0.15) !important;}
@media (max-width: 900px) {
  .site-header .nav-mobile {
    display: none !important;
  }
  .site-header .nav-mobile.open {
    display: flex !important;
  }
}

/* ============================================================
   FORZA OVERRIDE classi .scrolled e .dark-page
   Header identico in tutte le pagine indipendentemente dalle classi extra
   ============================================================ */
.site-header.scrolled,
.site-header.dark-page,
.site-header.scrolled.dark-page,
html body .site-header,
html body .site-header.scrolled,
html body .site-header.dark-page,
html body .site-header.scrolled.dark-page {
  background: #ffffff !important;
  box-shadow: none !important;
  border-bottom: 1px solid #FFD700 !important;
  min-height: 136px !important;
  padding: 0 !important;
}
html body .site-header.dark-page .logo-img,
html body .site-header.scrolled.dark-page .logo-img {
  filter: none !important;
  background: transparent !important;
}
html body .site-header.dark-page .nav-desktop a,
html body .site-header.scrolled.dark-page .nav-desktop a {
  color: #0a1628 !important;
}

/* Active link styling uniforme */
.site-header .nav-desktop a.active,
.site-header .nav-desktop a:hover {
  color: #1B3A5C !important;
  border-bottom: 2px solid #FFD700 !important;
  padding-bottom: 4px !important;

  font-weight: 700 !important;}

/* ============================================================
   PAGINA CONTATTI - layout form + sezione
   ============================================================ */
.contatti {
  padding: 70px 0 90px !important;
  background: #f0f0f0 !important;
  color: #1B3A5C !important;
}
.contatti .container {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
}
.contatti-head {
  text-align: center !important;
  margin-bottom: 2.5rem !important;
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.eyebrow,
.eyebrow-blue {
  display: inline-block !important;
  color: #6b7280 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2.5px !important;
  margin-bottom: 0.5rem !important;
}
.contatti-head h1,
.contatti-head h2 {
  color: #1B3A5C !important;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem) !important;
  font-weight: 800 !important;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
.contatti-head p {
  color: #2c5078 !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.contatti-grid {
  display: block !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}
.contatti-form {
  background: #ffffff !important;
  border: 1px solid #e5dcc8 !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}
.form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1rem !important;
  margin-bottom: 0 !important;
}
.form-field {
  margin-bottom: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
}
.form-field label {
  color: #1B3A5C !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  margin-bottom: 0.4rem !important;
}
.form-privacy {
  margin: 1rem 0 !important;
}
.privacy-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  font-size: 0.9rem !important;
  color: #1B3A5C !important;
  cursor: pointer !important;
}
.privacy-check input[type="checkbox"] {
  margin-top: 0.2rem !important;
  width: auto !important;
  cursor: pointer !important;
}
.privacy-check a {
  color: #1B3A5C !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}
.btn-gold {
  display: inline-block !important;
  background: #1B3A5C !important;
  background-image: linear-gradient(135deg, #1B3A5C 0%, #0e1a2b 100%) !important;
  color: #FFD700 !important;
  border: 2px solid #FFD700 !important;
  padding: 16px 40px !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  margin-top: 0.5rem !important;
}
.contatti-form .btn-gold {
  width: 100% !important;
  display: block !important;
  text-align: center !important;
}
.btn-gold:hover {
  background: #FFD700 !important;
  background-image: linear-gradient(135deg, #FFD700 0%, #e6c200 100%) !important;
  color: #1B3A5C !important;
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 8px 24px rgba(27, 58, 92, 0.5) !important;
}
.form-note {
  color: #888 !important;
  font-size: 0.82rem !important;
  margin: 1rem 0 0 !important;
  text-align: center !important;
}
.form-dest {
  color: #1B3A5C !important;
  font-size: 0.9rem !important;
  margin: 0.5rem 0 0 !important;
  text-align: center !important;
  line-height: 1.5 !important;
}
.form-dest strong,
.form-dest a {
  color: #1B3A5C !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}
@media (max-width: 600px) {
  .form-row { grid-template-columns: 1fr !important; gap: 0 !important; }
  .contatti { padding: 50px 0 60px !important; }
  .contatti-form { padding: 1.25rem !important; }
}

/* ============================================================
   LAVORI - CTA section dopo galleria
   Rimuove fascia bianca tra main e .lavori-cta
   ============================================================ */
.lavori-cta {
  background: #2a3442 !important;
  border: none !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 4rem 2rem !important;
  text-align: center !important;
  color: #fff !important;
}
.lavori-cta h3 {
  color: #fff !important;
  font-size: clamp(1.5rem, 3vw, 2.5rem) !important;
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
}
.lavori-cta p {
  color: rgba(255,255,255,0.7) !important;
  font-size: 1.05rem !important;
  max-width: 600px !important;
  margin: 0 auto 2rem !important;
  line-height: 1.7 !important;
}
.lavori-cta a.btn-gold {
  display: inline-block !important;
  width: auto !important;
  text-align: center !important;
  text-decoration: none !important;
}
main {
  background: #2a3442 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================================
   FIX OVERFLOW MOBILE - header non sborare dal viewport
   ============================================================ */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
}
.site-header {
  max-width: 100vw !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  left: 0 !important;
  right: 0 !important;
}
.site-header > .container,
.site-header > .header-inner,
.site-header .container.header-inner,
.site-header > div {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.container,
.cantiere,
.cantiere-gallery-section,
.cantiere-text-section,
.cantiere-header-bar {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 500px) {
  .cantiere-gallery {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }
}

/* === CONTATTI GRID A 1 COLONNA (rimosso contatti-info) === */
.contatti-grid { display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 760px; margin: 0 auto !important; }
.contatti-form { max-width: 100% !important; }

/* === HERO VIDEO (pagina con video background) === */
.hero-video { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 50%, rgba(0,0,0,0.7) 100%) !important; z-index: 1 !important; pointer-events: none; }

/* === SFUMATURE GRADUALI TRA SEZIONI SCURE === */
/* Quando due sezioni scure sono adiacenti, il "salto" è netto. Aggiungiamo sfumature */
section + section.dark,
.pronto + section,
.pronto + footer,
section.dark + .pronto,
.contatti + .pronto,
.sicurezza + .pronto,
.pronto + .contatti,
.contatti + footer,
.pronto + .lavori-cta,
.servizio + /* .pronto padding-top reset rimosso per dare più spazio */
.pronto, .lavori-cta, footer.site-footer, section.contatti, section.dark { position: relative; }
.pronto::before, .lavori-cta::before, footer.site-footer::before, section.contatti::before, section.dark::before { content: ''; position: absolute; top: -40px; left: 0; right: 0; height: 40px; background: linear-gradient(180deg, transparent 0%, currentColor 100%); opacity: 0.04; pointer-events: none; }
.pronto::before { background: linear-gradient(180deg, transparent 0%, #1B3A5C 100%); }
.lavori-cta::before { background: linear-gradient(180deg, transparent 0%, #2a3442 100%); }
footer.site-footer::before { background: linear-gradient(180deg, transparent 0%, #0e1a2b 100%); height: 30px; top: -30px; }

/* === ANIMAZIONI === */
@keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideInLeft { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } }
@keyframes slideInRight { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

.hero-content, .hero-tag, .hero-title, .hero-text, .hero-cta, .hero h1, .hero p, .hero a { animation: fadeInUp 0.8s ease-out backwards; }
.hero-tag { animation-delay: 0.1s; }
.hero h1, .hero-title { animation-delay: 0.3s; }
.hero p, .hero-text { animation-delay: 0.5s; }
.hero a, .hero-cta { animation-delay: 0.7s; }
.eyebrow, h2, h3, .contatti-head, .fiducia-head, .servizi-head { animation: fadeIn 0.6s ease-out backwards; }

.servizio, .fiducia-card, .info-card, .checklist-item, .faq-item, .form-field, .btn-gold, .btn-rosso, .btn-bianco { animation: fadeInUp 0.6s ease-out backwards; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.servizio:hover, .fiducia-card:hover, .info-card:hover, .checklist-item:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.15); }

.fab-whatsapp, .fab-wa, .whatsapp-fab, a[href*="wa.me"], a[href*="whatsapp"] { animation: pulse 2s ease-in-out infinite; }
.fab-whatsapp:hover, .fab-wa:hover, .whatsapp-fab:hover { animation: none; }

.btn-gold, .btn-rosso, .btn-bianco, .hero-cta, a.btn { position: relative; overflow: hidden; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.btn-gold:hover, .btn-rosso:hover, .btn-bianco:hover, .hero-cta:hover, a.btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.2); }
.btn-gold::after, .btn-rosso::after, .btn-bianco::after, .hero-cta::after, a.btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transition: left 0.6s ease; }
.btn-gold:hover::after, .btn-rosso:hover::after, .btn-bianco:hover::after, .hero-cta:hover::after, a.btn:hover::after { left: 100%; }

.hero-tag .dot, .pulse-dot, .dot { animation: pulse 2s ease-in-out infinite; }

img, .cantiere img, .galleria img, .hero-img, .hero-video, picture img { transition: transform 0.5s ease, filter 0.3s ease; }
.cantiere img:hover, .galleria img:hover { transform: scale(1.05); }

.faq details, summary, .faq-item { transition: background 0.3s ease; }
.faq details[open] { background: rgba(27, 58, 92, 0.03); }

@keyframes blob1 { 0%, 100% { border-radius: 60% 40% 30% 70%/60% 30% 70% 40%; transform: rotate(0deg); } 50% { border-radius: 30% 60% 70% 40%/50% 60% 30% 60%; transform: rotate(180deg); } }
.pronto, .lavori-cta, .contatti, section.dark { overflow: hidden; }
.pronto::after, .lavori-cta::after, .contatti::after { content: ''; position: absolute; top: -50%; right: -10%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(255,215,0,0.1) 0%, transparent 70%); border-radius: 60% 40% 30% 70%/60% 30% 70% 40%; animation: blob1 15s ease-in-out infinite; pointer-events: none; z-index: 0; }
.pronto > *, .lavori-cta > *, .contatti > * { position: relative; z-index: 1; }

/* prefers-reduced-motion: rispetta accessibilità */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}


/* === FOOTER PADDING-TOP PIÙ SPAZIO === */
html body footer.site-footer, html body footer {
  padding-top: 60px !important;
  padding-bottom: 25px !important;
}
@media (max-width: 768px) {
  html body footer.site-footer, html body footer {
    padding-top: 40px !important;
    padding-bottom: 16px !important;
  }
}


/* === H2/H3 GENERICI GRANDI (fix font piccoli homepage) === */
h1, h2, h3, h4, h5, h6 { color: #1B3A5C; font-weight: 800; line-height: 1.2; }

h1 {
  font-size: clamp(2rem, 4vw, 2.8rem) !important;
  margin: 0 0 1rem 0 !important;
}

h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.625rem) !important;
  margin: 0 0 1rem 0 !important;
}

h3 {
  font-size: clamp(1.25rem, 2.5vw, 2.25rem) !important;
  margin: 0 0 0.75rem 0 !important;
  font-weight: 700 !important;
}

h4 {
  font-size: clamp(1.1rem, 2vw, 1.3rem) !important;
  margin: 0 0 0.5rem 0 !important;
  font-weight: 700 !important;
}

p {
  font-size: clamp(0.95rem, 1.1vw, 1.05rem) !important;
  line-height: 1.6 !important;
  margin: 0 0 1rem 0 !important;
}

/* Override per sezioni specifiche */
.fiducia-head h2, .servizi h2, .lavori h2, .sicurezza h2, .checklist-head h2, .faq-head h2, .trustpilot-section h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.625rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 0 1rem 0 !important;
}

.servizio-content h3, .checklist-content h3, .fiducia-card h3, .sicurezza-text h3, .lavori h3 {
  font-size: clamp(1.2rem, 2.2vw, 2rem) !important;
  font-weight: 700 !important;
  margin: 0 0 0.75rem 0 !important;
}



/* ============================================================
   FIX CONTRASTO CTA BOX (Vicè 2026-08-07)
   La .cta-box ha background dark blue gradient (style-v11.css)
   ma l'h2 interno ereditava color: #1B3A5C dal master = invisibile
   ============================================================ */
.cta-box,
.cta-box h1,
.cta-box h2,
.cta-box h3,
.cta-box p,
.cta-box a,
.cta-box strong {
  color: #fff !important;
}
.cta-box h2 {
  color: #fff !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  margin-bottom: 1rem !important;
  font-weight: 800 !important;
}
.cta-box p {
  color: rgba(255, 255, 255, 0.9) !important;
  opacity: 1 !important;
  margin-bottom: 2rem !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.cta-box a {
  color: #FFD700 !important;
  text-decoration: none !important;
}

/* ============================================================
   FIX CONTRASTO SEZIONI (Vicè 2026-08-07)
   Sezioni scure devono avere h2 BIANCO, sezioni chiare devono avere h2 BLU
   ============================================================ */

/* Sezione Fiducia (Chi Siamo) - sfondo chiaro, h2 blu */
section.fiducia,
.fiducia {
  background: #f0f0f0 !important;
  color: #1B3A5C !important;
}
section.fiducia h2,
.fiducia h2,
section.fiducia .eyebrow,
.fiducia .eyebrow {
  color: #1B3A5C !important;
}
section.fiducia p,
.fiducia p {
  color: #2c5078 !important;
}

/* Sezione Lavori - sfondo scuro, h2 BIANCO */
section.lavori,
.lavori {
  background: #0a1628 !important;
  color: #fff !important;
}
section.lavori h2,
.lavori h2,
section.lavori .eyebrow,
.lavori .eyebrow,
section.lavori-head h2 {
  color: #fff !important;
}
section.lavori p,
.lavori p {
  color: rgba(255,255,255,0.85) !important;
}

/* Fiducia-split - sfondo chiaro (gradient), h2 blu */
section.fiducia-split,
.fiducia-split {
  background: linear-gradient(135deg, #ececec 0%, #c8c8c8 100%) !important;
  color: #1B3A5C !important;
}
section.fiducia-split h2,
.fiducia-split h2,
section.fiducia-split h3,
.fiducia-split h3,
section.fiducia-split .eyebrow,
.fiducia-split .eyebrow,
section.fiducia-split .fiducia-sub {
  color: #1B3A5C !important;
}
section.fiducia-split p,
.fiducia-split p {
  color: #2c5078 !important;
}

/* Sicurezza - già dark blu con h2 white, MA assicuriamoci */
section.sicurezza,
.sicurezza {
  background: #1B3A5C !important;
  color: #fff !important;
}
section.sicurezza h2,
.sicurezza h2 {
  color: #fff !important;
}

/* Servizi - sfondo chiaro */
section.servizi,
.servizi {
  background: #f0f0f0 !important;
  color: #1B3A5C !important;
}
section.servizi h2,
.servizi h2 {
  color: #1B3A5C !important;
}
section.servizi p,
.servizi p {
  color: #555 !important;
}

/* Hero - già dark blu */
}



/* ============================================================
   FIX QUOTE BOX (Vice 2026-08-07)
   Il .quote-box ha bg blu scuro #1B3A5C
   Vince su section.fiducia p con specificity 0,2,0 + !important
   ============================================================ */
.quote-box {
  color: #fff !important;
}
.quote-box .quote,
.quote-box p.quote {
  color: #FFD700 !important;
  font-weight: 700 !important;
}
.quote-box p:not(.quote) {
  color: #fff !important;
}



/* ============================================================
   FIX FAQ CATEGORY H3 (Vice 2026-08-07)
   Le categorie FAQ (.faq-category h3) erano BLU SCURO
   sullo sfondo scuro del main (bg #2a3442) = illeggibili
   Cambiate in GIALLO per contrasto
   ============================================================ */
.faq-category h3 {
  color: #FFD700 !important;
}



/* ============================================================
   FIX BOTTONE TELEFONO .pronto .btn-bianco (Vice 2026-08-07)
   La regola .pronto a[href*="tel:"] metteva il tel in giallo,
   ma il tel dentro .pronto e dentro .btn-bianco (bg bianco)
   quindi giallo su bianco = illeggibile
   Forza il colore blu scuro ereditato da .btn-bianco
   ============================================================ */
.pronto a.btn-bianco[href*="tel:"],
.pronto .btn-bianco[href*="tel:"] {
  color: #1B3A5C !important;
}

/* ============================================================
   FIX CONTAINER: ripristina max-width 1200px globale
   La regola precedente max-width: 100% sui .container rompeva
   la centratura di tutti i contenuti del sito.
   ============================================================ */
.container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Override header container: 1400px come da regola originale */
.site-header > .container,
.site-header > .header-inner,
.site-header .container.header-inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
/* ============================================================
   FIX QUOTE-BOX FULL-WIDTH dentro .fiducia-split v2
   Uso flex sul container con justify-content:center per 
   centrare il quote-box, visto che grid auto-margin non funziona
   ============================================================ */
.fiducia-split > .container {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 1.5rem !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
}
.fiducia-split > .container > .quote-box {
  width: 100% !important;
  max-width: 900px !important;
}

/* ============================================================
   OTTIMIZZAZIONI FINALI
   ============================================================ */

/* Sezione "Lavoriamo senza ponteggi" su home: testo non tagliato */
.home-section .sicurezza-page,
.home-section .sicurezza-grid {
  max-width: 100% !important;
}
.home-section .sicurezza-text,
.home-section .sicurezza-page .sicurezza-text {
  max-width: 100% !important;
}
.home-section .sicurezza-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 3rem !important;
}
.home-section .vantaggio-desc {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

/* Card servizi: h3 non tagliato, word-wrap per sicurezza */
.servizio h3,
.fiducia-card h3 {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  line-height: 1.3 !important;
  font-size: clamp(1.05rem, 1.8vw, 1.5rem) !important;  /* 16-24px responsive */
}

/* h3 in sezioni con piu spazio: 36-40px */
.checklist-content h3,
.sicurezza-text h3 {
  font-size: clamp(1.2rem, 2vw, 1.75rem) !important;  /* fino a 28px */
  line-height: 1.3 !important;
}

/* h2 sezioni: 42px max (via di mezzo) */
.servizi h2,
.lavori h2,
.sicurezza h2,
.checklist-head h2,
.faq-head h2,
.trustpilot-section h2 {
  font-size: clamp(1.5rem, 3vw, 2.625rem) !important;  /* fino a 42px */
  line-height: 1.2 !important;
}

/* h2 h1 hero (lasciato come da te) */

/* Sezione blu "Lavoriamo senza ponteggi": h2 38px per non andare a capo */
.home-section .sicurezza-text h2,
.home-section .sicurezza h2 {
  font-size: clamp(1.4rem, 2.8vw, 2.375rem) !important;  /* fino a 38px */
  line-height: 1.2 !important;
}

/* Card h3 su sfondo scuro (vantaggi): 32px */
.vantaggio-title {
  font-size: clamp(1.1rem, 1.8vw, 1.5rem) !important;
}

/* ============================================================
   FIX VICE 2026-08-07 15:00
   - PRIMA/DOPO CENTRATO nella home
   - h3 card servizi piu grande (28px) ma con word-wrap
   - site responsive (media queries pulite)
   ============================================================ */

/* --- PRIMA/DOPO centrati nella home --- */
/* Il .fiducia-content ha 2 colonne definite ma contiene solo le immagini.
   Su home page, vogliamo UNA SOLA colonna con le immagini centrate. */
.fiducia-split .fiducia-content,
.home-section .fiducia-content {
  display: block !important;  /* niente piu grid a 2 colonne */
  max-width: 1100px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.fiducia-split .fiducia-imgs,
.home-section .fiducia-imgs {
  max-width: 1100px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Quote-box: solo se presente, NON interferire con PRIMA/DOPO */
.fiducia-split .quote-box,
.home-section .quote-box {
  max-width: 900px !important;
  margin: 0 auto !important;
}

/* --- h3 servizi card: 28px (via di mezzo) --- */
/* Il card ha width 352px desktop. "Impermeabilizzazione" = ~280px a 28px.
   Con padding 1.5rem=24px, content area = 304px. Quindi 28px sta dentro. */
.servizio h3,
.home-section .servizio h3 {
  font-size: clamp(1.25rem, 2.4vw, 1.75rem) !important;  /* 20-28px responsive */
  line-height: 1.25 !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  padding: 0 1.5rem !important;
  margin: 1.25rem 0 0.5rem !important;
}
.servizio p,
.home-section .servizio p {
  padding: 0 1.5rem 1.5rem !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
}
.servizio img.servizio-thumb,
.home-section .servizio img.servizio-thumb {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- h3 piu grande anche per fiduccia-cards --- */
.fiducia-card h3,
.home-section .fiducia-card h3 {
  font-size: clamp(1.4rem, 2.6vw, 2rem) !important;  /* 22-32px */
}

/* --- Grid PRIMA/DOPO: layout solido e centrato --- */
.ba-pair {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.5rem !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.ba-item {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;  /* previene overflow del grid item */
  overflow: hidden !important;
}
.ba-item img {
  width: 100% !important;
  height: auto !important;
  max-height: 560px !important;
  object-fit: cover !important;
  display: block !important;
}

/* --- Responsive: tablet --- */
@media (max-width: 900px) {
  .servizi-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
  }
  .ba-pair {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .sicurezza-grid,
  .home-section .sicurezza-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .fiducia-content,
  .home-section .fiducia-content {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  h1, h2, h3 {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* --- Responsive: mobile --- */
@media (max-width: 600px) {
  .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .servizi-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .servizio h3,
  .home-section .servizio h3 {
    font-size: 1.35rem !important;
  }
  .ba-pair {
    grid-template-columns: 1fr !important;
  }
  .fiducia-cards,
  .home-section .fiducia-cards {
    grid-template-columns: 1fr !important;
  }
  .sicurezza-text,
  .home-section .sicurezza-text {
    padding: 0 0.5rem !important;
  }
  .home-section .sicurezza-text h2,
  .home-section .sicurezza h2 {
    font-size: 1.6rem !important;
  }
}


/* ============================================================
   FIX SICUREZZA-WRAP (Vice 2026-08-07 15:20)
   Il file style-v11 con .sicurezza-wrap { display: grid; } 
   non e piu linkato. Aggiungiamo qui.
   ============================================================ */
.sicurezza-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 3rem !important;
  align-items: center !important;
}
.sicurezza-img-wrap { position: relative !important; }
.sicurezza-img,
.home-section .sicurezza-img {
  width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
}


/* ============================================================
   FIX OVERFLOW HEADER (Vice 2026-08-07 15:30)
   Header larghezza 100vw causava scroll orizzontale 8px.
   Forziamo max-width 100% e box-sizing
   ============================================================ */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
.site-header,
.site-header .header-inner,
.site-header .container.header-inner {
  max-width: 100% !important;
  width: 100% !important;
}


/* ============================================================
   FIX MARGINI TESTUALI (Vice 2026-08-07 15:30)
   I testi toccavano i bordi dei rettangoli.
   Aggiungo padding generoso a TUTTI i card/box che contengono testo.
   ============================================================ */

/* --- 5 Controlli (checklist): padding interno --- */
.check-item,
.home-section .check-item {
  padding: 1.5rem !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 8px !important;
  margin-bottom: 1rem !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}
.check-item > div {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}
.check-item h4 {
  margin: 0 0 0.25rem 0 !important;
  padding: 0 !important;
  font-size: 1.3rem !important;
  line-height: 1.35 !important;
  color: #1B3A5C !important;
  font-weight: 700 !important;
}
.check-item p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: rgba(27, 58, 92, 0.8) !important;
}
.check-item img.check-thumb {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.check-num {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  width: 36px !important;
  height: 36px !important;
  background: #1B3A5C !important;
  border: 2px solid #fff !important;
  color: #FFD700 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  z-index: 2 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
}
.check-item {
  position: relative !important;
}
.check-thumb-wrap {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 0.5rem !important;
}

/* --- Checklist advice box --- */
.checklist-advice,
.home-section .checklist-advice {
  padding: 1.75rem 2rem !important;
  background: #efe9dc !important;
  border: 1px solid rgba(192, 57, 43, 0.3) !important;
  border-radius: 8px !important;
  display: flex !important;
  gap: 1.5rem !important;
  align-items: flex-start !important;
  margin-top: 1rem !important;
}
.checklist-advice p,
.home-section .checklist-advice p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
  color: rgba(27, 58, 92, 0.85) !important;
}
.checklist-advice p:last-child {
  margin-top: 0.75rem !important;
  color: #c0392b !important;
  font-weight: 600 !important;
}
.advice-icon,
.home-section .advice-icon {
  font-size: 1.5rem !important;
  color: #c0392b !important;
  flex-shrink: 0 !important;
  margin-top: 0.15rem !important;
}

/* --- Servizi cards: margini espliciti sotto le img --- */
.servizio,
.home-section .servizio {
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.servizio:hover,
.home-section .servizio:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12) !important;
}
.servizio h3,
.home-section .servizio h3 {
  padding: 1.25rem 1.5rem 0.5rem 1.5rem !important;
  margin: 0 !important;
  font-size: 1.4rem !important;
  line-height: 1.3 !important;
  color: #1B3A5C !important;
  font-weight: 700 !important;
}
.servizio p,
.home-section .servizio p {
  padding: 0 1.5rem 1.5rem 1.5rem !important;
  margin: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: #555 !important;
}
.servizio img.servizio-thumb,
.home-section .servizio img.servizio-thumb {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Fiducia cards: padding generoso --- */
.fiducia-card,
.home-section .fiducia-card {
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 8px !important;
  padding: 2rem !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.fiducia-card:hover,
.home-section .fiducia-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
}
.fiducia-card h3,
.home-section .fiducia-card h3 {
  margin: 0 0 0.75rem 0 !important;
  padding: 0 !important;
  font-size: 1.4rem !important;
  line-height: 1.3 !important;
  color: #1B3A5C !important;
  font-weight: 700 !important;
}
.fiducia-card p,
.home-section .fiducia-card p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: #555 !important;
}

/* --- Fiducia sub (testo descrittivo sotto PRIMA/DOPO) --- */
.fiducia-sub,
.home-section .fiducia-sub {
  padding: 0 !important;
  margin: 1.5rem auto 0 !important;
  max-width: 900px !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: rgba(27, 58, 92, 0.85) !important;
  text-align: center !important;
}

/* --- BA items (PRIMA/DOPO) --- */
.ba-item,
.home-section .ba-item {
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #1a2332 !important;
  width: 100% !important;
  min-width: 0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
}
.ba-item img,
.home-section .ba-item img {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: cover !important;
  display: block !important;
}
.ba-label,
.home-section .ba-label {
  position: absolute !important;
  bottom: 12px !important;
  left: 12px !important;
  padding: 6px 14px !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.5px !important;
  border-radius: 4px !important;
  z-index: 2 !important;
}
.ba-prima .ba-label { background: #fff !important; color: #1B3A5C !important; }
.ba-dopo .ba-label { background: #4ade80 !important; color: #052e16 !important; }

/* --- Servizi headings: padding --- */
.servizi-head,
.home-section .servizi-head,
.fiducia-head,
.home-section .fiducia-head,
.checklist-head,
.home-section .checklist-head {
  padding: 0 1rem !important;
  margin-bottom: 2.5rem !important;
  text-align: center !important;
}
.eyebrow {
  display: inline-block !important;
  margin-bottom: 0.5rem !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}

/* --- Sicurezza text: padding --- */
.sicurezza-text,
.home-section .sicurezza-text {
  padding: 0 !important;
}
.sicurezza-text p,
.home-section .sicurezza-text p {
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  line-height: 1.7 !important;
}
.sicurezza-text ul.check-list,
.home-section .sicurezza-text ul.check-list {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.check-list li,
.home-section .check-list li {
  padding: 0.5rem 0 0.5rem 0.25rem !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  color: #fff !important;
}

/* --- Lavori h3: padding --- */
.lavori h3,
.home-section .lavori h3 {
  padding: 0 0.5rem !important;
  margin: 1rem 0 0.5rem 0 !important;
  line-height: 1.35 !important;
}

/* --- Footer colonne: padding --- */
.site-footer .footer-grid > div {
  padding: 0 1rem !important;
}
.site-footer h4 {
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  font-size: 1.1rem !important;
  line-height: 1.3 !important;
  color: #FFD700 !important;
}
.site-footer p,
.site-footer li,
.site-footer a {
  margin: 0 0 0.5rem 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

/* --- Form input: padding interno --- */
.form-field input,
.form-field textarea,
.form-field select,
.home-section .form-field input,
.home-section .form-field textarea,
.home-section .form-field select {
  padding: 0.75rem 1rem !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
.form-field label,
.home-section .form-field label {
  margin: 0 0 0.4rem 0 !important;
  padding: 0 !important;
  display: block !important;
  font-size: 0.9rem !important;
}

/* --- Lavori cantiere: padding --- */
.cantiere-text-section {
  padding: 1.5rem !important;
}
.cantiere-text-section p {
  margin: 0 0 0.75rem 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

/* --- FAQ item: padding --- */
.faq-item,
.home-section .faq-item {
  padding: 1.5rem !important;
  border-radius: 8px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  margin-bottom: 1rem !important;
}
.faq-item h3,
.home-section .faq-item h3 {
  margin: 0 0 0.5rem 0 !important;
  padding: 0 !important;
  font-size: 1.1rem !important;
  line-height: 1.4 !important;
}
.faq-item p,
.home-section .faq-item p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

/* --- Contatti form: padding --- */
.contatti-form .form-field {
  padding: 0 !important;
  margin-bottom: 1rem !important;
}

/* --- Mobile: meno padding --- */
@media (max-width: 768px) {
  .check-item { padding: 1.25rem !important; }
  .checklist-advice { padding: 1.25rem 1.5rem !important; }
  .servizio h3 { padding: 1rem 1.25rem 0.5rem 1.25rem !important; font-size: 1.3rem !important; }
  .servizio p { padding: 0 1.25rem 1.25rem 1.25rem !important; }
  .fiducia-card { padding: 1.5rem !important; }
  .site-footer .footer-grid > div { padding: 0 0.5rem !important; }
  .ba-item { border-radius: 8px !important; }
}


/* ============================================================
   FIX VICE 2026-08-07 15:51
   - Rimuovi eyebrow "CHI SIAMO" e "SERVIZI" sopra i titoli
   - Centra i titoli h2 delle sezioni Fiducia e Servizi
   ============================================================ */

/* Nascondi eyebrow su Fiducia e Servizi */
.fiducia .eyebrow,
.fiducia-head .eyebrow,
.servizi .eyebrow,
.servizi-head .eyebrow,
.home-section .fiducia .eyebrow,
.home-section .servizi .eyebrow {
  display: none !important;
}

/* Centra titoli Fiducia e Servizi */
.fiducia-head,
.home-section .fiducia-head,
.fiducia .fiducia-head,
.servizi-head,
.home-section .servizi-head,
.servizi .servizi-head {
  text-align: center !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 1rem !important;
}

.fiducia-head h2,
.home-section .fiducia-head h2,
.servizi-head h2,
.home-section .servizi-head h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Regole generali per altre sezioni che hanno eyebrow visibile */
.servizi-head h2,
.fiducia-head h2,
.checklist-head h2,
.faq-head h2,
.lavori-head h2,
.sicurezza-text h2,
.home-section .servizi-head h2,
.home-section .fiducia-head h2,
.home-section .checklist-head h2,
.home-section .faq-head h2,
.home-section .lavori-head h2,
.home-section .sicurezza-text h2 {
  text-align: center !important;
}


/* ============================================================
   FIX VICE 2026-08-07 16:10
   - I due titoli (fid-head h2 + servizi-head h2) erano in container di
     larghezza diversa, quindi visivamente disallineati.
   - Forzo STESSO max-width 900px su ENTRAMBI gli h2, centrati.
   ============================================================ */

.fiducia-head h2,
.home-section .fiducia-head h2,
.servizi-head h2,
.home-section .servizi-head h2 {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  padding: 0 1rem !important;
}


/* ===== FIX TETTI TOP SERVICE 2026-08-07 - SICUREZZA TESTO BIANCO + LAVORI-HEAD WRAPPER ===== */

/* Testo bianco SOLO nella sezione .sicurezza in HOME (su sfondo blu scuro #1B3A5C).
   Sulla pagina sicurezza.html (.sicurezza-page) il testo è scuro perché lo sfondo è chiaro. */
.sicurezza .sicurezza-text p,
.sicurezza .sicurezza-text p *,
section.sicurezza .sicurezza-text p,
.sicurezza p,
.sicurezza .sicurezza-text ul,
.sicurezza .sicurezza-text ul li,
.sicurezza .sicurezza-text .check-list,
.sicurezza .sicurezza-text .check-list li,
.sicurezza .sicurezza-text .check-list li *,
.sicurezza .sicurezza-text strong,
.sicurezza .sicurezza-text span {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Regole per .lavori-head - wrappa h2 lavori come gli altri -head */
.lavori-head,
section.lavori .lavori-head,
.lavori .lavori-head {
  text-align: center !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 1rem !important;
  margin-bottom: 2.5rem !important;
}

.lavori-head h2,
section.lavori .lavori-head h2,
.lavori .lavori-head h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 900px !important;
  padding: 0 1rem !important;
}

.lavori-head .eyebrow,
section.lavori .lavori-head .eyebrow,
.lavori .lavori-head .eyebrow,
.lavori .eyebrow,
.lavori-head + .eyebrow,
section.lavori .eyebrow {
  display: none !important;
}


/* ===== FIX FOOTER LOGO CENTER 2026-08-07 ===== */
.footer-logo {
  margin-left: auto !important;
  margin-right: auto !important;
}

.footer-grid > div:first-child {
  text-align: center !important;
}


/* ===== FIX TRUSTPILOT TEXT WHITE 2026-08-08 ===== */
.trustpilot-section .tp-eyebrow,
.trustpilot-section .tp-footer-text,
.tp-eyebrow,
.tp-footer-text {
  color: #fff !important;
}


/* ===== FIX FIDUCIA PADDING-TOP 2026-08-08 ===== */
section.fiducia,
.fiducia,
.home-section .fiducia,
.home-section section.fiducia {
  padding-top: 3rem !important;
}

section.fiducia .fiducia-head,
.fiducia .fiducia-head {
  margin-top: 0.5rem !important;
}


/* ===== HOME REFRESH 2026-08-08 - Sotto Hero ===== */

/* Card Servizi con icone grandi */
.servizio {
  position: relative !important;
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
  border: 1px solid rgba(27, 58, 92, 0.06) !important;
}
.servizio:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14) !important;
}
.servizio-icon {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  font-size: 2.2rem !important;
  line-height: 1 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  width: 52px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
  z-index: 2 !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.15)) !important;
}
.servizio-thumb {
  border-radius: 0 !important;
  transition: transform 0.5s ease !important;
}
.servizio:hover .servizio-thumb {
  transform: scale(1.06) !important;
}

/* Galleria Lavori: hover zoom + overlay */
.gallery img,
.lavori .gallery img,
.lavori img {
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
  border-radius: 6px !important;
  cursor: pointer !important;
}
.gallery img:hover,
.lavori .gallery img:hover,
.lavori img:hover {
  transform: scale(1.04) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
}

/* Section Servizi - piu' respiro */
.servizi,
section.servizi {
  padding: 3rem 0 4rem !important;
}

/* Servizi hero image */
.servizi > .container > img,
.servizi > .container > picture > img,
section.servizi > .container > img,
.servizi .container img:first-of-type {
  border-radius: 14px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10) !important;
  margin-bottom: 2.5rem !important;
}

/* Section Sicurezza: piu' aria */
.sicurezza,
section.sicurezza {
  padding: 4rem 0 !important;
}

/* Banner "5 problemi" - piu' bello con icona */
.checklist-advice,
.alert-banner {
  background: linear-gradient(135deg, #fff7ed 0%, #fed7aa 100%) !important;
  border-left: 5px solid #ea580c !important;
  border-radius: 10px !important;
  padding: 1.25rem 1.5rem !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.10) !important;
}
.checklist-advice::before,
.alert-banner::before {
  content: "⚠️" !important;
  font-size: 1.5rem !important;
  flex-shrink: 0 !important;
  line-height: 1.4 !important;
}
.checklist-advice p,
.checklist-advice {
  color: #9a3412 !important;
  font-size: 0.98rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
.checklist-advice p {
  color: #9a3412 !important;
}
.checklist-advice strong {
  color: #7c2d12 !important;
  font-weight: 700 !important;
}

/* BA-grid (PRIMA/DOPO) - freccia tra immagini */
.ba-grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  align-items: stretch !important;
}
.ba-item {
  position: relative !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
  transition: transform 0.4s ease !important;
}
.ba-item:hover {
  transform: translateY(-4px) !important;
}
/* Freccia centrale tra PRIMA e DOPO */
.ba-grid::after {
  content: "→" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 2.5rem !important;
  color: #fff !important;
  background: #1B3A5C !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.30) !important;
  z-index: 5 !important;
  border: 4px solid #fff !important;
}

/* Fiducia cards finali - icone piu' grandi */
.card-icon {
  font-size: 2.4rem !important;
  display: inline-block !important;
  margin-bottom: 0.5rem !important;
  line-height: 1 !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.10)) !important;
}

.fiducia-cards .card,
.card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.fiducia-cards .card:hover,
.card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14) !important;
}

/* Banner consulenza su misura */
.consulenza-banner,
.consulta-text {
  text-align: center !important;
  padding: 1rem 0 1.5rem !important;
  font-size: 0.95rem !important;
  color: rgba(27, 58, 92, 0.7) !important;
  font-style: italic !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

/* Check items (5 Controlli) - hover */
.check-item {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.check-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14) !important;
}

/* Card-wide layout */
.fiducia-cards .card-wide,
.card-wide {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 1.5rem 2rem !important;
}
.fiducia-cards .card-wide .card-icon,
.card-wide .card-icon {
  font-size: 2.6rem !important;
  margin-bottom: 0.75rem !important;
}

/* Section dividers (decorativi) - sottili linee oro */
section.servizi,
section.sicurezza,
section.trustpilot-section,
section.lavori,
section.checklist {
  position: relative !important;
}

/* Section check (5 Controlli) - piu' aria */
section.checklist {
  padding: 4rem 0 3rem !important;
}

/* Miglioramenti tipografici */
h2 {
  letter-spacing: -0.02em !important;
}

h3 {
  letter-spacing: -0.01em !important;
}


/* ===== ICONE SVG - Card Servizi + Card finali ===== */
.servizio-icon svg {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
}

.card-icon svg {
  width: 100% !important;
  height: 100% !important;
  max-width: 36px !important;
  max-height: 36px !important;
  display: block !important;
}

.card-icon {
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* ===== FAQ H3 - Cambiato da giallo a blu scuro (era illeggibile su sfondo chiaro) 2026-08-08 ===== */
.faq-category h3,
.faq-category h3 *,
.page-content .faq-category h3,
.faq h3,
.faq h3 *,
details.faq-item summary,
.faq-item summary {
  color: #1B3A5C !important;
}

/* Anche eventuali link/details dentro FAQ restano scuri */
.faq a,
.faq summary {
  color: #1B3A5C !important;
}
.faq a:hover {
  color: #ea580c !important;
}


/* ============================================================
   FIX FOOTER H4 + P GIALLO -> BIANCO (Vice 2026-08-08)
   Le regole originali rendevano h4 oro (#FFD700) e primo/ultimo p
   delle colonne oro, ma Vicè vuole BIANCO (oro era confuso su blu scuro
   per le icone H4, e i p diventavano illeggibili nel footer scuro).
   ============================================================ */
.site-footer h4,
.site-footer .footer-grid > div:nth-child(2) > p:first-of-type,
.site-footer .footer-grid > div:nth-child(4) > p:last-of-type,
.site-footer .footer-grid > div:nth-child(4) > p:last-of-type strong {
  color: #fff !important;
  font-weight: 700 !important;
}
.site-footer .footer-grid > div:nth-child(4) > p:last-of-type strong {
  display: block;
  margin-bottom: 0.15rem;
}


/* ============================================================
   FIX FOOTER a[href^="tel:"] e a[href^="mailto:"] da ORO a BIANCO
   (Vice 2026-08-08 - troppo evidenti su blu scuro)
   ============================================================ */
.site-footer a[href^="tel:"],
.site-footer a[href^="mailto:"] {
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.site-footer a[href^="tel:"]:hover,
.site-footer a[href^="mailto:"]:hover {
  color: #FFD700 !important;
  text-decoration: underline !important;
}
