/* ==========================================================================
   Maylla Moura Psicóloga — estilos complementares ao Tailwind
   ========================================================================== */

html {
  scroll-padding-top: 88px;
}

body {
  overflow-x: hidden;
}

/* Header: estado padrão (topo) x estado "scrolled" (JS adiciona .is-scrolled) */
#header {
  background-color: transparent;
}

#header.is-scrolled {
  background-color: rgba(250, 246, 239, 0.92);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 20px -4px rgba(43, 51, 38, 0.12);
}

#header.is-scrolled .font-heading,
#header.is-scrolled a {
  color: inherit;
}

/* Hero sempre precisa de header legível mesmo no topo (fundo claro) */
#header:not(.is-scrolled) {
  background-color: rgba(250, 246, 239, 0.4);
}

/* Nav link ativo (JS marca com .is-active) */
.nav-link.is-active {
  color: #5B6E52;
  font-weight: 700;
}

/* Scrollbar suave */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #FAF6EF;
}
::-webkit-scrollbar-thumb {
  background: #AFC29B;
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #8FA07F;
}

/* Foco acessível consistente */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid #5B6E52;
  outline-offset: 2px;
}

/* ---------------- Reveal on scroll ---------------- */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ---------------- FAQ accordion ---------------- */
.faq-item.is-open .faq-icon {
  transform: rotate(180deg);
}

.faq-item.is-open .faq-trigger {
  color: #485740;
}

/* ---------------- Formulário ---------------- */
input.has-error,
textarea.has-error {
  border-color: #C97B5F;
}

/* ---------------- Botão voltar ao topo ---------------- */
#toTop.is-visible {
  opacity: 1;
  pointer-events: auto;
}
