/*
  Deep Dark Crimson Blood Red Theme
  HomeLab Wiki - wiki.ajandrews.pro
  Features glowing white text effects
*/

:root {
  /* Crimson color palette */
  --crimson-dark: #1a0a0a;
  --crimson-deeper: #0d0505;
  --crimson-blood: #8b0000;
  --crimson-accent: #dc143c;
  --crimson-glow: #ff1a1a;
  --crimson-surface: #2a1010;
  --crimson-border: rgba(139, 0, 0, 0.4);

  /* Glowing white text colors */
  --text-primary: #f5f5f5;
  --text-secondary: #d0d0d0;
  --text-glow: 0 0 10px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.3);
  --text-glow-strong: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px rgba(220, 20, 60, 0.5), 0 0 20px rgba(220, 20, 60, 0.3);

  /* Material theme overrides */
  --md-primary-fg-color: var(--crimson-blood);
  --md-primary-fg-color--light: var(--crimson-accent);
  --md-primary-fg-color--dark: #5a0000;
  --md-accent-fg-color: var(--crimson-accent);
}

/* Dark theme customizations */
[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--crimson-deeper);
  --md-default-fg-color: var(--text-primary);
  --md-code-bg-color: var(--crimson-surface);
  --md-code-fg-color: var(--text-primary);
  --md-typeset-color: var(--text-primary);
}

/* Body and main content background */
body,
.md-main,
.md-container {
  background: linear-gradient(180deg, var(--crimson-deeper) 0%, var(--crimson-dark) 100%);
}

.md-content {
  background: transparent;
}

/* Glowing white heading text */
.md-typeset h1 {
  color: var(--text-primary);
  text-shadow: var(--text-glow-strong);
  font-weight: 700;
  letter-spacing: 1px;
}

.md-typeset h2 {
  color: var(--text-primary);
  text-shadow: var(--text-glow);
  border-bottom: 2px solid var(--crimson-border);
  padding-bottom: 0.5rem;
  font-weight: 600;
}

.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
  color: var(--text-primary);
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
}

/* Body text with subtle glow */
.md-typeset p,
.md-typeset li,
.md-typeset td,
.md-typeset th {
  color: var(--text-secondary);
  text-shadow: 0 0 2px rgba(255, 255, 255, 0.1);
}

/* Links with crimson glow */
.md-typeset a {
  color: var(--crimson-accent);
  text-decoration: none;
  transition: all 0.3s ease;
}

.md-typeset a:hover {
  color: var(--crimson-glow);
  text-shadow: 0 0 10px var(--crimson-glow), 0 0 20px rgba(220, 20, 60, 0.5);
  text-decoration: none;
}

/* Navigation styling */
.md-nav__link {
  color: var(--text-secondary) !important;
}

.md-nav__link:hover {
  color: var(--crimson-accent) !important;
}

.md-nav__link--active {
  color: var(--crimson-accent) !important;
  font-weight: 600;
  text-shadow: 0 0 8px var(--crimson-glow);
}

