/* ---------- páginas de pesquisa (formulário Tally embutido) ---------- */
.pg-pesquisa { background: var(--paper); color: var(--ink); }

.pesq-topo {
  position: sticky; top: 0; z-index: 20;
  background: rgba(250,251,248,.86); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}
.pesq-topo .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 62px; }
.pesq-marca { display: flex; align-items: center; gap: 10px; text-decoration: none; min-height: 44px; }
.pesq-marca img { width: 34px; height: 34px; display: block; }
.pesq-marca span { font-family: var(--font-display); font-size: 17px; color: var(--ink); letter-spacing: .02em; }
.pesq-voltar { font-size: 13.5px; color: var(--muted-paper); text-decoration: none; padding: 10px 0; }
.pesq-voltar:hover { color: var(--pri); }

/* o poster entra como fundo, não só como atributo do <video>: se o vídeo não
   carregar (economia de dados, autoplay bloqueado, reduce-motion), o hero mostra
   a foto do cachorro em vez de um retângulo escuro vazio. */
.pesq-hero {
  position: relative; overflow: hidden; min-height: 40vh;
  display: flex; align-items: flex-end;
  background: var(--ink) url("../assets/img/hero-poster.jpg?v=2") center/cover no-repeat;
}
.pesq-hero video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center; opacity: 0; transition: opacity .8s ease; pointer-events: none;
}
.pesq-hero video.ready { opacity: 1; }
/* véu escuro sobre o vídeo: o texto do hero é o que importa, o vídeo é fundo.
   Opacidade alta de propósito — no trecho onde ficam o h1 e o subtítulo o véu
   passa de 85%, então o contraste não depende do frame do vídeo por baixo. */
.pesq-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(16,25,21,.45) 0%, rgba(16,25,21,.78) 45%, rgba(16,25,21,.93) 72%, rgba(16,25,21,.97) 100%);
}
.pesq-hero .container { position: relative; z-index: 2; padding-top: 90px; padding-bottom: 40px; }
.pesq-hero h1 {
  font-family: var(--font-display); font-weight: 400; color: var(--paper);
  font-size: clamp(30px, 5vw, 52px); line-height: 1.1; margin: 10px 0 14px; max-width: 16ch;
}
.pesq-hero h1 em { font-style: italic; color: var(--paper-2); }
.pesq-kicker { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }
.pesq-sub { color: var(--cream-text); font-size: 16px; line-height: 1.65; max-width: 52ch; margin-bottom: 16px; }
.pesq-chip {
  display: inline-block; font-size: 12.5px; color: var(--cream-text);
  border: 1px solid rgba(221,235,229,.28); border-radius: 999px; padding: 6px 14px;
}

.pesq-form { padding: 46px 0 80px; }
.pesq-form .container { max-width: 760px; }
.pesq-form iframe { width: 100%; border: 0; display: block; min-height: 620px; background: transparent; }
.pesq-aviso { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--border); font-size: 12.5px; line-height: 1.7; color: var(--muted-paper); }
.pesq-aviso a { color: var(--accent-deep); }

@media (max-width: 768px) {
  .pesq-hero { min-height: 34vh; }
  .pesq-hero .container { padding-top: 70px; padding-bottom: 30px; }
  .pesq-form { padding: 32px 0 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .pesq-hero video { display: none !important; }
}
