/* Custom styling for U.WIKI - Black & Gold Theme */

/* CSS Custom Properties for Black & Gold Theme */
:root {
  /* Primary Colors */
  --uwiki-black: #000000;
  --uwiki-gold: #cc9933;
  --uwiki-gold-dark: #b8860b;
  --uwiki-gold-light: #ffd700;
  
  /* Neutral Colors */
  --uwiki-white: #ffffff;
  --uwiki-off-white: #fafafa;
  --uwiki-light-grey: #f5f5f5;
  --uwiki-medium-grey: #9e9e9e;
  --uwiki-dark-grey: #424242;
  --uwiki-charcoal: #333333;
}

/* Dark mode color adjustments */
[data-md-color-scheme="slate"] {
  --uwiki-primary-bg: var(--uwiki-charcoal);
  --uwiki-secondary-bg: var(--uwiki-dark-grey);
  --uwiki-text-primary: var(--uwiki-off-white);
  --uwiki-text-secondary: var(--uwiki-light-grey);
}

/* Light mode color adjustments */
[data-md-color-scheme="default"] {
  --uwiki-primary-bg: var(--uwiki-white);
  --uwiki-secondary-bg: var(--uwiki-off-white);
  --uwiki-text-primary: var(--uwiki-black);
  --uwiki-text-secondary: var(--uwiki-dark-grey);
}

/* Header customization */
.md-header {
  color: var(--uwiki-white); /* Default dark mode */
}

/* Light mode header - white background with dark text */
[data-md-color-scheme="default"] .md-header {
  background-color: var(--uwiki-white);
  color: var(--uwiki-black);
  border-bottom: 1px solid var(--uwiki-light-grey);
}

/* Dark mode header - black background with white text */
[data-md-color-scheme="slate"] .md-header {
  background-color: var(--uwiki-black);
  color: var(--uwiki-white);
}

/* Header title styling */
.md-header__title {
  color: inherit;
}

/* Light mode header buttons and icons */
[data-md-color-scheme="default"] .md-header__button {
  color: var(--uwiki-black);
}

[data-md-color-scheme="default"] .md-header__button:hover {
  background-color: var(--uwiki-light-grey);
}

/* Dark mode header buttons and icons */
[data-md-color-scheme="slate"] .md-header__button {
  color: var(--uwiki-white);
}

[data-md-color-scheme="slate"] .md-header__button:hover {
  background-color: var(--uwiki-dark-grey);
}

/* Light mode search styling */
[data-md-color-scheme="default"] .md-search__input {
  background-color: var(--uwiki-light-grey);
  color: var(--uwiki-black);
}

[data-md-color-scheme="default"] .md-search__input::placeholder {
  color: var(--uwiki-medium-grey);
}

/* Light mode repository source styling */
[data-md-color-scheme="default"] .md-source {
  color: var(--uwiki-black);
}

[data-md-color-scheme="default"] .md-source:hover {
  background-color: var(--uwiki-light-grey);
}

/* Light mode palette (theme toggle) styling */
[data-md-color-scheme="default"] .md-header__option[data-md-component="palette"] label {
  color: var(--uwiki-black);
}

[data-md-color-scheme="default"] .md-header__option[data-md-component="palette"] label:hover {
  background-color: var(--uwiki-light-grey);
}

/* Navigation customization */
.md-tabs {
  background-color: var(--uwiki-black);
}

.md-tabs__link {
  color: var(--uwiki-white);
}

.md-tabs__link--active,
.md-tabs__link:hover {
  color: var(--uwiki-gold);
  border-bottom-color: var(--uwiki-gold);
}

/* Sidebar navigation */
.md-nav__title {
  color: var(--uwiki-text-primary);
}

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

.md-nav__link--active,
.md-nav__link:hover {
  color: var(--uwiki-gold);
}

/* Active navigation items - ensure gold color for all active elements */
.md-nav__link--active .md-ellipsis,
.md-nav__link--active span {
  color: var(--uwiki-gold) !important;
}

/* Hover state for navigation items */
.md-nav__link:hover .md-ellipsis,
.md-nav__link:hover span {
  color: var(--uwiki-gold) !important;
}

/* Mobile menu/sidebar styling */
.md-sidebar--primary {
  background-color: var(--uwiki-primary-bg);
}

/* Light mode menu header */
[data-md-color-scheme="default"] .md-nav--primary .md-nav__title {
  background-color: var(--uwiki-white);
  color: var(--uwiki-black);
  border-bottom: 1px solid var(--uwiki-light-grey);
}

[data-md-color-scheme="default"] .md-nav--primary {
  background-color: var(--uwiki-white);
}

/* Light mode - Navigation drawer source (GitHub link) */
[data-md-color-scheme="default"] .md-nav--primary .md-source {
  background-color: var(--uwiki-white);
  color: var(--uwiki-black);
}

[data-md-color-scheme="default"] .md-nav--primary .md-source:hover {
  background-color: var(--uwiki-light-grey);
}

/* Dark mode menu header */
[data-md-color-scheme="slate"] .md-nav--primary .md-nav__title {
  background-color: var(--uwiki-black);
  color: var(--uwiki-white);
}

[data-md-color-scheme="slate"] .md-nav--primary {
  background-color: var(--uwiki-charcoal);
}

