/* ===== Ajustes do tema WordPress Vanelos =====
   site.css = Tailwind compilado (tokens em :root). Aqui só o "chrome" do tema. */

/* Fonte (substitui a variável que o next/font injetava no <html>) */
:root {
  --font-jakarta: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
}

html { scroll-behavior: smooth; }
body { font-family: var(--font-jakarta); }

/* ===== Reveal no scroll (substitui o Framer Motion) ===== */
.js [data-reveal] { opacity: 0; transition: opacity .8s ease; }
.js [data-reveal].in { opacity: 1; }

/* ===== Header ===== */
#site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  transition: background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
  background: transparent;
}
#site-header.is-scrolled {
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px -20px rgba(0,0,0,.35);
}
.vh-inner {
  max-width: 80rem; margin: 0 auto; padding: 0 1rem; height: 5rem;
  display: flex; align-items: center; justify-content: space-between;
}
@media (min-width: 640px) { .vh-inner { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .vh-inner { padding: 0 2rem; } }

.vh-logo-link { display: inline-flex; align-items: center; }
.vh-logo { height: 1.75rem; width: auto; display: block; }

.vh-nav { display: none; }
@media (min-width: 1024px) { .vh-nav { display: flex; align-items: center; gap: 2rem; } }
.vh-nav a {
  font-size: .9rem; font-weight: 600; color: var(--foreground);
  text-decoration: none; transition: color .2s ease;
}
.vh-nav a:hover { color: var(--brand-dark); }

.vh-cta { display: none; }
@media (min-width: 1024px) {
  .vh-cta {
    display: inline-flex; align-items: center; gap: .5rem;
    border-radius: 9999px; background: var(--brand); color: var(--brand-deep);
    padding: .65rem 1.3rem; font-size: .9rem; font-weight: 700;
    text-decoration: none; transition: background .2s ease;
  }
  .vh-cta:hover { background: var(--brand-dark); }
}

.vh-burger {
  display: inline-flex; flex-direction: column; gap: .35rem;
  padding: .5rem; background: none; border: 0; cursor: pointer;
}
@media (min-width: 1024px) { .vh-burger { display: none; } }
.vh-burger span { display: block; height: 2px; width: 1.55rem; background: var(--foreground); border-radius: 2px; transition: transform .25s ease, opacity .25s ease; }
.vh-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.vh-burger.open span:nth-child(2) { opacity: 0; }
.vh-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

#mobile-menu { display: none; border-top: 1px solid var(--border); background: var(--background); }
#mobile-menu.open { display: block; }
@media (min-width: 1024px) { #mobile-menu { display: none !important; } }
.vh-mobile { max-width: 80rem; margin: 0 auto; padding: 1rem; display: flex; flex-direction: column; gap: .9rem; }
.vh-mobile a { color: var(--foreground); text-decoration: none; font-weight: 600; font-size: 1.05rem; }
.vh-mobile a:hover { color: var(--brand-dark); }
.vh-mobile-cta { color: var(--brand-dark) !important; }

/* Garante respiro abaixo do header fixo caso a página de fallback não tenha hero */
.vh-fallback { padding-top: 8rem; padding-bottom: 6rem; }
