/* =========================================================
   VIIA Consentimento de Cookies — aviso e botão de preferências
   Usa as cores e fontes do site (variáveis do viia.css), com valores de reserva.
   ========================================================= */
.vc,.vc *,.vc-open{box-sizing:border-box}
.vc{
  --vc-ink:var(--ink,#0D0D12);--vc-ink2:var(--ink-2,#4A4A55);--vc-line:var(--line,#E4E3DD);
  --vc-brand:var(--brand,#3019B1);--vc-paper:#fff;
  position:fixed;z-index:99990;left:16px;bottom:16px;width:min(380px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);overflow:auto;
  padding:1.25rem;background:var(--vc-paper);color:var(--vc-ink);
  border:1px solid var(--vc-line);border-radius:var(--radius,14px);
  box-shadow:0 12px 40px rgba(13,13,18,.16);
  font:400 .95rem/1.5 var(--text,"Red Hat Text",system-ui,sans-serif)
}
.vc[hidden],.vc-open[hidden],.vc__view[hidden]{display:none}
.vc__t{margin:0 0 .5rem;font:700 1.15rem/1.2 var(--display,"Red Hat Display",system-ui,sans-serif);letter-spacing:-.02em;outline:0}
.vc__d{margin:0 0 1rem;color:var(--vc-ink2)}
.vc__d a{color:var(--vc-brand);text-decoration:underline;text-underline-offset:2px}
.vc__btns{display:grid;gap:.5rem}
.vc__btn{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:.7rem 1rem;
  border-radius:999px;border:1px solid transparent;cursor:pointer;
  font:600 1rem/1.2 var(--display,"Red Hat Display",system-ui,sans-serif);
  transition:background .3s ease-in-out,color .3s ease-in-out,border-color .3s ease-in-out,transform .1s
}
.vc__btn--brand{background:var(--vc-ink);color:#fff;border-bottom:3px solid #000}
.vc__btn--brand:hover{background:var(--vc-brand);border-bottom-color:#1d0f78}
/* "Recusar" com o mesmo tamanho e peso de "Aceitar tudo" */
.vc__btn--line{background:#fff;color:var(--vc-ink);border:1px solid var(--vc-ink);border-bottom:3px solid var(--vc-ink)}
.vc__btn--line:hover{background:var(--vc-ink);color:#fff}
.vc__btn:active{transform:translateY(2px)}
.vc__link{
  min-height:44px;padding:.5rem;background:none;border:0;cursor:pointer;
  color:var(--vc-ink2);font:600 .95rem/1.2 var(--display,"Red Hat Display",system-ui,sans-serif);
  text-decoration:underline;text-underline-offset:3px;transition:color .3s ease-in-out
}
.vc__link:hover{color:var(--vc-brand)}
.vc button:focus-visible,.vc a:focus-visible,.vc-open:focus-visible,.vc input:focus-visible+.vc__knob{outline:3px solid var(--vc-brand);outline-offset:2px}

/* categorias */
.vc__cat{padding:.9rem 0;border-top:1px solid var(--vc-line)}
.vc__cat:last-of-type{border-bottom:1px solid var(--vc-line);margin-bottom:1rem}
.vc__cat p{margin:.35rem 0 0;color:var(--vc-ink2);font-size:.9rem;line-height:1.45}
.vc__cat-h{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.vc__cat-t{font:700 1rem/1.2 var(--display,"Red Hat Display",system-ui,sans-serif)}
.vc__always{font-size:.82rem;font-weight:600;color:var(--vc-brand)}
.vc__sr{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.vc__switch{position:relative;display:inline-block;width:46px;height:26px;flex:none;cursor:pointer}
.vc__switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.vc__knob{position:absolute;inset:0;border-radius:999px;background:#C9C8C1;transition:background .3s ease-in-out}
.vc__knob::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s ease-in-out}
.vc__switch input:checked+.vc__knob{background:var(--vc-brand)}
.vc__switch input:checked+.vc__knob::after{transform:translateX(20px)}


/* botão que reabre: fica no canto inferior esquerdo, parte para fora da tela (20% para a esquerda e 20% para baixo); o ícone fica centralizado na bola.
   Desktop: no hover/foco sai quase inteiro. Celular: ao tocar, "pula" para fora e abre as preferências. */
.vc-open{
  position:fixed;z-index:99989;left:0;bottom:0;width:40px;height:40px;padding:0;
  display:grid;place-items:center;border-radius:50%;cursor:pointer;
  background:#fff;color:var(--ink,#0D0D12);border:1px solid var(--line,#E4E3DD);
  box-shadow:0 4px 16px rgba(13,13,18,.14);
  transform:translate(-20%,20%);
  transition:transform .3s ease-in-out,background .3s ease-in-out,color .3s ease-in-out,border-color .3s ease-in-out
}
.vc-open svg{width:22px;height:22px}
/* área de toque cobre a parte visível e um pouco além */
.vc-open::after{content:"";position:absolute;top:-8px;right:-12px;bottom:20%;left:20%}
.vc-open:hover,.vc-open:focus-visible{transform:translate(2px,-8px);background:var(--brand,#3019B1);border-color:var(--brand,#3019B1);color:#fff}
.vc-open.is-pop{transform:translate(8px,-14px);background:var(--brand,#3019B1);border-color:var(--brand,#3019B1);color:#fff}

@media (max-width:520px){
  .vc{left:12px;right:12px;bottom:12px;width:auto;padding:1rem}
}
@media (prefers-reduced-motion:reduce){
  .vc__btn,.vc__link,.vc__knob,.vc__knob::after,.vc-open{transition:none}
}
