@font-face{font-family:Montserrat;src:url('/media/fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/media/fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('/media/fonts/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('/media/fonts/Montserrat-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
html{scroll-behavior:smooth}
body{margin:0;background:#f6f8fb;color:#11172d;font-family:Montserrat,Arial,sans-serif}
.asclin-site-main{display:block;min-height:55vh}
.asclin-access-denied{width:min(760px,calc(100% - 48px));margin:72px auto 96px;text-align:center}
.asclin-access-denied h1{margin:0 0 16px;font-size:30px;line-height:1.2;color:#091321}
.asclin-access-denied p{margin:0 0 12px;color:#526175;font-size:15px;line-height:1.5}
.asclin-access-denied a{color:#2f76a8;font-weight:600}
/* Стандартная форма входа Битрикса на закрытых страницах */
.asclin-site-main form[name=form_auth]{width:min(420px,calc(100% - 48px));margin:56px auto 96px}
.asclin-site-main form[name=form_auth] input[type=text],.asclin-site-main form[name=form_auth] input[type=password]{width:100%;box-sizing:border-box;border:1px solid #cfd8e3;border-radius:6px;padding:11px 14px;font:inherit;margin:4px 0 12px}
.asclin-site-main form[name=form_auth] input[type=submit]{border:0;border-radius:999px;background:#11172d;color:#fff;padding:12px 28px;font:inherit;font-weight:600;cursor:pointer}

/* ===================== ЕДИНАЯ ШАПКА (по фрейму Homepage в Figma) ===================== */

.asclin-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  z-index: 30;
  color: #ffffff;
  font-family: "Montserrat", Arial, sans-serif;
}

.asclin-header *,
.asclin-footer * {
  box-sizing: border-box;
}

.asclin-header__logo {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  color: #ffffff !important;
  text-decoration: none;
}

.asclin-header__logo img {
  display: block;
  width: 204px;
  height: auto;
}

.asclin-header__nav {
  display: flex;
  align-items: center;
  gap: 26px;
}

.asclin-header__nav a {
  color: #ffffff !important;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.asclin-header__nav a:hover,
.asclin-header__nav a:focus-visible {
  color: #e07c26 !important;
}

.asclin-header__nav a.is-active {
  color: #e07c26 !important;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1.5px;
}

.asclin-header__nav a.asclin-header__login {
  color: #aeb9c6 !important;
  font-weight: 500;
}

.asclin-header__nav a.asclin-header__login:hover,
.asclin-header__nav a.asclin-header__login:focus-visible {
  color: #e07c26 !important;
}

.asclin-header__nav a.asclin-header__login.is-active {
  color: #e07c26 !important;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1.5px;
}

/* Профиль вошедшего пользователя: имя + выпадашка (ЛК / панель администратора / выйти) */
.asclin-header__user {
  position: relative;
}

.asclin-header__user-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  padding: 6px 0;
  color: #ffffff !important;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}

.asclin-header__user-btn:hover,
.asclin-header__user-btn:focus-visible,
.asclin-header__user-btn.is-open {
  color: #e07c26 !important;
}

.asclin-header__user-caret {
  transition: transform .2s ease;
}

.asclin-header__user-btn.is-open .asclin-header__user-caret {
  transform: rotate(180deg);
}

.asclin-header__user-menu {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  min-width: 236px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(9, 19, 33, .22);
  padding: 8px 0;
  display: none;
  z-index: 45;
}

.asclin-header__user-menu.is-open {
  display: block;
}

.asclin-header__user-menu a {
  display: block;
  padding: 12px 22px;
  color: #091321 !important;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.asclin-header__user-menu a:hover,
.asclin-header__user-menu a.is-current {
  background: #f5f8fc;
  color: #e07c26 !important;
}

/* Подчёркнут только пункт текущего раздела, hover — без подчёркивания */
.asclin-header__user-menu a.is-current {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1.5px;
}

.asclin-header__user-menu a.asclin-header__user-logout {
  margin-top: 6px;
  border-top: 1px solid #e8eef4;
  padding-top: 14px;
  color: #526175 !important;
}

.asclin-header__menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: #ffffff;
  padding: 13px 24px;
  color: #091321 !important;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.asclin-header__menu-btn .asclin-header__icon--close {
  display: none;
}

.asclin-header__menu-btn.is-open {
  background: #11172d;
  color: #ffffff !important;
}

.asclin-header__menu-btn.is-open .asclin-header__icon--burger {
  display: none;
}

.asclin-header__menu-btn.is-open .asclin-header__icon--close {
  display: block;
}

/* Выпадающее меню: белая панель, капс-ссылки, соцсети внизу */
.asclin-header__dropdown {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: min(320px, calc(100vw - 40px));
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(9, 19, 33, .22);
  padding-top: 10px;
  display: none;
  z-index: 40;
}

.asclin-header__dropdown.is-open {
  display: block;
}

.asclin-header__dropdown a {
  display: block;
  padding: 15px 28px;
  color: #091321 !important;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
}

.asclin-header__dropdown a:hover {
  background: #f5f8fc;
  color: #e07c26 !important;
}

.asclin-header__dropdown a.is-current {
  background: #f5f8fc;
  color: #e07c26 !important;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1.5px;
}

/* Пункты верхней навигации дублируются в панели только когда сама навигация скрыта */
.asclin-header__dropdown-compact {
  display: none;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e8eef4;
}

.asclin-header__social {
  display: flex;
  gap: 12px;
  margin-top: 10px;
  padding: 18px 28px 20px;
  border-top: 1px solid #e8eef4;
}

.asclin-header__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 50%;
  background: #091321;
  color: #ffffff !important;
}

.asclin-header__social a:hover {
  background: #2f76a8;
  color: #ffffff !important;
}

/* Закреплённая шапка: после прокрутки за исходное положение прилипает к верху окна */
.asclin-header__spacer {
  display: none;
}

.asclin-header.is-stuck {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: #091321;
  padding: 10px max(96px, calc((100% - 1248px) / 2));
  box-shadow: 0 8px 24px rgba(9, 19, 33, .28);
  animation: asclin-header-in .25s ease;
}

.asclin-header.is-stuck .asclin-header__logo img {
  width: 150px;
}

.asclin-header.is-stuck .asclin-header__menu-btn {
  padding: 11px 20px;
}

/* У закреплённой шапки ширина — всё окно, поэтому панель меню выравниваем по правому краю контента */
.asclin-header.is-stuck .asclin-header__dropdown {
  right: max(96px, calc((100% - 1248px) / 2));
}

/* Без transform: иначе на время анимации шапка становится контейнером для fixed-панели меню */
@keyframes asclin-header-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Обёртка для страниц без собственного тёмного первого экрана */
.asclin-header-bar {
  background: #091321;
  padding: 28px max(96px, calc((100% - 1248px) / 2));
}

/* ===================== ЕДИНЫЙ ПОДВАЛ (по фрейму Homepage в Figma) ===================== */

.asclin-footer {
  background: #0a1320;
  color: #ffffff;
  padding: 58px max(96px, calc((100% - 1248px) / 2)) 42px;
  font-family: "Montserrat", Arial, sans-serif;
}

.asclin-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 60px;
}

.asclin-footer__title {
  margin: 0;
  color: #ffffff !important;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 700;
  text-transform: none;
}

/* Сворачиваемые контакты: заголовок подвала — кнопка-тоггл */
.asclin-footer__toggle {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: inherit !important;
  font: inherit;
  text-align: left;
}

.asclin-footer__toggle:hover {
  color: #e07c26 !important;
}

.asclin-footer__caret {
  flex-shrink: 0;
  transition: transform .2s ease;
}

.asclin-footer__toggle[aria-expanded="true"] .asclin-footer__caret {
  transform: rotate(180deg);
}

.asclin-footer__inner {
  margin-top: 34px;
}

.asclin-footer__inner[hidden] {
  display: none;
}

.asclin-footer__text {
  margin: 0 0 24px;
  max-width: 340px;
  color: #d7dee6;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
}

.asclin-footer a.asclin-footer__email {
  display: inline-block;
  margin-bottom: 26px;
  color: #ffffff !important;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none;
}

.asclin-footer a.asclin-footer__email:hover {
  text-decoration: underline;
}

.asclin-footer__address {
  margin: 0;
  max-width: 340px;
  color: #aab4c0;
  font-size: 13px;
  line-height: 1.5;
  font-style: normal;
  font-weight: 400;
}

.asclin-footer__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-content: start;
  margin: 0;
}

.asclin-footer__form input,
.asclin-footer__form textarea {
  width: 100%;
  border: 1px solid #3a4657;
  border-radius: 4px;
  background: transparent;
  padding: 15px 16px;
  color: #ffffff;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.3;
}

.asclin-footer__form input::placeholder,
.asclin-footer__form textarea::placeholder {
  color: #8b96a4;
}

.asclin-footer__form input:focus,
.asclin-footer__form textarea:focus {
  outline: none;
  border-color: #6d90b3;
}

.asclin-footer__form .asclin-footer__field--wide {
  grid-column: 1 / -1;
}

.asclin-footer__form textarea {
  min-height: 108px;
  resize: vertical;
}

.asclin-footer__submit {
  grid-column: 1 / -1;
  justify-self: start;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 999px;
  background: transparent;
  padding: 14px 34px;
  color: #ffffff !important;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.asclin-footer__submit:hover {
  background: #ffffff;
  color: #0a1320 !important;
}

/* Форма подвала: подпись о согласии, ошибки и сообщение об отправке (заявка уходит в панель администратора) */
.asclin-footer__note {
  grid-column: 1 / -1;
  margin: 0;
  color: #8b96a4;
  font-size: 12px;
  line-height: 1.5;
}

.asclin-footer__note a {
  color: #d7dee6 !important;
  text-decoration: underline;
}

.asclin-footer__note a:hover {
  color: #ffffff !important;
}

.asclin-footer__error {
  grid-column: 1 / -1;
  margin: 0;
  border-radius: 8px;
  background: #fbe9e7;
  padding: 12px 16px;
  color: #a3382a;
  font-size: 13px;
  line-height: 1.5;
}

.asclin-footer__form input.is-invalid,
.asclin-footer__form textarea.is-invalid {
  border-color: #e07c26;
}

.asclin-footer__sent {
  align-self: start;
  border-radius: 8px;
  background: #e7f3ec;
  padding: 20px 24px;
  color: #1f6b3a;
  font-size: 15px;
  line-height: 1.5;
}

.asclin-footer__sent p {
  margin: 0;
}

.asclin-footer__sent-title {
  margin: 0 0 8px !important;
  font-size: 17px;
  font-weight: 700;
}

.asclin-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 18px;
  margin-top: 44px;
  text-align: right;
}

.asclin-footer__copy {
  color: #8b96a4;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.asclin-footer a.asclin-footer__policy {
  color: #ffffff !important;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.asclin-footer a.asclin-footer__policy:hover {
  color: #e07c26 !important;
}

/* ===================== АДАПТИВ ШАПКИ И ПОДВАЛА ===================== */

@media (max-width: 1200px) {
  .asclin-header {
    justify-content: space-between;
  }

  .asclin-header__nav {
    display: none;
  }

  .asclin-header__dropdown-compact {
    display: block;
  }

  .asclin-header-bar,
  .asclin-header.is-stuck,
  .asclin-footer {
    padding-left: 40px;
    padding-right: 40px;
  }

  .asclin-header.is-stuck .asclin-header__dropdown {
    right: 40px;
  }

  .asclin-footer__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Телефон (по фреймам «Mobile — 390», 30.09.2026): шапка 70 px — PNG-логотип 133×48 слева,
   круглая кнопка-бургер 56×38 справа (подпись «Меню» скрыта, пункты — в выпадающей панели);
   подвал — строка «Свяжитесь с нами» с шевроном по правому краю и линией под ней,
   копирайт и политика мелко по правому краю. */
@media (max-width: 640px) {
  .asclin-header {
    gap: 16px;
    min-height: 48px;
  }

  .asclin-header__logo img,
  .asclin-header.is-stuck .asclin-header__logo img {
    width: 133px;
  }

  .asclin-header__menu-btn,
  .asclin-header.is-stuck .asclin-header__menu-btn {
    justify-content: center;
    gap: 0;
    width: 56px;
    height: 38px;
    padding: 0;
    font-size: 0;
  }

  .asclin-header__menu-btn .asclin-header__icon--burger {
    width: 24px;
    height: 16px;
  }

  .asclin-header-bar {
    padding: 11px 20px;
  }

  .asclin-header.is-stuck {
    padding: 11px 20px;
  }

  .asclin-header.is-stuck .asclin-header__dropdown {
    right: 20px;
  }

  .asclin-footer {
    padding: 32px 20px 20px;
  }

  .asclin-footer__title {
    border-bottom: 1px solid #243040;
    padding-bottom: 22px;
    font-size: 16px;
    line-height: 18px;
  }

  .asclin-footer__toggle {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .asclin-footer__caret {
    width: 14px;
    height: 8px;
    transition: none;
  }

  .asclin-footer__inner {
    margin-top: 24px;
    gap: 28px;
  }

  .asclin-footer__form {
    grid-template-columns: 1fr;
  }

  .asclin-footer__submit {
    justify-self: stretch;
    height: 48px;
    padding: 0 24px;
  }

  .asclin-footer__bottom {
    gap: 10px;
    margin-top: 24px;
  }

  .asclin-footer__copy {
    max-width: 264px;
  }

  .asclin-footer__copy,
  .asclin-footer a.asclin-footer__policy {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0;
    text-transform: none;
  }

  .asclin-footer a.asclin-footer__policy {
    text-decoration: none;
  }
}

/* ===== Личный кабинет и панель администратора: разделы переключаются как вкладки =====
   Новый раздел подставляется без перезагрузки страницы (shared.js), без анимаций.
   Пока раздел догружается — курсор ожидания. */
html.asclin-tab-loading,
html.asclin-tab-loading * {
  cursor: progress !important;
}

/* ===== Панель администратора на планшете и телефоне (общее для всех страниц /admin/, 30.09.2026) =====
   В макетах админки .layout { align-items: flex-start }: после перехода в колонку (≤1200 px) контент
   принимал ширину по самому длинному элементу и раздвигал страницу на 375 px. Растягиваем контент
   на ширину колонки, длинные заголовки/ссылки переносим, шапки секций и ряды кнопок — в несколько строк. */
@media (max-width: 1200px) {
  html .asclin-admin .layout {
    align-items: stretch;
  }
}

@media (max-width: 640px) {
  html .asclin-admin .section__header,
  html .asclin-admin .row-card__actions {
    flex-wrap: wrap;
    row-gap: 10px;
  }

  html .asclin-admin .section__note {
    white-space: normal;
  }

  html .asclin-admin .row-card__title,
  html .asclin-admin .content a:not(.btn) {
    overflow-wrap: anywhere;
  }
}
/* B1 09.10.2026: единая карточка руководства на кратком и полном составе. */
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader.asclin-leader {
  display:grid; grid-template-columns:168px minmax(0,1fr); gap:24px;
  padding:24px; border-radius:8px; background:var(--asclin-card-bg,#f5f8fc);
  overflow:visible; align-items:start; min-width:0;
}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader .asclin-leader__photo {
  width:168px; height:168px; aspect-ratio:1; min-width:0; border-radius:8px; overflow:hidden;
  background-position:center; flex-shrink:0;
}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader__photo img {
  display:block; width:100%; height:100%; object-fit:cover; object-position:center top;
}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader .asclin-leader__body {padding:0; min-width:0;}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader .asclin-leader__name {
  margin:0; font-size:22px; font-weight:700; line-height:1.3; color:var(--asclin-heading,#091321)!important;
  white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:normal; text-transform:none;
}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader .asclin-leader__role {
  margin:10px 0 0; font-size:15px; font-weight:700; line-height:1.4;
  color:var(--asclin-blue,#2f76a8)!important; white-space:normal; overflow:visible; text-overflow:clip;
}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader .asclin-leader__meta {line-height:1.6;}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader.asclin-leader--chair {grid-template-columns:240px minmax(0,1fr);}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader--chair .asclin-leader__photo {width:240px;height:240px;}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader--chair .asclin-leader__name {font-size:30px;}
:is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader--chair .asclin-leader__role {font-size:16px;color:var(--asclin-orange,#e07c26)!important;}
.asclin-about .leaders .leaders__grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.asclin-home .president .president__name {font-size:22px;line-height:1.4;font-weight:700;}
/* На пожертвованиях остаются copyright и политика, без общей контактной формы. */
.asclin-donations .asclin-footer > .asclin-footer__title,
.asclin-donations .asclin-footer > .asclin-footer__inner,
.asclin-footer--donation > .asclin-footer__title,
.asclin-footer--donation > .asclin-footer__inner {display:none;}
.asclin-donations .asclin-footer .asclin-footer__bottom,
.asclin-footer--donation .asclin-footer__bottom {margin-top:0;}
/* Контейнер без overflow:hidden позволяет панели PDF закрепляться под шапкой. */
.asclin-doc .viewer .viewer__frame {overflow:visible;}
.asclin-doc .viewer .viewer__bar {position:sticky;top:var(--asclin-sticky-header-height,74px);z-index:35;border-radius:8px 8px 0 0;}
.asclin-doc .viewer .viewer__canvas {max-height:75vh;overflow:auto;}
.asclin-doc .viewer .viewer__frame:fullscreen {overflow:auto;}
.asclin-doc .viewer .viewer__frame:fullscreen .viewer__bar {top:0;}
.asclin-recs .catalog__group + .catalog__group {margin-top:40px;}
.asclin-recs .catalog__group-title {margin:0 0 24px;color:var(--asclin-heading,#091321)!important;font-size:26px;line-height:1.3;font-weight:700;text-transform:none;}
.asclin-header__dropdown-primary {display:none;}
@media (max-width:1200px) {
  .asclin-header__dropdown-primary {display:block;border-bottom:1px solid #e8eef4;padding-bottom:10px;margin-bottom:10px;}
}
@media (max-width:1100px) {
  .asclin-about .leaders .leaders__grid {grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px) {
  :is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader.asclin-leader {grid-template-columns:minmax(0,1fr);padding:20px;gap:20px;}
  :is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader .asclin-leader__name {font-size:18px;overflow-wrap:normal;}
  :is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader .asclin-leader__role {font-size:14px;}
  :is(.asclin-board,.asclin-about,.asclin-home) .asclin-leader--chair .asclin-leader__name {font-size:24px;}
  .asclin-home .president .president__name {font-size:18px;}
  .asclin-doc .viewer .viewer__bar {flex-wrap:wrap;gap:8px;padding:8px;}
  .asclin-recs .catalog__group-title {font-size:22px;}
}

.asclin-about .person__photo.has-photo::after {display:none;}
.asclin-about .person__photo.has-photo {background:none;}

.asclin-recs .hero__reference {margin:20px 0 0;font-size:15px;line-height:1.5;}
.asclin-recs .hero__reference a {color:#fff!important;text-decoration:underline;text-underline-offset:4px;}

/* ===================== СВОРАЧИВАЕМЫЕ ФИЛЬТРЫ (правки 03.10, логика — в shared.js) ===================== */
.asclin-fc-hidden { display: none !important; }
.asclin-fc-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto;
  align-self: stretch;
  min-height: 40px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid #dce4ec;
  border-radius: 8px;
  background: #ffffff;
  color: #11172d;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .2s ease;
}
.asclin-fc-toggle:hover,
.asclin-fc-toggle.is-open { border-color: #11172d; }
.asclin-fc-toggle:focus-visible { outline: 2px solid #e07c26; outline-offset: 2px; }
.asclin-fc-toggle svg { flex-shrink: 0; }
.asclin-fc-toggle__chev { transition: transform .2s ease; }
.asclin-fc-toggle.is-open .asclin-fc-toggle__chev { transform: rotate(180deg); }
.asclin-fc-toggle__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: #e07c26;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
}
.asclin-fc-toggle__badge[hidden] { display: none; }
/* специалисты: собственная мобильная кнопка «Фильтры» заменена общей */
.asclin-specialists .asclin-fc .sp-filters__more { display: none !important; }
.asclin-specialists .asclin-fc .sp-filters__search { margin-bottom: 0; }
.asclin-specialists .asclin-fc .sp-filters__grid { margin-top: 26px; }

/* ===================== БОКОВАЯ ПАНЕЛЬ АДМИНИСТРАТОРА: своя прокрутка (правки 03.10) =====================
   Панель «прилипает» под закреплённой шапкой (74px) и не выше окна, поэтому конец меню
   доступен сразу, без пролистывания всей страницы. На ≤1200px панель обычная (static). */
@media (min-width: 1201px) {
  .asclin-admin aside.sidebar {
    top: 98px;
    max-height: calc(100vh - 122px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #c8d4e0 transparent;
  }
  .asclin-admin aside.sidebar::-webkit-scrollbar { width: 6px; }
  .asclin-admin aside.sidebar::-webkit-scrollbar-thumb { background: #c8d4e0; border-radius: 3px; }
}

/* ===== ADMIN-MOBILE START: мобильная версия панели администратора (2026-10-03) ===== */
.admin-nav-toggle, .admin-nav-fab, .admin-nav-backdrop { display: none; }

@media (max-width: 1200px) {
  /* Выезжающее меню */
  html body .asclin-admin .sidebar {
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 1001;
    width: min(300px, 85vw); margin: 0; overflow-y: auto;
    border-radius: 0 16px 16px 0; box-shadow: none;
    transform: translateX(-105%); visibility: hidden;
    transition: transform .25s ease, visibility 0s linear .25s;
  }
  html body .asclin-admin.is-nav-open .sidebar {
    transform: none; visibility: visible;
    box-shadow: 0 0 40px rgba(10,20,40,.25);
    transition: transform .25s ease, visibility 0s;
  }
  .admin-nav-backdrop {
    display: block; position: fixed; inset: 0; z-index: 1000;
    background: rgba(10,20,40,.45); opacity: 0; pointer-events: none;
    transition: opacity .25s;
  }
  html body .asclin-admin.is-nav-open .admin-nav-backdrop { opacity: 1; pointer-events: auto; }
  html.is-admin-panel body.admin-nav-lock { overflow: hidden; }

  /* Плашка «Раздел: …» вверху */
  .admin-nav-toggle {
    display: flex; align-items: center; justify-content: space-between;
    width: calc(100% - 32px); margin: 16px 16px 0; padding: 12px 16px;
    border: 1px solid #e1e8f0; border-radius: 12px; background: #f3f6fa;
    font: 600 14px/1.2 Montserrat, sans-serif; color: #0d1626; text-align: left;
  }
  .admin-nav-toggle__main { display: flex; align-items: center; gap: 10px; }
  .admin-nav-toggle__hint { color: #8a97a8; font-weight: 500; }

  /* Компактная кнопка при прокрутке */
  .admin-nav-fab {
    display: flex; align-items: center; gap: 10px;
    position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 25; /* ниже главного меню (z-index 30) */
    padding: 14px 22px 14px 18px; border: 0; border-radius: 999px;
    background: #0d1626; color: #fff; font: 600 15px/1 Montserrat, sans-serif;
    box-shadow: 0 8px 24px rgba(10,20,40,.28);
    opacity: 0; transform: translateY(12px) scale(.96); pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
  }
  .admin-nav-fab.is-visible { opacity: 1; transform: none; pointer-events: auto; }
  html body .asclin-admin.is-nav-open .admin-nav-fab { opacity: 0; pointer-events: none; }

  html body .asclin-admin .layout { padding-top: 24px; }
}

@media (max-width: 767px) {
  .is-admin-panel h1.hero__title { font-size: clamp(22px, 7vw, 40px) !important; line-height: 1.1; }

  /* Карточки «Обзор» */
  html body .asclin-admin .stats { grid-template-columns: 1fr 1fr; gap: 10px; }
  html body .asclin-admin .stat-card { padding: 12px 14px; border-radius: 12px; min-height: 0; }
  html body .asclin-admin .stat-card__icon, html body .asclin-admin .stat-card__note { display: none; }
  html body .asclin-admin .stat-card__label { font-size: 10px; margin: 0 0 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body .asclin-admin .stat-card__value { font-size: 22px; line-height: 1.1; margin: 0; }
  html body .asclin-admin .stats:not(.is-expanded) > .stat-card:nth-child(n+5) { display: none; }
  .stats-more {
    display: block; width: 100%; margin: 10px 0 0; padding: 8px; border: 0; background: none;
    font: 600 13px/1 Montserrat, sans-serif; color: #2c6a9a; text-align: center;
  }

  /* Строки-карточки: кнопка по центру */
  html body .asclin-admin .row-card { flex-wrap: wrap; }
  html body .asclin-admin .row-card__actions { flex-basis: 100%; justify-content: center; }

  /* Журнал действий */
  html body .asclin-admin .log__row { display: grid; grid-template-columns: 8px 1fr; column-gap: 10px; row-gap: 4px; align-items: center; }
  html body .asclin-admin .log__marker { grid-column: 1; grid-row: 1; width: 8px; margin: 0; }
  html body .asclin-admin .log__time { grid-column: 2; grid-row: 1; width: auto; }
  html body .asclin-admin .log__text { grid-column: 2; grid-row: 2; margin: 0; }
}
@media (min-width: 768px) { .stats-more { display: none; } }
@media (max-width: 767px) {
  /* ADMIN-MOBILE: перенос названий и отступ под заголовком */
  html body .asclin-admin .row-card__title { overflow-wrap: break-word; }
  .is-admin-panel .hero { padding-bottom: 32px; min-height: 0; }
}
@media (max-width: 767px) {
  /* ADMIN-MOBILE: дата мероприятия строкой над названием */
  html body .asclin-admin .row-card { align-items: flex-start; }
  html body .asclin-admin .row-card .event-row__date {
    flex: 0 0 100%; flex-direction: row; align-items: baseline; justify-content: flex-start;
    gap: 8px; width: auto; min-width: 0; margin: 0 0 10px; padding: 0; text-align: left;
  }
  html body .asclin-admin .row-card .event-row__month { white-space: nowrap; }
  html body .asclin-admin .row-card .event-row__divider { display: none; }
  html body .asclin-admin .row-card .row-card__body { flex: 1 1 100%; min-width: 0; }
}
@media (max-width: 767px) {
  /* ADMIN-MOBILE: дата крупнее, отступы в карточке мероприятия плотнее */
  html body .asclin-admin .row-card:has(.event-row__date) { row-gap: 12px; }
  html body .asclin-admin .row-card .event-row__date { margin: 0; gap: 10px; }
  html body .asclin-admin .row-card .event-row__day { font-size: 28px; line-height: 1; }
  html body .asclin-admin .row-card .event-row__month { font-size: 15px; line-height: 1.2; }
  html body .asclin-admin .row-card .event-row__month br { display: none; }
  html body .asclin-admin .row-card .event-row__title-line { margin-top: 10px; }
  html body .asclin-admin .row-card:has(.event-row__date) .row-card__actions { margin-top: 4px; }
}
@media (max-width: 767px) {
  /* ADMIN-MOBILE: карточки-строки — картинка рядом с заголовком, кнопки во всю ширину */
  html body .asclin-admin .row-card:has(> :is(.row-card__icon, .spec-row__photo, .partner-row__logo, .rec-row__file, .adoc__fmt)) { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; row-gap: 14px; align-items: start; }
  html body .asclin-admin .row-card > :is(.row-card__icon, .spec-row__photo, .partner-row__logo, .rec-row__file, .adoc__fmt) { grid-column: 1; margin: 0; align-self: start; flex: none; }
  html body .asclin-admin .row-card:has(> :is(.row-card__icon, .spec-row__photo, .partner-row__logo, .rec-row__file, .adoc__fmt)) > .row-card__body { grid-column: 2; min-width: 0; }
  html body .asclin-admin .row-card:has(> :is(.row-card__icon, .spec-row__photo, .partner-row__logo, .rec-row__file, .adoc__fmt)) > :is(.row-card__actions, .event-row__date) { grid-column: 1 / -1; }
  html body .asclin-admin .row-card .row-card__actions { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin: 0; justify-content: stretch; }
  html body .asclin-admin .row-card .row-card__actions > * { flex: 1 1 0; min-width: 0; margin: 0; }
  html body .asclin-admin .row-card .row-card__actions:has(> :nth-child(3)) > .btn:is(.btn--blue, .btn--navy, .btn--orange) { flex-basis: 100%; order: -1; }
  html body .asclin-admin .row-card .row-card__actions > .row-card__badge { flex: 0 0 auto; align-self: center; }
  html body .asclin-admin .row-card .row-card__actions > form { display: flex; }
  html body .asclin-admin .row-card .row-card__actions :is(a, button):not(.row-card__badge) { width: 100%; justify-content: center; text-align: center; }
  html body .asclin-admin .row-card .row-card__actions .link-muted { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 0 12px; border: 1px solid #e1e8f0; border-radius: 8px; background: #fff; }
}
/* ===== ADMIN-MOBILE END ===== */

/* ===================== ССЫЛКА «← РАЗДЕЛ» ВМЕСТО ХЛЕБНЫХ КРОШЕК (правки 03.10, логика — в shared.js) ===================== */
.hero__breadcrumbs,
.sp-intro__breadcrumbs,
.sd-intro__breadcrumbs { display: none !important; }
.asclin-backbar {
  background: #f5f8fc;
  border-bottom: 1px solid #e3eaf2;
  padding: 18px max(20px, calc((100% - 1248px) / 2));
}
.asclin-backbar.is-joined { border-bottom: 0; padding-bottom: 0; }
.asclin-backbar__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #2f76a8 !important;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none !important;
}
.asclin-backbar__link:hover { color: #e07c26 !important; }
.asclin-backbar__link svg { flex-shrink: 0; }

/* ===== TEXT-WRAP START: аккуратный перенос текста по всему сайту (2026-10-03) ===== */
/* Длинные слова и ссылки переносятся, только если не влезают, а не посреди любого слова */
html body { overflow-wrap: break-word; }
html body .asclin-admin .row-card__title,
html body .asclin-admin .content a:not(.btn) { overflow-wrap: break-word; }

/* Заголовки: строки примерно одинаковой длины, без висящих одиночных слов */
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body [class*="__title"] { text-wrap: balance; }

/* Обычный текст: без «сирот» в последней строке + переносы по слогам (язык сайта — ru) */
html body main p, html body main li, html body main dd, html body main blockquote,
html body main figcaption, html body main td {
  text-wrap: pretty;
  -webkit-hyphens: auto; hyphens: auto;
  hyphenate-limit-chars: 10 4 4;
}
html body nav li, html body .btn, html body button { -webkit-hyphens: manual; hyphens: manual; }
/* Заголовки не переносим по слогам (даже внутри списков) */
html body main :is(h1, h2, h3, h4, h5, h6, [class*="__title"]) { -webkit-hyphens: manual; hyphens: manual; }
/* ===== TEXT-WRAP END ===== */

/* ===================== ПОДСКАЗКИ В ПОЛЯХ ВМЕСТО <datalist> (правки 03.10, логика — в shared.js) ===================== */
.asclin-combo__input {
  padding-right: 40px !important;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%23526175' stroke-width='1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
}
.asclin-combo__input.is-open {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='m1 6.5 5-5 5 5' stroke='%23526175' stroke-width='1.5'/%3E%3C/svg%3E") !important;
}
.asclin-combo__list {
  position: absolute;
  z-index: 50;
  margin: 0;
  padding: 6px;
  list-style: none;
  max-height: 264px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #ffffff;
  border: 1px solid #dce4ec;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(9, 19, 33, .12);
  scrollbar-width: thin;
  scrollbar-color: #c8d4e0 transparent;
}
.asclin-combo__list[hidden] { display: none; }
.asclin-combo__list::-webkit-scrollbar { width: 6px; }
.asclin-combo__list::-webkit-scrollbar-thumb { background: #c8d4e0; border-radius: 3px; }
.asclin-combo__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border-radius: 6px;
  color: #11172d;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  cursor: pointer;
}
.asclin-combo__option::before { content: none !important; }
.asclin-combo__option.is-active { background: #f0f5fa; }
.asclin-combo__option.is-selected { color: #2f76a8; font-weight: 600; }
.asclin-combo__option svg { flex-shrink: 0; color: #2f76a8; }
.asclin-combo__option mark { background: none; color: #2f76a8; font-weight: 700; padding: 0; }

/* Админка → «Итоги и участники»: загрузка участников-специалистов из файла (правки 03.10) */
.participants-import { margin-top: 40px; }
.participants-import__msg { margin: 0 0 18px; padding: 14px 18px; border-radius: 8px; background: #eef6ee; color: #11172d; font-size: 13px; line-height: 1.5; }
.participants-import__msg p { margin: 0 0 6px; }
.participants-import__msg p:last-child { margin-bottom: 0; }
.participants-import__msg.is-error { background: #fdeeee; color: #a33a3a; }
.participants-import__msg .is-warn { color: #a3651a; }
.participants-import .results__hint { display: block; white-space: normal; overflow-wrap: anywhere; }

/* ===== CARD-LINK START: кликабельные карточки специалистов (2026-10-03) ===== */
html body :is(.sp-card, .member, .person):has(a[href*="/specialists/"]:not([href$="/specialists/"])) {
  cursor: pointer;
  transition: box-shadow .2s ease, transform .2s ease;
}
@media (hover: hover) {
  html body :is(.sp-card, .member, .person):has(a[href*="/specialists/"]:not([href$="/specialists/"])):hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(13, 22, 38, .10);
  }
}
/* ===== CARD-LINK END ===== */

/* ===================== ПОИСК В СПРАВОЧНИКАХ (правки 03.10, логика — в shared.js) ===================== */
.asclin-sel {
  position: absolute;
  z-index: 1000;
  max-width: calc(100vw - 16px);
  padding: 8px;
  background: #ffffff;
  border: 1px solid #dce4ec;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(9, 19, 33, .14);
  font-family: "Montserrat", Arial, sans-serif;
}
.asclin-sel[hidden] { display: none; }
.asclin-sel__search,
.asclin-group-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  padding: 0 12px;
  border: 1px solid #dce4ec;
  border-radius: 8px;
  background: #f5f8fc;
  color: #748194;
}
.asclin-sel__search:focus-within,
.asclin-group-search:focus-within { border-color: #2f76a8; background: #ffffff; }
.asclin-sel__search svg,
.asclin-group-search svg { flex-shrink: 0; }
.asclin-sel__search input,
.asclin-group-search input {
  flex: 1;
  min-width: 0;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: none;
  background: transparent !important;
  box-shadow: none !important;
  color: #11172d;
  font: 500 14px/1.2 "Montserrat", Arial, sans-serif;
}
.asclin-sel__list {
  max-height: 260px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #c8d4e0 transparent;
}
.asclin-sel__list::-webkit-scrollbar { width: 6px; }
.asclin-sel__list::-webkit-scrollbar-thumb { background: #c8d4e0; border-radius: 3px; }
.asclin-sel__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 9px 12px;
  border-radius: 6px;
  color: #11172d;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  cursor: pointer;
}
.asclin-sel__option::before { content: none !important; }
.asclin-sel__option.is-active { background: #f0f5fa; }
.asclin-sel__option.is-selected { color: #2f76a8; font-weight: 600; }
.asclin-sel__option svg { flex-shrink: 0; color: #2f76a8; }
.asclin-sel__option mark,
.asclin-combo__option mark { background: none; color: #2f76a8; font-weight: 700; padding: 0; }
.asclin-sel__empty,
.asclin-group-search__empty { margin: 6px 4px; color: #748194; font-size: 13px; }
.asclin-sel__empty[hidden],
.asclin-group-search__empty[hidden] { display: none; }
select.is-open { border-color: #2f76a8 !important; }
.asclin-group-search { max-width: 420px; margin-bottom: 12px; }
.asclin-search-hidden { display: none !important; }
.asclin-suggest__box { position: relative; margin-top: 8px; }
.asclin-suggest { min-height: 0 !important; height: 44px !important; resize: none; }

/* ===== EVENTS-YEAR START: год в ленте мероприятий не наезжает на карточку (2026-10-03) ===== */
html body .asclin-events :has(> .feed__list) + * > .feed__year:first-child { margin-top: 48px; }
@media (max-width: 767px) {
  html body .asclin-events :has(> .feed__list) + * > .feed__year:first-child { margin-top: 36px; }
}
/* ===== EVENTS-YEAR END ===== */
/* короткие списки — без видимого поля поиска (оно остаётся для клавиатуры) */
.asclin-sel.is-short .asclin-sel__search { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }

/* Сворачиваемые фильтры в формах .filters (Хранилище файлов в ЛК и админке, правки 03.10): строка на flex —
   поиск растягивается, кнопка «Фильтры», списки и переключатель вида идут следом с одинаковым шагом */
form.filters.asclin-fc { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px 16px !important; }
form.filters.asclin-fc > .search { flex: 1 1 180px; min-width: 0; }
form.filters.asclin-fc > .asclin-fc-toggle { flex: 0 0 auto; height: 48px; }
form.filters.asclin-fc > select { flex: 0 0 165px; width: 165px; }
form.filters.asclin-fc > .view { flex: 0 0 auto; margin-left: 0; }
@media (max-width: 640px) {
  form.filters.asclin-fc > select { flex: 1 1 100%; width: 100%; }
}

/* Подвал в панели администратора: без формы «Свяжитесь с нами» (правки 03.10) */
.asclin-footer--admin .asclin-footer__title,
.asclin-footer--admin .asclin-footer__inner { display: none !important; }
.asclin-footer--admin { padding-top: 28px !important; padding-bottom: 28px !important; }
.asclin-footer--admin .asclin-footer__bottom { margin-top: 0 !important; }

/* ===================== ХРАНИЛИЩЕ ФАЙЛОВ: «СПИСКОМ / ПЛИТКОЙ» (правки 03.10, логика — в shared.js) ===================== */
form.filters .view { display: flex; gap: 6px; margin-left: 0; }
form.filters .view__label { display: none !important; }
form.filters .view__btn { display: flex; align-items: center; justify-content: center; width: 44px; height: 48px; border: 1px solid #dce4ec !important; border-radius: 8px; background: #ffffff !important; color: #748194 !important; cursor: pointer; }
form.filters .view__btn:hover { color: #11172d !important; }
form.filters .view__btn.is-active { border-color: #11172d !important; color: #11172d !important; }
.list.is-grid .list__head { display: none !important; }
.list.is-grid [data-files-rows] {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  padding: 16px !important;
}
.list.is-grid [data-files-rows] > .row {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-height: 180px;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid #e3eaf2 !important;
  border-radius: 10px;
  background: #ffffff;
}
.list.is-grid [data-files-rows] > .row:hover { box-shadow: 0 10px 24px rgba(9, 19, 33, .08); }
.list.is-grid [data-files-rows] > .row > div { width: 100%; min-width: 0; }
.list.is-grid [data-files-rows] > .row .row__name { overflow-wrap: anywhere; }
.list.is-grid [data-files-rows] > .row .row__date:empty,
.list.is-grid [data-files-rows] > .row .row__access:empty { display: none; }
.list.is-grid [data-files-rows] > .row .row__actions { margin-top: auto; }
.list.is-grid [data-files-rows] > .row--empty { grid-column: 1 / -1; min-height: 0; }
@media (max-width: 640px) {
  form.filters .view { display: none !important; }
}

/* ===== LK-MOBILE START: выезжающее меню личного кабинета (2026-10-03) ===== */
@media (max-width: 980px) {
  html body .asclin-lk .lk-sidebar {
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 1001;
    width: min(300px, 85vw); margin: 0; overflow-y: auto;
    border-radius: 0 16px 16px 0; box-shadow: none;
    transform: translateX(-105%); visibility: hidden;
    transition: transform .25s ease, visibility 0s linear .25s;
  }
  html body .asclin-lk.is-nav-open .lk-sidebar {
    transform: none; visibility: visible;
    box-shadow: 0 0 40px rgba(10,20,40,.25);
    transition: transform .25s ease, visibility 0s;
  }
  html body .asclin-lk.is-nav-open .admin-nav-backdrop { opacity: 1; pointer-events: auto; }
  html body .asclin-lk.is-nav-open .admin-nav-fab { opacity: 0; pointer-events: none; }
  html.is-lk-panel body.admin-nav-lock { overflow: hidden; }
  html body .asclin-lk .lk-layout { padding-top: 24px; }
}
/* На широком экране меню кабинета стоит сбоку — кнопки не нужны */
@media (min-width: 981px) {
  html body .asclin-lk .admin-nav-toggle,
  html body .asclin-lk .admin-nav-fab,
  html body .asclin-lk .admin-nav-backdrop { display: none !important; }
}
@media (max-width: 980px) {
  /* LK-MOBILE: пустая полоса под заголовком кабинета */
  html.is-lk-panel body .asclin-lk section.hero { padding-bottom: 24px; min-height: 0; }
}
/* ===== LK-MOBILE END ===== */

/* ===== MNAV START: перекомпоновка мобильного меню сайта (2026-10-03) ===== */
.mnav { display: none; }
@media (max-width: 1200px) {
  html body .asclin-header__dropdown.has-mnav {
    padding: 0; overflow-y: auto; max-height: calc(100vh - 110px); max-height: calc(100dvh - 110px);
    width: min(340px, calc(100vw - 32px));
  }
  html body .asclin-header__dropdown.has-mnav > :not(.mnav) { display: none !important; }
  html body .asclin-header__dropdown.has-mnav .mnav { display: block; }

  /* Пользователь */
  .mnav__user { padding: 14px 20px 16px; background: #f5f8fc; border-bottom: 1px solid #e3eaf2; }
  .mnav__who { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
  .mnav__avatar {
    flex: 0 0 32px; height: 32px; border-radius: 50%; background: #0d1626; color: #fff;
    display: flex; align-items: center; justify-content: center; font: 700 14px/1 Montserrat, sans-serif;
  }
  .mnav__name { flex: 1; min-width: 0; font: 700 15px/1.25 Montserrat, sans-serif; color: #0d1626; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body .asclin-header__dropdown .mnav a.mnav__logout {
    flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0;
    border-radius: 50%; background: none; color: #8a97a8 !important; text-decoration: none !important;
  }
  html body .asclin-header__dropdown .mnav a.mnav__logout:hover { background: #e9eef5; color: #0d1626 !important; }
  .mnav__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .mnav__tiles--one { grid-template-columns: 1fr; }
  html body .asclin-header__dropdown .mnav a.mnav__tile {
    display: flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 8px; white-space: nowrap;
    border: 1px solid #e1e8f0; border-radius: 10px; background: #fff;
    font: 600 13px/1.2 Montserrat, sans-serif; letter-spacing: 0; text-transform: none;
    color: #0d1626 !important; text-decoration: none !important;
  }
  html body .asclin-header__dropdown .mnav a.mnav__tile svg { color: #2c6a9a; }
  html body .asclin-header__dropdown .mnav a.mnav__tile:hover { border-color: #c8d4e0; background: #fff; color: #e07c26 !important; }
  html body .asclin-header__dropdown .mnav a.mnav__tile.is-current { border-color: #e07c26; box-shadow: inset 0 0 0 1px #e07c26; }
  html body .asclin-header__dropdown .mnav a.mnav__tile.is-current svg { color: #e07c26; }
  /* Гость: «Войти» / «Регистрация» */
  .mnav__acts { display: flex; gap: 8px; }
  html body .asclin-header__dropdown .mnav a.mnav__chip {
    flex: 1; display: flex; justify-content: center; padding: 11px 14px; border: 1px solid #d6dee8; border-radius: 999px; background: #fff;
    font: 600 14px/1 Montserrat, sans-serif; letter-spacing: 0; text-transform: none; color: #0d1626 !important; text-decoration: none !important;
  }
  html body .asclin-header__dropdown .mnav a.mnav__chip--primary { background: #0d1626; border-color: #0d1626; color: #fff !important; }
  html body .asclin-header__dropdown .mnav a { text-decoration: none !important; }

  /* Разделы */
  .mnav__list { padding: 8px 0; }
  html body .asclin-header__dropdown .mnav .mnav__link {
    display: flex; align-items: center; justify-content: space-between; width: 100%;
    padding: 12px 20px; border: 0; background: none; text-align: left; cursor: pointer;
    font: 600 16px/1.25 Montserrat, sans-serif; letter-spacing: 0; text-transform: none; color: #0d1626 !important;
  }
  html body .asclin-header__dropdown .mnav .mnav__link:hover { background: #f5f8fc; color: #e07c26 !important; }
  html body .asclin-header__dropdown .mnav .mnav__link.is-current { color: #e07c26 !important; box-shadow: inset 3px 0 0 #e07c26; }
  .mnav__toggle svg { transition: transform .2s ease; color: #8a97a8; }
  .mnav__group.is-open .mnav__toggle svg { transform: rotate(180deg); }
  .mnav__sub { display: none; padding-bottom: 4px; }
  .mnav__group.is-open .mnav__sub { display: block; }
  html body .asclin-header__dropdown .mnav .mnav__link--sub { padding: 9px 20px 9px 36px; font-size: 15px; font-weight: 500; color: #3b4a5e !important; }

  /* Низ */
  .mnav__foot { display: flex; align-items: center; gap: 12px; padding: 14px 20px 18px; border-top: 1px solid #e3eaf2; }
  html body .asclin-header__dropdown .mnav a.mnav__donate {
    flex: 1; display: flex; justify-content: center; padding: 12px 16px; border-radius: 999px; background: #e07c26;
    font: 600 14px/1.2 Montserrat, sans-serif; letter-spacing: 0; text-transform: none; color: #fff !important;
  }
  html body .asclin-header__dropdown .mnav a.mnav__donate:hover { background: #c96b1c; }
  .mnav__social { display: flex; gap: 8px; margin: 0; padding: 0; border: 0; }
  html body .asclin-header__dropdown .mnav .mnav__social a { padding: 0; background: none; }
}
/* ===== MNAV END ===== */

/* Даты в строках мероприятий/публикаций по всей админке: число по центру двух строк «месяц / год» (правки 03.10) */
.asclin-admin .event-row__date:not([style*="column"]) { align-items: center !important; }


/* Единая стрелка у всех выпадающих списков */
select:not([multiple]):not([size]) {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding-right: 44px !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='m1 1 6 6 6-6' stroke='%23526175' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 14px 9px !important;
  cursor: pointer;
}
select:not([multiple]):not([size])::-ms-expand { display: none; }

/* Кнопки: без переносов слов по слогам */
html body main a[class*="button"], html body main a[class*="btn"], html body main button, html body main .button, html body main .btn {
  -webkit-hyphens: manual;
  hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
}

/* Уведомление о cookie: тёмная плашка внизу экрана (фон подвала), текст Montserrat 13px,
   оранжевая кнопка действия «Принимаю». Показывается shared.js один раз, до согласия. */
.asclin-cookie {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 16px max(96px, calc((100% - 1248px) / 2));
  background: rgba(10, 19, 32, .96);
  color: #ffffff;
  font-family: "Montserrat", Arial, sans-serif;
  box-shadow: 0 -4px 24px rgba(9, 19, 33, .25);
  box-sizing: border-box;
}

.asclin-cookie[hidden] {
  display: none;
}

.asclin-cookie__text {
  flex: 1 1 auto;
  margin: 0;
  color: #d7dee6;
  font-size: 13px;
  line-height: 1.5;
}

.asclin-cookie__text a {
  color: #ffffff !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.asclin-cookie__text a:hover,
.asclin-cookie__text a:focus-visible {
  color: #E07C26 !important;
}

.asclin-cookie__accept {
  flex: 0 0 auto;
  border: 1px solid #E07C26;
  border-radius: 999px;
  background: #E07C26;
  padding: 12px 30px;
  color: #ffffff !important;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.asclin-cookie__accept:hover,
.asclin-cookie__accept:focus-visible {
  background: #ffffff;
  color: #E07C26 !important;
}

@media (max-width: 1200px) {
  .asclin-cookie {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 640px) {
  .asclin-cookie {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 14px 20px 18px;
  }

  .asclin-cookie__text {
    font-size: 12px;
  }

  .asclin-cookie__accept {
    width: 100%;
    padding: 12px 20px;
  }
}