/* Menu behavior fixes */
/* Prevent menu from closing when clicking on expandable sections */
.md-nav__toggle:checked ~ .md-nav {
  display: block;
}

/* Keep nested navigation visible when parent is expanded */
.md-nav__item--nested .md-nav__toggle:checked ~ .md-nav {
  max-height: none;
  overflow: visible;
}

/* Improve menu item interaction */
.md-nav__link {
  position: relative;
}

/* Prevent accidental menu closure on mobile */
@media screen and (max-width: 76.1875em) {
  .md-nav__item--nested .md-nav__link {
    cursor: pointer;
  }
  
  /* Ensure expand/collapse works properly */
  .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav {
    display: block;
    opacity: 1;
  }
  
  /* Smooth transitions for menu expansion */
  .md-nav--secondary {
    transition: all 0.2s ease-in-out;
  }
}

/* Search box */
.md-search__input {
  background-color: var(--uwiki-secondary-bg);
  color: var(--uwiki-text-primary);
}

.md-search__input::placeholder {
  color: var(--uwiki-medium-grey);
}

/* Content area */
.md-content {
  background-color: var(--uwiki-primary-bg);
}

/* Links */
.md-content a {
  color: var(--uwiki-gold-dark);
}

.md-content a:hover {
  color: var(--uwiki-gold);
}

/* Buttons and interactive elements */
.md-button {
  background-color: var(--uwiki-gold);
  color: var(--uwiki-black);
  border-color: var(--uwiki-gold);
}

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

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

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

/* Footer */
.md-footer {
  background-color: var(--uwiki-black);
  color: var(--uwiki-white);
}

.md-footer__link {
  color: var(--uwiki-gold);
}

.md-footer__link:hover {
  color: var(--uwiki-gold-light);
}

/* Code blocks */
.md-typeset code {
  background-color: var(--uwiki-light-grey);
  color: var(--uwiki-text-primary);
}

[data-md-color-scheme="slate"] .md-typeset code {
  background-color: var(--uwiki-dark-grey);
  color: var(--uwiki-off-white);
}

/* Admonitions */
.md-typeset .admonition {
  border-left-color: var(--uwiki-gold);
}

.md-typeset .admonition > .admonition-title {
  background-color: var(--uwiki-gold);
  color: var(--uwiki-black);
}

/* Header element reordering - move menu button to far right */
.md-header__inner {
  display: flex;
  align-items: center;
}

/* Menu button (hamburger) at far right */
.md-header__button.md-icon[for="__drawer"] {
  order: 10;
  margin-left: auto;
}

/* Theme toggle second from right */
.md-header__option[data-md-component="palette"] {
  order: 9;
}

/* Repository link third from right */
.md-header__source {
  order: 8;
}

/* Search button fourth from right */
.md-search {
  order: 7;
}

/* Logo stays on the left (default order: 0) */
.md-header__button.md-logo {
  order: 1;
}

/* Logo switching between light and dark modes */
.md-header__button.md-logo img {
  content: url("../../../assets/images/logo.png");
  height: 32px;
  width: auto;
}

/* Dark mode logo - header */
[data-md-color-scheme="slate"] .md-header__button.md-logo img {
  content: url("../../../assets/images/logo_dark.png");
}

/* Dark mode logo - sidebar/menu navigation */
[data-md-color-scheme="slate"] .md-nav__button.md-logo img {
  content: url("../../../assets/images/logo_dark.png");
}

/* Light mode logo - sidebar/menu navigation */
[data-md-color-scheme="default"] .md-nav__button.md-logo img {
  content: url("../../../assets/images/logo.png");
}

/* Favicon override */
link[rel="icon"] {
  href: url("../../../assets/images/favicon.png");
}

/* Ensure logo is properly sized and aligned */
.md-header__button.md-logo {
  display: flex;
  align-items: center;
  padding: 0.2rem;
}

/* Custom styling for better logo appearance */
.md-header__button.md-logo img {
  max-height: 32px;
  max-width: 150px;
  object-fit: contain;
}

/* Hide site title text to show only logo */
.md-header__title {
  display: none;
}

/* Ensure logo is visible and properly positioned */
.md-header__button.md-logo {
  display: flex !important;
  visibility: visible !important;
}

/* Responsive logo sizing */
@media screen and (max-width: 76.1875em) {
  .md-header__button.md-logo img {
    max-height: 28px;
    max-width: 120px;
  }
}

@media screen and (max-width: 44.9375em) {
  .md-header__button.md-logo img {
    max-height: 24px;
    max-width: 100px;
  }
}

/* Reduce padding underneath logo in navigation drawer */
.md-nav__title .md-nav__button.md-logo {
  padding-bottom: 0.4rem; /* Reduced from default to match top padding */
}

/* Ensure consistent padding for navigation title */
.md-nav__title[for="__drawer"] {
  padding-bottom: 0.5rem; /* Reduced to match top padding */
}

/* Dark mode text styling for description/tagline */
[data-md-color-scheme="slate"] strong[style*="color: var(--md-primary-fg-color)"] {
  color: var(--uwiki-white) !important;
}

/* Light mode - Force navigation drawer title to white background on mobile */
@media screen and (max-width: 76.2344em) {
  [data-md-color-scheme="default"] .md-nav--primary .md-nav__title[for="__drawer"] {
    background-color: var(--uwiki-white) !important;
  }
}