.bda-consent-banner {
  max-width: 46rem;
  box-sizing: border-box;
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
}

/* Vendor display rules must not reveal collapsed controls or inactive errors. */
#chc-root [hidden] {
  display: none !important;
}

.bda-consent-error {
  margin: 0.75rem 0;
  padding: 0.75rem;
  border-left: 3px solid #a62929;
  color: #701d1d;
  background: #fff4f4;
  font-size: 0.925rem;
}

.bda-consent-banner button:focus-visible,
[data-bda-consent-reopen]:focus-visible {
  outline: 3px solid #156b74;
  outline-offset: 3px;
}

@media (max-width: 360px) {
  .bda-consent-banner .chc-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .bda-consent-banner .chc-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bda-consent-banner,
  .bda-consent-banner * {
    scroll-behavior: auto;
    transition: none !important;
  }
}

/* PSI a11y: vendor teal #0ea5a4 gives 3.03:1 with white text. Darken both
   actions equally to #0a6e6d (6.06 base, ~5.4 on hover) without changing
   prominence, labels or consent semantics. */
#chc-root .chc-btn--accept,
#chc-root .chc-btn--reject {
  background-color: #0a6e6d;
  border-color: #0a6e6d;
  color: #fff;
}
