/* ================================================================
   GuuG — style.css
   Fiel ao design original do site guugbank.com.br
   ================================================================ */

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* ── VARIÁVEIS ── */
:root {
  --font: 'Manrope', sans-serif;
  --azul-claro:  #84D0E6;
  --azul-medio:  #4BADC8;
  --navy:        #0A1628;
  --navy2:       #0E1E35;
  --navy3:       #12253E;
  --branco:      #FFFFFF;
  --cinza-texto: rgba(255,255,255,0.65);
  --borda:       rgba(255,255,255,0.08);
  --max-w: 1200px;
  --px: 5%;
}

body {
  font-family: var(--font);
  background: var(--navy);
  color: var(--branco);
  line-height: 1.6;
  overflow-x: hidden;
}

/* ── CONTAINER ── */
.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--px);
}

/* ── PESO NORMAL (spans inline) ── */
.peso-normal { font-weight: 400; }

/* ================================================================
   BOTÕES
   ================================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--font);
  font-weight: 600;
  font-size: .9rem;
  border-radius: 4px;
  padding: .7rem 1.6rem;
  cursor: pointer;
  transition: all .25s;
  border: none;
}
.btn-outline {
  border: 1.5px solid var(--azul-claro);
  color: var(--azul-claro);
  background: transparent;
}
.btn-outline:hover {
  background: var(--azul-claro);
  color: var(--navy);
}
.btn-primary {
  background: var(--azul-claro);
  color: var(--navy);
}
.btn-primary:hover { background: var(--azul-medio); }
.btn svg {
  width: 18px; height: 18px;
  fill: currentColor;
  flex-shrink: 0;
}

/* ================================================================
   HEADER / NAVBAR
   ================================================================ */
#site-header {
  position: fixed; top: 0; left: 0; width: 100%;
  z-index: 999;
  background: rgba(10,22,40,0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--borda);
  transition: background .3s;
}
#site-header.scrolled { background: rgba(10,22,40,0.99); }

.header-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 1rem var(--px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.site-logo img { height: 36px; width: auto; }
.site-nav { display: flex; align-items: center; gap: 1.5rem; }

/* Mobile toggle */
.mobile-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .3rem;
}
.mobile-toggle span {
  display: block;
  width: 24px; height: 2px;
  background: var(--branco);
  border-radius: 2px;
  transition: all .3s;
}
.mobile-nav {
  display: none;
  padding: 1rem var(--px) 1.5rem;
  border-top: 1px solid var(--borda);
}
.mobile-nav.open { display: flex; }

/* ================================================================
   SEÇÃO 1 — HERO
   ================================================================ */
#hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 9rem var(--px) 5rem;
  position: relative;
  overflow: hidden;
  background: var(--navy);
}
#hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 900px 600px at 50% 0%, rgba(132,208,230,.14) 0%, transparent 70%);
  pointer-events: none;
}

.hero-inner {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
}

#hero h1 {
  font-size: clamp(2.2rem, 5.5vw, 4.8rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin-bottom: 2rem;
  animation: fadeInUp .8s ease both;
}

.hero-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 3.5rem;
  animation: fadeInUp .8s .15s ease both;
}

.hero-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  flex-wrap: wrap;
  animation: fadeInUp .8s .3s ease both;
}

.hero-shark {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.hero-shark img { height: 52px; width: auto; }

.hero-counters { display: flex; gap: 2.5rem; }
.counter { text-align: center; }
.counter-number {
  font-size: 2.8rem;
  font-weight: 800;
  color: var(--azul-claro);
  line-height: 1;
  letter-spacing: -.03em;
}
.counter-label {
  font-size: .85rem;
  color: var(--cinza-texto);
  margin-top: .2rem;
}

/* ================================================================
   SEÇÃO 2 — REVOLUÇÃO SILENCIOSA (texto full-width, sem imagem)
   ================================================================ */
#revolucao {
  padding: 7rem var(--px);
  background: var(--navy2);
}
#revolucao .container {
  max-width: var(--max-w);
  margin: 0 auto;
}
.revolucao-conteudo { max-width: 860px; }

h2.revolucao-titulo {
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.03em;
  margin-bottom: 1.8rem;
  line-height: 1.2;
}

