.consent-banner[hidden] { display: none !important; }
.consent-banner {
  position: fixed;
  z-index: 1000;
  right: 20px;
  bottom: 20px;
  width: min(680px, calc(100% - 40px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: end;
  padding: 22px;
  color: #f5f7f8;
  background: rgba(17, 19, 24, .98);
  border: 1px solid rgba(199, 255, 46, .42);
  border-radius: 16px;
  box-shadow: 0 18px 70px rgba(0, 0, 0, .55), 0 0 28px rgba(199, 255, 46, .08);
}
.consent-copy h2 { margin: 4px 0 8px; font-size: 1.18rem; }
.consent-copy p { margin: 0 0 9px; color: #b8c0c5; line-height: 1.55; }
.consent-copy a { color: #00d9c5; }
.consent-kicker { color: #c7ff2e; font-size: .7rem; font-weight: 900; letter-spacing: .15em; }
.consent-actions { display: grid; gap: 9px; min-width: 190px; }
.consent-actions button, .footer-consent-settings {
  min-height: 42px;
  border: 1px solid #536068;
  border-radius: 9px;
  color: #f5f7f8;
  background: #171b20;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.consent-actions .consent-accept { color: #0b0d0f; background: #c7ff2e; border-color: #c7ff2e; }
.consent-actions .consent-customize { color: #00d9c5; border-color: rgba(0, 217, 197, .45); }
.consent-actions button:hover, .consent-actions button:focus-visible, .footer-consent-settings:hover, .footer-consent-settings:focus-visible { outline: 2px solid #00d9c5; outline-offset: 2px; }
.consent-preferences[hidden] { display: none !important; }
.consent-preferences {
  grid-column: 1 / -1;
  display: grid;
  gap: 9px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .1);
}
.consent-preferences > div,
.consent-preferences > label {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 13px;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 10px;
}
.consent-preferences span,
.consent-preferences b,
.consent-preferences small { display: block; }
.consent-preferences small { margin-top: 3px; color: #aeb7bc; }
.consent-preferences strong { color: #c7ff2e; font-size: .8rem; }
.consent-preferences input { width: 22px; height: 22px; accent-color: #c7ff2e; }
.consent-preferences > button { min-height: 42px; color: #0b0d0f; background: #c7ff2e; border: 1px solid #c7ff2e; border-radius: 9px; font: inherit; font-weight: 900; cursor: pointer; }
.footer-consent-settings { min-height: 0; padding: 5px 9px; color: #b8c0c5; background: transparent; font-size: .78rem; }
@media (max-width: 680px) {
  .consent-banner { right: 10px; bottom: 10px; width: calc(100% - 20px); grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .consent-actions { grid-template-columns: 1fr 1fr; min-width: 0; }
}
@media (max-width: 380px) {
  .consent-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .consent-banner, .consent-banner * { scroll-behavior: auto !important; transition: none !important; }
}
