/* vsemogorodnikam.ru — UX-улучшения (progress bar, audio btn, print) */

/* ─── Reading progress bar ─────────────────────────────────────── */
#reading-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0;
  background: var(--green-mid, #4a8c4a);
  z-index: 9999;
  transition: width .1s linear;
  pointer-events: none;
}

/* ─── TTS button ───────────────────────────────────────────────── */
.tts-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--green-pale, #e8f5e0);
  color: var(--green-deep, #1a3a1a);
  border: 1px solid var(--green-mid, #4a8c4a);
  border-radius: 999px;
  padding: .35rem .9rem;
  margin: .5rem 0 1rem;
  font: inherit;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s, transform .1s;
}
.tts-btn:hover { background: var(--green-light, #c8ddb5); }
.tts-btn:active { transform: scale(.97); }
.tts-btn.is-speaking { background: var(--green-mid, #4a8c4a); color: #fff; }
.tts-btn .tts-icon { font-size: .9em; }

/* ─── Print-friendly ───────────────────────────────────────────── */
@media print {
  .site-header, .site-footer, .sidebar, aside, .related, .share,
  .ad, .advert, .seasonal-strip, .mobile-nav, .breadcrumbs, .pagination,
  #reading-progress, .tts-btn, .menu-toggle, .search-toggle, .search-form,
  .post-card, .header-cats { display: none !important; }

  body { background: #fff !important; color: #000 !important; font-size: 12pt; }
  article, main, .article-content, .post-content {
    max-width: 100% !important; margin: 0 !important; padding: 0 !important;
    background: #fff !important; box-shadow: none !important;
  }
  h1, h2, h3 { color: #000 !important; page-break-after: avoid; }
  a { color: #000 !important; text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 80%; color: #555; }
  img { max-width: 100% !important; page-break-inside: avoid; }
  p, li { orphans: 3; widows: 3; }
}
