/*
Theme Name: DSB.KZ Bootstrap Theme
Theme URI: https://dsb.kz
Author: DSB.KZ Team
Description: Lightweight WordPress theme built with Bootstrap 5 assets from this repository.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.1
Text Domain: dsbkz
Domain Path: /languages
*/

/* ============================================================
   MATERIAL DESIGN — CSS-переменные
   ============================================================ */
:root {
  /* Цветовая палитра (Material Blue) */
  --md-primary:           #1565C0;
  --md-primary-dark:      #003c8f;
  --md-primary-light:     #1976D2;
  --md-on-primary:        #ffffff;

  /* Поверхности */
  --md-surface:           #ffffff;
  --md-surface-variant:   #f5f5f5;
  --md-on-surface:        #1c1b1f;
  --md-on-surface-medium: rgba(0, 0, 0, 0.6);
  --md-outline:           #e0e0e0;

  /* Тени (elevation) */
  --md-elev-1: 0 1px 2px rgba(0,0,0,.12), 0 1px 3px rgba(0,0,0,.15);
  --md-elev-2: 0 1px 2px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.16);
  --md-elev-4: 0 2px 4px -1px rgba(0,0,0,.2),
               0 4px 5px 0   rgba(0,0,0,.14),
               0 1px 10px 0  rgba(0,0,0,.12);
  --md-elev-8: 0 5px 5px -3px rgba(0,0,0,.2),
               0 8px 10px 1px rgba(0,0,0,.14),
               0 3px 14px 2px rgba(0,0,0,.12);

  /* Типографика */
  --md-type-label-large:  .875rem;    /* 14px — nav items */
  --md-type-title-large:  1.375rem;   /* 22px — site name */
  --md-letter-spacing-nav: .08929em;  /* uppercase label */
}

/* ============================================================
   MATERIAL DESIGN — SITE HEADER
   ============================================================ */
.site-header {
  background: transparent;
  border: none !important;
}

/* На desktop фиксируется только навбар, topbar уходит при скролле */
@media (min-width: 992px) {
  .md-navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
  }
}

/* ============================================================
   MATERIAL DESIGN — TOP APP BAR (topbar)
   ============================================================ */
.md-topbar {
  background: var(--md-surface);
  box-shadow: var(--md-elev-2);
  position: relative;
  z-index: 2;
}

.md-topbar__inner {
  display: flex;
  align-items: center;
  height: 80px;
  gap: 16px;
}

/* Логотип */
.md-topbar__brand-wrap {
  flex-shrink: 0;
}

.md-topbar__brand {
  display: inline-flex;
  height: 100%;
  align-items: center;
  text-decoration: none;
  line-height: 0;
}

.md-topbar__logo {
  max-height: 56px;
  width: auto;
  display: block;
  transform: translateY(-4px);
}

.md-topbar__logo-placeholder {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--md-primary);
}

