/* Cookie-Consent-Banner - im Look & Feel der Haupt-CI (Creme/Gold) */
#cc-banner{
  position: fixed; left:0; right:0; bottom:0; z-index: 99999;
  background: var(--color-warm-white, #fff);
  border-top: 1px solid var(--color-warm-sand, #E8DED0);
  box-shadow: 0 -12px 32px -12px rgba(0,0,0,0.25);
  padding: 22px 24px;
  font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}
#cc-banner.cc-visible{ transform: translateY(0); }
#cc-banner[hidden]{ display:none; }

.cc-inner{
  max-width: 1120px; margin: 0 auto;
  display:flex; flex-wrap:wrap; gap:18px 28px;
  align-items:flex-start; justify-content:space-between;
}
.cc-text{ flex:1 1 420px; min-width:0; }
.cc-text h2{
  font-family: var(--font-serif, Georgia, serif); font-weight:400; font-size:1.15rem;
  color: var(--color-soft-charcoal, #4A4A4A); margin:0 0 6px;
}
.cc-text p{
  font-size: 13.5px; line-height:1.55; color: var(--color-text-muted, #6B6B6B); margin:0;
}
.cc-text a{ color: var(--color-warm-bronze, #9A8456); text-decoration:underline; }

.cc-actions{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; flex-shrink:0;
}
.cc-btn{
  font-family: inherit; font-size:13.5px; font-weight:600; cursor:pointer;
  padding: 11px 20px; border-radius: 999px; border:1px solid transparent;
  transition: all 0.2s ease; white-space:nowrap;
}
.cc-btn-accept{
  background: linear-gradient(135deg, var(--color-soft-charcoal, #4A4A4A), #2a2a2a);
  color:#fff;
}
.cc-btn-accept:hover{ transform: translateY(-1px); box-shadow: 0 8px 18px -6px rgba(0,0,0,0.4); }
.cc-btn-reject{
  background: var(--color-warm-white, #fff);
  color: var(--color-soft-charcoal, #4A4A4A);
  border-color: var(--color-warm-sand, #E8DED0);
}
.cc-btn-reject:hover{ border-color: var(--color-muted-gold, #D4C5A0); }
.cc-btn-settings{
  background: transparent;
  color: var(--color-warm-bronze, #9A8456);
  text-decoration: underline; padding: 11px 6px;
}

/* Settings-Modal */
#cc-modal-overlay{
  position: fixed; inset:0; z-index:100000;
  background: rgba(20,18,15,0.55);
  display:flex; align-items:center; justify-content:center;
  padding: 20px;
}
#cc-modal-overlay[hidden]{ display:none; }
#cc-modal{
  background: var(--color-warm-white, #fff);
  border-radius: 16px;
  max-width: 560px; width:100%;
  max-height: 88vh; overflow-y:auto;
  padding: 30px 30px 26px;
  font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
  box-shadow: 0 30px 60px -12px rgba(0,0,0,0.4);
}
#cc-modal h2{
  font-family: var(--font-serif, Georgia, serif); font-weight:400; font-size:1.4rem;
  color: var(--color-soft-charcoal, #4A4A4A); margin:0 0 8px;
}
#cc-modal > p{ font-size:13.5px; line-height:1.55; color: var(--color-text-muted, #6B6B6B); margin:0 0 22px; }
#cc-modal > p a{ color: var(--color-warm-bronze, #9A8456); text-decoration:underline; }

.cc-category{
  border: 1px solid var(--color-warm-sand, #E8DED0); border-radius:12px;
  padding: 14px 16px; margin-bottom:12px;
}
.cc-category-head{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.cc-category-head strong{ font-size:14px; color: var(--color-soft-charcoal, #4A4A4A); }
.cc-category p{ font-size:12.5px; line-height:1.5; color: var(--color-text-muted, #6B6B6B); margin:8px 0 0; }

/* Toggle-Switch */
.cc-switch{ position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0; }
.cc-switch input{ opacity:0; width:0; height:0; }
.cc-switch .cc-slider{
  position:absolute; inset:0; cursor:pointer;
  background: var(--color-warm-sand, #E8DED0); border-radius:999px; transition:0.2s;
}
.cc-switch .cc-slider::before{
  content:""; position:absolute; height:18px; width:18px; left:3px; top:3px;
  background:#fff; border-radius:50%; transition:0.2s; box-shadow:0 1px 3px rgba(0,0,0,0.3);
}
.cc-switch input:checked + .cc-slider{ background: var(--color-warm-bronze, #9A8456); }
.cc-switch input:checked + .cc-slider::before{ transform: translateX(18px); }
.cc-switch input:disabled + .cc-slider{ opacity:0.6; cursor:not-allowed; }

.cc-modal-actions{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;
}
.cc-modal-actions .cc-btn{ flex:1 1 auto; text-align:center; }

/* Reopen-Link im Footer */
.cc-reopen-link{ cursor:pointer; }

@media (max-width: 640px){
  #cc-banner{ padding:18px 16px; }
  .cc-inner{ flex-direction:column; }
  .cc-actions{ width:100%; }
  .cc-btn{ flex:1 1 auto; text-align:center; }
}
