/**
 * Complianz (cookie banner) theme overrides.
 * Keeps Complianz structure, but matches eShield UI.
 */

:root {
  /* Match theme tokens (see theme/style.css) */
  --esh-cmplz-radius: 14px; /* like overlay menus */
  --esh-cmplz-radius-sm: 10px;
  --esh-cmplz-shadow: 0 30px 90px rgba(0, 0, 0, 0.22);

  --esh-cmplz-primary: var(--primary-color, #0066ff);
  --esh-cmplz-primary-hover: var(--primary-dark, #0052cc);

  /* Dark glass surface (premium, consistent with hero glass) */
  --esh-cmplz-bg: rgba(11, 15, 25, 0.92);
  --esh-cmplz-bg-2: rgba(22, 27, 44, 0.55);
  --esh-cmplz-border: rgba(255, 255, 255, 0.10);

  --esh-cmplz-text: rgba(255, 255, 255, 0.92);
  --esh-cmplz-muted: rgba(255, 255, 255, 0.68);
  --esh-cmplz-muted-2: rgba(255, 255, 255, 0.55);
}

/* Container */
#cmplz-cookiebanner-container,
.cmplz-cookiebanner,
.cmplz-cookiebanner * {
  font-family: inherit !important;
}

/* Banner / modal surface */
.cmplz-cookiebanner {
  border-radius: var(--esh-cmplz-radius) !important;
  box-shadow: var(--esh-cmplz-shadow) !important;
  border: 1px solid var(--esh-cmplz-border) !important;
  background: var(--esh-cmplz-bg) !important;
  color: var(--esh-cmplz-text) !important;
  overflow: hidden;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.cmplz-cookiebanner .cmplz-header {
  padding: 14px 16px 12px !important;
  background: linear-gradient(135deg, rgba(0, 102, 255, 0.18) 0%, rgba(255, 255, 255, 0.06) 42%, rgba(14, 165, 233, 0.10) 100%) !important;
}

.cmplz-cookiebanner .cmplz-title {
  font-weight: 700 !important;
  letter-spacing: -0.3px;
  font-size: 15px !important;
  color: var(--esh-cmplz-text) !important;
}

.cmplz-cookiebanner .cmplz-message {
  color: var(--esh-cmplz-muted) !important;
  line-height: 1.55 !important;
  font-size: 12.5px;
}

.cmplz-cookiebanner .cmplz-close {
  opacity: 0.85;
  transition: opacity 0.15s ease, transform 0.08s ease, background 0.15s ease;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.92) !important; /* ensure visible on dark header */
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.10);
}
.cmplz-cookiebanner .cmplz-close svg,
.cmplz-cookiebanner .cmplz-close svg path {
  fill: currentColor !important;
}
.cmplz-cookiebanner .cmplz-close:hover {
  opacity: 1;
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.06);
}
.cmplz-cookiebanner .cmplz-close:focus,
.cmplz-cookiebanner .cmplz-close:focus-visible {
  outline: 2px solid rgba(0, 102, 255, 0.45);
  outline-offset: 2px;
}

/* Categories (accordion-like) */
.cmplz-cookiebanner .cmplz-category {
  border-radius: var(--esh-cmplz-radius-sm) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  margin: 10px 0 !important;
}

.cmplz-cookiebanner .cmplz-category-header {
  padding: 10px 12px !important;
}

.cmplz-cookiebanner .cmplz-category-title {
  font-weight: 600 !important;
  color: var(--esh-cmplz-text) !important;
  letter-spacing: -0.2px;
}

.cmplz-cookiebanner .cmplz-description {
  padding: 10px 12px 12px !important;
  color: var(--esh-cmplz-muted) !important;
  font-size: 12px;
  line-height: 1.55;
}

.cmplz-cookiebanner .cmplz-always-active {
  font-weight: 700 !important;
  color: #22c55e !important;
}

/* Toggle look (best-effort: Complianz uses input + label) */
.cmplz-cookiebanner .cmplz-banner-checkbox {
  transform: scale(0.98);
}

.cmplz-cookiebanner input.cmplz-consent-checkbox + label.cmplz-label {
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.10) !important;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.cmplz-cookiebanner input.cmplz-consent-checkbox:checked + label.cmplz-label {
  background: var(--esh-cmplz-primary) !important;
  border-color: rgba(0, 102, 255, 0.55) !important;
  box-shadow: 0 10px 22px rgba(0, 102, 255, 0.22);
}

.cmplz-cookiebanner input.cmplz-consent-checkbox:focus + label.cmplz-label {
  outline: 2px solid rgba(0, 102, 255, 0.35);
  outline-offset: 2px;
}

/* Buttons */
.cmplz-cookiebanner .cmplz-buttons {
  gap: 10px;
}

.cmplz-cookiebanner .cmplz-btn {
  /* Match .btn-tech vibe: sharper corners + strong weight */
  border-radius: 2px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
  padding: 12px 18px !important;
  box-shadow: none !important;
  transition: transform 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease, background 0.12s ease, border-color 0.12s ease;
}

.cmplz-cookiebanner .cmplz-btn:hover {
  transform: translateY(-1px);
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background: var(--esh-cmplz-primary) !important;
  border: 1px solid rgba(0, 102, 255, 0.35) !important;
  color: #fff !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
  background: var(--esh-cmplz-primary-hover) !important;
  box-shadow: 0 10px 20px rgba(0, 102, 255, 0.30) !important; /* like .btn-tech */
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: var(--esh-cmplz-text) !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: var(--esh-cmplz-text) !important;
}

/* Footer links in banner */
.cmplz-cookiebanner a.cmplz-link {
  color: var(--esh-cmplz-primary) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 12px;
}
.cmplz-cookiebanner a.cmplz-link:hover {
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* Floating "manage consent" button */
button.cmplz-manage-consent.cmplz-btn {
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  background: rgba(11, 15, 25, 0.78) !important;
  box-shadow: 0 18px 44px rgba(2, 6, 23, 0.30) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

button.cmplz-manage-consent.cmplz-btn:hover {
  transform: translateY(-1px);
}

/* Small screens: avoid covering content too much */
@media (max-width: 520px) {
  .cmplz-cookiebanner {
    width: calc(100vw - 24px) !important;
    max-width: 420px !important;
  }
}

