/**
 * Cookie / GDPR banner — native-theme styling.
 *
 * Defensive scoping covers the three plausible plugin candidates:
 *   - Borlabs Cookie         → .BorlabsCookie, ._brlbs-*
 *   - Complianz              → .cmplz-cookiebanner, .cmplz-*
 *   - Real Cookie Banner     → .rcb-container, .rcb-*
 *
 * Goal: banner looks native to the theme - paper surface, ink text,
 * Manrope heading, Source Sans body, 48px targets,
 * hairline border, keyboard-visible focus ring.
 */

/* ====================================================================
 * 1. Borlabs Cookie
 * ==================================================================== */

.BorlabsCookie ._brlbs-bar,
.BorlabsCookie ._brlbs-box,
.BorlabsCookie ._brlbs-box-wrap,
.BorlabsCookie #BorlabsCookieBox {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-paper-dim);
  border: 1px solid var(--color-hairline-strong);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
}

.BorlabsCookie ._brlbs-h1,
.BorlabsCookie ._brlbs-h2,
.BorlabsCookie ._brlbs-h3,
.BorlabsCookie ._brlbs-box h1,
.BorlabsCookie ._brlbs-box h2,
.BorlabsCookie ._brlbs-box h3 {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: 0.01em;
}

.BorlabsCookie ._brlbs-box p,
.BorlabsCookie ._brlbs-bar p {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-text);
  line-height: var(--leading-relaxed);
}

.BorlabsCookie a,
.BorlabsCookie ._brlbs-box a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.BorlabsCookie a:hover,
.BorlabsCookie ._brlbs-box a:hover {
  color: var(--color-brand-hover);
}

.BorlabsCookie ._brlbs-btn,
.BorlabsCookie ._brlbs-accept-all,
.BorlabsCookie ._brlbs-refuse,
.BorlabsCookie ._brlbs-btn-accept-all,
.BorlabsCookie ._brlbs-btn-accept,
.BorlabsCookie a._brlbs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-sm);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background var(--duration-base) var(--ease-out),
              color var(--duration-base) var(--ease-out),
              border-color var(--duration-base) var(--ease-out);
  border: 1px solid var(--color-ink);
  background: var(--color-ink);
  color: var(--color-paper);
  text-decoration: none;
}

.BorlabsCookie ._brlbs-btn:hover,
.BorlabsCookie ._brlbs-accept-all:hover,
.BorlabsCookie ._brlbs-btn-accept:hover {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: var(--color-paper);
}

.BorlabsCookie ._brlbs-refuse,
.BorlabsCookie ._brlbs-btn-refuse {
  background: transparent;
  color: var(--color-text);
  border-color: var(--color-hairline-strong);
}

.BorlabsCookie ._brlbs-refuse:hover,
.BorlabsCookie ._brlbs-btn-refuse:hover {
  background: var(--color-paper-dim);
  color: var(--color-text);
  border-color: var(--color-ink);
}

.BorlabsCookie ._brlbs-btn:focus-visible,
.BorlabsCookie ._brlbs-accept-all:focus-visible,
.BorlabsCookie ._brlbs-refuse:focus-visible,
.BorlabsCookie a:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
}

/* Checkboxes and toggles. */
.BorlabsCookie input[type="checkbox"] {
  accent-color: var(--color-brand);
}

/* ====================================================================
 * 2. Complianz
 * ==================================================================== */

.cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner,
.cmplz-manage-consent {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-paper-dim);
  border: 1px solid var(--color-hairline-strong);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
}

.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-header h1,
.cmplz-cookiebanner .cmplz-header h2 {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: 0.01em;
}

.cmplz-cookiebanner .cmplz-body,
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner p {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-text);
  line-height: var(--leading-relaxed);
}

.cmplz-cookiebanner a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cmplz-cookiebanner a:hover {
  color: var(--color-brand-hover);
}

