/* Fundo contínuo: remove cortes visuais entre as seções. */
main > section,
#planos,
#savtv-promo,
#servicos,
#mapa,
#sobre,
#atc,
.cta-section {
  border-top: 0 !important;
  border-bottom: 0 !important;
  outline: 0 !important;
  background: #ff6300 !important;
  background-image: none !important;
}

#planos::before, #planos::after,
#savtv-promo::before, #savtv-promo::after,
#servicos::before, #servicos::after,
#mapa::before, #mapa::after,
#sobre::before, #sobre::after,
#atc::before, #atc::after,
.cta-section::before, .cta-section::after { border: 0 !important; }

/* O banner de planos tinha um gradiente próprio com regra mais forte. */
html body #planos.promo-banner { background: #ff6300 !important; background-image: none !important; }

/* Uma única nébula fixa no corpo da página, sem reiniciar a cada seção. */
html, body {
  background:
    radial-gradient(ellipse 52% 44% at 82% 18%, rgba(255,255,255,.36), transparent 70%),
    radial-gradient(ellipse 42% 48% at 14% 82%, rgba(255,239,222,.26), transparent 72%),
    #ff6300 !important;
  background-attachment: fixed !important;
}
html body #planos.promo-banner,
html body #savtv-promo,
html body #servicos,
html body #mapa,
html body #sobre,
html body #atc,
html body .cta-section { background: transparent !important; background-image: none !important; }

#planos.fx-section::after,
#savtv-promo.fx-section::after,
#servicos.fx-section::after,
#mapa.fx-section::after,
#sobre.fx-section::after,
#atc.fx-section::after,
.cta-section.fx-section::after { display: none !important; }

/* Botões dos planos sem sombra para não criar impressão de recorte. */
#planos .promo-info a,
#planos .promo-info a:hover,
#planos .carousel-prev,
#planos .carousel-next,
#planos .carousel-prev:hover,
#planos .carousel-next:hover {
  box-shadow: none !important;
}

/* Mascote do banner de planos sem sombra projetada. */
#planos .vivi-promo-card img {
  filter: none !important;
}

/* "Estamos ON" segue o mesmo padrão dos demais itens do menu. */
.topo .menu a.destaque {
  background: transparent !important;
  color: #f15b00 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.topo .menu a.destaque:hover {
  background: #ff6300 !important;
  color: #fff !important;
}

/* ATC: foto em cor natural, sem o ícone de coração. */
#atc .atc-image,
#atc:hover .atc-image {
  opacity: 1 !important;
  filter: none !important;
}
#atc .atc-overlay,
#atc:hover .atc-overlay {
  background: linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.52)) !important;
}
#atc .atc-icon { display: none !important; }
#atc .atc-content h2 {
  color: #fff !important;
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 3px 16px rgba(0,0,0,.82) !important;
}
#atc .atc-content p {
  width: fit-content;
  max-width: min(92vw, 780px);
  margin-left: auto;
  margin-right: auto;
  padding: 8px 16px;
  border-radius: 10px;
  color: #fff !important;
  background: rgba(0,0,0,.42);
  text-shadow: 0 2px 10px rgba(0,0,0,.85) !important;
}
/* Área livre da foto: título no alto e chamada abaixo dos rostos. */
#atc .atc-content h2 { transform: translateY(-175px); }
#atc .atc-content p { transform: translateY(-175px); }
#atc .atc-click-hint {
  margin-top: 0 !important;
  transform: translateY(125px);
}
@media (max-width: 760px) {
  #atc .atc-content h2, #atc .atc-content p { transform: translateY(-105px); }
  #atc .atc-click-hint { transform: translateY(78px); }
}