/* Название + слоган */
.md-topbar__title-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.md-topbar__site-name {
  font-size: var(--md-type-title-large);
  font-weight: 700;
  color: var(--md-on-surface);
  letter-spacing: -.015em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.md-topbar__site-name:hover {
  color: var(--md-primary);
}

.md-topbar__site-desc {
  font-size: .75rem;
  color: var(--md-on-surface-medium);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Распорка */
.md-topbar__spacer {
  flex: 1;
}

/* Форма поиска */
.md-topbar__search .search-form {
  display: flex;
  align-items: center;
}

/* Обёртка input-group */
.md-topbar__search .input-group {
  flex-wrap: nowrap;
  border-radius: 20px;
  overflow: hidden;
  border: 1.5px solid var(--md-outline);
  transition: border-color .2s, box-shadow .2s;
  background: var(--md-surface-variant);
}

.md-topbar__search .input-group:focus-within {
  border-color: var(--md-primary);
  background: var(--md-surface);
  box-shadow: 0 0 0 3px rgba(21,101,192,.12);
}

/* Иконка лупы слева */
.md-topbar__search .input-group-text {
  background: transparent;
  border: none;
  color: var(--md-on-surface-medium);
  padding: 0 4px 0 14px;
  font-size: 1.125rem;
  line-height: 1;
}

/* Поле ввода */
.md-topbar__search .search-field {
  height: 40px;
  min-width: 200px;
  border: none;
  background: transparent;
  padding: 0 8px;
  font-size: .875rem;
  font-family: inherit;
  color: var(--md-on-surface);
  outline: none;
  box-shadow: none !important;
}

.md-topbar__search .search-field::placeholder {
  color: var(--md-on-surface-medium);
}

/* Кнопка «Найти» */
.md-topbar__search .search-submit {
  height: 40px;
  padding: 0 16px;
  background: var(--md-primary) !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--md-on-primary) !important;
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background .2s;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.md-topbar__search .search-submit:hover {
  background: var(--md-primary-dark) !important;
}

.md-topbar__search .search-submit:focus-visible {
  outline: 2px solid var(--md-primary);
  outline-offset: 2px;
}

.md-topbar__search .search-submit .mdi {
  font-size: 1.125rem;
  line-height: 1;
}

.md-topbar__menu-toggle {
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--md-on-surface);
  background: transparent;
  line-height: 1;
}

.md-topbar__menu-toggle .mdi {
  font-size: 1.5rem;
  line-height: 1;
}

.md-topbar__menu-toggle:focus,
.md-topbar__menu-toggle:hover {
  outline: none;
  box-shadow: none;
  background: rgba(0, 0, 0, .08);
}

/* ============================================================
   MATERIAL DESIGN — NAVBAR (Navigation bar)
   ============================================================ */
.md-navbar {
  background: var(--md-primary);
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
}

/* Убираем базовые Bootstrap-отступы */
.md-navbar .navbar {
  padding: 0;
  min-height: 0;
}

/* --- Nav items --- */
.md-navbar .navbar-nav {
  gap: 0;
}

.md-navbar .navbar-nav .nav-item {
  position: relative;
}

.md-navbar .navbar-nav .nav-link {
  color: rgba(255, 255, 255, .85) !important;
  font-size: var(--md-type-label-large);
  font-weight: 500;
  letter-spacing: var(--md-letter-spacing-nav);
  text-transform: uppercase;
  padding: 0 18px;
  height: 48px;
  display: flex;
  align-items: center;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: color .2s;
}

/* Активный индикатор (нижняя полоса) */
.md-navbar .navbar-nav .nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 18px;
  right: 18px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  transition: background .2s;
}

.md-navbar .navbar-nav .nav-link:hover,
.md-navbar .navbar-nav .nav-link:focus {
  color: #fff !important;
  background: rgba(255, 255, 255, .1);
}

/* Активный пункт */
.md-navbar .navbar-nav .nav-link.active,
.md-navbar .navbar-nav .nav-item.current-menu-item > .nav-link,
.md-navbar .navbar-nav .nav-item.current-menu-parent > .nav-link,
.md-navbar .navbar-nav .nav-item.current-menu-ancestor > .nav-link {
  color: #fff !important;
}

.md-navbar .navbar-nav .nav-link.active::after,
.md-navbar .navbar-nav .nav-item.current-menu-item > .nav-link::after,
.md-navbar .navbar-nav .nav-item.current-menu-parent > .nav-link::after,
.md-navbar .navbar-nav .nav-item.current-menu-ancestor > .nav-link::after {
  background: #fff;
}

/* --- Ripple --- */
.md-ripple-wave {
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
  animation: md-ripple .55s linear;
  background: rgba(255, 255, 255, .28);
  pointer-events: none;
}

