/* Keycloak Brand Colors */
:root {
  --kc-primary: #00b8e3;      /* Keycloak bright cyan */
  --kc-primary-dark: #008aaa;  /* Keycloak dark teal */
  --kc-primary-light: #33c6e9; /* Keycloak light cyan */
  --kc-accent: #00b8e3;
  --kc-gray: #4d4d4d;
}

/* Light mode custom primary color */
[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--kc-primary);
  --md-primary-fg-color--light: var(--kc-primary-light);
  --md-primary-fg-color--dark: var(--kc-primary-dark);
  --md-accent-fg-color: var(--kc-primary);
}

/* Dark mode custom primary color */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color: var(--kc-primary-dark);
  --md-primary-fg-color--light: var(--kc-primary);
  --md-primary-fg-color--dark: #006b85;
  --md-accent-fg-color: var(--kc-primary-light);
  --md-code-bg-color: #1e1e1e;
  --md-code-fg-color: var(--kc-primary-light);
}

/* Header styling - both modes */
.md-header {
  background: linear-gradient(135deg, var(--kc-primary-dark) 0%, var(--kc-primary) 100%);
}

/* Header text - white for readability */
.md-header__title,
.md-header__button,
.md-header__topic {
  color: white !important;
}

/* Dark mode header - darker gradient */
[data-md-color-scheme="slate"] .md-header {
  background: linear-gradient(135deg, #006b85 0%, var(--kc-primary-dark) 100%);
}

/* Links - Light mode */
[data-md-color-scheme="default"] a {
  color: var(--kc-primary-dark);
}

[data-md-color-scheme="default"] a:hover {
  color: var(--kc-primary);
}

/* Links - Dark mode with better contrast */
[data-md-color-scheme="slate"] a {
  color: var(--kc-primary-light);
}

[data-md-color-scheme="slate"] a:hover {
  color: #5dd8ff;
}

/* Code blocks with Keycloak accent */
.md-typeset code {
  border-left: 3px solid var(--kc-primary);
}

/* Dark mode code blocks */
[data-md-color-scheme="slate"] .md-typeset code {
  background-color: var(--md-code-bg-color);
  color: var(--md-code-fg-color);
}

/* Admonitions with Keycloak colors */
.md-typeset .admonition.note,
.md-typeset details.note {
  border-color: var(--kc-primary);
}

.md-typeset .note > .admonition-title,
.md-typeset .note > summary {
  background-color: rgba(0, 184, 227, 0.1);
  border-color: var(--kc-primary);
}

/* Dark mode admonitions */
[data-md-color-scheme="slate"] .md-typeset .note > .admonition-title,
[data-md-color-scheme="slate"] .md-typeset .note > summary {
  background-color: rgba(0, 184, 227, 0.15);
}

/* Info admonitions */
.md-typeset .admonition.info > .admonition-title:before,
.md-typeset details.info > summary:before {
  color: var(--kc-primary);
}

/* Navigation tabs with gradient */
.md-tabs {
  background: linear-gradient(90deg, var(--kc-primary-dark) 0%, var(--kc-primary) 100%);
}

/* Tab text - white for readability */
.md-tabs__link {
  color: rgba(255, 255, 255, 0.9) !important;
}

.md-tabs__link--active {
  color: white !important;
}

/* Dark mode navigation tabs */
[data-md-color-scheme="slate"] .md-tabs {
  background: linear-gradient(90deg, #006b85 0%, var(--kc-primary-dark) 100%);
}

/* Search highlighting */
.md-search__input:focus {
  border-color: var(--kc-primary);
}

[data-md-color-scheme="slate"] .md-search__input:focus {
  border-color: var(--kc-primary-light);
}

/* Tables */
.md-typeset table:not([class]) th {
  background-color: rgba(0, 184, 227, 0.1);
  border-bottom: 2px solid var(--kc-primary);
}

/* Dark mode tables */
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background-color: rgba(0, 184, 227, 0.2);
  border-bottom: 2px solid var(--kc-primary-light);
}

/* Buttons */
.md-button {
  border: 1px solid var(--kc-primary);
  color: var(--kc-primary);
}

.md-button:hover {
  background-color: var(--kc-primary);
  color: white;
}

.md-button--primary {
  background-color: var(--kc-primary);
  border-color: var(--kc-primary);
  color: white;
}

.md-button--primary:hover {
  background-color: var(--kc-primary-dark);
  border-color: var(--kc-primary-dark);
}

/* Dark mode buttons */
[data-md-color-scheme="slate"] .md-button {
  border: 1px solid var(--kc-primary-light);
  color: var(--kc-primary-light);
}

[data-md-color-scheme="slate"] .md-button--primary {
  background-color: var(--kc-primary-dark);
  border-color: var(--kc-primary-dark);
}

[data-md-color-scheme="slate"] .md-button--primary:hover {
  background-color: #006b85;
}

/* Task lists with Keycloak colors */
.md-typeset .task-list-indicator:before {
  background-color: var(--kc-primary);
}

/* Scrollbar (webkit browsers) */
::-webkit-scrollbar-thumb {
  background: var(--kc-primary);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--kc-primary-dark);
}

