@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap');

/* ============================================================
   GLOBAUX PHARMA — Identidade visual (v3)
   Direção: marfim quente + champagne metálico + grafite ink
   + glassmorphism + zero blocos navy sólidos.
   ============================================================ */

:root {
  /* Fundos */
  --bg-main:    #F8F3EA;
  --bg-soft:    #FCF8F1;
  --bg-card:    rgba(255, 252, 247, 0.82);
  --bg-card-solid: #FFFCF7;

  /* Tinta / grafite (substitui o navy chapado) */
  --ink:           #18212B;
  --ink-soft:      #263241;
  --graphite-blue: #223142;
  --slate-muted:   #65707A;

  /* Champanhe — peso da identidade */
  --champagne:       #C9A15A;
  --champagne-soft:  #D8B46A;
  --champagne-light: #E8D4A8;
  --champagne-deep:  #B98A3F;

  --mineral:      #BBA789;
  --border-soft:  rgba(187, 167, 137, 0.34);
  --border-gold:  rgba(201, 161, 90, 0.30);

  --shadow-soft:    rgba(24, 33, 43, 0.08);
  --shadow-premium: rgba(24, 33, 43, 0.14);
  --shadow-gold:    rgba(201, 161, 90, 0.28);

  /* Gradientes reutilizáveis */
  --grad-button:  linear-gradient(135deg, #D8B46A 0%, #C9A15A 48%, #B98A3F 100%);
  --grad-glass:   linear-gradient(135deg, rgba(255,252,247,0.92), rgba(248,243,234,0.78));
  --grad-glass-soft: linear-gradient(135deg, rgba(255,252,247,0.78), rgba(248,243,234,0.62));

  /* Sobrescreve tokens globais Elementor */
  --e-global-color-primary:   var(--ink);
  --e-global-color-secondary: var(--champagne);
  --e-global-color-text:      var(--slate-muted);
  --e-global-color-accent:    var(--champagne);
}

/* ============================================================
   BASE — fundo com profundidade radial (não mais bege chapado)
   ============================================================ */
html, body {
  background: var(--bg-main) !important;
  color: var(--ink) !important;
}
/* Fundo decorativo no CANVAS (html), não no body: assim a camada de
   partículas ambiente (#gx-ambient, z-index:-1, filha do body) pinta
   ENTRE o fundo e o conteúdo, em vez de ficar escondida atrás do fundo
   opaco do body. body transparente p/ não cobrir a camada. Visual idêntico. */
html {
  background:
    radial-gradient(circle at 18% 4%, rgba(216,180,106,0.12), transparent 38%),
    radial-gradient(circle at 82% 28%, rgba(187,167,137,0.14), transparent 42%),
    radial-gradient(circle at 38% 78%, rgba(216,180,106,0.08), transparent 36%),
    linear-gradient(180deg, var(--bg-soft) 0%, var(--bg-main) 100%) !important;
  background-attachment: fixed !important;
}
body {
  background: transparent !important;
}

.elementor-section:not(.elementor-section-boxed) > .elementor-container,
.elementor-element.e-con > .e-con-inner,
.elementor-widget-wrap {
  background-color: transparent !important;
}

/* Seções neutras (deixa o fundo radial mostrar) */
.elementor-element-1624dcdd,
.elementor-element-c33ac59,
.elementor-element-23c188a,
.elementor-element-9afe21b,
.elementor-element-e2eecdd,
[id="contato"] { background: transparent !important; }

.elementor-element-786b1ce { background: transparent !important; }
.elementor-element-214cdcf5 { background: transparent !important; }

/* ============================================================
   HEADER — barra superior de telefones removida
   ============================================================ */
/* Esconde a barra navy superior (desktop e mobile equivalente) */
.elementor-element-383410a,
.elementor-element-96634e3,
.elementor-element-a40dcc8 .elementor-element-d977c5b,
.elementor-element-a40dcc8 .elementor-element-ec50cfd {
  display: none !important;
}

.elementor-element-a893172 {
  background: rgba(255, 252, 247, 0.88) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  border-bottom: 1px solid var(--border-gold) !important;
}

.hfe-nav-menu .hfe-menu-item {
  color: var(--ink-soft) !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  transition: color 0.25s ease !important;
}
.hfe-nav-menu .hfe-menu-item:hover {
  color: var(--champagne) !important;
}
.hfe-nav-menu .sub-menu {
  background: rgba(255, 252, 247, 0.96) !important;
  backdrop-filter: blur(16px) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 12px !important;
  box-shadow: 0 24px 60px var(--shadow-premium) !important;
  overflow: hidden !important;
}
.hfe-nav-menu .hfe-sub-menu-item {
  color: var(--ink-soft) !important;
  background: transparent !important;
  font-weight: 500 !important;
}
.hfe-nav-menu .hfe-sub-menu-item:hover {
  background: rgba(232, 212, 168, 0.22) !important;
  color: var(--champagne-deep) !important;
}

/* ============================================================
   BOTÕES — CHAMPAGNE METÁLICO PREMIUM
   ============================================================ */
.elementor-button,
.elementor-button-link,
button.elementor-button {
  background: var(--grad-button) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 10px !important;
  padding: 14px 28px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  box-shadow:
    0 12px 28px var(--shadow-gold),
    inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
  transition: transform 0.25s ease, box-shadow 0.3s ease, filter 0.3s ease !important;
}
.elementor-button .elementor-button-text { color: inherit !important; }
.elementor-button .elementor-button-icon svg {
  fill: var(--ink) !important;
}
.elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 18px 40px rgba(201, 161, 90, 0.40),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
  filter: brightness(1.04) !important;
}

/* ============================================================
   TÍTULOS — INK GRAFITE FORTE, CHAMPAGNE NO DESTAQUE
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  color: var(--ink) !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 600 !important;
  font-optical-sizing: auto !important;
  letter-spacing: -0.02em !important;
}
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span,
.elementor-heading-title span {
  color: var(--champagne) !important;
}
.elementor-heading-title { color: var(--ink) !important; }
p.elementor-heading-title {
  color: var(--slate-muted) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}
p, .elementor-icon-box-description {
  font-family: 'Inter', system-ui, sans-serif !important;
  color: var(--slate-muted) !important;
  line-height: 1.65 !important;
}

/* ============================================================
   HERO — Reestruturação: assinatura institucional na base
   Logo + tagline + botões empilhados na faixa INFERIOR esquerda,
   discretos, não competem com a headline já gravada na imagem.
   ============================================================ */

/* Hero — container full-width + colunas 70/30; texto na coluna direita (30%) */
.elementor-element-651c811c > .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
  flex-direction: row-reverse !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 !important;
}
/* Coluna visual (esquerda): 70% — boi + moléculas + robô aparecem livres */
.elementor-element-651c811c .elementor-element-a6e5198 {
  flex: 0 0 70% !important;
  max-width: 70% !important;
}
/* Coluna de texto (direita): 30% — alinhada à área clara da imagem */
.elementor-element-651c811c .elementor-element-4184a3bd {
  flex: 0 0 30% !important;
  max-width: 30% !important;
}
.elementor-element-651c811c .elementor-column:first-child > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 0 !important;
  padding: 2rem 8% 2rem 1.5rem !important;
  max-width: 560px !important;
  margin-left: auto !important;
}

