/* CONSENTIMENTO — LGPD =====================================================
   Barra rasa no rodapé em vez de cartão flutuante: um cartão no canto cobre
   justamente a proposta de valor do hero, que é o que a pessoa precisa ler
   nos primeiros segundos.
   Recusar tem o mesmo peso visual de aceitar — banner que empurra o aceite é
   falha de conformidade, além de irritar. */

.consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--z-overlay);
}

.consent[hidden] {
  display: none;
}

.consent__caixa {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-5);
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: var(--sp-4) var(--gutter);
  background: rgba(3, 24, 46, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.22);
  animation: consent-entra var(--dur-slow) var(--ease-out) both;
}

@keyframes consent-entra {
  from { opacity: 0; transform: translateY(100%); }
  to { opacity: 1; transform: none; }
}

.consent__conteudo {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--sp-1) var(--sp-3);
  min-width: 0;
}

.consent__titulo {
  font-family: var(--font-display);
  font-variation-settings: var(--fraunces-heading);
  font-size: var(--text-base);
  font-weight: 600;
  letter-spacing: var(--tracking-snug);
  color: var(--gold-300);
  white-space: nowrap;
}

.consent__texto {
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  color: var(--navy-100);
  max-width: 68ch;
}

.consent__texto strong {
  color: #fff;
  font-weight: 650;
}

.consent__acoes {
  display: flex;
  gap: var(--sp-3);
  flex: none;
}

.consent__btn {
  min-height: 2.75rem;
  padding-inline: var(--sp-6);
  font-size: var(--text-sm);
}

.consent__btn.btn--primary {
  box-shadow: none;
}

/* Recusar em fundo escuro precisa de contorno claro, não do contorno padrão */
.consent__btn.btn--secondary {
  --btn-fg: var(--navy-100);
  --btn-border: rgba(255, 255, 255, 0.3);
}

.consent__btn.btn--secondary:hover {
  --btn-bg: rgba(255, 255, 255, 0.08);
  --btn-border: rgba(255, 255, 255, 0.5);
  box-shadow: none;
}

/* -------------------------------------------------------------- CELULAR */

@media (max-width: 55.99rem) {
  .consent__caixa {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-4);
    padding-block: var(--sp-5);
  }

  .consent__acoes {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .consent__btn {
    padding-inline: var(--sp-4);
  }
}
