/* CFG Express — estilos complementares ao Tailwind */

:root { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* ── Acessibilidade: foco visível ────────────────────────────────────────────
   Remove o outline padrão feio e substitui por um anel laranja consistente.
   Usa :focus-visible para não aparecer no clique (apenas teclado/assistivo). */
:focus-visible {
  outline: 3px solid #FF5C01;
  outline-offset: 3px;
  border-radius: 4px;
}
/* Botões e links já têm o anel — remover outline duplicado do browser */
a:focus-visible,
button:focus-visible {
  outline: 3px solid #FF5C01;
  outline-offset: 3px;
  border-radius: 6px;
}

/* ── Skip link (acessibilidade teclado) ──────────────────────────────────────
   Fica fora da tela até receber foco via Tab */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 1rem;
  background: #FF5C01;
  color: #fff;
  padding: .5rem 1rem;
  border-radius: 4px;
  font-weight: 600;
  font-size: .9rem;
  z-index: 9999;
  text-decoration: none;
}
.skip-link:focus {
  left: 1rem;
  outline: 3px solid #003B5B;
  outline-offset: 2px;
}

/* ── Topbar: garante contraste WCAG AA ───────────────────────────────────────
   text-white/90 sobre navy já é ~9:1, mas links menores precisam de atenção */
header .topbar-link { color: rgba(255,255,255,.95); }
header .topbar-link:hover { color: #FF5C01; }

/* Eyebrow padrão "CFG Express - Um passo a frente da sua necessidade" */
.eyebrow { font-weight: 600; }
.eyebrow .brand { color: #FF5C01; }

/* Título de seção com palavra em destaque laranja */
.section-title { font-weight: 800; line-height: 1.1; }

/* Reveal no scroll (ativado via JS) */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* Accordion FAQ */
.faq-item .faq-body { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.faq-item.open .faq-body { max-height: 320px; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform .3s ease; }

/* Inputs padrão dos formulários */
.field {
  width: 100%;
  border: 1px solid #E2E2E2;
  border-radius: .5rem;
  padding: .8rem 1rem;
  font-size: .95rem;
  color: #1C1B1F;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.field::placeholder { color: #9a9a9a; }
.field:focus { outline: none; border-color: #FF5C01; box-shadow: 0 0 0 3px rgba(255,92,1,.15); }

/* Scrollbar discreta */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-thumb { background: #c9c9c9; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #FF5C01; }