.cmplz-cookiebanner button,
.cmplz-cookiebanner .cmplz-btn,
.cmplz-cookiebanner .cmplz-accept,
.cmplz-cookiebanner .cmplz-accept-all,
.cmplz-cookiebanner .cmplz-deny,
.cmplz-cookiebanner .cmplz-save-preferences,
.cmplz-cookiebanner .cmplz-manage-options,
.cmplz-cookiebanner .cmplz-view-preferences {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-sm);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background var(--duration-base) var(--ease-out),
              color var(--duration-base) var(--ease-out),
              border-color var(--duration-base) var(--ease-out);
  border: 1px solid var(--color-ink);
  background: var(--color-ink);
  color: var(--color-paper);
  text-decoration: none;
}

.cmplz-cookiebanner .cmplz-accept:hover,
.cmplz-cookiebanner .cmplz-accept-all:hover {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: var(--color-paper);
}

.cmplz-cookiebanner .cmplz-deny,
.cmplz-cookiebanner .cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-manage-options {
  background: transparent;
  color: var(--color-text);
  border-color: var(--color-hairline-strong);
}

.cmplz-cookiebanner .cmplz-deny:hover,
.cmplz-cookiebanner .cmplz-view-preferences:hover,
.cmplz-cookiebanner .cmplz-manage-options:hover {
  background: var(--color-paper-dim);
  color: var(--color-text);
  border-color: var(--color-ink);
}

.cmplz-cookiebanner button:focus-visible,
.cmplz-cookiebanner a:focus-visible,
.cmplz-cookiebanner .cmplz-btn:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
}

.cmplz-cookiebanner input[type="checkbox"] {
  accent-color: var(--color-brand);
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category,
.cmplz-cookiebanner .cmplz-categories details {
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-sm);
  background: var(--color-paper);
  margin-bottom: var(--space-2);
}

/* ====================================================================
 * 3. Real Cookie Banner
 * ==================================================================== */

.rcb-container,
.rcb-banner,
.real-cookie-banner,
[id^="rcb-banner"],
[class^="rcb-"] .rcb-content,
.rcb-block {
  font-family: var(--font-body);
  color: var(--color-text);
}

.rcb-banner,
.rcb-container .rcb-banner,
.rcb-block {
  background: var(--color-paper-dim);
  border: 1px solid var(--color-hairline-strong);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
}

.rcb-banner h1,
.rcb-banner h2,
.rcb-banner h3,
.rcb-block h1,
.rcb-block h2,
.rcb-block h3,
.rcb-container .rcb-header,
.rcb-container .rcb-title {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: 0.01em;
}

.rcb-banner p,
.rcb-block p,
.rcb-container .rcb-body,
.rcb-container .rcb-description {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-text);
  line-height: var(--leading-relaxed);
}

.rcb-banner a,
.rcb-block a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rcb-banner a:hover,
.rcb-block a:hover {
  color: var(--color-brand-hover);
}

.rcb-banner button,
.rcb-block button,
.rcb-container .rcb-btn,
.rcb-container .rcb-button,
.rcb-container .rcb-accept-all,
.rcb-container .rcb-accept,
.rcb-container .rcb-decline,
.rcb-container .rcb-save,
.rcb-container .rcb-settings {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-sm);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background var(--duration-base) var(--ease-out),
              color var(--duration-base) var(--ease-out),
              border-color var(--duration-base) var(--ease-out);
  border: 1px solid var(--color-ink);
  background: var(--color-ink);
  color: var(--color-paper);
  text-decoration: none;
}

.rcb-container .rcb-accept:hover,
.rcb-container .rcb-accept-all:hover {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: var(--color-paper);
}

.rcb-container .rcb-decline,
.rcb-container .rcb-settings {
  background: transparent;
  color: var(--color-text);
  border-color: var(--color-hairline-strong);
}

.rcb-container .rcb-decline:hover,
.rcb-container .rcb-settings:hover {
  background: var(--color-paper-dim);
  color: var(--color-text);
  border-color: var(--color-ink);
}

.rcb-banner button:focus-visible,
.rcb-block button:focus-visible,
.rcb-container button:focus-visible,
.rcb-container a:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
}

.rcb-banner input[type="checkbox"],
.rcb-container input[type="checkbox"] {
  accent-color: var(--color-brand);
}
