/* Schrift der Seite übernehmen (font:inherit greift hier nicht, body setzt keine) */
:root { --mm-font: 'Golos Text', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif; }

/* Schlankes Cookie-Banner — kein Dritt-Dienst, keine externen Requests.
   Bewusst zurückhaltend gestaltet, damit es die Seite nicht dominiert. */

#ck-banner {
  position: fixed;
  z-index: 99999;
  left: 50%;
  bottom: 1.1rem;
  transform: translateX(-50%) translateY(1.5rem);
  width: min(62rem, calc(100vw - 2rem));
  background: #fff;
  color: #14213d;
  border: 1px solid #e4e7ee;
  border-radius: 14px;
  box-shadow: 0 18px 48px -12px rgba(16, 24, 48, 0.28), 0 2px 6px rgba(16, 24, 48, 0.06);
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1), visibility .35s;
  font-family: var(--mm-font);
}
#ck-banner[hidden] { display: none; }
#ck-banner.is-open { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }

.ck__in {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  padding: 1.35rem 1.5rem;
}
@media (min-width: 56rem) {
  .ck__in { flex-direction: row; align-items: center; gap: 2rem; padding: 1.4rem 1.75rem; }
  .ck__txt { flex: 1; }
}

.ck__h {
  margin: 0 0 .35rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.ck__p {
  margin: 0;
  font-size: .875rem;
  line-height: 1.6;
  color: #4a5268;
  max-width: 46rem;
}
.ck__p a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ck__p a:hover { color: #14213d; }

.ck__btns { display: flex; gap: .65rem; flex: none; }
@media (max-width: 30rem) { .ck__btns .ck__b { flex: 1; } }

.ck__b {
  font-family: var(--mm-font);
  font-size: .875rem;
  font-weight: 600;
  padding: .72rem 1.35rem;
  min-height: 44px;               /* Touch-Ziel */
  border-radius: 9px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .12s ease;
}
.ck__b:active { transform: translateY(1px); }
.ck__b:focus-visible { outline: 3px solid #14213d; outline-offset: 2px; }

.ck__b--ghost {
  background: transparent;
  color: #4a5268;
  border: 1px solid #d7dbe5;
}
.ck__b--ghost:hover { background: #f4f6fa; color: #14213d; border-color: #b9c0d0; }

.ck__b--solid {
  background: #14213d;
  color: #fff;
  border: 1px solid #14213d;
}
.ck__b--solid:hover { background: #1e2f56; border-color: #1e2f56; }

/* Fußzeilen-Link zum erneuten Öffnen */
.ck-reopen {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: .85;
}
.ck-reopen:hover { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  #ck-banner { transition: none; }
  .ck__b { transition: none; }
}
