/* ============================================================
   THREE 46 — LGPD: consentimento, aviso de privacidade e links
   ============================================================ */

/* Checkbox de consentimento no modal da Lista VIP */
.consent-box {
  margin-top: 6px;
  padding: 12px 14px;
  border: 1px solid rgba(0, 255, 136, 0.18);
  border-radius: 12px;
  background: rgba(0, 255, 136, 0.04);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.consent-box:hover { border-color: rgba(0, 255, 136, 0.35); }
.consent-box.consent-error {
  border-color: #ff3c60;
  background: rgba(255, 60, 96, 0.06);
  box-shadow: 0 0 0 3px rgba(255, 60, 96, 0.12);
  animation: consent-shake .35s ease;
}
@keyframes consent-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}
.consent-label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  cursor: pointer;
  font-size: 0.78rem;
  line-height: 1.55;
  color: var(--text-secondary, #b8b8b8);
}
.consent-label input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  border: 1.5px solid rgba(0, 255, 136, 0.55);
  border-radius: 6px;
  background: transparent;
  display: grid;
  place-content: center;
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease;
}
.consent-label input[type="checkbox"]::after {
  content: "";
  width: 10px;
  height: 10px;
  transform: scale(0);
  transition: transform .15s ease;
  background: #04140c;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
}
.consent-label input[type="checkbox"]:checked {
  background: var(--green-neon, #00ff88);
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.45);
}
.consent-label input[type="checkbox"]:checked::after { transform: scale(1); }
.consent-label input[type="checkbox"]:focus-visible { outline: 2px solid var(--green-neon, #00ff88); outline-offset: 2px; }
.consent-label a { color: var(--green-neon, #00ff88); text-decoration: underline; text-underline-offset: 2px; }
.consent-label strong { color: var(--text-primary, #fff); font-weight: 600; }

/* Aviso de privacidade (rodapé fixo) */
.privacy-notice {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translate(-50%, 140%);
  width: min(720px, calc(100% - 28px));
  z-index: 9999;
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 16px;
  border: 1px solid rgba(0, 255, 136, 0.25);
  background: rgba(10, 14, 12, 0.88);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55), 0 0 30px rgba(0, 255, 136, 0.08);
  transition: transform .45s cubic-bezier(.2, .9, .3, 1.1), opacity .3s ease;
  opacity: 0;
}
.privacy-notice.show { transform: translate(-50%, 0); opacity: 1; }
.privacy-notice p {
  margin: 0;
  flex: 1;
  font-size: 0.78rem;
  line-height: 1.55;
  color: var(--text-secondary, #b8b8b8);
}
.privacy-notice a { color: var(--green-neon, #00ff88); text-decoration: underline; text-underline-offset: 2px; }
.privacy-notice button {
  flex: 0 0 auto;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-weight: 700;
  font-size: 0.8rem;
  padding: 10px 20px;
  border-radius: 999px;
  color: #04140c;
  background: linear-gradient(135deg, #00ff88, #00d4a0);
  transition: transform .2s ease, box-shadow .2s ease;
}
.privacy-notice button:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0, 255, 136, 0.35); }
@media (max-width: 560px) {
  .privacy-notice { flex-direction: column; align-items: stretch; text-align: left; }
  .privacy-notice button { width: 100%; }
}

/* Links do rodapé */
.footer-lgpd-links {
  margin: 8px 0 0;
  text-align: center;
  font-size: 0.74rem;
  color: var(--text-muted, #777);
}
.footer-lgpd-links a { color: var(--text-secondary, #b8b8b8); text-decoration: none; transition: color .2s ease; }
.footer-lgpd-links a:hover { color: var(--green-neon, #00ff88); }
.footer-lgpd-links span { margin: 0 8px; opacity: .5; }
