
/* cookie-consent.css — minimal, high-contrast, accessible */
#cc-banner{
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999;
  background: var(--color-button-bg);
  color: var(--color-button-text);
  border-top: 2px solid var(--color-border-strong);
  font: 400 14px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
#cc-banner .cc-wrap{ max-width: 1100px; margin: 0 auto; padding: 12px 16px; display: grid; gap: 10px; align-items: center; grid-template-columns: 1fr auto; }
#cc-banner .cc-text{ opacity: .95; }
#cc-banner .cc-link{ color: var(--color-button-text); text-decoration: underline; }
#cc-banner .cc-actions{ display: flex; gap: 8px; }
.cc-btn{ appearance: none; border: 1px solid var(--color-button-text); background: transparent; color: var(--color-button-text); padding: 8px 12px; border-radius: 6px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.cc-btn:hover{ background: var(--color-button-text); color: var(--color-button-bg); }
.cc-accept{ background: var(--color-button-text); color: var(--color-button-bg); border-color: var(--color-button-text); }
.cc-reject{}
.cc-manage{}

#cc-panel{ position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: rgba(0,0,0,.5); padding: 20px; }
#cc-panel[hidden]{ display: none; }
.cc-panel-inner{ background: var(--color-surface); color: var(--color-text); width: min(680px, 96vw); border-radius: 10px; padding: 16px 16px 12px; border: 1px solid var(--color-border-strong); position: relative; }
.cc-panel-inner h2{ margin: 0 0 8px 0; font-size: 1.1rem; }
.cc-panel-inner p{ margin: 0 0 12px 0; }
.cc-categories{ display: grid; gap: 10px; }
.cc-cat{ border: 1px solid var(--color-border-strong); border-radius: 8px; padding: 10px; background: var(--color-surface); }
.cc-cat-head{ display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.cc-pill{ background: var(--color-button-bg); color: var(--color-button-text); padding: 2px 8px; border-radius: 999px; font-size: 12px; }
.cc-panel-actions{ display:flex; justify-content: flex-end; gap:8px; margin-top: 10px; }
.cc-close{ position: absolute; top: 6px; right: 8px; border: none; background: transparent; font-size: 22px; line-height: 1; cursor: pointer; }

/* Toggle switch */
.cc-switch{ position: relative; display: inline-block; width: 44px; height: 24px; }
.cc-switch input{ opacity: 0; width: 0; height: 0; }
.cc-slider{ position: absolute; cursor: pointer; inset: 0; background: var(--color-border); border-radius: 24px; transition: .2s; }
.cc-slider:before{ content: ""; position: absolute; height: 20px; width: 20px; left: 2px; top: 2px; background: var(--color-surface); border-radius: 50%; transition: .2s; border: 1px solid var(--color-border-strong); }
.cc-switch input:checked + .cc-slider{ background: var(--color-button-bg); }
.cc-switch input:checked + .cc-slider:before{ transform: translateX(20px); }

/* Embed placeholders */
.cc-embed{ border: 1px dashed var(--color-border-strong); padding: 12px; border-radius: 8px; background: var(--color-surface); }
.cc-embed .cc-embed-inner strong{ display:block; margin-bottom: 6px; }
.cc-embed-actions{ display:flex; gap:8px; }
.cc-embed .cc-btn{ color:var(--color-text); border-color:var(--color-border-strong); }
.cc-embed .cc-btn.cc-accept{ background:var(--color-button-bg); color:var(--color-button-text); border-color: var(--color-button-bg); }

/* Prevent background scroll when panel open */
html.cc-open{ overflow: hidden; }

/* Harmonize primary action with site CTA */
.cc-panel-actions .cc-accept{
  background: var(--color-button-bg);
  color: var(--color-button-text);
  border: none;
  padding: 12px 28px;
  border-radius: 6px;
  font-weight: 700;
  box-shadow: 0 2px 8px var(--color-button-shadow);
}
.cc-panel-actions .cc-accept:hover{ background:var(--color-button-bg-hover); color: var(--color-button-text); }
