/* Klaro! consent — brand theme matching the Metamorfozis design system.
   Overrides bundled Klaro CSS using high-specificity selectors. */

.klaro,
.klaro * {
  font-family: var(--font-ui, 'DM Sans', system-ui, sans-serif);
  letter-spacing: 0;
}

/* ---------- The bottom banner (notice) ---------- */
.klaro .cookie-notice {
  background: var(--cream-light, #FBF5EC) !important;
  color: var(--ink, #1E1E1E) !important;
  border-top: 1px solid rgba(166, 136, 23, 0.30); /* hairline-gold */
  box-shadow: 0 -6px 24px rgba(44, 20, 8, 0.10);
  border-radius: 0;
}
.klaro .cookie-notice .cn-body {
  padding: 1.5rem 1.75rem;
}
.klaro .cookie-notice .cn-body h1,
.klaro .cookie-notice .cn-body strong {
  font-family: var(--font-editorial, 'Playfair Display', Georgia, serif);
  font-weight: 500;
  color: var(--ink, #1E1E1E);
  font-size: 1.15rem;
  letter-spacing: -0.005em;
}
.klaro .cookie-notice .cn-body p,
.klaro .cookie-notice .cn-body p a {
  color: var(--ink-soft, #3D2B1F);
  font-size: 0.92rem;
  line-height: 1.65;
}
.klaro .cookie-notice .cn-body p a {
  color: var(--raspberry-deep, #891D3B);
  text-decoration: none;
  border-bottom: 1px solid rgba(137, 29, 59, 0.3);
}

/* ---------- The settings modal ---------- */
.klaro .cookie-modal .cm-bg {
  background: rgba(30, 30, 30, 0.55);
}
.klaro .cookie-modal .cm-modal {
  background: var(--cream-light, #FBF5EC) !important;
  color: var(--ink, #1E1E1E) !important;
  border: 1px solid rgba(166, 136, 23, 0.30);
  border-radius: 2px;
  box-shadow: 0 10px 40px rgba(44, 20, 8, 0.18);
}
.klaro .cookie-modal .cm-header {
  border-bottom: 1px solid rgba(137, 29, 59, 0.18);
}
.klaro .cookie-modal .cm-header h1,
.klaro .cookie-modal .cm-header h1.title {
  font-family: var(--font-display, 'DM Serif Display', Georgia, serif) !important;
  font-weight: 400 !important;
  color: var(--ink, #1E1E1E) !important;
  font-size: clamp(1.4rem, 2.2vw, 1.7rem) !important;
  letter-spacing: -0.01em;
}
.klaro .cookie-modal .cm-body p,
.klaro .cookie-modal .cm-purpose p,
.klaro .cookie-modal .cm-services {
  color: var(--ink-soft, #3D2B1F);
  font-size: 0.95rem;
  line-height: 1.65;
}

/* Purpose / service titles */
.klaro .cookie-modal .cm-purpose .cm-purpose-title,
.klaro .cookie-modal .cm-purpose h2,
.klaro .cookie-modal .cm-list-title {
  font-family: var(--font-editorial, 'Playfair Display', Georgia, serif) !important;
  font-weight: 500 !important;
  color: var(--ink, #1E1E1E) !important;
  font-size: 1.05rem !important;
}
.klaro .cookie-modal .cm-purpose .cm-purpose-description,
.klaro .cookie-modal .cm-list-description {
  color: var(--ink-muted, #6B5444);
}

/* Eyebrow-style for purpose row tags ("Niezbędne" / "Multimedia") */
.klaro .cookie-modal .cm-purpose .cm-required,
.klaro .cookie-modal .cm-services .cm-services-title small {
  font-family: var(--font-ui, 'DM Sans', system-ui, sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.65rem;
  color: var(--gold-deep, #A68817);
}

/* Service rows: subtle hairline separators */
.klaro .cookie-modal .cm-list-item,
.klaro .cookie-modal .cm-purpose {
  border-top: 1px solid rgba(166, 136, 23, 0.22);
}

/* ---------- Buttons (banner + modal) ---------- */
.klaro .cn-buttons,
.klaro .cm-footer .cm-buttons,
.klaro .cm-footer-buttons {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.klaro .cm-btn {
  font-family: var(--font-ui, 'DM Sans', system-ui, sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 0.78rem 1.6rem !important;
  border-radius: 1px !important;
  border: 1px solid transparent !important;
  cursor: pointer;
  transition: all 0.18s ease !important;
}

/* Primary — Accept all */
.klaro .cm-btn.cm-btn-success,
.klaro .cm-btn.cm-btn-accept-all {
  background: var(--raspberry-deep, #891D3B) !important;
  color: var(--cream-light, #FBF5EC) !important;
  border-color: var(--raspberry-deep, #891D3B) !important;
}
.klaro .cm-btn.cm-btn-success:hover,
.klaro .cm-btn.cm-btn-accept-all:hover {
  background: var(--raspberry, #DE2F5F) !important;
  border-color: var(--raspberry, #DE2F5F) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(137, 29, 59, 0.28);
}

/* Secondary — Save / Accept selected — ghost gold */
.klaro .cm-btn.cm-btn-info,
.klaro .cm-btn.cm-btn-accept {
  background: transparent !important;
  color: var(--gold-deep, #A68817) !important;
  border-color: var(--gold-deep, #A68817) !important;
}
.klaro .cm-btn.cm-btn-info:hover,
.klaro .cm-btn.cm-btn-accept:hover {
  background: rgba(166, 136, 23, 0.08) !important;
}

/* Decline — ghost ink */
.klaro .cm-btn.cm-btn-danger,
.klaro .cm-btn.cm-btn-decline {
  background: transparent !important;
  color: var(--ink-soft, #3D2B1F) !important;
  border-color: rgba(61, 43, 31, 0.45) !important;
}
.klaro .cm-btn.cm-btn-danger:hover,
.klaro .cm-btn.cm-btn-decline:hover {
  background: rgba(30, 30, 30, 0.05) !important;
  border-color: var(--ink, #1E1E1E) !important;
}

/* "Learn more" / Settings link variant — subtle text button */
.klaro .cm-btn.cm-btn-learn-more,
.klaro .cookie-notice .cn-learn-more {
  background: transparent !important;
  border: none !important;
  color: var(--raspberry-deep, #891D3B) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(137, 29, 59, 0.3) !important;
  padding: 0.4rem 0 !important;
  border-radius: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.85rem !important;
}

/* ---------- Toggle switches (per-service) ---------- */
.klaro .cookie-modal .cm-list-input + .cm-list-label .slider {
  background: rgba(61, 43, 31, 0.25);
  border-radius: 999px;
  transition: background 0.18s;
}
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider {
  background: var(--raspberry-deep, #891D3B);
}
.klaro .cookie-modal .cm-list-input + .cm-list-label .slider::before {
  background: var(--cream-light, #FBF5EC);
  box-shadow: 0 1px 3px rgba(0,0,0,0.18);
}
.klaro .cookie-modal .cm-list-input[disabled] + .cm-list-label .slider {
  background: var(--gold-muted, #C9A84C);
  opacity: 0.65;
}

/* Powered-by / footer area — hidden (we set poweredBy: '' in config, but be safe) */
.klaro .cookie-modal .cm-powered-by {
  display: none;
}
