.rm-consent[hidden], .rm-consent-options[hidden] { display: none !important; }
.rm-consent {
  position: fixed;
  z-index: 1000;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  max-width: 920px;
  margin-inline: auto;
  padding: 22px;
  border: 1px solid #eadde1;
  border-radius: 18px;
  background: #fffdfb;
  color: #271c22;
  box-shadow: 0 18px 50px rgba(66, 23, 39, .18);
}
.rm-consent h2 { margin: 0 0 8px; font: 700 24px/1.15 Georgia, serif; }
.rm-consent p { max-width: 65ch; margin: 0; color: #6d6166; }
.rm-consent-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: center; gap: 9px; }
.rm-consent button { min-height: 42px; border-radius: 999px; padding: 9px 15px; font: inherit; font-weight: 750; cursor: pointer; }
.rm-consent-primary { border: 1px solid #dd3333; background: #dd3333; color: #fff; }
.rm-consent-secondary { border: 1px solid #d8cbd0; background: #fff; color: #271c22; }
.rm-consent-options { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 16px; }
.rm-consent-options label { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.rm-consent-options input { width: 20px; height: 20px; accent-color: #dd3333; }
.rm-consent-manage { position: fixed; z-index: 999; left: 14px; bottom: 78px; min-height: 44px; border: 1px solid #d8cbd0; border-radius: 999px; padding: 7px 12px; background: #fff; color: #5e5558; font: 700 12px/1 system-ui, sans-serif; cursor: pointer; box-shadow: 0 5px 18px rgba(66, 23, 39, .12); }
.rm-consent { max-height: calc(100dvh - 20px); overflow-y: auto; }
.rm-consent label[hidden] { display: none; }
.rm-consent button:disabled { opacity: .55; cursor: default; }
.rm-consent button:focus-visible, .rm-consent-manage:focus-visible { outline: 3px solid #f3b8c6; outline-offset: 3px; }
@media (max-width: 720px) {
  .rm-consent { grid-template-columns: 1fr; right: 10px; bottom: 10px; left: 10px; padding: 18px; }
  .rm-consent-actions { justify-content: stretch; }
  .rm-consent-actions button { flex: 1 1 150px; }
}
@media (prefers-reduced-motion: reduce) {
  .rm-consent *, .rm-consent-manage { scroll-behavior: auto; transition: none !important; }
}
