:root {
  --ve-site-header-fallback: 80px;
  --ve-site-header-offset: var(--ve-site-header-fallback);
  --ve-landing-header-fallback: 64px;
  --ve-landing-header-height: var(--ve-landing-header-fallback);
  --ve-landing-safe-gap: 1.25rem;
}

/* abertura suave da primeira carga da one page */
.page-template-page-landing .ve-preloader,
.page-template-page-landing-php .ve-preloader {
  position: fixed;
  top: calc(
    var(--ve-site-header-offset, var(--ve-site-header-fallback)) +
    var(--ve-landing-header-height, var(--ve-landing-header-fallback))
  );
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1020;
}

/* estado inicial antes do JS rodar */
.landing-header {
  width: 100%;
  z-index: 1030;
  background-color: var(--bs-body-bg, #fff);
  transition: box-shadow .2s ease-in-out;
}

.page-template-page-landing .landing-header .landing-header-inner,
.page-template-page-landing-php .landing-header .landing-header-inner {
  padding-top: calc(0.5rem + 2px) !important;
  padding-bottom: calc(0.5rem - 2px) !important;
  font-size: 0.875rem;
}

.page-template-page-landing .btn,
.page-template-page-landing-php .btn {
  --bs-btn-font-size: 0.75rem;
}

.page-template-page-landing .landing-header .nav-pills .nav-link,
.page-template-page-landing-php .landing-header .nav-pills .nav-link {
  font-size: 0.875rem;
}

/* fixo no template da landing para evitar salto visual na carga */
.page-template-page-landing .landing-header,
.page-template-page-landing-php .landing-header,
.landing-header.is-fixed {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--ve-site-header-offset, 0px);
  padding:5px 0 10px 0;
}

.landing-header.is-fixed {
  transition: none;
}

/* shadow/elevation when the user scrolls */
.landing-header.header-scrolled {
  border-bottom: 1px solid var(--bs-border-color, #dee2e6);
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, 0.08);
}

html.ve-has-landing {
  scroll-behavior: smooth;
}

/* empurra o conteudo inicial abaixo do menu flutuante */
.page-template-page-landing #hero,
.page-template-page-landing-php #hero {
  margin-top: calc(var(--ve-landing-header-height, 0px) + var(--ve-landing-safe-gap));
}

.page-template-page-landing section[id],
.page-template-page-landing-php section[id] {
  scroll-margin-top: calc(
    var(--ve-site-header-offset, 0px) + var(--ve-landing-header-height, 0px) + var(--ve-landing-safe-gap)
  );
}

:root[data-bs-theme="dark"] .page-template-page-landing a:not(.btn):not(.nav-link),
:root[data-bs-theme="dark"] .page-template-page-landing-php a:not(.btn):not(.nav-link) {
  color: #0d6efd;
}

:root[data-bs-theme="dark"] .page-template-page-landing a:not(.btn):not(.nav-link):hover,
:root[data-bs-theme="dark"] .page-template-page-landing-php a:not(.btn):not(.nav-link):hover,
:root[data-bs-theme="dark"] .page-template-page-landing a:not(.btn):not(.nav-link):focus-visible,
:root[data-bs-theme="dark"] .page-template-page-landing-php a:not(.btn):not(.nav-link):focus-visible {
  color: #0b5ed7;
}

/* Inversão de fundos das seções da landing após o hero */
.page-template-page-landing #proposta,
.page-template-page-landing-php #proposta,
.page-template-page-landing #prova,
.page-template-page-landing-php #prova,
.page-template-page-landing #seguindo,
.page-template-page-landing-php #seguindo,
.page-template-page-landing #como-funciona,
.page-template-page-landing-php #como-funciona,
.page-template-page-landing #faq,
.page-template-page-landing-php #faq {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.page-template-page-landing #recursos,
.page-template-page-landing-php #recursos,
.page-template-page-landing #agendamento,
.page-template-page-landing-php #agendamento,
.page-template-page-landing #planos,
.page-template-page-landing-php #planos,
.page-template-page-landing #contato,
.page-template-page-landing-php #contato {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

/* Fundo preto em modo escuro para seções específicas */
:root[data-bs-theme="dark"] .page-template-page-landing #recursos,
:root[data-bs-theme="dark"] .page-template-page-landing-php #recursos,
:root[data-bs-theme="dark"] .page-template-page-landing #seguindo,
:root[data-bs-theme="dark"] .page-template-page-landing-php #seguindo,
:root[data-bs-theme="dark"] .page-template-page-landing #como-funciona,
:root[data-bs-theme="dark"] .page-template-page-landing-php #como-funciona,
:root[data-bs-theme="dark"] .page-template-page-landing #faq,
:root[data-bs-theme="dark"] .page-template-page-landing-php #faq {
  background-color: #000 !important;
}

@media (prefers-reduced-motion: reduce) {
  html.ve-has-landing {
    scroll-behavior: auto;
  }

  .landing-header {
    transition: none;
  }
}