h2.revolucao-corpo {
  font-size: 1rem;
  font-weight: 700; /* bold = GuuG */
  line-height: 1.9;
  color: var(--cinza-texto);
  letter-spacing: 0;
}
h2.revolucao-corpo .peso-normal {
  font-weight: 400;
  color: var(--cinza-texto);
}

/* ================================================================
   SEÇÃO 3 — PROBLEMA / SOLUÇÃO / COMO FUNCIONA
   col-33 (imagem) | col-66 (conteúdo)
   ================================================================ */
#problema-solucao {
  padding: 7rem var(--px);
  background: var(--navy);
}
#problema-solucao .container {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 4rem;
  align-items: start;
}
.ps-imagem img { width: 100%; border-radius: 12px; }

/* grid problema/solução */
.ps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
.ps-card {
  background: var(--navy2);
  border: 1px solid var(--borda);
  border-radius: 10px;
  padding: 1.8rem;
}
.ps-card h4 {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--azul-claro);
  margin-bottom: .75rem;
}
.ps-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: .75rem;
  line-height: 1.35;
}
.ps-card p {
  font-size: .92rem;
  color: var(--cinza-texto);
  line-height: 1.75;
}

.como-funciona { margin-bottom: 2rem; }
.como-funciona h4 {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--azul-claro);
  margin-bottom: .9rem;
}
.como-funciona p {
  font-size: .95rem;
  line-height: 1.9;
  color: var(--cinza-texto);
}
.como-funciona p strong { color: var(--branco); }

.ps-tagline {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--branco);
}

/* ================================================================
   SEÇÃO 4 — TELAS DO APP (4 screenshots)
   fundo escuro navy3 com overlay, imagens centralizadas
   ================================================================ */
#app-screens {
  padding: 5rem var(--px);
  background: var(--navy3);
  position: relative;
  overflow: hidden;
}
#app-screens::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(132,208,230,.06) 0%, transparent 60%);
  pointer-events: none;
}
.app-screens-inner {
  position: relative;
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: end;
  justify-items: center;
}
.app-screen {
  width: 100%;
  max-width: 305px;
  border-radius: 18px;
  /* sombra sutil para dar profundidade como no original */
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.5));
}
/* efeito escalonado de altura (telas em alturas ligeiramente diferentes) */
.app-screens-inner img:nth-child(1) { margin-top: 2rem; }
.app-screens-inner img:nth-child(2) { margin-top: 0; }
.app-screens-inner img:nth-child(3) { margin-top: 1rem; }
.app-screens-inner img:nth-child(4) { margin-top: 3rem; }

/* ================================================================
   SEÇÃO 5 — POR QUE A GuuG É DIFERENTE
   fundo navy3 com overlay, texto centrado
   ================================================================ */
#diferenciais {
  padding: 7rem var(--px);
  background: var(--navy3);
  position: relative;
  text-align: center;
}
#diferenciais::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(132,208,230,.07) 0%, transparent 60%);
  pointer-events: none;
}
#diferenciais .container { position: relative; }

#diferenciais h4.eyebrow {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--azul-claro);
  margin-bottom: 1rem;
}
#diferenciais h2.diff-titulo {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.03em;
  max-width: 700px;
  margin: 0 auto 1.2rem;
}
#diferenciais p.diff-sub {
  font-size: .97rem;
  color: var(--cinza-texto);
  max-width: 600px;
  line-height: 1.75;
  margin: 0 auto 2rem;
}

/* ================================================================
   SEÇÃO 6 — TECNOLOGIA QUE DESCOMPLICA
   col-50 texto | col-50 icon boxes
   ================================================================ */