/* Header with dark crimson gradient */
.md-header {
  background: linear-gradient(135deg, var(--crimson-deeper) 0%, var(--crimson-dark) 50%, #1f0a0a 100%);
  border-bottom: 1px solid var(--crimson-border);
  box-shadow: 0 2px 15px rgba(139, 0, 0, 0.3);
}

.md-header__title {
  color: var(--text-primary);
  text-shadow: var(--text-glow);
}

/* Tabs styling */
.md-tabs {
  background: linear-gradient(135deg, var(--crimson-deeper), var(--crimson-dark));
  border-bottom: 1px solid var(--crimson-border);
}

.md-tabs__link {
  color: var(--text-secondary);
}

.md-tabs__link--active,
.md-tabs__link:hover {
  color: var(--text-primary);
  text-shadow: var(--text-glow);
}

/* Search bar */
.md-search__input {
  background-color: var(--crimson-surface);
  border: 1px solid var(--crimson-border);
  color: var(--text-primary);
}

.md-search__input::placeholder {
  color: var(--text-secondary);
}

.md-search__input:focus {
  border-color: var(--crimson-accent);
  box-shadow: 0 0 15px rgba(220, 20, 60, 0.3);
}

/* Code blocks with crimson accents */
.md-typeset code {
  background-color: var(--crimson-surface);
  color: var(--crimson-accent);
  border-radius: 4px;
  padding: 0.1rem 0.4rem;
}

.md-typeset pre {
  background-color: var(--crimson-surface);
  border: 1px solid var(--crimson-border);
  border-radius: 8px;
  box-shadow: 0 0 15px rgba(139, 0, 0, 0.2);
}

.md-typeset pre code {
  background-color: transparent;
  color: var(--text-primary);
}

/* Tables with dark crimson styling */
.md-typeset table:not([class]) {
  border: 1px solid var(--crimson-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--crimson-surface);
}

.md-typeset table:not([class]) th {
  background: linear-gradient(135deg, var(--crimson-surface), var(--crimson-dark));
  color: var(--text-primary);
  text-shadow: var(--text-glow);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.85em;
  letter-spacing: 0.5px;
}

.md-typeset table:not([class]) td {
  border-color: var(--crimson-border);
}

.md-typeset table:not([class]) tr:hover {
  background: rgba(139, 0, 0, 0.15);
}

/* Admonitions with crimson styling */
.md-typeset .admonition {
  border-left: 4px solid var(--crimson-accent);
  background: var(--crimson-surface);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.md-typeset .admonition-title {
  background: rgba(139, 0, 0, 0.2);
  color: var(--text-primary);
  text-shadow: var(--text-glow);
}

/* Sidebar styling */
.md-sidebar {
  background: transparent;
}

.md-sidebar--secondary {
  border-left: 1px solid var(--crimson-border);
}

.md-nav--secondary .md-nav__link--active {
  border-left: 3px solid var(--crimson-accent);
  padding-left: 0.6rem;
}

/* Footer */
.md-footer {
  background: linear-gradient(135deg, var(--crimson-deeper), var(--crimson-dark));
  border-top: 1px solid var(--crimson-border);
}

.md-footer-meta {
  background: transparent;
}

/* Back to top button */
.md-top {
  background: var(--crimson-blood);
  color: var(--text-primary);
  box-shadow: 0 0 15px rgba(139, 0, 0, 0.5);
}

.md-top:hover {
  background: var(--crimson-accent);
  box-shadow: 0 0 25px var(--crimson-glow);
}

/* Mermaid diagram styling */
.mermaid {
  background: transparent;
}

.mermaid .node rect,
.mermaid .node circle,
.mermaid .node polygon {
  fill: var(--crimson-surface) !important;
  stroke: var(--crimson-accent) !important;
  stroke-width: 2px !important;
}

.mermaid .edgeLabel {
  background: var(--crimson-surface) !important;
  color: var(--text-primary) !important;
}

.mermaid .label {
  color: var(--text-primary) !important;
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--crimson-deeper);
}

::-webkit-scrollbar-thumb {
  background: var(--crimson-surface);
  border-radius: 5px;
  border: 2px solid var(--crimson-deeper);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--crimson-blood);
}

/* Content animations */
@keyframes glowPulse {
  0%, 100% {
    text-shadow: var(--text-glow);
  }
  50% {
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.7), 0 0 30px rgba(255, 255, 255, 0.4);
  }
}

.md-content__inner h1 {
  animation: glowPulse 3s ease-in-out infinite;
}

/* Buttons */
.md-button {
  background: linear-gradient(135deg, var(--crimson-blood), var(--crimson-accent));
  color: var(--text-primary);
  border-radius: 6px;
  font-weight: 600;
  border: none;
  box-shadow: 0 0 10px rgba(139, 0, 0, 0.4);
  transition: all 0.3s ease;
}

.md-button:hover {
  box-shadow: 0 0 20px var(--crimson-glow);
  transform: translateY(-2px);
}

/* Selection highlight */
::selection {
  background: var(--crimson-blood);
  color: var(--text-primary);
}

::-moz-selection {
  background: var(--crimson-blood);
  color: var(--text-primary);
}

/* Responsive adjustments */
@media screen and (max-width: 76.1875em) {
  .md-nav__source {
    background: var(--crimson-surface);
    border-bottom: 1px solid var(--crimson-border);
  }
}

/* Print styles - clean output */
@media print {
  .md-header,
  .md-footer,
  .md-sidebar,
  .md-top {
    display: none;
  }

  body {
    background: white;
    color: black;
  }

  .md-typeset h1,
  .md-typeset h2,
  .md-typeset h3 {
    color: black;
    text-shadow: none;
  }
}