@keyframes md-ripple {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* --- Hamburger toggler --- */
.md-navbar__toggler {
  border: none;
  border-radius: 50%;
  padding: 8px;
  color: var(--md-on-primary);
  background: transparent;
  line-height: 1;
  transition: background .2s;
  cursor: pointer;
}

.md-navbar__toggler:focus {
  outline: none;
  box-shadow: none;
  background: rgba(255, 255, 255, .15);
}

.md-navbar__toggler:hover {
  background: rgba(255, 255, 255, .12);
}

.md-navbar__toggler .mdi {
  font-size: 1.5rem;
  line-height: 1;
  display: block;
}

/* --- Dropdown --- */
.md-navbar .dropdown-menu {
  border: none;
  border-radius: 4px;
  box-shadow: var(--md-elev-8);
  padding: 8px 0;
  min-width: 200px;
  margin-top: 0;
  background: var(--md-surface);
}

.md-navbar .dropdown-item {
  font-size: .875rem;
  padding: 10px 16px;
  color: var(--md-on-surface);
  font-weight: 400;
  transition: background .15s, color .15s;
}

.md-navbar .dropdown-item:hover,
.md-navbar .dropdown-item:focus {
  background: rgba(21, 101, 192, .08);
  color: var(--md-primary);
}

.md-navbar .dropdown-item.active,
.md-navbar .dropdown-item:active {
  background: rgba(21, 101, 192, .14);
  color: var(--md-primary);
}

/* Стрелка дропдауна */
.md-navbar .nav-item.dropdown > .nav-link::before {
  font-family: "Material Design Icons", sans-serif;
  content: "\F0140";           /* mdi-chevron-down */
  margin-left: 4px;
  font-size: 1rem;
  vertical-align: middle;
  line-height: 1;
  transition: transform .2s;
}

.md-navbar .nav-item.dropdown.show > .nav-link::before {
  transform: rotate(180deg);
}

/* ============================================================
   MATERIAL DESIGN — ENTRY META PANEL
   ============================================================ */
.md-entry-meta {
  border-radius: 10px;
  background: #f4f5f7;
  box-shadow: none;
  border: none !important;
}

.md-entry-meta__body {
  padding: .55rem .8rem;
}

.md-entry-meta__layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.md-entry-meta__list {
  flex: 1;
  min-width: 0;
}

.md-entry-meta__share,
.md-entry-meta__tools {
  flex-wrap: nowrap !important;
}

@media (min-width: 992px) {
  .md-entry-meta__list {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    scrollbar-width: thin;
  }
}

.md-entry-meta__label {
  color: var(--md-on-surface-medium) !important;
  letter-spacing: .01em;
  font-size: .75rem;
}

.md-entry-meta__chip {
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  color: var(--md-on-surface) !important;
  padding: 0;
  font-weight: 500;
  font-size: .78rem;
  transition: color .2s;
}

.md-entry-meta__chip .mdi {
  font-size: 1rem;
  color: var(--md-primary);
}

a.md-entry-meta__chip:hover,
a.md-entry-meta__chip:focus-visible {
  background: transparent !important;
  color: var(--md-primary) !important;
  box-shadow: none;
}

.md-entry-meta__actions {
  border-top: none;
  padding-top: 0;
  margin-left: auto;
  flex-shrink: 0;
}

.md-entry-meta__action {
  border-radius: 999px !important;
  padding: .22rem .58rem;
  font-weight: 500;
  letter-spacing: .01em;
  font-size: .74rem;
  transition: all .2s;
}

.md-entry-meta__action-icon {
  width: 16px;
  height: 16px;
  display: block;
}

.md-entry-meta__action--share {
  width: 30px;
  height: 30px;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  color: #fff !important;
}

.md-entry-meta__action--share:hover,
.md-entry-meta__action--share:focus-visible {
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: var(--md-elev-2);
}

.md-entry-meta__action--share.is-telegram {
  background: #229ed9 !important;
}

.md-entry-meta__action--share.is-whatsapp {
  background: #25d366 !important;
}

.md-entry-meta__action--share.is-instagram {
  background: #e4405f !important;
}

.md-entry-meta__action--share.is-facebook {
  background: #1877f2 !important;
}

.md-entry-meta__action--share.is-vk {
  background: #0077ff !important;
}

.md-entry-meta__action--print {
  border: none !important;
  background: transparent !important;
  color: #2b2f36 !important;
  padding: .1rem .2rem;
  gap: .35rem !important;
}

.md-entry-meta__action--print:hover,
.md-entry-meta__action--print:focus-visible {
  background: transparent !important;
  color: var(--md-primary) !important;
  box-shadow: none;
}

/* ============================================================
   MATERIAL DESIGN — ENTRY TAGS PANEL
   ============================================================ */
.md-entry-tags {
  border-radius: 10px;
  background: #f4f5f7;
  box-shadow: none;
  border: none;
}

.md-entry-tags__inner {
  padding: .55rem .8rem;
}

.md-entry-tags__label {
  color: var(--md-on-surface-medium);
  font-size: .74rem;
  letter-spacing: .01em;
}

.md-entry-tags__label .mdi {
  color: var(--md-primary);
  font-size: 1.05rem;
}

.md-entry-tags__chip {
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  color: var(--md-on-surface) !important;
  font-weight: 500;
  padding: 0;
  font-size: .78rem;
  transition: color .2s;
}

.md-entry-tags__chip .mdi {
  color: var(--md-primary);
  font-size: .95rem;
}

.md-entry-tags__chip:hover,
.md-entry-tags__chip:focus-visible {
  background: transparent !important;
  color: var(--md-primary) !important;
  box-shadow: none;
}

/* ============================================================
   MATERIAL DESIGN — MOBILE (< 992px)
   ============================================================ */
@media (max-width: 991.98px) {
  .md-topbar__inner {
    height: 64px;
    gap: 10px;
  }

  .md-topbar__search,
  .md-topbar__spacer {
    display: none;
  }

  .md-topbar__logo {
    max-height: 40px;
    transform: translateY(-2px);
  }

  .md-topbar__title-wrap {
    flex: 1;
    min-width: 0;
  }

  .md-topbar__site-name {
    font-size: .9rem;
    line-height: 1.15;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }


  .md-topbar__site-desc {
    display: none;
  }

  .md-navbar {
    background: transparent;
    box-shadow: none;
  }

  /* Мобильное меню раскрывается вниз */
  .md-navbar .navbar-collapse {
    background: var(--md-primary-dark);
    margin: 0;
    padding: 8px 12px 12px;
    box-shadow: var(--md-elev-4);
  }

  .md-navbar .navbar-nav .nav-link {
    height: 44px;
    padding: 0 16px;
    border-radius: 4px;
    text-transform: none;
    letter-spacing: .01em;
    font-size: .9375rem;
  }

  /* Убираем нижний индикатор на мобильном */
  .md-navbar .navbar-nav .nav-link::after {
    display: none;
  }

  /* Активный пункт — подсветка фона */
  .md-navbar .navbar-nav .nav-link.active,
  .md-navbar .navbar-nav .nav-item.current-menu-item > .nav-link {
    background: rgba(255, 255, 255, .18);
    border-radius: 4px;
  }

  .md-navbar .dropdown-menu {
    border-radius: 4px;
    box-shadow: none;
    background: rgba(0, 0, 0, .15);
    padding: 4px 0 4px 12px;
    margin: 4px 0;
  }

  .md-navbar .dropdown-item {
    color: rgba(255, 255, 255, .85);
    font-size: .875rem;
    border-radius: 4px;
  }

  .md-navbar .dropdown-item:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
  }

  .md-entry-meta__body {
    padding: .5rem .65rem;
  }

  .md-entry-meta__layout {
    flex-direction: column;
    align-items: flex-start;
  }

  .md-entry-meta__list,
  .md-entry-meta__share {
    gap: .35rem !important;
  }

  .md-entry-meta__share,
  .md-entry-meta__tools {
    flex-wrap: wrap !important;
  }

  .md-entry-meta__chip,
  .md-entry-meta__action {
    font-size: .74rem;
  }

  .md-entry-meta__actions {
    margin-left: 0;
    width: 100%;
  }

  .md-entry-tags__inner {
    padding: .5rem .65rem;
  }

  .md-entry-tags__chip {
    font-size: .74rem;
  }
}

