/* Minimal accessible styles for GDPR banner & modal */
.gdpr-banner{position:fixed;left:0;right:0;bottom:0;background:var(--cc-banner-bg, rgba(17,17,17,.96));color:var(--cc-banner-fg, #fff);z-index:1000}
.gdpr-banner__content{max-width:var(--layout-max-width, 72rem);margin:0 auto;padding:1rem}
.gdpr-banner__actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}
.gdpr-btn{font:inherit;border-radius:var(--rounded-btn, .375rem);border:1px solid transparent;padding:.5rem .75rem;cursor:pointer}
.gdpr-btn--primary{background:var(--cc-primary, lch(var(--l, 50%) var(--c, 40%) var(--h, 240deg)));color:var(--cc-primary-contrast, #fff)}
.gdpr-btn--secondary{background:var(--cc-secondary, lch(calc(var(--l,50%) * .22) calc(var(--c,40%) * .2) var(--h,240deg)));color:var(--cc-secondary-contrast, #fff)}
.gdpr-btn--manage{background:transparent;border-color:currentColor;color:inherit}

dialog.gdpr-modal{border:0;padding:0;border-radius:var(--rounded-box, .5rem);max-width:680px;width:calc(100% - 2rem);margin:10vh auto;background:var(--cc-surface, #fff);color:var(--cc-fg, #111);z-index:1001}
dialog.gdpr-modal::backdrop{background:rgba(0,0,0,.5)}
.gdpr-modal__dialog{display:flex;flex-direction:column}
.gdpr-modal__header,.gdpr-modal__footer{padding:1rem;border-bottom:1px solid var(--cc-border, #eee)}
.gdpr-modal__footer{border-top:1px solid var(--cc-border, #eee);border-bottom:0;display:flex;gap:.5rem;justify-content:flex-end}
.gdpr-modal__body{padding:1rem}
.gdpr-modal__close{background:transparent;border:0;font-size:1.4rem;cursor:pointer}
.gdpr-switch{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}
.gdpr-switch input{position:absolute;opacity:0;width:0;height:0;overflow:hidden}
.gdpr-switch__control{display:inline-block;width:36px;height:20px;background:#ccc;border-radius:999px;position:relative;vertical-align:middle}
.gdpr-switch__control::after{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s ease}
.gdpr-switch input:checked + .gdpr-switch__control{background:var(--cc-primary, #2563eb)}
.gdpr-switch input:checked + .gdpr-switch__control::after{transform:translateX(16px)}
.gdpr-switch__text{display:inline-block}
.gdpr-manage{position:fixed;right:1rem;bottom:1rem;padding:.5rem .75rem;border-radius:.3rem;border:1px solid #ddd;background:#fff;color:#111;z-index:900}

@media (prefers-color-scheme: dark){
  dialog.gdpr-modal{background:var(--cc-surface-dark, #111);color:var(--cc-fg-dark, #fff)}
  .gdpr-modal__header,.gdpr-modal__footer{border-color:var(--cc-border-dark, #222)}
}

/* Theme adapters */
/* Light theme */
:root[data-theme="light"], [data-theme="light"] {
  --cc-surface: #ffffff;
  --cc-fg: #111111;
  --cc-border: #e5e7eb;
  --cc-banner-bg: rgba(17,17,17,.96);
  --cc-banner-fg: #ffffff;
  --cc-secondary: #374151;
  --cc-secondary-contrast: #ffffff;
}

/* Dark theme */
:root[data-theme="dark"], [data-theme="dark"] {
  --cc-surface: #111111;
  --cc-fg: #f5f5f5;
  --cc-border: #222222;
  --cc-banner-bg: rgba(17,17,17,.96);
  --cc-banner-fg: #ffffff;
  --cc-secondary: #222222;
  --cc-secondary-contrast: #ffffff;
}

/* Black theme */
:root[data-theme="black"], [data-theme="black"] {
  --cc-surface: #000000;
  --cc-fg: #ffffff;
  --cc-border: #333333;
  --cc-banner-bg: rgba(0,0,0,.96);
  --cc-banner-fg: #ffffff;
  --cc-secondary: #111111;
  --cc-secondary-contrast: #ffffff;
}