#tecnologia {
  padding: 7rem var(--px);
  background: var(--navy);
}
#tecnologia .container {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
}
.tec-esquerda h4 {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--azul-claro);
  margin-bottom: .9rem;
}
.tec-esquerda h2 {
  font-size: clamp(1.4rem, 2.8vw, 2.2rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.03em;
  margin-bottom: 2rem;
}

/* icon boxes */
.icon-boxes { display: flex; flex-direction: column; gap: 1.5rem; }
.icon-box { display: flex; align-items: flex-start; gap: 1rem; }
.icon-box-icon {
  width: 40px; height: 40px;
  background: rgba(132,208,230,.1);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  color: var(--azul-claro);
}
.icon-box-content p.title {
  font-weight: 700;
  font-size: .95rem;
  margin-bottom: .25rem;
}
.icon-box-content p.desc {
  font-size: .88rem;
  color: var(--cinza-texto);
  line-height: 1.65;
}
.icon-box-content p.desc strong { color: var(--branco); }

/* ================================================================
   SEÇÃO 7 — NOSSOS PRODUTOS
   fundo navy2, 3 cards
   ================================================================ */
#produtos {
  padding: 7rem var(--px);
  background: var(--navy2);
}
#produtos .container {
  max-width: var(--max-w);
  margin: 0 auto;
}
h2.produtos-titulo {
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.03em;
  margin-bottom: 2.5rem;
}
.produtos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.produto-card {
  background: var(--navy3);
  border: 1px solid var(--borda);
  border-radius: 10px;
  padding: 2rem 1.8rem;
  position: relative;
  overflow: hidden;
  transition: border-color .3s, transform .3s;
}
.produto-card::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--azul-claro), var(--azul-medio));
}
.produto-card:hover {
  border-color: rgba(132,208,230,.3);
  transform: translateY(-4px);
}
.produto-num {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--azul-claro);
  margin-bottom: 1.2rem;
}
.produto-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}

/* ================================================================
   SEÇÃO 8 — O FUTURO É AGORA
   col-66 imagem | col-33 texto
   ================================================================ */
#futuro {
  padding: 7rem var(--px);
  background: var(--navy);
}
#futuro .container {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 4rem;
  align-items: center;
}
.futuro-imagem img { width: 100%; border-radius: 12px; }
.futuro-texto h2 {
  font-size: clamp(1.4rem, 2.8vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -.03em;
  margin-bottom: 1.2rem;
  line-height: 1.2;
}
.futuro-texto p {
  font-size: .97rem;
  color: var(--cinza-texto);
  line-height: 1.85;
  margin-bottom: .7rem;
}
.futuro-texto p strong { color: var(--branco); }

/* ================================================================
   SEÇÃO 9 — CTA FINAL
   fundo navy3, texto centrado
   ================================================================ */
#cta-final {
  padding: 7rem var(--px);
  background: var(--navy3);
  position: relative;
  text-align: center;
}
#cta-final::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(132,208,230,.06) 0%, transparent 60%);
  pointer-events: none;
}
#cta-final .container { position: relative; }

#cta-final h4.eyebrow {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--azul-claro);
  margin-bottom: 1rem;
}
#cta-final h2 {
  font-size: clamp(1.6rem, 3.5vw, 2.8rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.03em;
  max-width: 720px;
  margin: 0 auto 2.5rem;
}

/* ================================================================
   FOOTER — GuuG Condo
   ================================================================ */
#guug-footer {
  background: #000000;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* Grid principal */
.gf-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4rem 5% 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem 2.5rem;
  align-items: center;
}

/* ── Col 1 — Marca ── */
.gf-logo-link { display: inline-block; margin-bottom: 1.1rem; }
.gf-logo { height: 38px; width: auto; }

.gf-tagline {
  font-size: .82rem;
  color: rgba(255,255,255,.6);
  line-height: 1.6;
  max-width: 260px;
  margin-bottom: 1.5rem;
}

/* Ícones de redes sociais */
.gf-socials {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
}

