/* Banner de consentimento. So aparece quando ha categoria declarada em
   js/consentimento.js — hoje o site nao grava cookie e ele nao renderiza. */

.consentimento {
  position: fixed; z-index: 1000;
  left: 20px; right: 20px; bottom: 20px;
  max-width: 520px;
  background: var(--deep, #05081C);
  color: var(--white, #fff);
  border: 1px solid var(--line, rgba(255,255,255,.12));
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
}

.consentimento h2 {
  font-size: 18px; font-weight: 700; letter-spacing: -0.01em;
  margin: 0 0 10px;
}
.consentimento p { font-size: 14.5px; line-height: 1.6; opacity: .8; margin: 0 0 20px; }

.consentimento-itens { display: flex; flex-direction: column; gap: 14px; margin-bottom: 22px; }
.consentimento-itens label {
  display: flex; gap: 12px; align-items: start; cursor: pointer;
}
.consentimento-itens input { margin-top: 3px; accent-color: var(--bright, #2540FF); flex-shrink: 0; }
.consentimento-itens span { display: flex; flex-direction: column; gap: 3px; }
.consentimento-itens strong { font-size: 14.5px; font-weight: 600; }
.consentimento-itens small { font-size: 13px; line-height: 1.5; opacity: .65; }

.consentimento-acoes { display: flex; gap: 10px; flex-wrap: wrap; }

/* Recusar e aceitar tem o MESMO peso visual, de proposito: a LGPD exige
   que negar seja tao facil quanto consentir. Nao destaque so o aceitar. */
.consentimento-btn {
  flex: 1 1 auto;
  padding: 12px 18px;
  font-family: inherit; font-size: 13.5px; font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--white, #fff); background: transparent;
  border: 1px solid var(--line, rgba(255,255,255,.25));
  border-radius: 8px; cursor: pointer;
  transition: background .2s, border-color .2s;
}
.consentimento-btn:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255,255,255,.45); }
.consentimento-btn--primario {
  background: var(--bright, #2540FF); border-color: var(--bright, #2540FF);
}
.consentimento-btn--primario:hover { background: #1a33e0; border-color: #1a33e0; }

.consentimento-link {
  display: inline-block; margin-top: 16px;
  font-size: 13px; opacity: .65; color: var(--white, #fff);
  text-decoration: underline; text-underline-offset: 3px;
}
.consentimento-link:hover { opacity: 1; }

@media (max-width: 520px) {
  .consentimento { padding: 22px; left: 12px; right: 12px; bottom: 12px; }
  .consentimento-acoes .consentimento-btn { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: no-preference) {
  .consentimento { animation: consentimento-entra .3s cubic-bezier(.2,.7,.2,1) both; }
}
@keyframes consentimento-entra {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}
