/* Consent controls are isolated from the public landing/checkout design system. */
.cht-consent-banner {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 2147483000;
  box-sizing: border-box;
  width: min(560px, calc(100vw - 40px));
  max-height: min(85vh, 720px);
  overflow-y: auto;
  border: 1px solid #cbd2da;
  border-radius: 16px;
  padding: 22px;
  background: #fff;
  color: #283442;
  box-shadow: 0 16px 48px rgb(17 26 39 / 22%);
  font-family: inherit;
  line-height: 1.55;
}
.cht-consent-title { font-size: 1.2rem; margin: 0 0 8px; color: #111a27; font-weight: 700; }
.cht-consent-description { font-size: .93rem; margin: 0 0 10px; }
.cht-consent-policy { color: #345a79; font-size: .9rem; text-decoration: underline; }
.cht-consent-options { display: grid; gap: 9px; margin-top: 14px; }
.cht-consent-option { padding: 10px 12px; border: 1px solid #dfe4e9; border-radius: 10px; }
.cht-consent-option strong { display: block; font-size: .9rem; }
.cht-consent-option p, .cht-consent-option small { display: block; font-size: .82rem; line-height: 1.5; color: #536170; margin: 3px 0 0; }
.cht-consent-option-toggle { display: flex; align-items: start; gap: 12px; cursor: pointer; }
.cht-consent-option-toggle input { appearance: auto; margin: 4px 0 0; width: 20px; height: 20px; flex: 0 0 20px; accent-color: #314d66; }
.cht-consent-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.cht-consent-button { flex: 1 1 145px; border: 1px solid #34485a; border-radius: 9px; min-height: 44px; padding: 9px 12px; font: inherit; font-size: .88rem; font-weight: 650; cursor: pointer; text-align: center; }
.cht-consent-reject { background: #fff; color: #253747; }
.cht-consent-accept { background: #243c50; color: #fff; }
.cht-consent-configure { background: #f1f4f6; color: #253747; border-color: #c9d3da; }
.cht-consent-button:hover { filter: brightness(.96); }
.cht-consent-banner :focus-visible, [data-cht-privacy-settings]:focus-visible { outline: 3px solid #597f9b; outline-offset: 3px; }
[data-cht-privacy-settings] { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .cht-consent-banner { left: 10px; bottom: 10px; width: calc(100vw - 20px); max-height: 77dvh; padding: 16px; border-radius: 13px; }
  .cht-consent-actions { gap: 7px; }
  .cht-consent-button { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .cht-consent-button { transition: none; }
}