/* ============================================================
   MATERIAL DESIGN — COMMENTS
   ============================================================ */

/* Секция */
.md-comments {
  border-top: 1px solid var(--md-outline);
  padding-top: 2rem;
}

/* Заголовок */
.md-comments__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.md-comments__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--md-on-surface);
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
}

.md-comments__title svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: var(--md-primary);
}

/* Кнопка «Оставить комментарий» */
.md-comments__add-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem 1rem;
  border: none;
  border-radius: 999px;
  background: var(--md-primary);
  color: var(--md-on-primary);
  font-size: .8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s, box-shadow .2s;
  text-decoration: none;
}

.md-comments__add-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.md-comments__add-btn:hover {
  background: var(--md-primary-dark);
  box-shadow: var(--md-elev-2);
}

/* Комментарии закрыты */
.md-comments__closed {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  border-radius: 8px;
  background: var(--md-surface-variant);
  color: var(--md-on-surface-medium);
  font-size: .875rem;
}

.md-comments__closed svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Список */
.md-comments__list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

/* Вложенные (children) */
.md-comments__list .children {
  list-style: none;
  padding: 0;
  margin: .5rem 0 0 2.5rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  border-left: 2px solid var(--md-outline);
  padding-left: 1rem;
}

/* Карточка комментария */
.md-comment {
  background: var(--md-surface-variant);
  border-radius: 12px;
  padding: .85rem 1rem;
  transition: box-shadow .2s;
}

