#consent-controls,
#consent-dialog {
  color: #334155;
  background: #fff;
  font: 0.875rem/1.6 ui-sans-serif, system-ui, sans-serif;
}

#consent-controls {
  padding: 1rem 2rem;
  border-top: 1px solid #e2e8f0;
}

#consent-controls p:empty { display: none; }

#consent-dialog {
  box-sizing: border-box;
  width: 40rem;
  max-width: calc(100% - 2rem);
  max-height: calc(100% - 2rem);
  margin: auto;
  padding: 1.5rem;
  overflow: auto;
  border: 1px solid #cbd5e1;
  border-radius: 1rem;
  box-shadow: 0 24px 64px #0f172a33;
}

#consent-dialog::backdrop { background: #0f172a88; }
#consent-dialog h2 { margin: 0 0 1rem; font-size: 1.5rem; font-weight: 700; }
#consent-dialog p { margin: 0.75rem 0; }
#consent-dialog fieldset { margin: 1rem 0; padding: 1rem; border: 1px solid #cbd5e1; border-radius: 0.5rem; }
#consent-dialog legend { padding: 0 0.25rem; font-weight: 600; }
#consent-dialog label { display: block; margin-bottom: 0.75rem; font-weight: 600; }
#consent-dialog label span { display: block; margin-left: 1.5rem; font-weight: 400; }
#consent-dialog input { accent-color: #1d4ed8; }
#consent-dialog summary { cursor: pointer; font-weight: 600; }
#consent-dialog .consent-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
#consent-controls button,
#consent-dialog button {
  padding: 0.6rem 0.9rem;
  border: 1px solid #94a3b8;
  border-radius: 0.5rem;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
#consent-dialog button { flex: 1 1 10rem; }
#consent-controls button:disabled { opacity: 0.6; cursor: default; }
#consent-controls button:focus-visible,
#consent-dialog :focus-visible { outline: 3px solid #3b82f6; outline-offset: 3px; }

html[data-pc-theme="dark"] #consent-controls,
html[data-pc-theme="dark"] #consent-dialog { background: #111827; color: #e5edf6; border-color: #334155; }
html[data-pc-theme="dark"] #consent-dialog fieldset { border-color: #475569; }
