/* Scoped consent controls; no changes to existing page/agent components. */
.ka-consent-banner, .ka-consent-dialog {
  box-sizing: border-box; color: #16324f; background: #fff;
  font-family: inherit; border: 1px solid #c6d5e3; border-radius: 12px;
  box-shadow: 0 8px 36px #16324f26; padding: 22px;
}
.ka-consent-banner {
  position: fixed; z-index: 1000; bottom: 16px; left: 16px; right: 16px;
  margin: 0 auto; max-width: 1120px; max-height: 70vh; max-height: 70dvh; overflow: auto;
}
.ka-consent-banner[hidden], .ka-consent-status[hidden] { display: none; }
.ka-consent-banner h2, .ka-consent-dialog h2 { font-size: 1.2rem; line-height: 1.3; margin: 0 0 10px; }
.ka-consent-banner p, .ka-consent-dialog p { font-size: .95rem; line-height: 1.55; margin: 0 0 14px; }
.ka-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; }
.ka-consent-button {
  font: inherit; font-size: .95rem; font-weight: 600; line-height: 1.3;
  cursor: pointer; min-height: 44px; border-radius: 6px; border: 1px solid #16324f;
  padding: 11px 18px; background: #16324f; color: #fff; flex: 1 1 200px;
}
.ka-consent-button:hover { background: #244d73; }
.ka-consent-banner a, .ka-consent-dialog a { color: #16324f; text-decoration: underline; font-size: .9rem; }
.ka-privacy-settings { font: inherit; color: inherit; background: transparent; border: 0; padding: 0; text-align: left; text-decoration: underline; cursor: pointer; min-height: 44px; }
.ka-consent-dialog { width: min(600px, calc(100% - 24px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; }
.ka-consent-dialog::backdrop { background: #102b45aa; }
.ka-consent-dialog > .ka-consent-button { display: block; margin-top: 18px; width: 100%; background: #fff; color: #16324f; }
.ka-consent-button:focus-visible, .ka-privacy-settings:focus-visible, .ka-consent-banner a:focus-visible, .ka-consent-dialog a:focus-visible { outline: 3px solid #0078d4; outline-offset: 3px; }
.ka-consent-status { position: fixed; z-index: 1001; bottom: 16px; left: 16px; right: 16px; padding: 14px; background: #fff; color: #16324f; border: 1px solid #c6d5e3; }
html.ka-consent-open .mobile-cta { display: none; }
@media (max-width: 560px) {
  .ka-consent-banner { bottom: 8px; left: 8px; right: 8px; padding: 16px; }
  .ka-consent-actions { flex-direction: column; gap: 8px; }
  .ka-consent-button { flex: auto; width: 100%; }
}
