/**
 * ELMS branding overrides for Real Cookie Banner (center dialog, B2B).
 * Safe selectors only — must not hide or break banner mount.
 */
#real-cookie-banner,
#real-cookie-banner-component {
  font-family: var(--font-body, "Manrope", system-ui, sans-serif);
  -webkit-font-smoothing: antialiased;
  z-index: 2147483000 !important;
}

/*
 * Corner spikes: native scrollbar arrow buttons sit in rounded corners and
 * expose the dark overlay (top-right / bottom-right while scrolling).
 */
#real-cookie-banner-component [data-testid="banner"],
#real-cookie-banner-component [role="dialog"] {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  border: none !important;
  background-color: #ffffff !important;
  background-clip: padding-box !important;
  isolation: isolate !important;
  transform: none !important;
  will-change: auto !important;
  box-shadow: 0 16px 40px rgba(28, 27, 27, 0.12) !important;
  clip-path: inset(0 round 12px) !important;
  -webkit-clip-path: inset(0 round 12px) !important;
}

#real-cookie-banner-component [data-testid="banner"] > *,
#real-cookie-banner-component [role="dialog"] > * {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

#real-cookie-banner-component,
#real-cookie-banner-component * {
  scrollbar-width: thin;
  scrollbar-color: rgba(28, 27, 27, 0.28) transparent;
}

#real-cookie-banner-component ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

#real-cookie-banner-component ::-webkit-scrollbar-button,
#real-cookie-banner-component ::-webkit-scrollbar-button:single-button,
#real-cookie-banner-component ::-webkit-scrollbar-button:vertical:start:decrement,
#real-cookie-banner-component ::-webkit-scrollbar-button:vertical:end:increment {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

#real-cookie-banner-component ::-webkit-scrollbar-track {
  background: transparent !important;
  margin-block: 14px !important;
}

#real-cookie-banner-component ::-webkit-scrollbar-thumb {
  background: rgba(28, 27, 27, 0.22) !important;
  border-radius: 999px !important;
  border: 2px solid #ffffff !important;
}

#real-cookie-banner-component ::-webkit-scrollbar-corner {
  background: #ffffff !important;
}

#real-cookie-banner-component [data-testid="banner"]::after,
#real-cookie-banner-component [role="dialog"]::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(29, 150, 189, 0.14);
  pointer-events: none;
  z-index: 3;
}

#real-cookie-banner-component h2,
#real-cookie-banner-component [class*="headline"] {
  font-family: var(--font-heading, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  letter-spacing: -0.01em;
}

#real-cookie-banner-component p,
#real-cookie-banner-component li,
#real-cookie-banner-component label {
  line-height: 1.55 !important;
}

#real-cookie-banner-component button {
  border-radius: var(--radius-sm, 0.5rem) !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  min-height: 2.75rem;
}

#real-cookie-banner-component button:focus-visible,
#real-cookie-banner-component a:focus-visible {
  outline: 2px solid var(--color-primary, #1d96bd) !important;
  outline-offset: 2px !important;
}

@media (max-width: 767.98px) {
  #real-cookie-banner-component [data-testid="banner"],
  #real-cookie-banner-component [role="dialog"] {
    margin: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right))
      max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)) !important;
    max-height: calc(100dvh - 2rem) !important;
  }

  #real-cookie-banner-component button {
    width: 100%;
    max-width: none !important;
  }
}

#real-cookie-banner-component footer [class*="powered"],
#real-cookie-banner-component [class*="powered-by"] {
  display: none !important;
}