.gf-social-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.7);
  transition: background .2s, color .2s, transform .2s;
}
.gf-social-btn svg { width: 16px; height: 16px; }
.gf-social-btn:hover { transform: translateY(-2px); color: #fff; }
.gf-social-btn.gf-wa:hover  { background: #25D366; }
.gf-social-btn.gf-ig:hover  { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.gf-social-btn.gf-fb:hover  { background: #1877F2; }
.gf-social-btn.gf-li:hover  { background: #0A66C2; }

/* ── Col 2 — Contato ── */
.gf-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.gf-col-title {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: rgba(255,255,255,.9);
  margin-bottom: 1.3rem;
}

.gf-contact-list {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  margin-bottom: 1.6rem;
}
.gf-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .84rem;
  color: rgba(255,255,255,.55);
  line-height: 1.5;
}
.gf-contact-list a { color: rgba(255,255,255,.55); transition: color .2s; }
.gf-contact-list a:hover { color: #84D0E6; }
.gf-contact-icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-top: 2px;
  color: #84D0E6;
}

/* Botão WhatsApp */
.gf-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .65rem 1.3rem;
  border-radius: 999px;
  background: #25D366;
  color: #fff;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: background .2s, transform .2s;
}
.gf-whatsapp-btn svg { width: 18px; height: 18px; }
.gf-whatsapp-btn:hover { background: #1ebe57; transform: translateY(-1px); }

/* ── Bottom bar ── */
.gf-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.25rem 5%;
  border-top: 1px solid rgba(255,255,255,.06);
  text-align: center;
}
.gf-copy {
  font-size: .78rem;
  color: rgba(255,255,255,.35);
}

/* ── Responsivo ── */
@media (max-width: 600px) {
  .gf-inner { grid-template-columns: 1fr; }
}

/* ================================================================
   ANIMAÇÕES
   ================================================================ */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.fade-in.visible { opacity: 1; transform: translateY(0); }
.fade-in-d1 { transition-delay: .1s; }
.fade-in-d2 { transition-delay: .2s; }
.fade-in-d3 { transition-delay: .3s; }

/* ================================================================
   RESPONSIVO
   ================================================================ */
@media (max-width: 1024px) {
  #problema-solucao .container { grid-template-columns: 1fr; }
  .ps-imagem { display: none; }

  .app-screens-inner { grid-template-columns: repeat(2, 1fr); }
  .app-screens-inner img:nth-child(n) { margin-top: 0; }
}

@media (max-width: 768px) {
  .site-nav { display: none; }
  .mobile-toggle { display: flex; }

  #tecnologia .container,
  #futuro .container {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .ps-grid { grid-template-columns: 1fr; }
  .produtos-grid { grid-template-columns: 1fr; }

  .hero-stats { flex-direction: column; gap: 1.5rem; }
  .hero-counters { gap: 2rem; }

  .app-screens-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .app-screens-inner img:nth-child(n) { margin-top: 0; }
}

@media (max-width: 480px) {
  .hero-buttons { flex-direction: column; align-items: center; }
  .app-screens-inner { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   ELEMENTOR BASE FIX — CSS ausente do elementor.min.css
   Sem esse CSS, widgets e ícones ficam quebrados no front
   ═══════════════════════════════════════════════════════════ */

/* SVG ícones — sem esse fix renderizam no tamanho do viewBox (512px!) */
.e-font-icon-svg {
    height: 1em;
    width: 1em;
    display: inline-block;
    vertical-align: middle;
}
.elementor-button-icon .e-font-icon-svg,
.elementor-icon-list-icon .e-font-icon-svg,
.elementor-icon .e-font-icon-svg {
    height: 1em;
    width: 1em;
}

/* Layout base Elementor */
.elementor-section .elementor-container {
    display: flex;
    margin-right: auto;
    margin-left: auto;
    position: relative;
}
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1344px;
}
.elementor-row {
    width: 100%;
    display: flex;
}
.elementor-column {
    position: relative;
    min-height: 1px;
    display: flex;
}
.elementor-column-wrap {
    width: 100%;
    position: relative;
    display: flex;
}
.elementor-widget-wrap {
    position: relative;
    width: 100%;
    flex-wrap: wrap;
    align-content: flex-start;
    display: flex;
}
.elementor-widget:not(:last-child) {
    margin-bottom: 20px;
}
.elementor-widget {
    position: relative;
}

/* Botão Elementor */
.elementor-button-content-wrapper {
    display: flex;
    justify-content: center;
    flex-grow: 1;
    align-items: center;
    gap: 5px;
}
.elementor-button {
    display: inline-flex;
    font-family: inherit;
    cursor: pointer;
    border: none;
    text-decoration: none;
    line-height: 1;
    padding: 12px 24px;
    border-radius: 3px;
    transition: all 0.3s;
}
.elementor-button.elementor-size-sm {
    padding: 10px 20px;
    font-size: 13px;
}
.elementor-button-text {
    flex-grow: 1;
}

/* Heading */
.elementor-heading-title {
    padding: 0;
    margin: 0;
    line-height: 1;
}

/* Icon list */
.elementor-icon-list-items {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.elementor-icon-list-item {
    display: flex;
    align-items: center;
}

/* Columns por tamanho */
.elementor-col-100 { width: 100%; }
.elementor-col-80  { width: 80%; }
.elementor-col-75  { width: 75%; }
.elementor-col-66  { width: 66.666%; }
.elementor-col-60  { width: 60%; }
.elementor-col-50  { width: 50%; }
.elementor-col-40  { width: 40%; }
.elementor-col-33  { width: 33.333%; }
.elementor-col-25  { width: 25%; }
.elementor-col-20  { width: 20%; }

@media (max-width: 767px) {
    .elementor-column, .elementor-col-100,
    .elementor-col-80, .elementor-col-75,
    .elementor-col-66, .elementor-col-60,
    .elementor-col-50, .elementor-col-40,
    .elementor-col-33, .elementor-col-25,
    .elementor-col-20 {
        width: 100%;
    }
}

/* Texto do editor */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor p:first-child { margin-top: 0; }

/* Counters */
.elementor-counter-number-wrapper { display: flex; }
.elementor-counter-number-prefix,
.elementor-counter-number-suffix {
    align-self: flex-end;
    margin-bottom: 5px;
}

/* Imagens */
.elementor-widget-image { text-align: center; }
.elementor-widget-image img { max-width: 100%; height: auto; }

/* Divider */
.elementor-divider { padding: 5px 0; }
.elementor-divider-separator { display: flex; margin: auto; width: 100%; }

/* Tabs */
.elementor-tabs-content-wrapper { padding: 20px; }
.elementor-tab-content { display: none; }
.elementor-tab-content.elementor-active { display: block; }

/* ================================================================
   CORREÇÕES DE MIGRAÇÃO
   ================================================================ */

/* FIX 1 — Botões Elementor: remover sublinhado herdado de <a> */
a.elementor-button,
a.elementor-button:hover,
a.elementor-button:focus,
a.elementor-button:visited {
    text-decoration: none !important;
}

/* FIX 2 — Links na seção CONTATO: sem sublinhado, cor correta */
.gf-contact-list a,
.gf-contact-list a:hover,
.gf-contact-list a:focus,
.gf-contact-list a:visited {
    text-decoration: none !important;
}
.gf-contact-list a { color: rgba(255,255,255,.55); }
.gf-contact-list a:hover { color: #84D0E6; }

/* FIX 3 — Ícones "Tecnologia que descomplica": corrigir box-sizing
   O post-26.css usa width:37px + padding:20px assumindo content-box.
   Com border-box global, o ícone colapsa e perde o formato circular.
   Revertendo para content-box e garantindo altura igual à largura. */
.bdt-ep-advanced-icon-box-icon-wrap {
    box-sizing: content-box !important;
}

/* Fallback explícito para os 3 ícones da seção */
.elementor-26 .elementor-element-6d9e4b1 .bdt-ep-advanced-icon-box-icon-wrap,
.elementor-26 .elementor-element-416c03a .bdt-ep-advanced-icon-box-icon-wrap,
.elementor-26 .elementor-element-6a51c80 .bdt-ep-advanced-icon-box-icon-wrap {
    box-sizing: content-box !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 1px solid rgba(193,193,193,.63) !important;
    color: var(--e-global-color-uicore_accent, #84D0E6) !important;
}

/* FIX 4 — Sem sublinhado nos links do header e sidebar/menu mobile */
.uicore-navbar a,
.uicore-navbar .uicore-menu a,
.uicore-navbar .uicore-btn,
.uicore-navbar .sub-menu a,
.uicore-navigation-wrapper a,
.uicore-mobile-menu-wrapper a,
.uicore-sidebar a,
.uicore-extra a,
.elementor-button,
.elementor-button-link,
.elementor-button-wrapper a {
    text-decoration: none !important;
}
.elementor-element-4cec5c8 { width: auto !important; }
.elementor-element-4cec5c8 .elementor-button { display: inline-flex !important; width: auto !important; }