/* Site institucional (redesign aprovado no canvas). O visual vem inline das
   telas aprovadas; aqui ficam só a troca desktop/celular e os estados. */
.zs { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; background: #FFFCF7; color: #3D2410; line-height: normal; font-weight: 400; -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; text-rendering: auto; }
/* O app aplica border-box em tudo; o canvas usa o padrão do navegador. */
.zs, .zs *, .zs *::before, .zs *::after { box-sizing: revert; }
/* O app estiliza button/input/select/label globalmente (altura fixa, padding,
   hover). Dentro do site vale o padrão do navegador + o estilo inline aprovado. */
.zs.zs button, .zs.zs input, .zs.zs select, .zs.zs textarea, .zs.zs label,
.zs.zs button:hover, .zs.zs button:active, .zs.zs button:focus-visible, .zs.zs button:disabled,
.zs.zs input:focus, .zs.zs select:focus, .zs.zs input::placeholder { all: revert; }
.zs a { color: #3D2410; }
.zs a:hover { color: #B45309; }
.zs button, .zs a, .zs label { -webkit-tap-highlight-color: transparent; }
.zs img { max-width: none; }
body.zs-estatico { margin: 0; background: #FFFCF7; }
html:has(.zs) { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html:has(.zs) { scroll-behavior: auto; } }

.zs-bloco { scroll-margin-top: 0; }
.zs-m { display: none; }
@media (max-width: 1023px) {
  .zs-d { display: none; }
  .zs-m { display: block; overflow-x: hidden; }
}

/* Perguntas frequentes: cada item traz as versões aberta e fechada aprovadas */
.zs [data-faq] { cursor: pointer; }
.zs [data-faq]:not([data-aberto]) > [data-faq-a] { display: none; }
.zs [data-faq][data-aberto] > [data-faq-f] { display: none; }

/* Formulário de proposta */
.zs.zs .zs-campo.zs-campo:focus { outline: none; border-color: #F59E0B; box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18); }
.zs.zs .zs-campo.zs-campo::placeholder { color: #A08060; font-weight: 500; }
.zs [data-opcao]:has(input:focus-visible) { outline: 2px solid #F59E0B; outline-offset: 2px; }
.zs [data-enviar][disabled] { opacity: 0.7; cursor: wait; }

/* Menu do celular */
.zs [data-menu] a:hover { background: #FFF7EB; }

/* Índice dos documentos no celular */
.zs [data-indice-lista] a { display: block; padding: 10px 12px; border-radius: 12px; font-size: 14.5px; font-weight: 600; color: #6B4E36; text-decoration: none; }
.zs [data-indice-lista] a:hover { background: #FFF7EB; color: #B45309; }

/* Demonstração */
.zs [data-demo-msgs] { scrollbar-width: thin; }
.zs [data-demo-msgs] strong { font-weight: 800; }
@keyframes zs-pisca { 0%, 80%, 100% { opacity: 0.25; } 40% { opacity: 1; } }
.zs .zs-digitando span { display: inline-block; width: 6px; height: 6px; margin: 0 2px; border-radius: 999px; background: #B45309; animation: zs-pisca 1.2s infinite; }
.zs .zs-digitando span:nth-child(2) { animation-delay: 0.15s; }
.zs .zs-digitando span:nth-child(3) { animation-delay: 0.3s; }
.zs.zs select.zs-campo:invalid { color: #A08060; font-weight: 500; }
.zs.zs select.zs-campo option { color: #3D2410; }

/* Menu fixo: o cabeçalho aprovado fica preso no topo ao rolar. No bloco do
   topo fica uma cópia invisível (.zs-cab-orig) que guarda o mesmo espaço. */
.zs .zs-fixo { position: fixed; top: 0; left: 0; right: 0; z-index: 60; transition: background-color 0.2s ease, box-shadow 0.2s ease; }
.zs .zs-fixo.zs-rolou { background: #FFFCF7; box-shadow: 0 1px 0 #F2E5C4, 0 10px 24px rgba(61, 36, 16, 0.06); }
.zs .zs-cab-orig { visibility: hidden; }
.zs .zs-bloco { scroll-margin-top: 88px; }
.zs [data-secao] { scroll-margin-top: 104px !important; }
.zs aside[style*="position: sticky"] { top: 112px !important; }
@media (max-width: 1023px) {
  .zs .zs-bloco { scroll-margin-top: 76px; }
  .zs [data-secao] { scroll-margin-top: 92px !important; }
}

/* Cartões: sombra bem difusa para dar profundidade e um leve destaque ao
   passar o mouse (só em telas com mouse). */
.zs .zs-card {
  box-shadow: 0 1px 2px rgba(61, 36, 16, 0.04), 0 14px 34px -10px rgba(61, 36, 16, 0.10), 0 30px 70px -28px rgba(180, 83, 9, 0.14) !important;
  transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.28s ease, border-color 0.28s ease;
}
@media (hover: hover) {
  .zs .zs-card:hover {
    transform: translateY(-4px);
    border-color: #F6D49A !important;
    box-shadow: 0 2px 4px rgba(61, 36, 16, 0.05), 0 22px 46px -12px rgba(61, 36, 16, 0.16), 0 40px 90px -30px rgba(180, 83, 9, 0.24) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .zs .zs-card { transition: box-shadow 0.2s ease, border-color 0.2s ease; }
  .zs .zs-card:hover { transform: none; }
}

/* Entre 1024 e 1179px o cabeçalho desktop não cabe numa linha: a barra fixa
   usa o cabeçalho compacto (logo, Entrar e menu) e a página segue desktop. */
@media (min-width: 1024px) and (max-width: 1179px) {
  .zs .zs-fixo .zs-d { display: none; }
  .zs .zs-fixo .zs-m { display: block; }
  .zs .zs-fixo .zs-m nav[data-menu] { max-width: 420px; margin-left: auto; margin-right: 16px; }
}
