.cc-banner,.cc-overlay,.cc-revoke {
  --sc-dark-deep: #142743;
  --sc-white: #fff;
  --sc-ink: #1d3557;
  --sc-line: #c8dddf;
  --sc-muted: #607286;
  --sc-blue: #457b9d;
  --sc-accent: #e63946;
  --sc-soft: #e4f1ee;
  --sc-field: #fbfdf9;
  --sc-sky: #a8dadc;
  --sc-dark: #1d3557;
}
/* Cookie-Consent-Dialog im bestehenden SchlaegerClub-Designsystem. */
.cc-overlay[hidden],.cc-banner[hidden],.cc-prefs[hidden],.cc-revoke[hidden] { display:none !important; }
.cc-overlay { position:fixed; inset:0; z-index:9998; background:color-mix(in srgb,var(--sc-dark-deep) 28%,transparent); pointer-events:none; }
.cc-banner,.cc-banner *,.cc-banner *::before,.cc-banner *::after { box-sizing:border-box; }
.cc-banner {
  position:fixed; left:50%; bottom:max(18px,env(safe-area-inset-bottom)); z-index:9999;
  width:min(760px,calc(100% - 32px)); max-height:calc(100dvh - 36px); padding:26px;
  overflow-y:auto; overscroll-behavior:contain; transform:translateX(-50%);
  background:var(--sc-white); color:var(--sc-ink); border:1px solid var(--sc-line);
  border-radius:0; box-shadow:none;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:15px; line-height:1.55;
}
.cc-banner:focus { outline:none; }
.cc-banner h2 { margin:0 0 8px; color:var(--sc-ink); font-family:"Newsreader",Georgia,serif; font-size:20px; font-style:italic; font-weight:400; line-height:1.3; }
.cc-banner p { margin:0 0 18px; color:var(--sc-muted); }
.cc-link { color:var(--sc-blue); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.cc-link:hover { color:var(--sc-ink); }
.cc-link:focus-visible,.cc-btn:focus-visible,.cc-revoke:focus-visible { outline:2px solid var(--sc-accent); outline-offset:3px; }
.cc-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.cc-actions { display:flex; flex-wrap:wrap; gap:10px; width:100%; justify-content:flex-end; }
.cc-btn {
  min-height:44px; padding:10px 17px; border:1px solid var(--sc-line); border-radius:0;
  background:var(--sc-soft); color:var(--sc-ink); font:inherit; font-weight:600;
  line-height:1.2; cursor:pointer; transition:background-color .2s ease,border-color .2s ease;
}
.cc-btn:hover { background:var(--sc-field); border-color:var(--sc-sky); }
.cc-btn.primary { border-color:var(--sc-accent); background:var(--sc-accent); color:var(--sc-white); }
.cc-btn.primary:hover { border-color:var(--sc-dark); background:var(--sc-dark); }
.cc-prefs { margin-top:20px; padding-top:18px; border-top:1px solid var(--sc-line); }
.cc-prefs-intro { margin-bottom:14px; color:var(--sc-muted); font-size:13px; }
.cc-group { display:flex; gap:12px; align-items:flex-start; margin:0 0 14px; padding:12px; border:0; border-radius:0; background:var(--sc-field); cursor:pointer; }
.cc-group-essential { cursor:default; }
.cc-group-text { flex:1; }
.cc-group strong { display:inline-block; margin-bottom:2px; color:var(--sc-ink); }
.cc-small { display:inline-block; color:var(--sc-muted); font-size:13px; line-height:1.45; }
.cc-switch { position:relative; display:inline-block; flex:0 0 auto; width:46px; height:26px; margin-top:1px; }
.cc-switch input { position:absolute; width:1px; height:1px; opacity:0; }
.cc-slider { position:absolute; inset:0; border-radius:0; background:var(--sc-muted); cursor:pointer; transition:background-color .2s ease; }
.cc-slider::before { position:absolute; top:3px; left:3px; width:20px; height:20px; content:""; border-radius:0; background:var(--sc-white); box-shadow:none; transition:transform .2s ease; }
.cc-switch input:checked + .cc-slider { background:var(--sc-blue); }
.cc-switch input:checked + .cc-slider::before { transform:translateX(20px); }
.cc-switch input:focus-visible + .cc-slider { outline:2px solid var(--sc-accent); outline-offset:3px; }
.cc-switch input:disabled + .cc-slider { cursor:not-allowed; opacity:.65; }
.cc-revoke {
  position:fixed; right:clamp(18px,2.5vw,36px); bottom:28px; z-index:9990;
  display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:8px;
  border:0; border-radius:0; background:var(--sc-dark); color:var(--sc-white);
  box-shadow:none; cursor:pointer; transition:background-color 160ms ease;
}
.cc-revoke:hover { background:var(--sc-dark-deep); }
.cc-revoke img { display:block; width:32px; height:32px; }
@media (max-width:650px) {
  .cc-banner { bottom:max(10px,env(safe-area-inset-bottom)); width:calc(100% - 20px); max-height:calc(100dvh - 20px); padding:20px 18px; border-radius:0; font-size:14px; }
  .cc-banner h2 { font-size:18px; }
  .cc-actions { flex-direction:column; }
  .cc-btn { width:100%; }
  .cc-group { padding:11px; }
}
@media (prefers-reduced-motion:reduce) { .cc-btn,.cc-slider,.cc-slider::before { transition:none; } }
@media print { .cc-banner,.cc-overlay,.cc-revoke { display:none !important; } }