/* Logo do hero — assinatura pequena e refinada */
.elementor-element-9275ac0,
.elementor-element-9275ac0 .elementor-widget-container {
  overflow: visible !important;
  margin: 0 !important;
}
.elementor-element-9275ac0 img {
  width: auto !important;
  max-width: 360px !important;
  height: auto !important;
  filter: drop-shadow(0 6px 18px rgba(15, 31, 56, 0.45)) !important;
}

/* Tagline institucional — compacta, máximo 2 linhas */
.elementor-element-574c4b6 {
  margin: 0 !important;
}
.elementor-element-574c4b6 .elementor-heading-title {
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  font-style: italic !important;
  letter-spacing: 0.01em !important;
  line-height: 1.55 !important;
  max-width: 520px !important;
  color: #F5EBD9 !important;
  text-shadow: 0 2px 10px rgba(15, 31, 56, 0.55) !important;
  margin: 0 !important;
}

/* Hero: limpar TUDO do bloco esquerdo (logo, tagline, botões) */
.elementor-element-9275ac0,
.elementor-element-574c4b6,
.elementor-element-952d0a3,
.elementor-element-98d229b,
.elementor-element-4ad6deb {
  display: none !important;
}

/* Esconde o h2 invisível "Nós do Grupo MTF" / "Globaux Pharma" */
.elementor-element-5a1b2cb {
  display: none !important;
}

/* ============================================================
   HERO (651c811c) — overlay claro com pivot dourado
   ============================================================ */
.elementor-element-651c811c > .elementor-background-overlay {
  background: linear-gradient(90deg,
    rgba(24, 33, 43, 0.62) 0%,
    rgba(24, 33, 43, 0.28) 38%,
    rgba(248, 243, 234, 0.84) 72%,
    rgba(248, 243, 234, 0.94) 100%) !important;
  opacity: 1 !important;
}
.elementor-element-651c811c h1,
.elementor-element-651c811c h2,
.elementor-element-651c811c h3,
.elementor-element-651c811c .elementor-heading-title {
  color: var(--bg-card-solid) !important;
  text-shadow: 0 2px 12px rgba(24, 33, 43, 0.45) !important;
}
.elementor-element-651c811c h2 span,
.elementor-element-651c811c .elementor-heading-title span {
  color: var(--champagne-soft) !important;
}

/* Hero — eyebrow: champagne âmbar para distinguir do corpo near-white */
.elementor-element-651c811c .gx-hero-eyebrow .elementor-heading-title {
  color: var(--champagne-light) !important;
  opacity: 0.92 !important;
  text-shadow: 0 1px 6px rgba(24, 33, 43, 0.5) !important;
}

/* CTA secundário (botão claro vidro) */
.elementor-element-651c811c .elementor-element-4ad6deb .elementor-button {
  background: rgba(255, 252, 247, 0.78) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border-gold) !important;
  backdrop-filter: blur(14px) !important;
  box-shadow: 0 10px 24px var(--shadow-soft) !important;
}
.elementor-element-651c811c .elementor-element-4ad6deb .elementor-button:hover {
  background: rgba(255, 252, 247, 0.94) !important;
  color: var(--champagne-deep) !important;
}

/* ============================================================
   FAIXA 3 ÍCONES — cards vidro fino com underline champagne
   ============================================================ */
/* Mata o margin-top:-90px do template original que sobrepunha o hero */
.elementor-element-1624dcdd {
  margin-top: 32px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}
