
/* =========================================================
   SANOVIA — CORREÇÃO VISUAL FINAL
   Carregada por último para neutralizar conflitos anteriores.
   ========================================================= */

:root{
  --sv-navy:#071d38;
  --sv-blue:#0d4f91;
  --sv-blue-strong:#0869c7;
  --sv-green:#08a85b;
  --sv-text:#102a4a;
  --sv-muted:#60758b;
  --sv-border:#dbe7f1;
}

/* CABEÇALHO E LOGO */
.site-header{
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid var(--sv-border) !important;
}

.nav{
  min-height:88px !important;
}

.brand,
.home-v2 .brand--v2{
  display:flex !important;
  align-items:center !important;
  flex:0 0 285px !important;
  width:285px !important;
  height:72px !important;
  min-width:285px !important;
  padding:0 !important;
  overflow:visible !important;
}

.brand img,
.home-v2 .brand--v2 img{
  display:block !important;
  width:285px !important;
  height:72px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:none !important;
  margin:0 !important;
  clip-path:none !important;
}

.nav-links{
  align-items:center !important;
}

/* HOME: evita que o hero quebre cedo demais em telas com escala do Windows */
.home-v2 .hero-v2{
  padding:70px 0 82px !important;
}

.home-v2 .hero-v2__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.04fr) minmax(380px,.76fr) !important;
  gap:54px !important;
  align-items:center !important;
}

.home-v2 .hero-v2 h1{
  max-width:700px !important;
  margin:0 0 22px !important;
  font-size:clamp(2.85rem,4.4vw,4.55rem) !important;
  line-height:1.04 !important;
}

.home-v2 .hero-v2__proof{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.home-v2 .hero-v2__proof div{
  display:block !important;
}

.home-v2 .hero-v2__proof strong,
.home-v2 .hero-v2__proof span{
  display:block !important;
}

.home-v2 .quote-card--v2{
  width:100% !important;
  max-width:510px !important;
  justify-self:end !important;
}

/* BOTÃO FLUTUANTE DO WHATSAPP */
.floating-whatsapp--final{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:1500 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:auto !important;
  min-width:176px !important;
  height:56px !important;
  padding:0 18px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:999px !important;
  background:#0aa85b !important;
  color:#fff !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:.91rem !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  box-shadow:0 14px 32px rgba(5,113,62,.30) !important;
  text-decoration:none !important;
}

.floating-whatsapp--final svg{
  display:block !important;
  width:24px !important;
  height:24px !important;
  flex:0 0 24px !important;
}

.floating-whatsapp--final span{
  display:block !important;
  white-space:nowrap !important;
}

.floating-whatsapp--final:hover{
  background:#078c4b !important;
  transform:translateY(-2px) !important;
  box-shadow:0 18px 36px rgba(5,113,62,.36) !important;
}

/* RODAPÉ FINAL */
.site-footer--final{
  padding:68px 0 0 !important;
  background:var(--sv-navy) !important;
  color:#fff !important;
}

.footer-final__grid{
  display:grid !important;
  grid-template-columns:1.25fr .85fr .75fr 1fr !important;
  gap:54px !important;
  align-items:start !important;
}

.footer-final__brand img{
  display:block !important;
  width:310px !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:none !important;
  opacity:1 !important;
  margin:0 0 24px !important;
}

.footer-final__brand p{
  max-width:370px !important;
  margin:0 !important;
  color:#c0d2e5 !important;
  font-size:.98rem !important;
  line-height:1.75 !important;
}

.footer-final__column h2{
  margin:4px 0 22px !important;
  color:#fff !important;
  font-family:Manrope,Inter,sans-serif !important;
  font-size:1rem !important;
  font-weight:800 !important;
}

.footer-final__column a{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 13px !important;
  color:#dbe8f5 !important;
  font-size:.94rem !important;
  line-height:1.5 !important;
  text-decoration:none !important;
}

.footer-final__column a:hover{
  color:#fff !important;
  text-decoration:underline !important;
  text-underline-offset:4px !important;
}

.footer-final__notice{
  max-width:270px !important;
  margin:21px 0 0 !important;
  color:#9eb4ca !important;
  font-size:.82rem !important;
  line-height:1.6 !important;
}

.footer-final__bottom{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:30px !important;
  margin-top:54px !important;
  padding:22px 0 24px !important;
  border-top:1px solid rgba(255,255,255,.13) !important;
  color:#91a9c1 !important;
  font-size:.8rem !important;
}

/* CTA LATERAL DAS OPERADORAS */
.sidebar-card{
  padding:28px !important;
  background:linear-gradient(145deg,#092e5d,#0c4b89) !important;
}

.sidebar-card .section-label{
  color:#79efb8 !important;
}

.sidebar-card h2{
  color:#fff !important;
  font-size:1.36rem !important;
  line-height:1.2 !important;
}

.sidebar-card p{
  color:#d1e1f1 !important;
  line-height:1.65 !important;
}

/* TABLET / ESCALA DE TELA */
@media(max-width:1040px){
  .brand,
  .home-v2 .brand--v2{
    flex-basis:245px !important;
    width:245px !important;
    min-width:245px !important;
    height:65px !important;
  }

  .brand img,
  .home-v2 .brand--v2 img{
    width:245px !important;
    height:65px !important;
  }

  .nav-links{
    gap:15px !important;
    font-size:.86rem !important;
  }

  .home-v2 .hero-v2__grid{
    grid-template-columns:minmax(0,1fr) minmax(345px,.78fr) !important;
    gap:36px !important;
  }

  .footer-final__grid{
    grid-template-columns:1.2fr 1fr 1fr !important;
    gap:38px !important;
  }

  .footer-final__grid > :last-child{
    grid-column:2 / 4 !important;
  }
}

/* Só empilha o hero quando realmente não houver espaço */
@media(max-width:760px){
  .home-v2 .hero-v2__grid{
    grid-template-columns:1fr !important;
  }

  .home-v2 .quote-card--v2{
    max-width:620px !important;
    justify-self:center !important;
  }

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

  .footer-final__grid > :last-child{
    grid-column:auto !important;
  }
}

@media(max-width:820px){
  .nav{
    min-height:76px !important;
  }

  .brand,
  .home-v2 .brand--v2{
    flex-basis:225px !important;
    width:225px !important;
    min-width:225px !important;
    height:60px !important;
  }

  .brand img,
  .home-v2 .brand--v2 img{
    width:225px !important;
    height:60px !important;
  }
}

@media(max-width:560px){
  .brand,
  .home-v2 .brand--v2{
    flex-basis:195px !important;
    width:195px !important;
    min-width:195px !important;
    height:53px !important;
  }

  .brand img,
  .home-v2 .brand--v2 img{
    width:195px !important;
    height:53px !important;
  }

  .home-v2 .hero-v2 h1{
    font-size:2.48rem !important;
  }

  .home-v2 .hero-v2__proof{
    grid-template-columns:1fr !important;
  }

  .footer-final__grid{
    grid-template-columns:1fr !important;
    gap:36px !important;
  }

  .footer-final__brand img{
    width:275px !important;
  }

  .footer-final__bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
  }

  .floating-whatsapp--final{
    right:14px !important;
    bottom:14px !important;
    min-width:164px !important;
    height:52px !important;
    padding:0 15px !important;
    font-size:.85rem !important;
  }
}