/* Dark mode scrollbar */
[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb {
  background: var(--kc-primary-dark);
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb:hover {
  background: var(--kc-primary);
}

/* Footer gradient */
.md-footer {
  background: linear-gradient(90deg, var(--kc-primary-dark) 0%, var(--kc-primary) 100%);
}

/* Dark mode footer */
[data-md-color-scheme="slate"] .md-footer {
  background: linear-gradient(90deg, #006b85 0%, var(--kc-primary-dark) 100%);
}

/* Version selector */
.md-version__current {
  color: var(--kc-primary);
}

[data-md-color-scheme="slate"] .md-version__current {
  color: var(--kc-primary-light);
}

/* Navigation highlighting */
.md-nav__link--active {
  color: var(--kc-primary);
}

.md-nav__link:hover {
  color: var(--kc-primary);
}

[data-md-color-scheme="slate"] .md-nav__link--active {
  color: var(--kc-primary-light);
}

[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: #5dd8ff;
}

/* Content headings with bottom border accent */
.md-typeset h1 {
  border-bottom: 3px solid var(--kc-primary);
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
}

.md-typeset h2 {
  border-bottom: 2px solid rgba(0, 184, 227, 0.3);
  padding-bottom: 0.3rem;
}

/* Dark mode headings */
[data-md-color-scheme="slate"] .md-typeset h1 {
  border-bottom: 3px solid var(--kc-primary-dark);
}

[data-md-color-scheme="slate"] .md-typeset h2 {
  border-bottom: 2px solid rgba(0, 184, 227, 0.4);
}

/* Hero section styling (for homepage) */
.md-typeset .hero {
  padding: 2rem 0;
  text-align: center;
  background: linear-gradient(135deg, rgba(0, 184, 227, 0.1) 0%, rgba(0, 138, 170, 0.1) 100%);
  border-radius: 8px;
  margin: 2rem 0;
}

/* Dark mode hero */
[data-md-color-scheme="slate"] .md-typeset .hero {
  background: linear-gradient(135deg, rgba(0, 184, 227, 0.15) 0%, rgba(0, 138, 170, 0.15) 100%);
}

/* Warning/Important boxes */
.md-typeset .admonition.warning,
.md-typeset details.warning {
  border-color: #ff9800;
}

.md-typeset .admonition.danger,
.md-typeset details.danger {
  border-color: #f44336;
}

/* Success/Tip boxes */
.md-typeset .admonition.tip,
.md-typeset .admonition.success,
.md-typeset details.tip,
.md-typeset details.success {
  border-color: #4caf50;
}

/* Code copy button */
.md-clipboard {
  color: var(--kc-primary);
}

.md-clipboard:hover {
  color: var(--kc-primary-dark);
}

[data-md-color-scheme="slate"] .md-clipboard {
  color: var(--kc-primary-light);
}

[data-md-color-scheme="slate"] .md-clipboard:hover {
  color: #5dd8ff;
}

/* Dark mode syntax highlighting improvements */
[data-md-color-scheme="slate"] .highlight .hll { background-color: #404040; }
[data-md-color-scheme="slate"] .highlight .c { color: #7c7c7c; }
[data-md-color-scheme="slate"] .highlight .k { color: var(--kc-primary-light); }
[data-md-color-scheme="slate"] .highlight .s { color: #a6e22e; }
[data-md-color-scheme="slate"] .highlight .n { color: #f8f8f2; }
[data-md-color-scheme="slate"] .highlight .mi { color: #ae81ff; }

/* Toggle button visibility improvement */
.md-header__button.md-icon {
  color: white;
}

[data-md-color-scheme="slate"] .md-header__button.md-icon {
  color: var(--kc-primary-light);
}
