.cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 3000;
  background: var(--tinte); color: #f3ece0;
  transform: translateY(100%); transition: transform .35s ease;
  box-shadow: 0 -8px 30px rgba(0,0,0,0.2);
}
.cookie-banner.on { transform: translateY(0); }
.cookie-banner-inner {
  max-width: 1180px; margin: 0 auto; padding: 20px 32px;
  display: flex; align-items: center; gap: 28px; flex-wrap: wrap;
}
.cookie-banner-text { flex: 1; min-width: 240px; font-size: 13px; line-height: 1.6; color: #cbbfa9; margin: 0; }
.cookie-banner-text a { color: #fff; text-decoration: underline; }
.cookie-banner-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cookie-btn { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; padding: 10px 18px; border-radius: 8px; cursor: pointer; white-space: nowrap; border: 1px solid transparent; }
.cookie-btn.primary { background: var(--rot); color: #fff; border-color: var(--rot); }
.cookie-btn.primary:hover { background: var(--rot-dunkel); }
.cookie-btn.ghost { background: transparent; color: #cbbfa9; border-color: #4a4130; }
.cookie-btn.ghost:hover { border-color: #cbbfa9; color: #fff; }

.cookie-modal-veil {
  position: fixed; inset: 0; z-index: 3100; background: rgba(20,15,10,.6); backdrop-filter: blur(3px);
  display: none; align-items: center; justify-content: center; padding: 20px;
}
.cookie-modal-veil.on { display: flex; }
.cookie-modal { width: 100%; max-width: 420px; background: var(--weiss); border-radius: 14px; padding: 28px; box-shadow: 0 24px 60px rgba(20,15,10,.3); }
.cookie-modal h3 { font-family: 'Baloo 2', sans-serif; font-size: 19px; margin-bottom: 20px; color: var(--tinte); }
.cookie-option { padding: 14px 0; border-top: 1px solid var(--linie); }
.cookie-option:first-of-type { border-top: none; }
.cookie-option-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.cookie-option-title { font-weight: 700; font-size: 14px; color: var(--tinte); }
.cookie-option-desc { font-size: 12.5px; color: var(--tinte-soft); line-height: 1.5; margin: 0; }
.cookie-toggle {
  width: 40px; height: 22px; border-radius: 20px; background: var(--linie); border: none; position: relative; cursor: pointer; padding: 0; flex-shrink: 0;
}
.cookie-toggle.disabled { cursor: default; opacity: 0.8; }
.cookie-toggle-dot { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: left .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.cookie-toggle.on { background: var(--gruen); }
.cookie-toggle.on .cookie-toggle-dot { left: 20px; }
.cookie-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
