.mdwc { --mdwc-primary: #3b2eb0; --mdwc-text: #221a4f; --mdwc-bg: #fff; --mdwc-radius: 16px;
  position: fixed; z-index: 99999; inset: auto 16px 16px 16px; display: flex; justify-content: center; pointer-events: none;
  font-family: inherit; font-size: 15px; line-height: 1.5; color: var(--mdwc-text); }
.mdwc[hidden] { display: none; }
.mdwc--bottom-left { justify-content: flex-start; }
.mdwc--preview { position: static; pointer-events: auto; }
.mdwc__box { pointer-events: auto; width: min(640px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; box-sizing: border-box;
  background: var(--mdwc-bg); border-radius: var(--mdwc-radius); padding: 20px 22px; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .45); }
.mdwc__title { margin: 0 0 6px; font-weight: 700; font-size: 1.1em; }
.mdwc__title:focus { outline: none; }
.mdwc__message { margin: 0; }
.mdwc__message a { color: var(--mdwc-primary); text-decoration: underline; }
.mdwc__cats { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.mdwc__cats[hidden] { display: none; }
.mdwc-cat { border: 1px solid rgba(0, 0, 0, .1); border-radius: calc(var(--mdwc-radius) / 2); padding: 10px 12px; }
.mdwc-cat__head { display: flex; align-items: center; gap: 8px; font-weight: 600; cursor: pointer; }
.mdwc-cat__head input { width: 18px; height: 18px; accent-color: var(--mdwc-primary); }
.mdwc-cat__always { margin-left: auto; font-weight: 400; font-size: .85em; opacity: .75; }
.mdwc-cat__desc { margin: 4px 0 0 26px; font-size: .9em; opacity: .85; }
.mdwc__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
/* Accept and reject have the same visual weight (CNIL). */
.mdwc-btn { flex: 1 1 auto; font: inherit; font-weight: 600; cursor: pointer; padding: .65em 1.1em; border-radius: 999px;
  border: 2px solid var(--mdwc-primary); background: var(--mdwc-primary); color: #fff; }
.mdwc-btn[data-mdwc-action="customize"] { background: transparent; color: var(--mdwc-primary); }
.mdwc-btn[hidden] { display: none; }
.mdwc-btn:focus-visible { outline: 3px solid var(--mdwc-text); outline-offset: 2px; }
@media (max-width: 480px) { .mdwc { inset: auto 8px 8px 8px; } .mdwc-btn { flex-basis: 100%; } }
