/* KK Cookie Banner – DSGVO/TTDSG/Google Consent Mode v2
   Design wie ehe-scheidung-online.de (Gold + Creme) */
:root{
  --kkcb-bg:#ffffff;
  --kkcb-fg:#1a1a1a;
  --kkcb-muted:#5b4a30;
  --kkcb-accent:#c8a96e;
  --kkcb-accent-dark:#8a7450;
  --kkcb-border:rgba(200,169,110,0.45);
  --kkcb-shadow:0 12px 36px rgba(0,0,0,0.18);
  --kkcb-radius:14px;
}

#kkcb-banner[hidden],#kkcb-modal[hidden],#kkcb-tray[hidden]{display:none !important}

/* ---------- Banner ---------- */
#kkcb-banner{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%);
  max-width:920px;width:calc(100% - 32px);z-index:99998;
  background:var(--kkcb-bg);color:var(--kkcb-fg);
  border:1px solid var(--kkcb-border);border-radius:var(--kkcb-radius);
  box-shadow:var(--kkcb-shadow);
  font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55;
  animation:kkcb-pop .35s ease;
}
@keyframes kkcb-pop{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

.kkcb-inner{padding:22px 26px;display:flex;flex-direction:column;gap:14px}
.kkcb-inner h3{margin:0;font-size:17px;font-weight:700;color:var(--kkcb-accent-dark)}
.kkcb-inner p{margin:0;color:var(--kkcb-fg)}
.kkcb-inner p a{color:var(--kkcb-accent-dark);text-decoration:underline}
.kkcb-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:6px}

/* Buttons */
.kkcb-btn{
  cursor:pointer;border:1px solid var(--kkcb-accent);
  background:#fff;color:var(--kkcb-accent-dark);
  padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;
  font-family:inherit;line-height:1.2;transition:all .15s ease;
}
.kkcb-btn:hover{background:#faf6ee}
.kkcb-btn--primary{background:var(--kkcb-accent);color:#fff;border-color:var(--kkcb-accent)}
.kkcb-btn--primary:hover{background:var(--kkcb-accent-dark);border-color:var(--kkcb-accent-dark)}

/* ---------- Modal ---------- */
#kkcb-modal{
  position:fixed;inset:0;z-index:99999;
  background:rgba(15,20,30,0.55);
  display:flex;align-items:center;justify-content:center;
  padding:20px;animation:kkcb-fade .25s ease;
}
@keyframes kkcb-fade{from{opacity:0}to{opacity:1}}

.kkcb-modal-inner{
  background:var(--kkcb-bg);color:var(--kkcb-fg);
  border-radius:var(--kkcb-radius);
  max-width:680px;width:100%;max-height:90vh;overflow:auto;
  box-shadow:var(--kkcb-shadow);
  font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55;
  position:relative;
}
.kkcb-modal-header{
  padding:22px 26px 12px;
  border-bottom:1px solid var(--kkcb-border);
  display:flex;align-items:center;justify-content:space-between;
}
.kkcb-modal-header h3{margin:0;color:var(--kkcb-accent-dark);font-size:18px}
.kkcb-close{cursor:pointer;font-size:22px;line-height:1;color:var(--kkcb-muted);padding:4px 8px;border-radius:4px}
.kkcb-close:hover{background:#faf6ee;color:var(--kkcb-accent-dark)}

.kkcb-modal-body{padding:18px 26px}
.kkcb-intro{margin:0 0 16px;color:var(--kkcb-muted);font-size:13px}

.kkcb-cat{
  border:1px solid var(--kkcb-border);border-radius:10px;
  padding:14px 16px;margin-bottom:10px;
  background:#fffdf8;
}
.kkcb-cat-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.kkcb-cat-title{font-weight:700;color:var(--kkcb-accent-dark);font-size:15px}
.kkcb-cat-desc{margin:6px 0 0;color:var(--kkcb-muted);font-size:13px}

/* Toggle Switch */
.kkcb-switch{position:relative;display:inline-block;width:46px;height:24px;flex-shrink:0}
.kkcb-switch input{opacity:0;width:0;height:0}
.kkcb-slider{
  position:absolute;cursor:pointer;inset:0;
  background:#d8d2c0;border-radius:24px;transition:.2s;
}
.kkcb-slider::before{
  position:absolute;content:"";height:18px;width:18px;
  left:3px;top:3px;background:#fff;border-radius:50%;
  transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,0.2);
}
.kkcb-switch input:checked+.kkcb-slider{background:var(--kkcb-accent)}
.kkcb-switch input:checked+.kkcb-slider::before{transform:translateX(22px)}
.kkcb-switch input:disabled+.kkcb-slider{background:var(--kkcb-accent-dark);cursor:not-allowed;opacity:0.65}

.kkcb-modal-footer{
  padding:16px 26px 22px;
  border-top:1px solid var(--kkcb-border);
  display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;
}

/* ---------- Tray (3 Buttons, sichtbar nach Consent — wie ESO) ---------- */
#kkcb-tray{
  position:fixed;left:18px;bottom:18px;z-index:99996;
  display:flex;align-items:center;gap:10px;
  font-family:Arial,Helvetica,sans-serif;
  animation:kkcb-tray-in .35s ease;
}
@keyframes kkcb-tray-in{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}

.kkcb-quick{
  display:inline-flex;align-items:center;gap:8px;
  height:42px;padding:0 16px 0 14px;border-radius:21px;
  background:var(--kkcb-bg);color:var(--kkcb-fg);
  font:600 13px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.2px;text-decoration:none;
  border:1px solid var(--kkcb-border);
  box-shadow:0 4px 14px rgba(0,0,0,.12);
  transition:all .2s ease;cursor:pointer;white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.kkcb-quick:hover,.kkcb-quick:focus-visible{
  background:var(--kkcb-accent);color:#fff;
  border-color:var(--kkcb-accent);
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(200,169,110,.45);
  outline:none;text-decoration:none;
}
.kkcb-quick-ico{font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.kkcb-quick-label{line-height:1}

/* ---------- Mobile ---------- */
@media (max-width:600px){
  #kkcb-banner{bottom:8px;width:calc(100% - 16px);font-size:13px}
  .kkcb-inner{padding:18px 18px}
  .kkcb-actions{justify-content:stretch;flex-direction:column}
  .kkcb-btn{width:100%;padding:12px 16px}
  .kkcb-modal-header,.kkcb-modal-body,.kkcb-modal-footer{padding-left:18px;padding-right:18px}

  /* Tray: nur Icons, kleiner */
  #kkcb-tray{left:10px;bottom:10px;gap:6px}
  .kkcb-quick{height:38px;padding:0 12px;font-size:12px}
  .kkcb-quick-label{display:none}
  .kkcb-quick-ico{font-size:18px}
}
