.consent-panel[hidden], .consent-settings[hidden] { display: none; }
.consent-panel {
  position: fixed; z-index: 200; right: 24px; bottom: 24px;
  width: min(560px, calc(100% - 48px)); max-height: calc(100dvh - 48px);
  overflow-y: auto; padding: 28px; border: 1px solid #84a6ff; border-top: 3px solid #f36aad;
  border-radius: 0; background: #191923; color: #f5f3f8;
  box-shadow: 0 12px 55px #0009; font: 400 14px/1.7 'Open Sans', sans-serif;
}
.consent-panel .consent-eyebrow { margin: 0 30px 10px 0; color: #f36aad; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.consent-panel h2 { margin: 0 24px 16px 0; font: 400 25px/1.4 'Merriweather', Georgia, serif; color: #fff; }
.consent-panel p { margin: 0 0 16px; }
.consent-panel .consent-close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #f5f3f8; font: 28px/1 sans-serif; cursor: pointer; }
.consent-details { margin: 0 0 16px; color: #c8c6d3; }
.consent-details summary { width: fit-content; color: #b5c8ff; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.consent-details p { margin: 12px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.consent-details a { color: #b5c8ff; text-decoration: underline; }
.consent-panel .consent-status { color: #c8c6d3; font-size: 12px; }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.consent-actions button { min-height: 48px; padding: 12px 10px; border: 1px solid #84a6ff; border-radius: 0; background: #2852b8; color: #fff; font: 600 13px/1.5 'Open Sans', sans-serif; cursor: pointer; }
.consent-actions button:hover { background: #1e4299; }
.consent-panel :is(button, summary, a, h2):focus-visible, .consent-settings:focus-visible { outline: 2px solid #ff9bcf; outline-offset: 4px; }
.consent-settings { padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) {
  .consent-panel { right: 12px; bottom: 12px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 22px 20px; }
  .consent-panel h2 { font-size: 21px; }
  .consent-actions { grid-template-columns: 1fr; gap: 10px; }
}
@media print { .consent-panel, .consent-settings { display: none; } }