.md-comment:hover {
  box-shadow: var(--md-elev-1);
}

.md-comment--pingback {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  color: var(--md-on-surface-medium);
  background: var(--md-surface-variant);
  border-radius: 8px;
  padding: .6rem .9rem;
}

.md-comment--pingback svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.md-comment__inner {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
}

/* Аватар */
.md-comment__avatar {
  flex-shrink: 0;
}

.md-comment__avatar-img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50%;
  display: block;
}

/* Тело */
.md-comment__body {
  flex: 1;
  min-width: 0;
}

/* Мета-строка */
.md-comment__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .75rem;
  margin-bottom: .45rem;
}

.md-comment__author {
  font-weight: 600;
  font-size: .9rem;
  color: var(--md-on-surface);
}

.md-comment__date {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .75rem;
  color: var(--md-on-surface-medium);
  text-decoration: none;
}

.md-comment__date svg {
  width: 13px;
  height: 13px;
}

.md-comment__date:hover {
  color: var(--md-primary);
}

/* Чип «На проверке» */
.md-comment__pending {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .72rem;
  font-weight: 500;
  padding: .15rem .55rem;
  border-radius: 999px;
  background: #fff3cd;
  color: #856404;
}

.md-comment__pending svg {
  width: 12px;
  height: 12px;
}

/* Текст комментария */
.md-comment__text {
  font-size: .9rem;
  line-height: 1.6;
  color: var(--md-on-surface);
  margin-bottom: .5rem;
}

.md-comment__text p:last-child {
  margin-bottom: 0;
}

/* Кнопки действий */
.md-comment__actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.md-comment__action {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .25rem .65rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 500;
  cursor: pointer;
  border: 1.5px solid transparent;
  background: transparent;
  transition: background .15s, border-color .15s, color .15s;
  text-decoration: none;
}

.md-comment__action svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.md-comment__action--reply {
  color: var(--md-primary);
  border-color: rgba(21,101,192,.3);
}

.md-comment__action--reply:hover {
  background: rgba(21,101,192,.08);
  border-color: var(--md-primary);
}

.md-comment__action--edit {
  color: var(--md-on-surface-medium);
  border-color: rgba(0,0,0,.15);
}

.md-comment__action--edit:hover {
  background: rgba(0,0,0,.05);
  color: var(--md-on-surface);
  border-color: rgba(0,0,0,.25);
}

/* -------- Модальное окно -------- */
.md-comments__modal {
  border-radius: 16px;
  border: none;
  overflow: hidden;
}

.md-comments__modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.25rem .75rem;
  border-bottom: 1px solid var(--md-outline);
}

.md-comments__modal-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: .4rem;
  color: var(--md-on-surface);
}

.md-comments__modal-title svg {
  width: 20px;
  height: 20px;
  color: var(--md-primary);
  flex-shrink: 0;
}

.md-comments__modal-reply-ctx {
  display: flex;
  align-items: center;
  gap: .3rem;
  font-size: .8rem;
  color: var(--md-on-surface-medium);
  margin: .35rem 0 0;
}

.md-comments__modal-reply-ctx svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.md-comments__modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--md-on-surface-medium);
  cursor: pointer;
  flex-shrink: 0;
  transition: background .15s, color .15s;
}