.elementor-element-1624dcdd .elementor-column {
  position: relative !important;
  background: var(--grad-glass) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 18px !important;
  box-shadow:
    0 18px 45px var(--shadow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
  margin: 10px !important;
  padding: 36px 24px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  overflow: hidden !important;
}
.elementor-element-1624dcdd .elementor-column::after {
  content: "";
  position: absolute;
  left: 32px; right: 32px; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--champagne), transparent);
  opacity: 0.7;
}
.elementor-element-1624dcdd .elementor-column:hover {
  transform: translateY(-4px) !important;
  box-shadow:
    0 26px 60px rgba(24, 33, 43, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}
.elementor-element-1624dcdd .elementor-icon-box-title,
.elementor-element-1624dcdd .elementor-icon-box-title span {
  color: var(--ink) !important;
}

/* ============================================================
   ÍCONES — round box champagne claro, glow sutil
   IMPORTANT: .elementor-view-stacked/framed/default ficam no
   ELEMENT PAI, não no .elementor-icon. Por isso os seletores
   abaixo usam descendência.
   ============================================================ */
.elementor-widget-icon-box .elementor-icon-box-icon,
.elementor-view-stacked .elementor-icon,
.elementor-view-framed .elementor-icon,
.elementor-view-default .elementor-icon,
.elementor-10 .elementor-element.elementor-view-stacked .elementor-icon,
.elementor-10 .elementor-element.elementor-view-framed .elementor-icon,
.elementor-10 .elementor-element.elementor-view-default .elementor-icon,
.elementor-10 .elementor-element .elementor-icon-box-icon .elementor-icon {
  background: linear-gradient(135deg, rgba(232,212,168,0.42), rgba(255,252,247,0.92)) !important;
  background-color: rgba(232,212,168,0.20) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 50% !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 6px 18px rgba(201, 161, 90, 0.18) !important;
  padding: 14px !important;
  color: var(--champagne-deep) !important;
}
/* SVG dentro de qualquer ícone — fill champagne */
.elementor-icon svg,
.elementor-icon-box-icon svg,
.elementor-widget-icon-box svg.e-font-icon-svg,
.elementor-widget-icon svg.e-font-icon-svg {
  fill: var(--champagne-deep) !important;
  color: var(--champagne-deep) !important;
}

/* ============================================================
   CARDS — Capacidades (Elementor antigo: inner-section + columns)
   ============================================================ */
.elementor-element-214cdcf5 .elementor-inner-section .elementor-column > .elementor-widget-wrap.elementor-element-populated {
  position: relative !important;
  background: var(--grad-glass) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 20px !important;
  padding: 36px 22px 44px !important;
  box-shadow:
    0 18px 45px var(--shadow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.elementor-element-214cdcf5 .elementor-inner-section .elementor-column > .elementor-widget-wrap.elementor-element-populated::after {
  content: "";
  position: absolute;
  left: 28px; right: 28px; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--champagne), transparent);
  opacity: 0.6;
}
.elementor-element-214cdcf5 .elementor-inner-section .elementor-column > .elementor-widget-wrap.elementor-element-populated:hover {
  transform: translateY(-6px) !important;
  box-shadow:
    0 28px 60px rgba(24, 33, 43, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(201, 161, 90, 0.55) !important;
}
.elementor-element-214cdcf5 .elementor-inner-section .elementor-column:nth-child(3) > .elementor-widget-wrap.elementor-element-populated {
  background: linear-gradient(135deg,
    rgba(232, 212, 168, 0.55) 0%,
    rgba(216, 180, 106, 0.30) 50%,
    rgba(255, 252, 247, 0.85) 100%) !important;
  border-color: rgba(201, 161, 90, 0.55) !important;
}

/* ============================================================
   CARDS — Canais (Elementor v3+: e-con e-grid com icon-box direto)
   Cada widget icon-box vira um card individual.
   Forçamos layout VERTICAL (ícone topo, texto largura cheia).
   ============================================================ */
.elementor-element-ce951d2 > .e-con-inner > .elementor-widget-icon-box {
  position: relative !important;
  background: var(--grad-glass) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 20px !important;
  padding: 32px 22px 38px !important;
  box-shadow:
    0 18px 45px var(--shadow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  overflow: visible !important;
}
/* Força stack vertical centralizado (override do position-inline-start) */
.elementor-element-ce951d2 .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 18px !important;
}
.elementor-element-ce951d2 .elementor-icon-box-icon {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-element-ce951d2 .elementor-icon-box-content {
  width: 100% !important;
  text-align: center !important;
}
.elementor-element-ce951d2 .elementor-icon-box-title {
  word-break: break-word !important;
  hyphens: auto !important;
}
.elementor-element-ce951d2 .elementor-icon-box-description {
  word-break: break-word !important;
}
.elementor-element-ce951d2 > .e-con-inner > .elementor-widget-icon-box::after {
  content: "";
  position: absolute;
  left: 22px; right: 22px; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--champagne), transparent);
  opacity: 0.6;
}
.elementor-element-ce951d2 > .e-con-inner > .elementor-widget-icon-box:hover {
  transform: translateY(-6px) !important;
  box-shadow:
    0 28px 60px rgba(24, 33, 43, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(201, 161, 90, 0.55) !important;
}

/* Esconder cards com título vazio em Canais (sobraram do template MTF) */
.elementor-element-ce951d2 > .e-con-inner > .elementor-widget-icon-box:nth-child(n+5) {
  display: none !important;
}
/* Caso o 4º também esteja vazio (WhatsApp Business sem dados), esconder */
.elementor-element-4d1a1c9,
.elementor-element-4d1a1c9.elementor-widget {
  display: none !important;
}

/* ============================================================
   CARDS — Contato (e-con e-child cada card)
   ============================================================ */
.elementor-element-3bbe22c > .e-con-inner > .e-con.e-child {
  position: relative !important;
  background: var(--grad-glass) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 20px !important;
  padding: 32px 20px 38px !important;
  box-shadow:
    0 18px 45px var(--shadow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  overflow: hidden !important;
}
.elementor-element-3bbe22c > .e-con-inner > .e-con.e-child::after {
  content: "";
  position: absolute;
  left: 22px; right: 22px; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--champagne), transparent);
  opacity: 0.6;
}
.elementor-element-3bbe22c > .e-con-inner > .e-con.e-child:hover {
  transform: translateY(-6px) !important;
  box-shadow:
    0 28px 60px rgba(24, 33, 43, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(201, 161, 90, 0.55) !important;
}

/* ============================================================
   FORMULÁRIO CONTATO — Robô GLOBAUX (widget 8884aa3)
   Reduzido para 70% (-30% conforme solicitado)
   ============================================================ */
.elementor-element-8884aa3 {
  text-align: center !important;
}
.elementor-element-8884aa3 img {
  width: 70% !important;
  max-width: 70% !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* ============================================================
   BLOCO "ENTRE EM CONTATO" (heading wrap) — 4bb429f
   O Elementor aplica background-background:classic com navy.
   Substituímos por vidro creme tech.
   ============================================================ */
.elementor-element-4bb429f,
.elementor-element-4bb429f > .elementor-motion-effects-container,
.elementor-element-4bb429f > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
  background-image: none !important;
}
.elementor-element-4bb429f {
  background:
    radial-gradient(circle at top left, rgba(216, 180, 106, 0.24), transparent 42%),
    linear-gradient(135deg, rgba(255, 252, 247, 0.92), rgba(248, 243, 234, 0.84)) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 22px !important;
  padding: 44px 36px !important;
  box-shadow:
    0 28px 70px var(--shadow-premium),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}
.elementor-element-4bb429f h1,
.elementor-element-4bb429f h2,
.elementor-element-4bb429f h3,
.elementor-element-4bb429f .elementor-heading-title {
  color: var(--ink) !important;
  text-shadow: none !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}
.elementor-element-4bb429f p,
.elementor-element-4bb429f p.elementor-heading-title {
  color: var(--slate-muted) !important;
  opacity: 1 !important;
}

/* Element 178a7319 (qualquer outro bloco navy escapado) — mesma lógica */
.elementor-element-178a7319,
.elementor-element-178a7319 > .elementor-widget-wrap,
.elementor-element-178a7319 .elementor-motion-effects-layer {
  background-color: transparent !important;
  background-image: none !important;
}

/* ============================================================
   FAIXA "PARCERIAS COMERCIAIS" (4aa878fc)
   Imagem do laboratório precisa ficar NÍTIDA, então overlay
   sutil + gradiente parcial pra dar legibilidade ao texto.
   ============================================================ */
.elementor-element-4aa878fc > .elementor-background-overlay {
  background:
    linear-gradient(90deg,
      rgba(248, 243, 234, 0.86) 0%,
      rgba(248, 243, 234, 0.64) 38%,
      rgba(248, 243, 234, 0.18) 70%,
      rgba(248, 243, 234, 0.08) 100%) !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.elementor-element-4aa878fc {
  border-top: 1px solid var(--border-gold) !important;
  border-bottom: 1px solid var(--border-gold) !important;
  box-shadow: none !important;
}
.elementor-element-4aa878fc h2,
.elementor-element-4aa878fc .elementor-heading-title {
  color: var(--ink) !important;
  text-shadow: 0 1px 2px rgba(255, 252, 247, 0.7) !important;
  font-weight: 800 !important;
}
.elementor-element-4aa878fc p.elementor-heading-title {
  color: var(--ink-soft) !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(255, 252, 247, 0.6) !important;
}
.elementor-element-4aa878fc .elementor-button {
  background: var(--grad-button) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  box-shadow: 0 14px 32px rgba(201, 161, 90, 0.35), inset 0 1px 0 rgba(255,255,255,0.5) !important;
}

/* ============================================================
   PARCEIROS (logos) — cards vidro fino
   ============================================================ */
.elementor-element-c33ac59 .swiper-slide,
.elementor-element-23c188a .swiper-slide {
  background: rgba(255, 252, 247, 0.72) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 14px !important;
  padding: 24px 18px !important;
  box-shadow: 0 12px 28px var(--shadow-soft) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease !important;
}
.elementor-element-c33ac59 .swiper-slide:hover,
.elementor-element-23c188a .swiper-slide:hover {
  box-shadow: 0 20px 44px rgba(24, 33, 43, 0.14) !important;
  transform: translateY(-3px) !important;
  border-color: var(--border-gold) !important;
}
.elementor-element-c33ac59 .swiper-slide img,
.elementor-element-23c188a .swiper-slide img {
  filter: saturate(0.85) !important;
  transition: filter 0.3s ease !important;
}
.elementor-element-c33ac59 .swiper-slide:hover img,
.elementor-element-23c188a .swiper-slide:hover img {
  filter: saturate(1) !important;
}

/* ============================================================
   SOBRE — ritmo visual entre parágrafos
   3421992 = lead | 5830ce73 = 2º | 1e177c8 = 3º
   ============================================================ */
.elementor-element-3421992 p.elementor-heading-title {
  font-size: 1.05rem !important;
  color: var(--ink-soft) !important;
  border-left: 3px solid var(--champagne) !important;
  padding-left: 18px !important;
}
.elementor-element-5830ce73,
.elementor-element-1e177c8 {
  margin-top: 22px !important;
}
.elementor-element-5830ce73::before,
.elementor-element-1e177c8::before {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, var(--champagne), transparent);
  margin-bottom: 10px;
  opacity: 0.55;
}

/* ============================================================
   MISSÃO / VISÃO / VALORES
   ============================================================ */
.elementor-element-d406448 .e-child,
.elementor-element-e696a30 .e-child {
  background: var(--grad-glass) !important;
  backdrop-filter: blur(14px) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 18px !important;
  padding: 32px 22px !important;
  box-shadow:
    0 18px 40px var(--shadow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;
}

/* ============================================================
   FORMULÁRIO
   ============================================================ */
.elementor-form input[type="text"],
.elementor-form input[type="email"],
.elementor-form input[type="number"],
.elementor-form input[type="tel"],
.elementor-form input[type="url"],
.elementor-form textarea,
.elementor-form select,
.elementor-field-textual {
  background: rgba(255, 252, 247, 0.92) !important;
  border: 1px solid var(--border-gold) !important;
  color: var(--ink) !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  font-size: 1em !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
}
.elementor-form input::placeholder,
.elementor-form textarea::placeholder {
  color: var(--slate-muted) !important;
  opacity: 0.7 !important;
}
.elementor-form input:focus,
.elementor-form textarea:focus,
.elementor-form select:focus,
.elementor-field-textual:focus {
  border-color: var(--champagne) !important;
  background: rgba(255, 252, 247, 1) !important;
  box-shadow: 0 0 0 3px rgba(201, 161, 90, 0.18) !important;
  outline: none !important;
}

/* Submit — champagne gradient (era navy chapado) */
.elementor-form .elementor-button[type="submit"],
.elementor-form button[type="submit"] {
  background: var(--grad-button) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  width: 100% !important;
  padding: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 10px !important;
  box-shadow:
    0 14px 32px var(--shadow-gold),
    inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}
.elementor-form .elementor-button[type="submit"]:hover,
.elementor-form button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.05) !important;
}

.elementor-field-type-checkbox label {
  color: var(--slate-muted) !important;
  font-size: 0.85em !important;
}
.elementor-field-type-checkbox a {
  color: var(--champagne-deep) !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

/* ============================================================
   LINKS GENÉRICOS
   ============================================================ */
.elementor a:not(.elementor-button):not(.elementor-icon):not(.hfe-menu-item):not(.hfe-sub-menu-item):not(.swiper-slide) {
  color: var(--ink-soft) !important;
  transition: color 0.25s ease !important;
}
.elementor a:not(.elementor-button):not(.elementor-icon):not(.hfe-menu-item):not(.hfe-sub-menu-item):not(.swiper-slide):hover {
  color: var(--champagne) !important;
}

.elementor-divider-separator {
  border-top: 1px solid var(--border-soft) !important;
}

/* ============================================================
   RODAPÉ — escuro mas com gradiente (não navy chapado)
   ============================================================ */
footer,
#colophon,
.elementor-element-069adb7,
.elementor-element-aea3d1e {
  background: linear-gradient(135deg, #151D27 0%, #1B2734 100%) !important;
  color: #EDE3D2 !important;
}
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer .elementor-heading-title {
  color: var(--champagne-soft) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  font-size: 0.95em !important;
}
footer p,
footer .elementor-icon-list-text,
footer .elementor-icon-list-item {
  color: #EDE3D2 !important;
}
footer .elementor-icon-list-icon svg {
  fill: var(--champagne) !important;
}
footer a { color: #EDE3D2 !important; }
footer a:hover { color: var(--champagne) !important; }

footer .elementor-social-icon {
  background-color: transparent !important;
  border: 1px solid var(--champagne) !important;
  transition: all 0.3s ease !important;
}
footer .elementor-social-icon svg { fill: var(--champagne) !important; }
footer .elementor-social-icon:hover {
  background: var(--grad-button) !important;
  border-color: transparent !important;
}
footer .elementor-social-icon:hover svg { fill: var(--ink) !important; }

.elementor-element-25f0d95 {
  background: linear-gradient(135deg, #121922 0%, #161F2A 100%) !important;
  border-top: 1px solid rgba(201, 161, 90, 0.18) !important;
}
.elementor-element-25f0d95 .elementor-heading-title,
.elementor-element-25f0d95 p {
  color: #EDE3D2 !important;
  opacity: 0.72 !important;
  font-size: 0.85em !important;
}

/* ============================================================
   COOKIE BANNER — vidro fosco creme
   ============================================================ */
.cmplz-cookiebanner {
  background: rgba(255, 252, 247, 0.96) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  border: 1px solid var(--border-gold) !important;
  color: var(--ink) !important;
  box-shadow: 0 24px 70px rgba(24, 33, 43, 0.18) !important;
  border-radius: 16px !important;
}
.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-category-title {
  color: var(--ink) !important;
  font-weight: 700 !important;
}
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-description {
  color: var(--slate-muted) !important;
}
/* Botão primário aceitar */
.cmplz-cookiebanner .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner button.cmplz-accept,
.cmplz-cookiebanner .cmplz-btn:first-of-type,
.cmplz-cookiebanner button[data-action="accept"] {
  background: var(--grad-button) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 20px var(--shadow-gold) !important;
}
.cmplz-cookiebanner .cmplz-btn,
.cmplz-cookiebanner button {
  background: rgba(248, 243, 234, 0.85) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
}
.cmplz-cookiebanner .cmplz-btn:hover,
.cmplz-cookiebanner button:hover {
  background: rgba(232, 212, 168, 0.45) !important;
  color: var(--ink) !important;
}

/* ============================================================
   LIMPEZA
   ============================================================ */
[style*="background-color: #fff"],
[style*="background-color:#fff"],
[style*="background-color: #FFFFFF"],
[style*="background-color:#FFFFFF"] {
  background-color: transparent !important;
}
[style*="color:#D4A857"], [style*="color: #D4A857"],
[style*="color:#293f6c"], [style*="color: #293f6c"],
[style*="color:#293F6C"], [style*="color: #293F6C"] {
  color: var(--champagne) !important;
}
[style*="color:#E8C97D"], [style*="color: #E8C97D"],
[style*="color:#5ce1e6"], [style*="color: #5ce1e6"] {
  color: var(--champagne-soft) !important;
}
.elementor-shape-fill { fill: var(--bg-soft) !important; }


/* ============================================================
   MOBILE — Reset e otimizações (max-width: 767px)
   ============================================================ */
@media (max-width: 767px) {

  /* HERO mobile — imagem inteira acima, texto abaixo com fundo creme */
  .elementor-element-651c811c {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: unset !important;
    background-size: 100% auto !important;
    background-position: top center !important;
    background-color: var(--bg-main) !important;
    padding: 0 !important;
  }
  .elementor-element-651c811c > .elementor-container {
    flex-direction: column !important;
    max-width: 100% !important;
  }
  .elementor-element-651c811c .elementor-element-a6e5198,
  .elementor-element-651c811c .elementor-element-4184a3bd {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  /* coluna visual: altura proporcional à imagem (2098×750 ≈ 35.7% de largura) */
  .elementor-element-651c811c .elementor-element-a6e5198 {
    aspect-ratio: 2098 / 750 !important;
  }
  .elementor-element-651c811c .elementor-column > .elementor-widget-wrap {
    min-height: 0 !important;
    padding: 1.5rem 1.25rem !important;
    background: var(--bg-main) !important;
  }
  .elementor-element-651c811c > .elementor-background-overlay {
    background: none !important;
  }

  /* HEADER — logo menor (a893172 é o header DESKTOP, hidden no mobile:
     mantemos só o seletor do logo mobile real, ec34277). */
  .elementor-element-ec34277 img {
    max-width: 120px !important;
    height: auto !important;
  }

  /* MENU MOBILE — header = logo + hambúrguer + bandeira de idioma.
     O CTA "Fale conosco" do topo SAI no mobile (decisão de produto):
     o contato continua acessível pelo item do menu (#contato) e pelo
     CTA grande no corpo da página. Header mais limpo e sem corte. */
  .elementor-element-5aeecd5 {
    display: none !important;
  }

  /* Hambúrguer — alvo de toque 44×44 (HIG), centralizado, box-border */
  .hfe-nav-menu__toggle {
    color: var(--ink) !important;
    background: transparent !important;
    border: 1px solid var(--border-gold) !important;
    border-radius: 8px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .hfe-nav-menu__toggle .hfe-nav-menu-icon svg,
  .hfe-nav-menu__toggle svg {
    width: 20px !important;
    height: 20px !important;
  }
  .hfe-nav-menu .hfe-menu-item,
  .hfe-nav-menu .hfe-sub-menu-item {
    padding: 14px 18px !important;
    font-size: 0.95rem !important;
    border-bottom: 1px solid var(--border-soft) !important;
  }

  /* Header layout flex — logo ocupa o espaço livre, bandeira + menu à direita */
  .elementor-element-a40dcc8 > .e-con-inner,
  .elementor-element-a40dcc8 {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }
  .elementor-element-f4578bd { flex: 1 1 auto !important; min-width: 0 !important; }
  .elementor-element-0c749a4 { flex: 0 0 auto !important; }
  .elementor-element-d378779 { flex: 0 0 auto !important; }

  /* Seção Parcerias (4aa878fc) — sem cap rígido de altura (empilhado o
     conteúdo pode passar de 480px e era cortado); mantém min-height. */
  .elementor-element-4aa878fc {
    min-height: 340px !important;
    max-height: none !important;
    padding: 40px 20px !important;
  }
  .elementor-element-4aa878fc .elementor-container {
    min-height: 0 !important;
  }

  /* Seção Sobre — imagem do mapa não dominar a viewport */
  .elementor-element-786b1ce img {
    max-height: 280px !important;
    object-fit: contain !important;
    width: auto !important;
  }

  /* Carrossel parceiros — slides com tamanho proporcional ao card */
  .elementor-element-23c188a .swiper {
    max-width: 100% !important;
  }
  .elementor-element-23c188a .swiper-slide {
    max-width: 160px !important;
    height: 100px !important;
    padding: 12px !important;
  }
  .elementor-element-23c188a .swiper-slide img {
    max-width: 100% !important;
    max-height: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Seção Capacidades — cap de imagem se houver */
  .elementor-element-214cdcf5 img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* TIPOGRAFIA mobile — escala ajustada */
  h1, .elementor-heading-title {
    font-size: 1.55rem !important;
    line-height: 1.2 !important;
  }
  h2, h2.elementor-heading-title {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
  }
  h3, h3.elementor-heading-title {
    font-size: 1.2rem !important;
  }
  h5, h5.elementor-heading-title {
    font-size: 1rem !important;
  }
  p, .elementor-icon-box-description, p.elementor-heading-title {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
  }

  /* SECTIONS — padding horizontal reduzido */
  section.elementor-section,
  .elementor-section,
  .elementor-element.e-con.e-parent {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .elementor-container,
  .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* FAIXA 3 ÍCONES — empilhar + remove margin-top negativo */
  .elementor-element-1624dcdd {
    margin-top: 20px !important;
    padding-top: 0 !important;
  }
  .elementor-element-1624dcdd .elementor-container {
    flex-direction: column !important;
  }
  .elementor-element-1624dcdd .elementor-column {
    margin: 12px 0 !important;
    padding: 28px 22px !important;
    width: 100% !important;
  }

  /* CAPACIDADES — empilhar 5 cards */
  .elementor-element-214cdcf5 .elementor-inner-section .elementor-container {
    flex-direction: column !important;
  }
  .elementor-element-214cdcf5 .elementor-inner-section .elementor-column {
    width: 100% !important;
    margin: 12px 0 !important;
  }
  .elementor-element-214cdcf5 .elementor-inner-section .elementor-column > .elementor-widget-wrap.elementor-element-populated {
    padding: 28px 22px 36px !important;
  }

  /* CANAIS — cards já são vertical, ajusta padding */
  .elementor-element-ce951d2 {
    grid-template-columns: 1fr !important;
  }
  .elementor-element-ce951d2 > .e-con-inner > .elementor-widget-icon-box {
    padding: 24px 18px 32px !important;
    margin: 8px 0 !important;
  }

  /* CONTATO cards — empilhar */
  .elementor-element-3bbe22c > .e-con-inner {
    flex-direction: column !important;
  }
  .elementor-element-3bbe22c > .e-con-inner > .e-con.e-child {
    width: 100% !important;
    margin: 8px 0 !important;
    padding: 24px 18px 30px !important;
  }

  /* SOBRE section — empilhar imagem + texto */
  .elementor-element-786b1ce .elementor-container {
    flex-direction: column !important;
  }
  .elementor-element-786b1ce .elementor-column {
    width: 100% !important;
  }
  .elementor-element-786b1ce img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* MISSÃO/VISÃO/VALORES — empilhar */
  .elementor-element-d406448 > .e-con-inner,
  .elementor-element-e696a30 > .e-con-inner {
    flex-direction: column !important;
  }
  .elementor-element-d406448 .e-child,
  .elementor-element-e696a30 .e-child {
    width: 100% !important;
    margin: 8px 0 !important;
    padding: 24px 20px !important;
  }

  /* CTA "Parcerias comerciais" (4aa878fc) — coluna empilhada */
  .elementor-element-4aa878fc .elementor-container {
    flex-direction: column !important;
    gap: 18px !important;
  }
  .elementor-element-4aa878fc .elementor-column {
    width: 100% !important;
    text-align: center !important;
  }
  .elementor-element-4aa878fc > .elementor-background-overlay {
    background:
      linear-gradient(180deg,
        rgba(248, 243, 234, 0.86) 0%,
        rgba(248, 243, 234, 0.66) 60%,
        rgba(248, 243, 234, 0.30) 100%) !important;
  }
  .elementor-element-4aa878fc .elementor-button {
    width: 100% !important;
    max-width: 360px !important; /* respira dentro do padding mesmo a 360px */
  }

  /* BLOCO "ENTRE EM CONTATO" — padding menor */
  .elementor-element-4bb429f {
    padding: 28px 20px !important;
    border-radius: 18px !important;
  }

  /* FORMULÁRIO — fields full width */
  .elementor-form .elementor-field-group {
    width: 100% !important;
  }
  .elementor-form .elementor-field-textual {
    font-size: 1rem !important;
    padding: 14px 16px !important; /* altura ≥44px */
  }

  /* RODAPÉ — colunas empilham */
  footer .elementor-element-069adb7 .e-con-inner,
  .elementor-element-069adb7 > .e-con-inner {
    flex-direction: column !important;
    gap: 20px !important;
  }
  footer .e-child,
  .elementor-element-069adb7 .e-child {
    width: 100% !important;
    text-align: left !important;
  }
  footer h5,
  footer .elementor-heading-title {
    font-size: 0.95rem !important;
  }
  footer .elementor-element-25f0d95 > .e-con-inner {
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
  }
  footer .elementor-element-25f0d95 p {
    font-size: 0.75rem !important;
  }

  /* COOKIE BANNER — não tampar a tela inteira + respeitar a safe-area
     inferior (home indicator do iPhone) já que o banner é fixed bottom
     e a página tem viewport-fit=cover. */
  .cmplz-cookiebanner {
    max-width: calc(100vw - 24px) !important;
    margin: 12px !important;
    padding: 16px !important;
    padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    border-radius: 12px !important;
  }
  .cmplz-cookiebanner .cmplz-message {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
  /* Botões ≥16px (evita zoom automático no iOS ao focar) e altura ≥44px */
  .cmplz-cookiebanner .cmplz-btn,
  .cmplz-cookiebanner button {
    font-size: 16px !important;
    padding: 12px 16px !important;
    min-height: 44px !important;
  }
  /* Label do checkbox de consentimento — ≥16px no mobile */
  .elementor-field-type-checkbox label {
    font-size: 1rem !important;
  }

  /* Carrossel parceiros — slides menores */
  .elementor-element-c33ac59 .swiper-slide,
  .elementor-element-23c188a .swiper-slide {
    padding: 16px 12px !important;
  }

  /* IMAGENS — trava fluida global (protege imagens sem regra própria,
     ex.: 8884aa3, 9275ac0, af3b4aa, d9db886) contra overflow horizontal. */
  .elementor-widget-image img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Body / radial gradient menos intenso (performance) */
  body {
    background-attachment: scroll !important;
  }
}

/* TABLET (768-1024px) — empilhamento parcial */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-214cdcf5 .elementor-inner-section .elementor-column {
    width: 50% !important;
    margin: 8px 0 !important;
  }
  .elementor-element-ce951d2 {
    grid-template-columns: 1fr 1fr !important;
  }
  h1, h2.elementor-heading-title {
    font-size: 1.9rem !important;
  }
  .elementor-element-651c811c {
    min-height: 0 !important;
  }
}

/* ============================================================
   GLOBAUX PHARMA — ELEVAÇÃO (v4) — direção de modernização
   Princípio: SUBTRAIR. Premium = restrição, não acúmulo.
   Preserva o DNA (marfim + champagne + grafite); modifica a
   EXECUÇÃO — sombra discreta, vidro raro, ouro disciplinado,
   tipografia humanista (Fraunces display + Inter texto),
   hierarquia real. Vem por último de propósito: empata em
   especificidade com o v3 e vence por ordem de fonte.
   ============================================================ */
:root {
  /* Escala de sombra única — tight, em camadas, baixa opacidade
     (substitui as sombras "gordas" 0 18-28px 45-70px do v3) */
  --shadow-sm: 0 1px 2px rgba(24,33,43,.06);
  --shadow-md: 0 2px 4px rgba(24,33,43,.04), 0 8px 20px rgba(24,33,43,.06);
  --shadow-lg: 0 4px 8px rgba(24,33,43,.05), 0 16px 40px rgba(24,33,43,.08);
  /* 3 raios apenas (aposenta os 8 valores avulsos) */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  /* Borda neutra como separador principal — ouro deixa de ser default */
  --border-hair: rgba(187,167,137,0.42);
  /* Corpo com contraste AA sobre marfim (~8.6:1) — resolve o slate lavado */
  --text-body: #36414C;
}

/* ---- TIPOGRAFIA — par humanista: Fraunces (display) + Inter (texto) ---- */
body,
p, .elementor-heading-title, .elementor-icon-box-title, .elementor-icon-box-description,
.elementor-button, .elementor-field-textual, .elementor-form input, .elementor-form textarea,
.elementor-form select, .hfe-menu-item, .hfe-sub-menu-item,
h3, h4, h5, h6 {
  font-family: 'Inter','Noto Sans SC',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif !important;
}
h1, h2 {
  font-family: 'Fraunces','Noto Serif SC',Georgia,'Times New Roman',serif !important;
  font-weight: 600 !important;          /* 800 mata o charme do baixo contraste da Fraunces */
  letter-spacing: -0.015em !important;
}
/* Escala de display REAL e responsiva (clamp) — corrige o mobile achatado
   (h1 1.55 vs h2 1.5) e dá o salto de escala que faltava no desktop */
h1, h1.elementor-heading-title {
  font-size: clamp(2rem, 1.4rem + 3vw, 3rem) !important;       /* 32 → 48 */
  line-height: 1.12 !important;
}
h2, h2.elementor-heading-title {
  font-size: clamp(1.6rem, 1.2rem + 2vw, 2.25rem) !important;  /* 25.6 → 36 */
  line-height: 1.18 !important;
}
h3, h3.elementor-heading-title, .elementor-icon-box-title {
  font-size: clamp(1.18rem, 1.05rem + .55vw, 1.45rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;          /* tracking negativo só no display */
  line-height: 1.3 !important;
}
p, .elementor-icon-box-description, p.elementor-heading-title {
  color: var(--text-body) !important;
  font-size: 1.0625rem !important;       /* 17px */
  line-height: 1.6 !important;
  font-weight: 400 !important;
}
/* Medida confortável em texto corrido */
.elementor-widget-text-editor p { max-width: 68ch; }

/* ---- COR — ouro raro: remove a "palavra dourada" de TODO título ---- */
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span,
.elementor-heading-title span,
[style*="color:#D4A857"], [style*="color: #D4A857"],
[style*="color:#E8C97D"], [style*="color: #E8C97D"] {
  color: inherit !important;
}

/* ---- FUNDO — calmar: de 3 radiais + partículas para quase-flat ---- */
html {
  background: linear-gradient(180deg, var(--bg-soft) 0%, var(--bg-main) 100%) !important;
  background-attachment: scroll !important;
}
#gx-ambient { display: none !important; }

/* ---- MATERIAL — vidro só no header; cards viram superfície sólida ----
   (mesmos seletores do v3 → empatam em especificidade, vencem por ordem) */
.elementor-element-1624dcdd .elementor-column,
.elementor-element-214cdcf5 .elementor-inner-section .elementor-column > .elementor-widget-wrap.elementor-element-populated,
.elementor-element-ce951d2 > .e-con-inner > .elementor-widget-icon-box,
.elementor-element-3bbe22c > .e-con-inner > .e-con.e-child,
.elementor-element-d406448 .e-child,
.elementor-element-e696a30 .e-child {
  background: var(--bg-card-solid) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid var(--border-hair) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-md) !important;
}
/* Remove o sublinhado champagne carimbado nos 4 sistemas de card */
.elementor-element-1624dcdd .elementor-column::after,
.elementor-element-214cdcf5 .elementor-inner-section .elementor-column > .elementor-widget-wrap.elementor-element-populated::after,
.elementor-element-ce951d2 > .e-con-inner > .elementor-widget-icon-box::after,
.elementor-element-3bbe22c > .e-con-inner > .e-con.e-child::after {
  display: none !important;
  content: none !important;
}
/* UM idioma de hover: sem salto; borda → champagne + sombra md */
.elementor-element-1624dcdd .elementor-column:hover,
.elementor-element-214cdcf5 .elementor-inner-section .elementor-column > .elementor-widget-wrap.elementor-element-populated:hover,
.elementor-element-ce951d2 > .e-con-inner > .elementor-widget-icon-box:hover,
.elementor-element-3bbe22c > .e-con-inner > .e-con.e-child:hover {
  transform: none !important;
  border-color: rgba(201,161,90,0.55) !important;
  box-shadow: var(--shadow-md) !important;
}
/* O 3º card de Capacidades segue como O card de destaque (hierarquia) */
.elementor-element-214cdcf5 .elementor-inner-section .elementor-column:nth-child(3) > .elementor-widget-wrap.elementor-element-populated {
  background: linear-gradient(135deg, rgba(232,212,168,0.45), rgba(255,252,247,0.96)) !important;
  border-color: var(--champagne) !important;
  box-shadow: var(--shadow-lg) !important;
}

/* Bloco "Entre em contato" — sólido + sombra lg (é um momento, pode pesar) */
.elementor-element-4bb429f {
  background: var(--bg-card-solid) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid var(--border-hair) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-lg) !important;
}

/* ---- ÍCONES — tira o badge dourado com glow; recipiente neutro ----
   (o glifo SVG segue champagne: é o acento raro permitido) */
.elementor-widget-icon-box .elementor-icon-box-icon,
.elementor-view-stacked .elementor-icon,
.elementor-view-framed .elementor-icon,
.elementor-view-default .elementor-icon,
.elementor-10 .elementor-element .elementor-icon-box-icon .elementor-icon {
  background: rgba(201,161,90,0.10) !important;
  border: 1px solid var(--border-hair) !important;
  border-radius: var(--r-sm) !important;
  box-shadow: none !important;
}

/* ---- BOTÕES — champagne CHAPADO; hover por cor, sem translate/gloss ---- */
.elementor-button, button.elementor-button, .elementor-button-link,
.elementor-element-4aa878fc .elementor-button,
.elementor-form .elementor-button[type="submit"], .elementor-form button[type="submit"] {
  background: var(--champagne) !important;
  background-image: none !important;
  color: var(--ink) !important;
  border: 1px solid var(--champagne-deep) !important;
  border-radius: var(--r-sm) !important;
  box-shadow: var(--shadow-sm) !important;
}
.elementor-button:hover, button.elementor-button:hover, .elementor-button-link:hover,
.elementor-element-4aa878fc .elementor-button:hover,
.elementor-form .elementor-button[type="submit"]:hover, .elementor-form button[type="submit"]:hover {
  background: var(--champagne-deep) !important;
  color: var(--ink) !important;
  transform: none !important;
  filter: none !important;
  box-shadow: var(--shadow-md) !important;
}
/* Submit: sentence case, sem o tracking largo datado */
.elementor-form .elementor-button[type="submit"], .elementor-form button[type="submit"] {
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

/* ---- MURAL DE PARCEIROS — logos sem cromo; mono → cor no hover ---- */
.elementor-element-c33ac59 .swiper-slide,
.elementor-element-23c188a .swiper-slide {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
}
.elementor-element-c33ac59 .swiper-slide:hover,
.elementor-element-23c188a .swiper-slide:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  border: none !important;
}
.elementor-element-c33ac59 .swiper-slide img,
.elementor-element-23c188a .swiper-slide img {
  filter: grayscale(100%) opacity(0.55) !important;
  transition: filter 0.3s ease, opacity 0.3s ease !important;
}
.elementor-element-c33ac59 .swiper-slide:hover img,
.elementor-element-23c188a .swiper-slide:hover img {
  filter: grayscale(0%) opacity(1) !important;
}

/* ---- Acessibilidade — respeita quem reduz movimento ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}


/* ============================================================
   HERO (home) — nova imagem photo-first (robot Globaux + nelore).
   2026-06-09.
   ============================================================ */
.elementor-10 .elementor-element.elementor-element-651c811c,
.elementor-element-651c811c:not(.elementor-motion-effects-element-type-background) {
  background-image: url("2025/08/globaux-hero-bg.png") !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  background-color: var(--ink) !important;
  aspect-ratio: 2098 / 750 !important;
  min-height: 0 !important;
  height: auto !important;
}
.elementor-element-651c811c > .elementor-background-overlay {
  background: linear-gradient(90deg,
    rgba(255, 244, 220, 0)    0%,
    rgba(255, 244, 220, 0.68) 55%,
    rgba(255, 248, 235, 0.94) 100%) !important;
  background-image: none !important;
  opacity: 1 !important;
}
.elementor-element-651c811c > .elementor-container { min-height: 0 !important; height: 100% !important; padding-top: 0 !important; padding-bottom: 0 !important; }

/* Hero content: texto escuro sobre fundo creme claro à direita. */
.elementor-element-651c811c .elementor-widget,
.elementor-element-651c811c .elementor-element { opacity: 1 !important; }
.elementor-element-651c811c .elementor-heading-title,
.elementor-element-574c4b6 .elementor-heading-title,
.elementor-element-5a1b2cb .elementor-heading-title { color: #111827 !important; text-shadow: none !important; }
.gx-hero-eyebrow .elementor-heading-title {
  color: #7A5A18 !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.elementor-element-651c811c img { mix-blend-mode: normal !important; }

/* Parágrafo descritivo (sem data-id — widget heading genérico) */
.elementor-element-651c811c .elementor-widget-heading:not([data-id]) .elementor-heading-title {
  color: #111827 !important;
  font-weight: 500 !important;
  line-height: 1.52 !important;
  font-size: 1rem !important;
  text-shadow: none !important;
  max-width: 38ch !important;
}

/* Safety: se a animação de reveal não disparar, o hero não pode ficar invisível. */
.elementor-element-651c811c .elementor-invisible { visibility: visible !important; opacity: 1 !important; }

/* Hero message-first: esconde o logo (header já tem) e promove a promessa a headline. */
.elementor-element-9275ac0 { display: none !important; }
.elementor-element-574c4b6 { text-align: left !important; }
.elementor-element-574c4b6 .elementor-heading-title {
  font-family: 'Fraunces','Noto Serif SC',Georgia,serif !important;
  font-size: clamp(1.7rem, 1.1rem + 2.6vw, 2.75rem) !important;
  line-height: 1.14 !important; font-weight: 600 !important;
  letter-spacing: -0.015em !important; color: #111827 !important;
  max-width: 18ch;
  text-shadow: none !important;
}

/* ============================================================
   HERO — bloco premium .hero-copy (substitui widgets Elementor)
   ============================================================ */

/* Oculta o container Elementor — .hero-copy-tech assume com position:absolute */
.elementor-element-651c811c > .elementor-container {
  display: none !important;
}

/* Overlay premium: radial suave centrado na área do texto + linear de suporte */
.elementor-element-651c811c > .elementor-background-overlay {
  background:
    radial-gradient(
      circle at 78% 48%,
      rgba(255, 248, 232, 0.98) 0%,
      rgba(255, 244, 220, 0.88) 28%,
      rgba(255, 234, 190, 0.42) 48%,
      rgba(255, 234, 190, 0)    68%
    ),
    linear-gradient(
      90deg,
      rgba(255, 244, 220, 0)    0%,
      rgba(255, 244, 220, 0.12) 42%,
      rgba(255, 248, 235, 0.88) 72%,
      rgba(255, 250, 242, 0.98) 100%
    ) !important;
  background-image: none !important;
  opacity: 1 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* ============================================================
   HERO — bloco tech-premium .hero-copy-tech
   ============================================================ */
.hero-copy-tech {
  position: absolute;
  right: 1.2%;
  top: 42%;
  width: min(580px, 36vw);
  z-index: 5;
  animation: heroLevitate 4s ease-in-out infinite;

  padding: 28px 30px 30px 32px;
  border-radius: 22px;

  background: linear-gradient(
    135deg,
    rgba(255, 248, 232, 0.72) 0%,
    rgba(255, 244, 224, 0.52) 55%,
    rgba(255, 255, 255, 0.24) 100%
  );
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow:
    0 18px 46px rgba(74, 47, 11, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.hero-copy-tech::before {
  content: "";
  position: absolute;
  left: 0;
  top: 28px;
  width: 2px;
  height: calc(100% - 56px);
  border-radius: 999px;
  background: linear-gradient(180deg,
    #f6d98a 0%,
    #b77b22 48%,
    rgba(183, 123, 34, 0.12) 100%
  );
  box-shadow:
    0 0 14px rgba(255, 214, 113, 0.42),
    0 0 34px rgba(183, 123, 34, 0.18);
}

.hero-eyebrow-tech {
  display: inline-block;
  margin-bottom: 18px;
  font-family: "Inter", "Sora", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #a66f18;
}

.hero-title-tech {
  margin: 0 0 26px;
}

.hero-title-tech .line {
  display: block;
  font-family: "Sora", "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(32px, 2.3vw, 40px);
  font-weight: 850;
  line-height: 0.96;
  letter-spacing: -0.055em;
  white-space: nowrap;
  color: transparent;
  background: linear-gradient(180deg,
    #ffffff 0%,
    #fff4cf 16%,
    #dca645 36%,
    #fff2bc 54%,
    #9f6818 78%,
    #fff7df 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 0.7px rgba(255, 255, 255, 0.28);
  filter: drop-shadow(0 8px 18px rgba(88, 57, 12, 0.16));
}

.hero-description-tech {
  margin: 0;
  max-width: 500px;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(16px, 0.95vw, 19px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -0.018em;
  color: #263447;
}

.hero-description-tech strong {
  font-weight: 850;
  color: #b77b22;
}

@keyframes heroLevitate {
  0%, 100% { transform: translateY(-50%);              }
  50%       { transform: translateY(calc(-50% - 7px)); }
}

/* ------------------------------------------------------------
   HERO mobile/tablet (≤900px) — layout EMPILHADO.
   No desktop o card .hero-copy-tech flutua (absolute) sobre a área
   clara da imagem. No mobile a seção é um banner curto (aspect-ratio
   2098/750 ≈ só ~148px de altura), então o card absoluto transbordava
   para cima e cobria o header. Aqui: imagem vira banner no topo (via
   ::before, com a razão correta e SEM distorção) e o card de texto flui
   em ordem normal logo abaixo, em fundo creme, sem animação de levitar.
   ------------------------------------------------------------ */
@media (max-width: 900px) {
  /* Seletor casa a especificidade da regra photo-first (.elementor-10
     .elementor-element.elementor-element-651c811c) p/ soltar o aspect-ratio. */
  .elementor-10 .elementor-element.elementor-element-651c811c,
  .elementor-element-651c811c:not(.elementor-motion-effects-element-type-background) {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
    background-image: none !important;
    background-color: var(--bg-main) !important;
    padding: 0 !important;
    position: relative !important;
  }
  /* Banner da imagem no topo — imagem vertical nativa mobile (941×1672) */
  .elementor-element-651c811c::before {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 941 / 1672 !important;
    background: url("2025/08/globaux-hero-mobile.webp") center center / cover no-repeat !important;
    margin-bottom: 0 !important;
  }
  /* Overlay creme do desktop não faz sentido no empilhado */
  .elementor-element-651c811c > .elementor-background-overlay {
    display: none !important;
  }

  /* Card flutuante sobre o robô — centralizado na cintura (~80% do topo da imagem) */
  .hero-copy-tech {
    position: absolute !important;
    top: 80% !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    inset-inline: 14px !important;
    animation: heroLevitate 4s ease-in-out infinite !important;
    padding: 18px 18px 18px 22px !important;
    border-radius: 18px !important;
    z-index: 10 !important;
    background: rgba(255, 252, 247, 0.90) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow:
      0 12px 36px rgba(74, 47, 11, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
  }

  /* Título: grafite sólido e legível sobre a foto */
  .hero-title-tech .line {
    white-space: normal !important;
    font-size: clamp(22px, 5.8vw, 32px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    background: none !important;
    color: #1b2735 !important;
    -webkit-text-fill-color: #1b2735 !important;
    -webkit-text-stroke: 0 !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    filter: none !important;
  }

  .hero-description-tech {
    font-size: 14px !important;
    line-height: 1.52 !important;
  }
}

/* ============================================================
   HEADER v5 — linha única compacta (desktop)
   ============================================================ */

/* Força row sem quebra; altura fixa */
.elementor-element-a893172 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 64px !important;
  gap: 0 !important;
}

/* Logo — tamanho fixo, não cresce */
.elementor-element-5671aaa {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
}
.elementor-element-5671aaa .elementor-widget-wrap,
.elementor-element-5671aaa .elementor-widget-container {
  padding: 0 !important;
}
.elementor-element-1fb1d2c img {
  height: 32px !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
}

/* Nav — preenche o meio */
.elementor-element-cb1de46 {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

/* CTA + switcher — compacto à direita */
.elementor-element-e982bf6 {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

/* Padding vertical compacto nos links do menu */
.elementor-element-a893172 .hfe-nav-menu .hfe-menu-item {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-size: 0.83rem !important;
}

/* ============================================================
   BOTÕES v5 — pill + shimmer ouro líquido
   ============================================================ */

.elementor-button,
.elementor-button-link,
button.elementor-button {
  border-radius: 100px !important;
  padding: 10px 24px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  /* gradiente simétrico 3× para o flash de shimmer na animação */
  background: linear-gradient(
    110deg,
    #9C6A18 0%,
    #C9A15A 30%,
    #EDD07A 50%,
    #C9A15A 70%,
    #9C6A18 100%
  ) !important;
  background-size: 250% 100% !important;
  background-position: right center !important;
  border: 1px solid rgba(255, 248, 220, 0.25) !important;
  box-shadow:
    0 6px 18px rgba(156, 106, 24, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.36) !important;
  transition:
    background-position 0.60s ease,
    transform            0.22s ease,
    box-shadow           0.28s ease !important;
}

.elementor-button:hover,
.elementor-button-link:hover,
button.elementor-button:hover {
  background-position: left center !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 14px 30px rgba(156, 106, 24, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.46) !important;
  filter: none !important;
}
