/* ================================================================
   VELO.LAW® — BASE
   Variáveis, overflow global, tipografia, WoW.js, animações,
   preloader, espaçamento de seções, utilitários
   ================================================================ */

/* ── Overflow-x: previne scroll lateral em qualquer resolução ── */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}
body.overflow-x-visible {
  overflow-x: hidden !important;
}
body > section,
body > div,
body > footer {
  max-width: 100%;
  overflow-x: hidden;
}
/* iOS Safari: clipa cada seção individualmente */
section:not(#processo):not(#portfolio),
footer,
.wpr-footer-area {
  overflow-x: hidden;
  max-width: 100%;
}

/* ── CSS Custom Properties — cores Velo.Law ── */
:root {
  --color-primary: #0efa71;
  --color-primary-dark: #00b858;
  --color-primary-gradient: linear-gradient(135deg, #0efa71 0%, #00b858 100%);
}

/* ── Cores primárias: badges, textos, ícones, glows ── */
.badge-primary,
.tag-primary,
[class*="bg-primary"]:not(.header-top-area) {
  background: linear-gradient(135deg, #0efa71 0%, #00b858 100%) !important;
}
.text-primary,
[class*="color-primary"],
.wpr-icon-box .icon i,
.service-wrapper .icon i {
  color: #0efa71;
}
.service-wrapper .content .bottom ul,
.working-process-content .inner-content::before {
  border-color: #0efa71;
}
.wpr-btn.with-icon:hover .icon,
.wpr-btn.btn-primary:hover {
  box-shadow: 0 8px 24px rgba(14, 250, 113, 0.35);
}

/* ── Tipografia: quebra equilibrada ── */
h1, h2, h3, h4, h5, h6,
.section-title, .title, .h4, .h5, .h6 {
  text-wrap: balance;
}

/* ── Sub-title badge ── */
.sub-title {
  font-size: 15px !important;
}

/* ── Descrições abaixo de headlines ── */
.section-title-area .desc,
.section-top-area .desc,
.wpr-about-area .desc,
p.desc,
.content-area .desc,
.working-process-content .desc,
.service-wrapper .desc,
.pricing-wrapper .desc {
  font-size: clamp(15px, 1.55vw, 17px) !important;
  line-height: 1.75 !important;
}

/* ── WoW.js: nunca ocultar conteúdo ── */
.wow {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

/* ── effectFade: sempre visível (GSAP fallback) ── */
.effectFade {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
@media (max-width: 991.98px) {
  .effectFade {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

/* ── Animações de entrada: DESABILITADAS temporariamente ── */
/* Para reativar na versão final: remover este bloco */
.velo-banner-sub,
.velo-banner-h1,
.velo-banner-desc,
.velo-banner-ctas {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* ── Preloader: DESABILITADO temporariamente ── */
/* Para reativar na versão final: remover este bloco */
.preloader {
  display: none !important;
}

/* ── Shapes decorativos inferiores: ocultar globalmente ── */
.bottom-shape-area {
  display: none !important;
}

/* ── Bootstrap container ── */
.container {
  max-width: min(100%, 1320px);
}

/* ── Botão branco: equaliza altura ── */
.wpr-btn.btn-white {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  font-size: 14px;
}

/* ── Espaçamento global: máximo 50px por seção ── */
section .section-inner,
.section-inner {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}
/* Exceções controladas individualmente */
#processo .section-inner,
.wpr-marquee-area .section-inner,
#portfolio .section-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── Mobile: base global ── */
@media (max-width: 767.98px) {
  body, html { overflow-x: hidden; }

  .container {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  section .section-inner,
  .section-inner {
    padding: 36px 20px !important;
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  .wpr-btn {
    font-size: 14px !important;
    min-height: 44px;
  }
  .sub-title {
    font-size: 11px !important;
    letter-spacing: .06em;
  }
  .section-title {
    font-size: clamp(22px, 6.5vw, 36px) !important;
  }
  h2.section-title {
    font-size: clamp(24px, 7vw, 40px) !important;
  }
}