.md-comments__modal-close svg {
  width: 18px;
  height: 18px;
}

.md-comments__modal-close:hover {
  background: rgba(0,0,0,.08);
  color: var(--md-on-surface);
}

/* Блок «Вы отвечаете» */
.md-comments__reply-box {
  background: rgba(21,101,192,.06);
  border-left: 3px solid var(--md-primary);
  border-radius: 0 8px 8px 0;
  padding: .6rem .85rem;
  margin-bottom: 1rem;
  font-size: .875rem;
}

.md-comments__reply-reset {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .2rem .6rem;
  border-radius: 999px;
  border: 1.5px solid rgba(0,0,0,.18);
  background: transparent;
  font-size: .75rem;
  cursor: pointer;
  transition: background .15s;
}

.md-comments__reply-reset svg {
  width: 14px;
  height: 14px;
}

.md-comments__reply-reset:hover {
  background: rgba(0,0,0,.06);
}

/* Кнопка отправки */
.md-comments__submit {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem 1.25rem;
  border: none;
  border-radius: 999px;
  background: var(--md-primary);
  color: var(--md-on-primary);
  font-size: .875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s, box-shadow .2s;
}

.md-comments__submit svg {
  width: 18px;
  height: 18px;
}

.md-comments__submit:hover {
  background: var(--md-primary-dark);
  box-shadow: var(--md-elev-2);
}

@media (max-width: 991.98px) {
  .md-comments__list .children {
    margin-left: 1rem;
    padding-left: .75rem;
  }

  .md-comment__avatar-img {
    width: 36px !important;
    height: 36px !important;
  }
}

/* ============================================================
   MATERIAL DESIGN — BACK TO TOP
   ============================================================ */
.md-back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 1040;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: var(--md-primary);
  color: var(--md-on-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: var(--md-elev-4);
  opacity: 0;
  transform: translateY(12px) scale(.85);
  transition: opacity .25s, transform .25s, background .2s, box-shadow .2s;
  pointer-events: none;
}

.md-back-to-top svg {
  width: 22px;
  height: 22px;
  display: block;
}

/* Видимое состояние — добавляется JS-ом */
.md-back-to-top.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.md-back-to-top:hover {
  background: var(--md-primary-dark);
  box-shadow: var(--md-elev-8);
}

.md-back-to-top:focus-visible {
  outline: 2px solid var(--md-primary);
  outline-offset: 3px;
}

@media (max-width: 991.98px) {
  .md-back-to-top {
    bottom: 1.25rem;
    right: 1.25rem;
    width: 40px;
    height: 40px;
  }

  .md-back-to-top svg {
    width: 20px;
    height: 20px;
  }
}

@media print {
  .md-back-to-top {
    display: none !important;
  }
}

/* ============================================================
   PRINT STYLES
   ============================================================ */
@media print {
  /* Сброс отступов — контент на всю ширину листа */
  *,
  *::before,
  *::after {
    box-shadow: none !important;
  }

  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt;
    line-height: 1.5;
  }

  /* Убираем sticky-шапку и футер */
  .site-header,
  .site-footer,
  .widget-area,
  .post-comments,
  .md-topbar,
  .md-navbar {
    display: none !important;
  }

  /* Убираем панель шаринга и кнопку печати */
  .entry-actions,
  .md-entry-meta__actions,
  .entry-tags,
  .md-entry-tags {
    display: none !important;
  }

  /* Мета-панель — только полезная информация */
  .entry-meta-panel.md-entry-meta {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: .5rem !important;
  }

  /* Убираем Bootstrap-контейнеры с ограничением ширины */
  .container,
  .container-fluid,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Основной контент — на всю ширину */
  .site-main,
  .row,
  [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 100% !important;
  }

  .site-main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Заголовки */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    color: #000 !important;
  }

  /* Картинки — не выходить за лист */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* Ссылки — показываем URL */
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #555;
    word-break: break-all;
  }

  /* Но не для иконок и навигации */
  .mdi::after,
  nav a::after,
  .entry-meta-panel a::after {
    content: "" !important;
  }

  /* Не разрывать абзацы */
  p, blockquote, figure {
    page-break-inside: avoid;
  }
}
