/* Efeitos e detalhes que não são classes utilitárias. */
html { scroll-behavior: smooth; }
body { font-family: "Plus Jakarta Sans", system-ui, sans-serif; }

/* Menu fixo abaixo da barra do WordPress (quando logado). */
.admin-bar #topo { top: 32px; }
@media (max-width: 782px) { .admin-bar #topo { top: 46px; } }

/* Contorno suave do cartão do formulário. */
.glow-border { position: relative; }
.glow-border::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(135deg, rgba(25,90,180,.35), rgba(15,23,42,.08) 50%, rgba(25,90,180,.25));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}
.hairline { height: 1px; background: #e2e8f0; }

/* Luz que acompanha o mouse nos cartões. */
.spotlight { position: relative; overflow: hidden; }
.spotlight::before {
  content: ""; position: absolute; inset: 0; opacity: 0; transition: opacity .3s;
  background: radial-gradient(420px circle at var(--x, 50%) var(--y, 50%), rgba(25,90,180,.08), transparent 45%);
  pointer-events: none;
}
.spotlight:hover::before { opacity: 1; }

/* Grade de fundo da seção do formulário. */
.grid-bg {
  background-image:
    linear-gradient(to right, rgba(10,74,175,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(10,74,175,.07) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}

/* Carrossel de depoimentos. */
.marquee { display: flex; width: max-content; animation: solsite-marquee 40s linear infinite; }
.marquee:hover { animation-play-state: paused; }
@keyframes solsite-marquee { to { transform: translateX(-50%); } }

/* Entrada suave ao rolar (só quando o JS está ativo). */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.js .reveal.in { opacity: 1; transform: none; }

/* Perguntas frequentes. */
details summary::-webkit-details-marker { display: none; }
details[open] .chev { transform: rotate(45deg); }

/* Campo-isca contra robôs (escondido de pessoas). */
.solsite-isca { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Paginação do blog. */
.solsite-paginacao .page-numbers {
  display: inline-flex; min-width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center;
  padding: 0 .9rem; border: 1px solid #e2e8f0; border-radius: .25rem; color: #05132a; font-size: .9rem; transition: border-color .2s;
}
.solsite-paginacao a.page-numbers:hover { border-color: #6f99f5; }
.solsite-paginacao .page-numbers.current { background: #195ab4; border-color: #195ab4; color: #fff; }
.solsite-paginacao .page-numbers.dots { border: 0; }

@media (prefers-reduced-motion: reduce) {
  .marquee { animation: none; }
  .js .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}
