/* Telegram-style theme for MkDocs (base: built-in mkdocs + Bootstrap 5)
   Focus: color palette, typography, subtle UI polish
*/

/* Typography: Inter for a modern, clean look */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  /* Telegram brand blue */
  --tg-primary: #2AABEE;
  --tg-primary-rgb: 42, 171, 238;
  --tg-primary-hover: #229FD6;
  --tg-accent: #27A7E6;
  --tg-success: #4CD964;
  --tg-warning: #FFCC00;
  --tg-danger: #FF3B30;

  /* Light background palette */
  --tg-body-bg: #f5f7fa;
  --tg-surface: #ffffff;
  --tg-surface-subtle: #f0f3f6;
  --tg-border: #e3e8ee;
  --tg-text: #1f2328;
  --tg-text-secondary: #57606a;

  /* Map to Bootstrap variables so core components pick up colors */
  --bs-primary: var(--tg-primary);
  --bs-primary-rgb: var(--tg-primary-rgb);
  --bs-link-color: var(--tg-primary);
  --bs-link-hover-color: var(--tg-primary-hover);
  --bs-body-bg: var(--tg-body-bg);
  --bs-body-color: var(--tg-text);
  --bs-border-color: var(--tg-border);
  --bs-secondary-bg: var(--tg-surface-subtle);
  --bs-secondary-bg-subtle: var(--tg-surface-subtle);
}

/* Base page styling */
html, body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body::before {
  /* soften grid background */
  background: none;
  background-color: var(--tg-body-bg);
}

/* Navbar: Telegram blue, clean contrast */
.navbar.bg-primary {
  background-color: var(--tg-primary) !important;
}

.navbar-dark .navbar-brand,
.navbar-dark .nav-link {
  color: #fff !important;
}

/* Brand logo before text */
.navbar .navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.navbar .navbar-brand::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url('../img/logo.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Make the logo silhouette white on dark (blue) headers for better fit */
.navbar.navbar-dark .navbar-brand::before {
  filter: grayscale(1) brightness(0) invert(1);
  opacity: 0.95;
}

.navbar-dark .nav-link:hover,
.navbar-dark .dropdown-item:hover {
  color: rgba(255,255,255,0.9) !important;
}

/* Dropdown menu within navbar: ensure contrast so items are visible */
.navbar .dropdown-menu {
  background-color: var(--tg-primary-hover);
  border: none;
  border-radius: 12px;
  padding: 8px;
}
.navbar .dropdown-item {
  color: #fff !important;
  border-radius: 8px;
}
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  background-color: rgba(255,255,255,0.12);
  color: #fff !important;
}

/* Large menus: make long lists usable */
.navbar .dropdown-menu {
  max-height: 60vh;
  overflow-y: auto;
}

/* Desktop layout: keep a single column; rely on Bootstrap defaults */
@media (min-width: 992px) {
  .navbar .dropdown-menu.show {
    display: block; /* ensure standard single-column dropdown */
  }
}

/* Links */
a { color: var(--tg-primary); }
a:hover { color: var(--tg-primary-hover); text-decoration: none; }

/* Headings: bold for easy readability */
h1 { font-weight: 700; }
h2, h3, h4, h5, h6 { font-weight: 700; }

/* Navbar brand: bold text for prominence */
.navbar .navbar-brand { font-weight: 700; }

/* Cards and containers */
.card, .bg-body-tertiary, .bs-sidebar .card {
  background-color: var(--tg-surface);
  border-color: var(--tg-border);
  border-radius: 12px;
}

.container .row .col-md-9 {
  background-color: var(--tg-surface);
  border: 1px solid var(--tg-border);
  border-radius: 12px;
  padding: 20px;
}

/* Code blocks: subtle surface look */
pre, code {
  background-color: var(--tg-surface-subtle);
  border-color: var(--tg-border);
}

/* Admonitions: message bubble vibe */
.admonition {
  border: 1px solid var(--tg-border);
  border-left-width: 4px;
  border-radius: 12px;
  background-color: var(--tg-surface);
  padding: 12px 14px;
  margin: 16px 0;
}
.admonition .admonition-title {
  font-weight: 600;
  margin-bottom: 6px;
}
/* Variant accents */
.admonition.note { border-left-color: var(--tg-primary); }
.admonition.tip { border-left-color: var(--tg-success); }
.admonition.warning { border-left-color: var(--tg-warning); }
.admonition.danger { border-left-color: var(--tg-danger); }

/* Tables */
.table {
  border-color: var(--tg-border);
}
.table thead th {
  background-color: var(--tg-surface-subtle);
}

/* Images: cleaner background and radius */
.col-md-9 img {
  background-color: var(--tg-surface-subtle);
  border-color: var(--tg-border);
  border-radius: 8px;
}

/* Footer */
footer {
  color: var(--tg-text-secondary);
}
