.consent-banner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1000;
  width: min(470px, calc(100% - 40px));
  box-sizing: border-box;
  border: 1px solid #e5e3ef;
  border-radius: 18px;
  padding: 20px;
  color: #1b1833;
  background: #fff;
  box-shadow: 0 22px 60px rgba(19, 16, 43, .22);
  font-family: "Manrope", system-ui, sans-serif;
}
.consent-banner h2 { margin: 0 0 7px; font-size: 1.05rem; }
.consent-banner p { margin: 0 0 14px; color: #5d5973; font-size: .9rem; line-height: 1.55; }
.consent-banner a { color: #3f3697; }
.consent-copy-short { display: none; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.consent-actions .btn {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 9px 16px;
  font: 800 .88rem "Manrope", system-ui, sans-serif;
  cursor: pointer;
}
.consent-actions .btn-primary { color: #fff; background: #5b4fd1; }
.consent-actions .btn-secondary { color: #1b1833; border-color: #cbc8da; background: #fff; }
.consent-actions .btn:focus-visible { outline: 3px solid #f4a51c; outline-offset: 3px; }
@media (max-width: 600px) {
  .consent-banner { right: 8px; bottom: 8px; width: calc(100% - 16px); padding: 12px; }
  .consent-banner h2 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .consent-banner p { margin-bottom: 8px; font-size: .82rem; line-height: 1.4; }
  .consent-copy-full { display: none; }
  .consent-copy-short { display: inline; }
  .consent-actions .btn { min-height: 34px; padding: 6px 12px; }
}
