/* Reader defaults */
.km-reader {
  --reader-font-size: 18px;
  --reader-line-height: 1.75;
  --km-progress-track: rgba(0, 0, 0, 0.08);
  --km-progress-fill: rgba(0, 0, 0, 0.45);
}

/* Opaque header background that matches theme */
.km-reader .km-header {
  background-color: var(--km-surface) !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.km-reader .header {
  min-height: auto;
}

.km-reader .km-reader-toolbar {
  flex-wrap: nowrap;
  gap: 0.5rem !important;
}

.km-reader .km-reader-controls {
  max-width: 100%;
  flex-wrap: nowrap;
}

.km-reader .km-reader-controls .btn-group {
  flex-wrap: nowrap;
}

.km-reader .km-page {
  background: var(--km-surface, #fff);
  max-width: 780px;   /* try 680–780 */
  margin-left: auto;
  margin-right: auto;
}

.km-reader .km-content {
  font-size: var(--reader-font-size);
  line-height: var(--reader-line-height);
}

.km-reader .km-content p { margin-bottom: 1.1em; }
.km-reader .km-content h2, .km-reader .km-content h3 { margin-top: 1.6em; }

/* Progress bar */
.km-progress {
  height: 4px;
  background: var(--km-progress-track);
}
.km-progress-bar {
  height: 4px;
  width: 0%;
  background: var(--km-progress-fill);
}

/* Themes */
.km-reader.theme-light { --km-bg: #ffffff; --km-surface: #ffffff; --km-text: #111; }
.km-reader.theme-sepia { --km-bg: #fbf4e6; --km-surface: #fffaf0; --km-text: #1b1b1b; }
.km-reader.theme-dark  {
  --km-bg: #0f1115;
  --km-surface: #161a22;
  --km-text: #e7e7e7;
  --km-progress-track: rgba(255, 255, 255, 0.22);
  --km-progress-fill: silver; /** #ffd48a **/
}

.km-reader.theme-light,
.km-reader.theme-sepia,
.km-reader.theme-dark {
  background: var(--km-bg);
  color: var(--km-text);
}

.km-reader.theme-dark .km-page { border: 1px solid rgba(255,255,255,0.06); }
.km-reader.theme-dark .border-bottom,
.km-reader.theme-dark .border-top { border-color: rgba(255,255,255,0.10) !important; }

/* Optional: prevent template from over-stylizing Bootstrap buttons */
.km-reader .btn {
  text-transform: none;
  letter-spacing: normal;
}

/* Dark mode: ensure footer text is readable */
.km-reader.theme-dark .km-page footer,
.km-reader.theme-dark .km-page footer * {
  color: rgba(255,255,255,0.72) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.72) !important;
  opacity: 1 !important;
}

.km-reader .km-pagecount { opacity: 0.85; }

.km-reader.theme-dark .km-pagecount {
  color: rgba(255,255,255,0.78) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.78) !important;
  opacity: 1 !important;
}

.km-reader.theme-dark .mobile-nav-toggle {
  color: rgba(255,255,255,0.9);
}

.km-reader.theme-dark .mobile-nav-toggle .bi {
  color: rgba(255,255,255,0.96);
}

.km-reader.theme-dark .km-progress-bar {
  box-shadow: 0 0 10px rgba(255, 212, 138, 0.45);
}

/* NAVIGATION */

.km-reader .navmenu {
  position: static;
  top: auto;
  bottom: auto;
  right: auto;
  width: auto;
  overflow: visible;
  background: transparent;
}

.km-reader .navmenu ul {
  display: none;
}

.km-reader .mobile-nav-toggle {
  position: static;
  top: auto;
  right: auto;
  font-size: 28px;
  flex-shrink: 0;
  margin-left: auto;
}

.km-reader.mobile-nav-active .mobile-nav-toggle {
  position: fixed;
  top: 20px;
  right: 310px;
  font-size: 36px;
  z-index: 998;
}

.km-reader.mobile-nav-active .navmenu {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: 300px;
  overflow: hidden;
  background-color: var(--nav-mobile-background-color);
}

.km-reader.mobile-nav-active .navmenu ul {
  display: block;
}

@media (max-width: 768px) {
  .km-reader .km-reader-toolbar {
    gap: 0.35rem !important;
  }

  .km-reader .km-reader-toolbar .btn,
  .km-reader .km-reader-toolbar .btn-group > .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.95rem;
  }

  .km-reader .mobile-nav-toggle {
    font-size: 24px;
  }
}

/****  RU/EN Switcher  ****/ 
.story-lang-switch {
  font-size: 0.95rem;
  line-height: 1.2;
}

.story-lang-switch a {
  text-decoration: none;
}

.story-lang-switch [aria-current="page"] {
  font-weight: 600;
  opacity: 0.75;
}
