/* ===== Banner de consentimento (LGPD/GDPR) ===== */
#vrs-consent.vrc-consent{
  --vrc-bg: rgba(13,14,22,.86);
  --vrc-stroke: rgba(255,255,255,.14);
  --vrc-soft: rgba(255,255,255,.08);
  --vrc-soft-2: rgba(255,255,255,.12);
  --vrc-white: #fff;
  --vrc-accent: #7c3aed;
  --vrc-accent-2: #a78bfa;

  position: fixed; inset: auto 16px 16px 16px; z-index: 9999;
  display: none; /* o JS troca para flex */
  align-items: center; gap: 16px;
  padding: 16px 18px; max-width: 980px; margin: 0 auto;
  color: var(--vrc-white); background: var(--vrc-bg);
  border: 1px solid var(--vrc-stroke);
  border-radius: 18px; backdrop-filter: saturate(120%) blur(10px);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  font: 400 15px/1.55 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial;

  transform: translateY(16px);
  opacity: 0;
  animation: vrc-consent-in .48s cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes vrc-consent-in{
  from{ transform: translateY(16px); opacity: 0; filter: blur(2px); }
  to  { transform: translateY(0);   opacity: 1; filter: blur(0);   }
}
@media (prefers-reduced-motion: reduce){
  #vrs-consent.vrc-consent{ animation: none; transform:none; opacity:1 }
}

/* conteúdo interno */
#vrs-consent.vrc-consent .vrc-txt{ flex: 1; opacity: .95; min-width: 240px }
#vrs-consent.vrc-consent .vrc-actions{
  display:flex; gap:12px; align-items:center; flex-wrap:wrap;
  justify-content:flex-end; min-width: 220px;
}

/* Botões (escopo total) */
#vrs-consent.vrc-consent .vrc-btn{
  position: relative;
  border: 1px solid var(--vrc-stroke);
  border-radius: 14px; padding: 11px 16px; cursor: pointer;
  background: linear-gradient(180deg, var(--vrc-soft), rgba(255,255,255,.04));
  color: var(--vrc-white);
  box-shadow: 0 8px 20px rgba(0,0,0,.28);
  transition: transform .12s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
  outline: none;
  min-width: 160px; text-align:center;
}
#vrs-consent.vrc-consent .vrc-btn:hover{ transform: translateY(-1px); background: var(--vrc-soft-2) }
#vrs-consent.vrc-consent .vrc-btn:active{ transform: translateY(0) scale(.99) }
#vrs-consent.vrc-consent .vrc-btn:focus-visible{
  box-shadow: 0 0 0 3px rgba(124,58,237,.35), 0 8px 20px rgba(0,0,0,.28);
}

/* Primário destacado (Aceitar) */
#vrs-consent.vrc-consent .vrc-btn-primary{
  border-color: rgba(124,58,237,.45);
  background:
    radial-gradient(120px 40px at 10% -20%, rgba(167,139,250,.25), transparent),
    linear-gradient(180deg, rgba(124,58,237,.55), rgba(124,58,237,.35));
}
#vrs-consent.vrc-consent .vrc-btn-primary:hover{
  background:
    radial-gradient(130px 46px at 20% -30%, rgba(167,139,250,.33), transparent),
    linear-gradient(180deg, rgba(124,58,237,.62), rgba(124,58,237,.42));
}
/* Glow decorativo */
#vrs-consent.vrc-consent .vrc-btn-primary .vrc-btn-glow{
  position:absolute; inset:-1px; border-radius:inherit; pointer-events:none;
  background: radial-gradient(120px 40px at 80% -20%, rgba(167,139,250,.18), transparent);
  filter: blur(8px); opacity:.9; transition: opacity .2s ease;
}
#vrs-consent.vrc-consent .vrc-btn-primary:hover .vrc-btn-glow{ opacity:1 }

/* Ghost (Recusar) */
#vrs-consent.vrc-consent .vrc-btn-ghost{
  background: transparent;
}
#vrs-consent.vrc-consent .vrc-btn-ghost:hover{
  background: rgba(255,255,255,.06);
}

/* Mobile: afeta só o banner */
@media (max-width: 680px){
  #vrs-consent.vrc-consent{
    inset: auto 12px 12px 12px; padding: 14px; font-size: 14px;
    flex-direction: column; align-items: stretch; gap: 12px;
  }
  #vrs-consent.vrc-consent .vrc-actions{
    width: 100%; gap: 10px; justify-content: stretch;
  }
  #vrs-consent.vrc-consent .vrc-btn{ width: 100%; padding: 12px 16px }
}
