/*
Theme Name: Гильдия словесников
Theme URI: https://slovesnik.org/
Author: Гильдия словесников
Description: Тема сайта ассоциации «Гильдия словесников»: шапка с логотипом и соцсетями, верхнее меню-полоска, лента тегов, анонсы со слайдшоу, лента материалов в две колонки, параллакс-подложка с рукописью. Управление — плагин «Словесник — управление сайтом».
Version: 1.5.13
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: slovesnik
*/

/* ============================================================
   ПЕРЕМЕННЫЕ (цвета задаются в «Словесник → Оформление»)
   ============================================================ */
:root {
  --c-header: #cfc3b7;
  --c-bar: #e7e0d8;
  --c-page: #f4f0ea;
  --c-paper: #fff;
  --c-footer: #edebe7;
  --c-band: #edebe5;
  --c-band-line: #dcd6d1;
  --c-line: #e4ddd4;
  --c-soft: #faf8f5;
  --c-dark: #0f282c;
  --c-dark2: #05191d;
  --c-menu-text: #e9e3dc;
  --c-accent: #a45a52;
  --c-btn: #581e15;
  --c-ink: #2f1b08;
  --c-text: #2e2b28;
  --c-muted: #7a7067;
  --c-link: #1d616d;
  --c-link-hover: #4d8a96;
  --f-head: 'PT Serif', Georgia, 'Times New Roman', serif;
  --f-body: 'Old Standard TT', 'Times New Roman', Georgia, serif;
  --f-crumbs: 'PT Serif', Georgia, 'Times New Roman', serif;
  --f-cover: 'PT Serif', Georgia, 'Times New Roman', serif;
  /* Размеры (переопределяются из «Словесник → Типографика») */
  --fs-body: 19px;
  --fs-crumbs: 13px;
  --fs-cover: 15px;
  --fs-nav: 17px;
  --fs-tagbar: 18px;
  --fs-panel-title: 24px;
  --fs-section-title: 17px;
  --fs-card-title: 19px;
  --fs-meta: 13px;
  --fs-annlist: 16px;
  --fs-wann-title: 15.5px;
  --fs-wann-text: 15px;
  --fs-slide-title: 32px;
  --fs-slide-text: 18px;
  --fs-chip: 13.5px;
  --fs-article-title: 36px;
  --fs-content: 19.5px;
  --fs-content-h2: 25px;
  --fs-content-h3: 25px;
  --fs-content-h4: 25px;
  --fs-project-title: 36px;
  --fs-project-section: 18px;
  --fs-project-desc: 17px;
  --fs-project-stat-label: 17px;
  --fs-project-stat-value: 18px;
  --shadow: 0 0 10px rgba(0, 0, 0, .32);
  --shadow-soft: 0 6px 22px rgba(15, 40, 44, .14);
  --wrap: 1300px; /* как контейнер #jsn-content на slovesnik.org */
  --gap: 26px;
  --radius: 2px;
  --logo-w: 480px;
}

/* ============================================================
   БАЗА
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  font-size: 16px; /* база; body ≈ 19px как на старом сайте */
}
body {
  margin: 0 !important;
  /* Сбрасываем отступы от темы/плагинов Археоны (там было padding-top: 170px) */
  padding: 0 !important;
  font-family: var(--f-body);
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--c-text);
  background: var(--c-header);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; border: 0; }
a { color: var(--c-link); text-decoration: none; transition: color .2s, background-color .2s, border-color .2s, opacity .2s; }
a:hover { color: var(--c-link-hover); }
h1, h2, h3, h4, h5, h6 { font-family: var(--f-head); color: var(--c-ink); line-height: 1.25; margin: 0 0 .6em; font-weight: 700; }
h2, h3, h4, h5, h6 { font-size: var(--fs-content-h2); }
p { margin: 0 0 1em; }
button { font: inherit; cursor: pointer; }
input, textarea, select { font: inherit; }
:focus-visible { outline: 2px solid var(--c-link-hover); outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.sl-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: #fff; padding: 8px 14px; }
.sl-skip:focus { left: 8px; }
.sl-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.sl-i { width: 1em; height: 1em; display: inline-block; vertical-align: -.125em; flex-shrink: 0; }

/* Подложка с рукописью — неподвижна при прокрутке (параллакс) */
.sl-bg {
  position: fixed; inset: 0; z-index: -1;
  background: var(--c-page) var(--bg-image) center top / cover no-repeat;
  pointer-events: none;
}
.sl-no-parallax .sl-bg { display: none; }
.sl-no-parallax .sl-main { background: var(--c-page) var(--bg-image) center top / cover no-repeat; }
.sl-main { display: block; padding: 0 0 48px; min-height: 40vh; }

/* ============================================================
   ВЕРХНЯЯ ПОЛОСКА С МЕНЮ (прилипает к самому верху окна)
   ============================================================ */
.sl-header { margin: 0; padding: 0; }
.sl-topbar {
  position: sticky; top: 0; z-index: 100;
  background: var(--c-dark);
  color: var(--c-menu-text);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 2px 10px rgba(0, 0, 0, .18);
}
.admin-bar .sl-topbar { top: 32px; }
@media (max-width: 782px) { .admin-bar .sl-topbar { top: 46px; } }
@media (max-width: 600px) { .admin-bar .sl-topbar { top: 0; } }
.sl-topbar__inner { display: flex; align-items: center; min-height: 48px; gap: 10px; }
.sl-burger { display: none; }
.sl-burger__box {
  position: relative;
  display: block;
  width: 26px;
  height: 18px;
}
.sl-burger__line {
  position: absolute;
  left: 0; right: 0;
  height: 2.5px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .28s ease, opacity .2s ease, top .28s ease;
}
.sl-burger__line:nth-child(1) { top: 0; }
.sl-burger__line:nth-child(2) { top: 50%; margin-top: -1.25px; }
.sl-burger__line:nth-child(3) { bottom: 0; }
.sl-burger[aria-expanded="true"] .sl-burger__line:nth-child(1) {
  top: 50%; margin-top: -1.25px; transform: rotate(45deg);
}
.sl-burger[aria-expanded="true"] .sl-burger__line:nth-child(2) {
  opacity: 0; transform: scaleX(.4);
}
.sl-burger[aria-expanded="true"] .sl-burger__line:nth-child(3) {
  bottom: auto; top: 50%; margin-top: -1.25px; transform: rotate(-45deg);
}

.sl-nav { flex: 1; min-width: 0; }
.sl-nav__head, .sl-nav__extra { display: none; }
.sl-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: stretch; }
.sl-menu > li { position: relative; display: flex; align-items: center; }
.sl-menu a {
  display: block; color: var(--c-menu-text); font-family: var(--f-head); font-size: var(--fs-nav); line-height: 1.2;
  padding: 14px 14px 13px; white-space: nowrap; position: relative;
}
.sl-menu > li > a::after {
  content: ''; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 2px;
  background: var(--c-accent); transform: scaleX(0); transition: transform .25s ease;
}
.sl-menu > li:hover > a, .sl-menu > li:focus-within > a,
.sl-menu > .current-menu-item > a, .sl-menu > .current-menu-ancestor > a, .sl-menu > .current-menu-parent > a { color: #fff; }
.sl-menu > li:hover > a::after, .sl-menu > li:focus-within > a::after,
.sl-menu > .current-menu-item > a::after, .sl-menu > .current-menu-ancestor > a::after { transform: scaleX(1); }
.sl-menu .menu-item-has-children > a { padding-right: 4px; }
.sl-menu .menu-item-has-children > a::after { right: 4px; }
.sl-menu__heading { cursor: default; }
.sl-subtoggle {
  background: none; border: 0; color: #cfc6bc; padding: 12px 8px 12px 2px; display: flex; align-items: center;
  font-size: 13px; line-height: 1;
}
.sl-subtoggle .sl-i { transition: transform .2s; }
.sl-menu > li:hover > .sl-subtoggle .sl-i { transform: rotate(180deg); }

/* выпадающее подменю */
.sl-menu .sub-menu {
  list-style: none; margin: 0; padding: 8px 0;
  position: absolute; top: 100%; left: 0; min-width: 270px; z-index: 50;
  background: #fff; border-top: 3px solid var(--c-link-hover);
  box-shadow: var(--shadow-soft);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .2s, transform .2s, visibility .2s;
}
.sl-menu > li:hover > .sub-menu, .sl-menu > li:focus-within > .sub-menu, .sl-menu > li.is-open > .sub-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.sl-menu .sub-menu a {
  color: var(--c-dark2); font-size: 16px; padding: 10px 22px; white-space: normal;
  border-left: 3px solid transparent;
}
.sl-menu .sub-menu a:hover, .sl-menu .sub-menu .current-menu-item > a {
  color: var(--c-link); background: #f6f2ec; border-left-color: var(--c-accent);
}
.sl-menu .sub-menu .sl-subtoggle { display: none; }
.sl-menu .sub-menu .sub-menu { position: static; box-shadow: none; border: 0; opacity: 1; visibility: visible; transform: none; padding: 0 0 0 12px; }

/* поиск в полоске */
.sl-topsearch { position: relative; display: flex; align-items: center; margin-left: auto; }
.sl-topsearch__toggle {
  background: none; border: 0; color: var(--c-menu-text); width: 40px; height: 40px; display: grid; place-items: center; font-size: 18px; border-radius: 50%;
}
.sl-topsearch__toggle:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.sl-search--top {
  position: absolute; right: 0; top: calc(100% + 2px); width: 340px; z-index: 60;
  box-shadow: var(--shadow-soft); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s;
}
.sl-topsearch.is-open .sl-search--top { opacity: 1; visibility: visible; transform: none; }

/* ============================================================
   ШАПКА: ЛОГОТИП, КНОПКИ, СОЦСЕТИ
   ============================================================ */
.sl-masthead { background: var(--c-header); }
.sl-masthead__inner {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 28px;
  padding-top: 30px; padding-bottom: 28px;
}
.sl-logo { display: block; flex-shrink: 0; width: var(--logo-w); max-width: 58%; line-height: 0; }
.sl-logo img { width: 100%; height: auto; display: block; }
.sl-masthead__aside {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: flex-end;
  padding-top: 4px; /* как #jsn-headerright на slovesnik.org — к правому верхнему углу */
}
.sl-hbuttons { display: flex; align-items: center; gap: 2px; padding-right: 14px; border-right: 1px solid rgba(255, 255, 255, .55); }
.sl-hbutton {
  display: inline-flex; align-items: center; gap: 8px; color: var(--c-btn);
  font-family: var(--f-head); font-size: 17px; padding: 9px 12px; border-radius: var(--radius);
}
.sl-hbutton .sl-i { font-size: 16px; color: var(--c-dark); }
.sl-hbutton:hover { background: var(--c-bar); color: var(--c-btn); }
.sl-socials { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sl-socials a {
  display: grid;
  place-items: center;
  position: relative;
  width: 30px; height: 30px;
  border-radius: 50%;
  overflow: hidden;
  background: transparent;
  flex-shrink: 0;
  transition: transform .2s;
}
.sl-socials a:hover { transform: translateY(-2px); }
.sl-socials img {
  width: 30px !important;
  height: 30px !important;
  max-width: none;
  display: block;
  border-radius: 50%;
  object-fit: cover;
  /* PNG-иконки чуть смещены вправо-вниз — компенсируем */
  object-position: 46% 42%;
  transform: scale(1.14);
  transform-origin: center center;
  background: transparent;
}
.sl-socials__hover {
  position: absolute; inset: 0; margin: auto;
  width: 30px !important; height: 30px !important;
  opacity: 0; transition: opacity .2s;
  object-position: 46% 42%;
  transform: scale(1.14);
  transform-origin: center center;
}
.sl-socials a:hover .sl-socials__hover { opacity: 1; }

/* ============================================================
   ЛЕНТА ТЕГОВ (на месте старого меню)
   ============================================================ */
.sl-tagbar { background: var(--c-bar); border-top: 3px solid var(--c-dark); border-bottom: 1px solid #d6cdc2; position: relative; }
.sl-tagbar__inner { position: relative; display: flex; align-items: stretch; }
.sl-tagbar__track {
  flex: 1; min-width: 0; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth;
  scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
}
.sl-tagbar__track::-webkit-scrollbar { display: none; }
.sl-tagbar.no-prev .sl-tagbar__track { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 22px), transparent 100%); mask-image: linear-gradient(90deg, #000 calc(100% - 22px), transparent 100%); }
.sl-tagbar.no-next .sl-tagbar__track { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22px); mask-image: linear-gradient(90deg, transparent 0, #000 22px); }
.sl-tagbar.no-prev.no-next .sl-tagbar__track { -webkit-mask-image: none; mask-image: none; }
.sl-tagbar__list { list-style: none; margin: 0; padding: 0 6px; display: flex; gap: 2px; white-space: nowrap; width: max-content; }
.sl-tagbar__list a {
  display: block; padding: 12px 16px 11px; color: var(--c-dark2); font-family: var(--f-head); font-size: var(--fs-tagbar);
  font-weight: 700; border-top: 3px solid transparent; margin-top: -3px;
}
.sl-tagbar__list a:hover, .sl-tagbar__list .is-current a {
  color: var(--c-link-hover); background: #fff; border-top-color: var(--c-link-hover);
}
.sl-tagbar__arrow {
  flex-shrink: 0; width: 34px; border: 0; background: transparent; color: var(--c-dark); font-size: 18px;
  display: grid; place-items: center; transition: opacity .2s;
}
.sl-tagbar__arrow:hover { color: var(--c-link); }
.sl-tagbar.no-prev .sl-tagbar__arrow--prev, .sl-tagbar.no-next .sl-tagbar__arrow--next { opacity: .2; pointer-events: none; }
.sl-tagbar.no-prev.no-next .sl-tagbar__arrow { display: none; }

/* ============================================================
   ОБЩИЕ БЛОКИ
   ============================================================ */
.sl-panel { background: var(--c-paper); box-shadow: var(--shadow); padding: 22px 28px 30px; min-width: 0; }
.sl-panel__title {
  font-family: var(--f-head); font-weight: 400; font-size: var(--fs-panel-title); text-transform: uppercase; letter-spacing: .02em;
  color: var(--c-ink); border-bottom: 3px solid var(--c-dark2); padding: 2px 0 8px; margin: 0 0 20px;
}
.sl-panel__sub { text-transform: none; color: var(--c-muted); font-size: .8em; }
.sl-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: var(--gap); align-items: start; margin-top: 28px; }
.sl-layout--full { grid-template-columns: minmax(0, 1fr); }
.sl-promo + .sl-layout { margin-top: var(--gap); }

.sl-blockhead { margin-bottom: 14px; }
.sl-blockhead__title {
  font-family: var(--f-head); font-weight: 400; font-size: var(--fs-section-title); text-transform: uppercase; letter-spacing: .02em;
  color: var(--c-ink); border-bottom: 3px solid var(--c-dark2); padding-bottom: 7px; margin: 0 0 8px;
}

/* заголовки виджетов: иконка + первая буква акцентом + линия */
.sl-wtitle {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--f-head); font-weight: 400; font-size: var(--fs-section-title); text-transform: uppercase; letter-spacing: .02em;
  color: var(--c-ink); border-bottom: 2px solid var(--c-dark2); padding-bottom: 8px; margin: 0 0 14px;
}
.sl-wtitle .sl-i { font-size: 15px; color: var(--c-dark2); }
.sl-wtitle__text { display: inline-block; }
.sl-wtitle__text::first-letter { color: var(--c-accent); }

.sl-more { display: inline-flex; align-items: center; gap: 5px; font-family: var(--f-head); font-size: 13.5px; color: var(--c-link); margin-top: 6px; }
.sl-more .sl-i { font-size: 13px; transition: transform .2s; }
.sl-more:hover .sl-i { transform: translateX(3px); }
.sl-btn {
  display: inline-block; background: var(--c-link); color: #fff; font-family: var(--f-head); font-size: 15px;
  padding: 9px 20px; border-radius: var(--radius); border: 0;
}
.sl-btn:hover { background: var(--c-dark); color: #fff; }
.sl-btn-doc {
  display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #333; font-family: var(--f-head); font-size: 14px;
  padding: 9px 14px; border: 1px solid #e7e0d8; border-bottom: 2px solid var(--c-dark); box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}
.sl-btn-doc:hover { color: var(--c-link); border-color: var(--c-link); }
.sl-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border: 1px solid var(--c-line); border-radius: 30px;
  font-family: var(--f-head); font-size: var(--fs-chip); color: var(--c-dark2); background: var(--c-soft);
}
.sl-chip:hover, .sl-chip.is-current { border-color: var(--c-link); color: var(--c-link); background: #fff; }
.sl-chip__count { font-size: 12px; color: var(--c-muted); }
.sl-chip--parent .sl-i { font-size: 12px; }
.sl-empty { color: var(--c-muted); font-style: italic; }

.sl-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-family: var(--f-head); font-size: var(--fs-meta); color: var(--c-muted); }
.sl-meta__item { display: inline-flex; align-items: center; gap: 5px; }
.sl-meta__item .sl-i { font-size: 12.5px; opacity: .75; }
.sl-meta a { color: var(--c-muted); }
.sl-meta a:hover { color: var(--c-link); }

/* ============================================================
   АНОНСЫ + СЛАЙДШОУ (главная)
   ============================================================ */
.sl-promo {
  display: grid; grid-template-columns: 36% 64%; margin-top: 32px; background: #fff; box-shadow: var(--shadow);
  min-height: 380px;
}
.sl-promo--noslider { grid-template-columns: 1fr; }
.sl-promo--noann { grid-template-columns: 1fr; }
.sl-promo__ann { padding: 20px 24px 18px; display: flex; flex-direction: column; min-width: 0; }
.sl-promo__ann .sl-blockhead { display: block; }
.sl-pager__nav { display: flex; align-items: center; justify-content: flex-end; gap: 5px; min-height: 18px; }
.sl-pager__dot {
  width: 11px; height: 11px; border-radius: 50%; border: 0; padding: 0; background: #cfcbc6; transition: background .2s, transform .2s;
}
.sl-pager__dot.is-active { background: #8f8a85; transform: scale(1.1); }
.sl-pager__arrow {
  width: 18px; height: 18px; border-radius: 50%; border: 1px solid #b9b3ad; background: #fff; color: #8f8a85;
  display: grid; place-items: center; padding: 0; font-size: 11px; margin-left: 3px;
}
.sl-pager__arrow:hover { border-color: var(--c-link); color: var(--c-link); }
.sl-pager__pages { position: relative; flex: 1; }
.sl-pager__page { display: none; }
.sl-pager__page.is-active { display: block; animation: sl-fade .35s ease; }
@keyframes sl-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.sl-annlist { list-style: none; margin: 0; padding: 0; }
.sl-annlist li { margin: 0 0 11px; padding-left: 12px; position: relative; }
.sl-annlist li::before { content: ''; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; background: var(--c-accent); border-radius: 50%; }
.sl-annlist a { font-family: var(--f-head); font-size: var(--fs-annlist); line-height: 1.4; color: var(--c-link); display: block; }
.sl-annlist a:hover { color: var(--c-link-hover); }
.sl-promo__ann > .sl-more {
  align-self: flex-end;
  font-size: var(--fs-annlist);
  margin-top: 10px;
}
.sl-promo__ann > .sl-more .sl-i { font-size: 1em; }

.sl-slider { position: relative; overflow: hidden; background: #2b2b2b; min-height: 380px; isolation: isolate; }
.sl-slider__track { position: absolute; inset: 0; }
.sl-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; display: flex; align-items: center; justify-content: center; }
.sl-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.sl-slide__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 7s ease-out; }
.sl-slide.is-active .sl-slide__img { transform: scale(1); }
.sl-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 20, 22, .25) 0%, rgba(10, 20, 22, .55) 55%, rgba(10, 20, 22, .7) 100%); }
.sl-slide__body { position: relative; z-index: 2; text-align: center; padding: 26px 64px 46px; max-width: 760px; color: #fff; }
.sl-slide__title { font-family: var(--f-head); font-size: var(--fs-slide-title); font-weight: 700; color: #fff; margin: 0 0 14px; text-shadow: 0 2px 12px rgba(0, 0, 0, .45); }
.sl-slide__title a { color: #fff; }
.sl-slide__title a:hover { color: #fff; opacity: .92; }
.sl-slide__text,
.sl-slide__body p,
.sl-slide__body {
  color: #fff !important; /* перекрываем чужие стили (Археона и т.п.), иначе текст на тёмном слайде не читается */
}
.sl-slide__text {
  font-family: var(--f-body); font-size: var(--fs-slide-text); line-height: 1.55; margin: 0 0 20px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .55);
}
.sl-slide__body a:not(.sl-btn) { color: #fff; }
.sl-slide .sl-btn { background: var(--c-link); }
.sl-slide .sl-btn:hover { background: #fff; color: var(--c-dark); }
.sl-slider__dots { position: absolute; left: 0; right: 0; bottom: 14px; z-index: 3; display: flex; justify-content: center; gap: 8px; }
.sl-slider__dots button { width: 12px; height: 12px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .85); background: rgba(255, 255, 255, .25); padding: 0; }
.sl-slider__dots button.is-active { background: #fff; }
.sl-slider__arrow {
  position: absolute; top: 50%; z-index: 3; width: 42px; height: 42px; margin-top: -21px; border-radius: 50%;
  border: 0; background: rgba(0, 0, 0, .32); color: #fff; font-size: 20px; display: grid; place-items: center; opacity: 0; transition: opacity .25s, background .2s;
}
.sl-slider:hover .sl-slider__arrow, .sl-slider__arrow:focus-visible { opacity: 1; }
.sl-slider__arrow:hover { background: rgba(0, 0, 0, .6); }
.sl-slider__arrow--prev { left: 12px; }
.sl-slider__arrow--next { right: 12px; }

/* ============================================================
   КАРТОЧКИ НОВОСТЕЙ (Mel / Intosai → стилистика Гильдии)
   картинка → дата · рубрика → заголовок → «Поделиться»
   ============================================================ */
.sl-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px 24px;
  align-items: stretch;
}
.sl-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }

.sl-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  background: #fff;
  border: 1px solid #e4ddd4;
  border-radius: 0; /* как остальные блоки сайта — прямые углы */
  box-shadow: 0 1px 4px rgba(47, 27, 8, .04);
  overflow: hidden;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.sl-card:hover {
  border-color: #d9d1c7;
  box-shadow: 0 2px 8px rgba(47, 27, 8, .07); /* едва заметно */
}

.sl-card__img {
  display: block; position: relative; width: 100%;
  aspect-ratio: 966 / 500;
  overflow: hidden; background: #ebe4db;
  flex-shrink: 0; margin: 0;
}
.sl-card__img img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center; display: block;
  transition: transform .65s ease;
}
.sl-card:hover .sl-card__img img { transform: scale(1.012); /* почти незаметный zoom */ }

.sl-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 14px 16px 14px;
  min-height: 0;
}

.sl-card__meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px;
  margin: 0 0 10px; padding: 0; border: 0;
  font-family: var(--f-head); font-size: 13.5px; line-height: 1.3;
  color: var(--c-muted);
}
.sl-card__date { display: inline-flex; align-items: center; gap: 5px; }
.sl-card__date .sl-i { font-size: 13px; opacity: .7; }
.sl-card__sep { opacity: .45; }
.sl-card__cat {
  color: var(--c-accent); font-weight: 700;
  letter-spacing: .01em;
}
.sl-card__cat:hover { color: var(--c-link); }

.sl-card__title {
  font-family: var(--f-head); font-weight: 700; font-size: var(--fs-card-title); line-height: 1.3;
  margin: 0;
  /* одинаковая зона под заголовок → низ карточек ровный */
  min-height: calc(1.3em * 3);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
}
.sl-card__title a { color: var(--c-ink); }
.sl-card__title a:hover { color: var(--c-link); }

.sl-card__foot {
  margin-top: auto;
  padding-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.sl-card__views {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-head);
  font-size: 13.5px;
  color: var(--c-muted);
  line-height: 1;
  min-height: 34px;
}
.sl-card__views .sl-i { font-size: 16px; opacity: .75; }
.sl-card__views--empty { min-width: 1px; }

.sl-card__share { position: relative; }
.sl-card__share-btn {
  display: grid; place-items: center;
  width: 34px; height: 34px; padding: 0;
  border: 0; background: transparent; color: #8a8178;
  border-radius: 0;
  transition: color .15s, background .15s;
}
.sl-card__share-btn .sl-i { width: 20px; height: 20px; font-size: 20px; }
.sl-card__share-btn:hover,
.sl-card__share.is-open .sl-card__share-btn {
  color: var(--c-dark); background: rgba(15, 40, 44, .06);
}
.sl-card__share-menu {
  position: absolute; right: 0; bottom: calc(100% + 6px);
  min-width: 200px; z-index: 20;
  background: #fff; border: 1px solid #e4ddd4; border-radius: 0;
  box-shadow: var(--shadow-soft); padding: 4px;
  display: flex; flex-direction: column; gap: 1px;
}
.sl-card__share-menu[hidden] { display: none !important; }
.sl-card__share-menu a,
.sl-card__share-menu button {
  display: flex; align-items: center; gap: 10px;
  width: 100%; border: 0; background: transparent; text-align: left;
  font-family: var(--f-head); font-size: 14px; color: var(--c-dark2);
  padding: 8px 10px; border-radius: 0; cursor: pointer;
}
.sl-card__share-menu a:hover,
.sl-card__share-menu button:hover { background: #f6f2ec; color: var(--c-link); }
.sl-card__share-menu img { width: 22px; height: 22px; border-radius: 50%; }
.sl-card__share-menu .sl-i { font-size: 16px; }
.sl-card__share-menu button.is-done { color: var(--c-link); }

.sl-card--compact .sl-card__body { padding: 12px 12px 12px; }
.sl-card--compact .sl-card__title {
  font-size: 16px; font-weight: 700;
  min-height: calc(1.3em * 2); -webkit-line-clamp: 2;
}
.sl-card--compact .sl-card__foot { display: none; }

/* лента: чуть воздуха вокруг сетки карточек */
.sl-feed .sl-cards { margin-top: 4px; }

/* ============================================================
   НОВОСТИ: на всю ширину, 3 колонки, панель поиска/сортировки
   ============================================================ */
.sl-feed--novosti {
  width: 100%;
  max-width: none;
}
.sl-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 20px;
  margin: 6px 0 22px;
  padding: 14px 0 16px;
  border-bottom: 1px solid #e8e2da;
}
.sl-toolbar__search {
  flex: 1 1 240px;
  max-width: 380px;
}
.sl-toolbar__sort {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.sl-toolbar__chip {
  display: inline-flex;
  align-items: center;
  font-family: var(--f-head);
  font-size: 14px;
  line-height: 1.2;
  color: var(--c-muted);
  text-decoration: none;
  padding: 7px 12px;
  border: 1px solid #e0d8ce;
  background: #fff;
  transition: color .15s, border-color .15s, background .15s;
}
.sl-toolbar__chip:hover {
  color: var(--c-link);
  border-color: #cfc3b7;
}
.sl-toolbar__chip.is-active {
  color: #fff;
  background: var(--c-dark);
  border-color: var(--c-dark);
}
.sl-toolbar__found {
  margin: -8px 0 18px;
  font-family: var(--f-head);
  font-size: 14.5px;
  color: var(--c-muted);
}
.sl-feed--novosti .sl-cards--3 {
  gap: 26px 22px;
}

/* ============================================================
   АНОНСЫ: одна колонка, горизонтальные карточки (NYT / Forsmi)
   ============================================================ */
.sl-feed--anonsy {
  width: 100%;
  max-width: none;
}
.sl-cards--row {
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-template-columns: none;
}
.sl-card--row {
  flex-direction: row;
  align-items: stretch;
  height: auto;
  border: 0;
  border-bottom: 1px solid #e4ddd4;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 22px 0;
  gap: 36px;
  overflow: visible;
}
.sl-card--row:first-child { padding-top: 8px; }
.sl-card--row:last-child { border-bottom: 0; }
.sl-card--row:hover {
  border-color: #e4ddd4;
  box-shadow: none;
}

/* дата слева — единый текстовый стиль («30 сентября 2026», «До 1 октября») */
.sl-when {
  flex: 0 0 148px;
  width: 148px;
  align-self: flex-start;
  display: block;
  text-align: left;
  text-decoration: none;
  color: var(--c-accent);
  padding-top: 4px;
  border: 0;
  background: none;
  box-shadow: none;
  line-height: 1.25;
}
.sl-when:hover { color: var(--c-link); }
.sl-when__text {
  display: block;
  font-family: var(--f-head);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.3;
  text-wrap: balance;
}

.sl-card--row .sl-card__body {
  flex: 1 1 auto;
  padding: 0;
  min-width: 0;
  justify-content: flex-start;
}
.sl-card--row .sl-card__title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.32;
  min-height: 0;
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
  margin: 2px 0 10px;
}
.sl-card--row .sl-card__title a { color: var(--c-ink); }
.sl-card--row .sl-card__title a:hover { color: var(--c-link); }
.sl-card--row .sl-card__excerpt {
  margin: 0 0 14px;
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.5;
  color: #4a4540;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.sl-card--row .sl-card__foot {
  margin-top: auto;
  padding-top: 4px;
  justify-content: flex-start;
  gap: 16px;
}
.sl-card--row .sl-card__views-label {
  font-size: 13px;
  color: var(--c-muted);
}
.sl-card--row .sl-card__img {
  flex: 0 0 240px;
  width: 240px;
  max-width: 32%;
  aspect-ratio: 3 / 2;
  align-self: center;
}
.sl-card--row:hover .sl-card__img img { transform: scale(1.02); }
.sl-card--row .sl-noimg__mark { font-size: 28px; }

/* ============================================================
   ОБЛОЖКИ: один ряд, картинка слева 5:7, текст справа
   ============================================================ */
.sl-feed--covers .sl-cards--covers,
.sl-cards--covers {
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-template-columns: none;
}
.sl-card--cover {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  height: auto;
  border: 0;
  border-bottom: 1px solid #e4ddd4;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 22px 0;
  gap: 28px;
  overflow: visible;
}
.sl-card--cover:first-child { padding-top: 8px; }
.sl-card--cover:last-child { border-bottom: 0; }
.sl-card--cover:hover {
  border-color: #e4ddd4;
  box-shadow: none;
}
.sl-card--cover .sl-card__img--cover,
.sl-card--cover .sl-card__img {
  flex: 0 0 240px;
  width: 240px;
  max-width: 36%;
  aspect-ratio: 5 / 7;
  align-self: flex-start;
  border-radius: 3px;
  overflow: hidden;
  box-shadow:
    0 1px 2px rgba(0,0,0,.1),
    4px 8px 18px rgba(15, 40, 44, .12),
    inset -3px 0 8px rgba(0,0,0,.05);
  background: #ebe4db;
}
.sl-card--cover .sl-card__img img,
.sl-card--cover .sl-card__img .sl-noimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .25s ease;
}
.sl-card--cover:hover .sl-card__img img { transform: scale(1.03); }
.sl-card--cover .sl-card__body {
  flex: 1 1 auto;
  padding: 4px 0 0;
  min-width: 0;
  justify-content: flex-start;
  display: flex;
  flex-direction: column;
}
.sl-card--cover .sl-card__meta {
  margin-bottom: 6px;
}
.sl-card--cover .sl-card__title {
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 700;
  line-height: 1.32;
  min-height: 0;
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
  margin: 0 0 10px;
}
.sl-card--cover .sl-card__title a { color: var(--c-ink); }
.sl-card--cover .sl-card__title a:hover { color: var(--c-link); }
.sl-card--cover .sl-card__excerpt {
  margin: 0 0 14px;
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.55;
  color: #4a4540;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
.sl-card--cover .sl-card__foot {
  margin-top: auto;
  padding-top: 4px;
  justify-content: flex-start;
  gap: 16px;
}
.sl-card--cover .sl-card__views-label {
  font-size: 13px;
  color: var(--c-muted);
}
.sl-card--cover .sl-noimg__mark { font-size: 22px; }
.sl-project__materials--covers .sl-cards--covers {
  margin-top: 12px;
}

/* заглушка без картинки */
.sl-noimg {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .55), transparent 60%),
    linear-gradient(135deg, #e7e0d8 0%, #d6cbbf 100%);
  color: var(--c-dark);
}
.sl-noimg__mark { font-family: var(--f-head); font-weight: 700; font-size: 44px; letter-spacing: -.06em; color: rgba(15, 40, 44, .55); }
.sl-noimg__cat { font-family: var(--f-head); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: rgba(88, 30, 21, .7); }

/* постраничная навигация */
.sl-pagination { margin-top: 30px; }
.sl-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.sl-pagination a, .sl-pagination span {
  display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--c-line);
  font-family: var(--f-head); font-size: 15px; color: var(--c-dark2); background: #fff;
}
.sl-pagination a:hover { border-color: var(--c-link); color: var(--c-link); }
.sl-pagination .current { background: var(--c-dark); border-color: var(--c-dark); color: #fff; }
.sl-pagination .dots { border: 0; background: none; }

/* ============================================================
   САЙДБАР
   ============================================================ */
.sl-sidebar {
  background: #fff; box-shadow: var(--shadow); padding: 20px 22px 24px;
  display: flex; flex-direction: column; gap: 28px;
  align-self: start;
  /*
    Сначала сайдбар уезжает вверх вместе со страницей (виден весь до конца).
    Когда низ сайдбара доходит до низа окна — «цепляется» и едет дальше с материалом,
    не оставляя пустоты справа. Формула: top = высота окна − высота сайдбара.
  */
  position: sticky;
  top: calc(100vh - 100%);
}
.sl-widget { font-size: 17px; line-height: 1.6; min-width: 0; }
.sl-widget p { margin: 0 0 .7em; }
.sl-box__image { margin: 4px 0 0; text-align: center; }
.sl-box__image img { display: inline-block; transition: filter .8s; }
.sl-box__image a:hover img { filter: grayscale(100%); }
.sl-box__action { text-align: center; margin: 6px 0 0; }

.sl-search { display: flex; border: 1px solid #cfc3b7; background: #fff; border-radius: var(--radius); overflow: hidden; }
.sl-search input { flex: 1; min-width: 0; border: 0; padding: 8px 10px; font-family: var(--f-head); font-size: 14px; background: transparent; color: var(--c-text); }
.sl-search input:focus { outline: none; }
.sl-search:focus-within { border-color: var(--c-link); box-shadow: 0 0 0 2px rgba(29, 97, 109, .12); }
.sl-search button { border: 0; background: #f3eee8; color: var(--c-dark); width: 42px; display: grid; place-items: center; font-size: 16px; }
.sl-search button:hover { background: var(--c-dark); color: #fff; }
.sl-search--big { margin: 0 0 18px; }
.sl-search--big input { padding: 12px 14px; font-size: 16px; }
.sl-search__found { color: var(--c-muted); font-family: var(--f-head); font-size: 14px; }

.sl-wann__head { position: relative; }
.sl-wann__head .sl-pager__nav { margin: -4px 0 10px; }
.sl-wann__title { display: block; font-family: var(--f-head); font-size: var(--fs-wann-title); line-height: 1.35; margin-bottom: 6px; }
.sl-wann__text { font-family: var(--f-body); font-size: var(--fs-wann-text); color: #444; margin: 0; }

.sl-dotlist { list-style: none; margin: 0; padding: 0; }
.sl-dotlist li { position: relative; padding-left: 14px; margin: 0 0 8px; }
.sl-dotlist li::before { content: ''; position: absolute; left: 0; top: .62em; width: 5px; height: 5px; border-radius: 50%; background: var(--c-dark2); }
.sl-dotlist a { font-family: var(--f-head); font-size: 16px; line-height: 1.35; }

/* облако тегов — кнопки с цифрами */
.sl-tagcloud,
.sl-tagcloud--chips {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  line-height: 1.3; word-break: break-word;
}
.sl-tagcloud .sl-chip { font-size: var(--fs-chip); padding: 5px 11px; }
.sl-sidebar .sl-tagcloud .sl-chip { max-width: 100%; }

/* ============================================================
   НИЖНЯЯ ПОЛОСА: НОВОЕ / ПОПУЛЯРНОЕ / МОЗАИКА
   ============================================================ */
.sl-band { background: var(--c-band); border-top: 5px solid var(--c-band-line); border-bottom: 5px solid var(--c-band-line); padding: 30px 0 26px; position: relative; }
.sl-band__inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.sl-band .sl-wtitle { border-bottom-width: 2px; }

/* ============================================================
   ПОДВАЛ
   ============================================================ */
.sl-footer { background: var(--c-header); }
.sl-footer__inner {
  background: var(--c-footer); display: grid; grid-template-columns: 1fr 1fr; gap: 44px;
  padding: 26px 30px 22px; font-size: 13.5px; line-height: 1.6; color: #595959;
}
.sl-footer__inner p { margin: 0 0 .9em; text-align: justify; }
.sl-footer a { color: var(--c-link); }
.sl-footer a:hover { text-decoration: underline; }
.sl-footer__menu ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; }

.sl-totop {
  position: fixed; right: 18px; bottom: 18px; z-index: 90; width: 44px; height: 44px; border-radius: 50%; border: 0;
  background: var(--c-dark); color: #fff; font-size: 18px; display: grid; place-items: center; box-shadow: var(--shadow-soft);
  opacity: 0; visibility: hidden; transform: translateY(10px); transition: .25s;
}
.sl-totop.is-visible { opacity: .9; visibility: visible; transform: none; }
.sl-totop:hover { opacity: 1; background: var(--c-link); }

/* ============================================================
   МАТЕРИАЛ
   ============================================================ */
.sl-crumbs {
  font-family: var(--f-crumbs); font-size: var(--fs-crumbs); line-height: 1.4;
  color: var(--c-muted); margin: -6px -22px 18px; padding: 0 22px 10px;
  border-bottom: 1px solid #efe9e2; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0;
}
/* Один размер у всех пунктов (ссылки, разделитель, текущая страница) */
.sl-crumbs a,
.sl-crumbs span {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: 400;
}
.sl-crumbs a { color: var(--c-muted); }
.sl-crumbs a:hover { color: var(--c-link); }
.sl-crumbs__sep { margin: 0 8px; color: #c2b8ad; }
.sl-crumbs__current { color: #4a4540; font-weight: 700; }

.sl-article__kicker { margin-bottom: 10px; }
.sl-article__kicker a {
  font-family: var(--f-head); font-size: 12.5px; text-transform: uppercase; letter-spacing: .16em; color: var(--c-accent);
  border-bottom: 1px solid rgba(164, 90, 82, .35); padding-bottom: 2px;
}
.sl-article__kicker a:hover { color: var(--c-link); border-color: var(--c-link); }
.sl-article__title { font-family: var(--f-head); font-weight: 700; font-size: var(--fs-article-title); line-height: 1.22; color: var(--c-dark); margin: 0 0 14px; }
.sl-article__meta { padding: 0 0 12px; margin-bottom: 22px; border-bottom: 3px solid var(--c-dark2); font-size: 14px; }
.sl-article__meta a { color: var(--c-link); }
.sl-article__hero { margin: 0 0 24px; background: var(--c-page); text-align: center; }
.sl-article__hero img { display: block; margin: 0 auto; width: auto; max-height: 560px; object-fit: contain; }
.sl-article__hero figcaption { font-family: var(--f-head); font-size: 13px; color: var(--c-muted); padding: 8px 10px; text-align: left; background: #fff; border-bottom: 1px solid #efe9e2; }
.sl-article--page .sl-article__title { border-bottom: 3px solid var(--c-dark2); padding-bottom: 12px; margin-bottom: 22px; }

.sl-article__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 28px 0 0; padding-top: 18px; border-top: 1px solid #efe9e2; }
.sl-article__tags-label { font-family: var(--f-head); font-size: 14px; color: var(--c-muted); display: inline-flex; align-items: center; gap: 5px; }
.sl-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 0; }
.sl-share__label { font-family: var(--f-head); font-size: 14px; color: var(--c-muted); display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; }
.sl-share__btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 32px; min-width: 32px; border-radius: 16px; border: 0; padding: 0; background: none; transition: transform .2s; }
.sl-share__btn:hover { transform: translateY(-2px); }
.sl-share__btn img {
  width: 30px; height: 30px; border-radius: 50%;
  object-fit: cover; display: block;
  /* без обводки цветом сайта — только фирменные цвета иконок */
  box-shadow: none; border: 0;
}
.sl-share__btn--copy { background: #f1ece5; color: var(--c-dark); padding: 0 12px; font-family: var(--f-head); font-size: 13px; border-radius: 16px; }
.sl-share__btn--copy.is-done { background: var(--c-link); color: #fff; }
.sl-after-article { margin-top: 26px; }
.sl-related { margin-top: 34px; }
/* «По теме»: 3 на десктопе, 4 на мобиле */
.sl-related .sl-card:nth-child(n+4) { display: none; }

/* ============================================================
   ТЕКСТ МАТЕРИАЛА
   ============================================================ */
.sl-content { font-family: var(--f-body); font-size: var(--fs-content); line-height: 1.75; color: var(--c-text); overflow-wrap: break-word; }
.sl-content::after { content: ''; display: table; clear: both; }
.sl-content p { margin: 0 0 1em; }
.sl-content a { color: var(--c-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 700; }
.sl-content a:hover { color: var(--c-link-hover); text-decoration: none; }
.sl-content h2,
.sl-content h3,
.sl-content h4,
.sl-content h5,
.sl-content h6 {
  font-size: var(--fs-content-h2);
  margin: 1.5em 0 .6em;
}
.sl-content img { max-width: 100%; height: auto !important; }
.sl-content img[style*="float: left"], .sl-content .alignleft { margin: 4px 22px 12px 0 !important; }
.sl-content img[style*="float: right"], .sl-content .alignright { margin: 4px 0 12px 22px !important; }
.sl-content .aligncenter { display: block; margin: 0 auto 1em; }
.sl-content ul, .sl-content ol { margin: 0 0 1.1em; padding-left: 1.4em; }
.sl-content li { margin: 0 0 .35em; }
.sl-content blockquote,
.sl-content blockquote.sl-quote {
  margin: 1.4em 0; padding: 14px 22px; background: #f7f3ee; border-left: 4px solid var(--c-accent);
  font-style: italic; color: #3d3833;
}
.sl-content blockquote p:last-child { margin-bottom: 0; }
.sl-content [style*="text-align: justify"],
.sl-content [style*="text-align:justify"] { text-align: justify; }
.sl-content .sl-small { font-size: .88em; color: var(--c-muted); }
.sl-content .sl-accent { color: var(--c-link); font-weight: 700; }
.sl-content a[id]:not([href]),
.sl-content a[name]:empty { display: block; height: 0; overflow: hidden; visibility: hidden; scroll-margin-top: 80px; }

.sl-content hr { border: 0; height: 1px; background: linear-gradient(90deg, transparent, #cfc3b7, transparent); margin: 2em 0; }
.sl-content table { width: 100% !important; border-collapse: collapse; margin: 0 0 1.4em; font-size: 16px; display: block; overflow-x: auto; }
.sl-content th, .sl-content td { border: 1px solid #e2dbd2; padding: 7px 10px; vertical-align: top; }
.sl-content th { background: #f4efe9; font-family: var(--f-head); }
.sl-content iframe, .sl-content video, .sl-content embed, .sl-content object { max-width: 100%; }
.sl-content figure { margin: 0 0 1.2em; max-width: 100%; }
.sl-content figcaption, .sl-content .wp-caption-text { font-family: var(--f-head); font-size: 13.5px; color: var(--c-muted); }
.sl-content .wp-caption { max-width: 100%; }

/* Gutenberg-паттерны: ряды текст + фото */
.sl-content .sl-about-row.wp-block-columns {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 28px 32px;
  margin: 0;
  padding: 28px 0;
  max-width: none;
}
.sl-content .sl-about-row--hero.wp-block-columns {
  align-items: stretch;
  gap: 20px 24px;
  padding-top: 12px;
}
.sl-content .sl-about-row.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
  flex-basis: 50% !important;
  flex-grow: 0;
  min-width: 0;
}
.sl-content .sl-about-row--hero.wp-block-columns > .wp-block-column:first-child {
  flex-basis: 20% !important;
}
.sl-content .sl-about-row--hero.wp-block-columns > .wp-block-column:last-child {
  flex-basis: 80% !important;
}
.sl-content .sl-about-title {
  margin: 0 0 12px;
  font-family: var(--f-head);
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--c-dark);
}
.sl-content .sl-about-lead,
.sl-content .sl-about-row p {
  font-family: var(--f-body);
  font-size: 15.5px;
  line-height: 1.65;
  color: #4a433c;
  margin: 0 0 1em;
}
.sl-content .sl-about-row p:last-child { margin-bottom: 0; }
.sl-content .sl-about-photo,
.sl-content .sl-about-photo img {
  border-radius: 0 !important;
  margin: 0;
}
.sl-content .sl-about-photo {
  height: 100%;
  background: #ddd7ce;
  overflow: hidden;
}
.sl-content .sl-about-photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}
.sl-content .sl-about-row--hero .sl-about-photo img { min-height: 420px; }
.sl-content .sl-about-band {
  max-width: none;
  margin: 0;
  padding: 28px 0 36px;
}
.sl-content .sl-about-band-title {
  margin: 0 0 24px;
  font-family: var(--f-head);
  font-size: clamp(24px, 2.6vw, 30px);
  font-weight: 700;
  color: var(--c-dark);
}
.sl-content .sl-about-band-lead {
  margin: 0 0 1.2em;
  color: var(--c-muted);
  font-size: 16px;
}
.sl-content .sl-about-goals {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  counter-reset: about-item;
}
.sl-content .sl-about-goals li {
  counter-increment: about-item;
  position: relative;
  margin: 0;
  padding: 16px 16px 16px 52px;
  background: #fff;
  border-radius: 0;
  font-family: var(--f-body);
  font-size: 15.5px;
  line-height: 1.5;
  color: #4a433c;
}
.sl-content .sl-about-goals li::before {
  content: counter(about-item, decimal-leading-zero);
  position: absolute;
  left: 14px;
  top: 16px;
  font-family: var(--f-head);
  font-size: 15px;
  font-weight: 700;
  color: var(--c-accent);
}
.sl-content .sl-about-cta {
  justify-content: center;
  margin: 16px 0 8px;
  padding: 0;
}
.sl-content .sl-about-btn .wp-block-button__link,
.sl-content .sl-about-cta .wp-block-button__link {
  border-radius: 0 !important;
  background: var(--c-dark) !important;
  color: #fff !important;
  font-family: var(--f-head);
  font-size: 16px;
  padding: 14px 28px;
  min-height: 48px;
}
.sl-content .sl-about-btn .wp-block-button__link:hover,
.sl-content .sl-about-cta .wp-block-button__link:hover {
  background: var(--c-link) !important;
}

/* вставки, перенесённые из Joomla */
.sl-embed { margin: 0 0 1.4em; }
.sl-embed iframe { width: 100%; border: 0; display: block; }
.sl-embed--video { position: relative; aspect-ratio: 16 / 9; background: #000; }
.sl-embed--video iframe { position: absolute; inset: 0; height: 100%; }
.sl-doc { margin: 0 0 1.4em; border: 1px solid #e5ded5; background: #faf8f5; }
.sl-doc iframe { width: 100%; border: 0; display: block; background: #fff; }
.sl-doc__link { margin: 0; padding: 9px 14px; font-family: var(--f-head); font-size: 14px; }
.sl-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin: 0 0 1.4em; }
.sl-gallery__item { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #eee; }
.sl-gallery__item img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .4s, opacity .3s; }
.sl-gallery__item:hover img { transform: scale(1.06); }
.sl-tabs { margin: 0 0 1.4em; }
.sl-tab { border: 1px solid #e5ded5; margin: 0 0 -1px; background: #fff; }
.sl-tab > summary {
  cursor: pointer; list-style: none; padding: 11px 16px 11px 40px; position: relative;
  font-family: var(--f-head); font-weight: 700; font-size: 16px; color: var(--c-dark); background: #f7f3ee;
}
.sl-tab > summary::-webkit-details-marker { display: none; }
.sl-tab > summary::before {
  content: ''; position: absolute; left: 16px; top: 50%; width: 8px; height: 8px; margin-top: -6px;
  border-right: 2px solid var(--c-accent); border-bottom: 2px solid var(--c-accent); transform: rotate(-45deg); transition: transform .2s;
}
.sl-tab[open] > summary::before { transform: rotate(45deg); }
.sl-tab__body { padding: 14px 18px 4px; }
.sl-notice { border: 1px dashed var(--c-accent); background: #fbf6f4; padding: 12px 16px; margin: 0 0 1.2em; font-size: 16px; }

/* ============================================================
   РУБРИКА, АВТОР, ЛЮДИ, СТРАНИЦЫ
   ============================================================ */
.sl-archive__desc { margin: -6px 0 16px; color: #4a4540; font-size: 16px; }
.sl-archive__desc--rich { line-height: 1.65; }
.sl-archive__desc--rich p { margin: 0 0 .85em; }
.sl-archive__desc--rich p:last-child { margin-bottom: 0; }
.sl-archive__desc--rich img { max-width: 100%; height: auto; }
.sl-archive__desc--rich ul, .sl-archive__desc--rich ol { margin: 0 0 1em; padding-left: 1.3em; }
.sl-tag-cover { margin: 0 0 18px; }
.sl-tag-cover__img { display: block; width: 100%; height: auto; }

/* Обычные теги: та же типографика, что у проектов (настройки fs_project_*) */
.sl-archive__head--tag {
  text-align: center;
  margin: 0 0 12px;
}
.sl-archive__head--tag .sl-project__title {
  margin-bottom: 22px;
}
.sl-archive__head--tag .sl-panel__sub {
  display: inline-block;
  margin-left: .35em;
  font-size: .55em;
  letter-spacing: 0;
  color: var(--c-muted);
  vertical-align: middle;
}
.sl-archive__head--tag .sl-tag-cover {
  margin: 0 0 28px;
  text-align: left;
}
.sl-archive__head--tag .sl-project__desc {
  text-align: left;
  margin: 0 0 8px;
}
.sl-feed .sl-archive__head--tag + .sl-cards {
  margin-top: 28px;
}
.sl-subcats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }

/* ---------- Посадочная тега-проекта (на всю ширину layout) ---------- */
.sl-panel.sl-project {
  box-shadow: 0 10px 36px rgba(15, 40, 44, .09);
  padding: 36px 40px 52px;
  border-radius: 0;
}
.sl-project { width: 100%; max-width: none; margin: 0; }
.sl-project__head { text-align: center; margin: 0 0 8px; }
.sl-project__title {
  font-family: var(--f-head); font-weight: 400;
  font-size: clamp(calc(var(--fs-project-title) * 0.72), 3.2vw, var(--fs-project-title));
  text-transform: none; letter-spacing: .01em; color: var(--c-ink);
  margin: 0 0 28px; line-height: 1.22; border: 0; padding: 0;
  position: relative;
}
.sl-project__title::after {
  content: ''; display: block; width: 56px; height: 2px;
  margin: 16px auto 0; background: var(--c-accent); opacity: .85;
}
.sl-project__hero {
  margin: 0 0 40px; width: 100%; overflow: hidden;
  border-radius: 0;
  box-shadow: 0 6px 18px rgba(15, 40, 44, .14);
  transition: box-shadow .25s ease, transform .25s ease;
}
.sl-project__hero:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 40, 44, .18);
}
.sl-project__hero-img { display: block; width: 100%; height: auto; margin: 0; }
/* Показатели: лёгкая сетка без «коробок» */
.sl-project__stats {
  list-style: none; margin: 8px 0 12px; padding: 28px 0 8px;
  display: grid; grid-template-columns: repeat(var(--sl-stats, 4), minmax(0, 1fr));
  gap: 32px 40px; width: 100%; background: transparent; border: 0;
  border-top: 1px solid var(--c-line);
}
.sl-project__stat {
  text-align: center; padding: 0; margin: 0;
  background: transparent; border: 0; border-radius: 0; box-shadow: none;
}
.sl-project__stat-icon {
  display: flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; margin: 0 auto 14px;
  background: transparent; border: 0; box-shadow: none; border-radius: 0;
  color: var(--c-ink); line-height: 0; opacity: .88;
}
.sl-project__stat-icon .sl-i { width: 34px; height: 34px; stroke-width: 1.45; }
.sl-project__feat-img {
  width: 40px; height: 40px; object-fit: contain; display: block; margin: 0 auto;
}
.sl-project__stat-label {
  display: block; font-family: var(--f-head); font-size: var(--fs-project-stat-label); font-weight: 400;
  text-transform: none; letter-spacing: .01em; color: var(--c-ink); margin: 0 0 6px;
  line-height: 1.3;
}
.sl-project__stat-value {
  display: block; font-family: var(--f-body); font-size: var(--fs-project-stat-value); font-weight: 400;
  color: #5a524a; line-height: 1.55;
}
.sl-project__stat-value a {
  color: var(--c-link); font-weight: 700;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px;
  word-break: break-word;
}
.sl-project__stat-value a:hover { color: var(--c-link-hover); text-decoration: none; }
.sl-project__resources .sl-cards { margin-top: 8px; }
.sl-project-file {
  display: flex; flex-direction: column; background: var(--c-paper);
  box-shadow: none; min-width: 0;
}
.sl-project-file__img {
  display: block; aspect-ratio: 966 / 500; overflow: hidden; background: #ebe4db;
  border-radius: 3px;
}
.sl-project-file__img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .4s ease;
}
.sl-project-file:hover .sl-project-file__img img { transform: scale(1.035); }
.sl-project-file__title {
  font-family: var(--f-head); font-size: 18px; line-height: 1.35; margin: 14px 0 0;
  font-weight: 400;
}
.sl-project-file__title a { color: var(--c-ink); text-decoration: none; }
.sl-project-file__title a:hover { color: var(--c-link); }

/* Материалы — список */
.sl-project-reslist {
  list-style: none; margin: 12px 0 0; padding: 0;
}
.sl-project-reslist__item {
  margin: 0 0 14px; padding-left: 16px; position: relative;
  font-family: var(--f-head); font-size: 18px; line-height: 1.45;
}
.sl-project-reslist__item::before {
  content: ''; position: absolute; left: 0; top: .6em;
  width: 5px; height: 5px; background: var(--c-accent); border-radius: 50%;
}
.sl-project-reslist__item a { color: var(--c-link); text-decoration: none; }
.sl-project-reslist__item a:hover { color: var(--c-link-hover); }

/* Материалы — карточки PDF (как файлы, стиль Гильдии) */
.sl-project-pdfs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
  margin-top: 18px;
}
.sl-project-pdf {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 14px 16px;
  align-items: center;
  min-width: 0;
  padding: 16px 16px 16px 14px;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: 0;
  box-shadow: 0 4px 16px rgba(15, 40, 44, .06);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.sl-project-pdf:hover {
  border-color: #d5ccc0;
  box-shadow: 0 8px 22px rgba(15, 40, 44, .1);
}
.sl-project-pdf__icon {
  display: flex; align-items: center; justify-content: center;
  width: 72px; height: 88px;
}
.sl-project-pdf__sheet {
  position: relative;
  display: block;
  width: 58px; height: 74px;
  background: linear-gradient(165deg, #f7f2eb 0%, #ebe3d8 100%);
  border: 1px solid #d9cfc3;
  border-radius: 3px 10px 3px 3px;
  box-shadow: 2px 3px 0 rgba(88, 30, 21, .06);
}
.sl-project-pdf__fold {
  position: absolute; top: 0; right: 0;
  width: 16px; height: 16px;
  background: linear-gradient(135deg, #fff 0%, #fff 48%, #d4c8ba 52%, #cfc3b7 100%);
  border-left: 1px solid #d9cfc3;
  border-bottom: 1px solid #d9cfc3;
  border-radius: 0 8px 0 0;
}
.sl-project-pdf__badge {
  position: absolute;
  left: 50%; bottom: 10px;
  transform: translateX(-50%);
  min-width: 42px;
  max-width: calc(100% - 6px);
  padding: 3px 5px 2px;
  background: #ae6b62;
  color: #fff;
  font-family: var(--f-head);
  font-size: 11px; font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.2;
  text-align: center;
  border-radius: 0;
  box-shadow: 0 2px 6px rgba(174, 107, 98, .35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}
.sl-project-pdf__badge--web { background: #3d6b73; box-shadow: 0 2px 6px rgba(61, 107, 115, .35); }
.sl-project-pdf__badge--pdf { background: #ae6b62; }
.sl-project-pdf__badge--ppt,
.sl-project-pdf__badge--pptx,
.sl-project-pdf__badge--pps,
.sl-project-pdf__badge--ppsx { background: #c47a3a; box-shadow: 0 2px 6px rgba(196, 122, 58, .35); }
.sl-project-pdf__badge--doc,
.sl-project-pdf__badge--docx,
.sl-project-pdf__badge--odt,
.sl-project-pdf__badge--rtf { background: #3a6ea5; box-shadow: 0 2px 6px rgba(58, 110, 165, .35); }
.sl-project-pdf__badge--xls,
.sl-project-pdf__badge--xlsx,
.sl-project-pdf__badge--ods,
.sl-project-pdf__badge--csv { background: #3d8a5a; box-shadow: 0 2px 6px rgba(61, 138, 90, .35); }
.sl-project-pdf__badge--zip,
.sl-project-pdf__badge--rar,
.sl-project-pdf__badge--7z { background: #6b5b7a; box-shadow: 0 2px 6px rgba(107, 91, 122, .35); }
.sl-project-pdf__body { min-width: 0; }
.sl-project-pdf__title {
  margin: 0;
  font-family: var(--f-head);
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 700;
  line-height: 1.35;
}
.sl-project-pdf__title a {
  color: var(--c-link);
  text-decoration: none;
}
.sl-project-pdf__title a:hover { color: var(--c-link-hover); }
.sl-project-pdf__actions {
  display: flex; flex-direction: column; gap: 8px;
  flex-shrink: 0;
}
.sl-project-pdf__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 7px 12px;
  background: var(--c-soft);
  border: 1px solid #e0d8ce;
  border-radius: 0;
  color: var(--c-dark);
  font-family: var(--f-head);
  font-size: 13.5px; line-height: 1.2;
  text-decoration: none; white-space: nowrap;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sl-project-pdf__btn .sl-i {
  width: 15px; height: 15px; flex-shrink: 0;
}
.sl-project-pdf__btn:hover {
  background: #fff;
  border-color: var(--c-accent);
  color: var(--c-accent);
}
/* Планшеты/мобиле: PDF-материалы в две колонки, карточка компактнее */
@media (max-width: 900px) {
  .sl-project-pdfs { grid-template-columns: 1fr 1fr; gap: 12px; }
  .sl-project-pdf {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    padding: 14px 12px 12px;
    gap: 10px;
  }
  .sl-project-pdf__icon { width: 56px; height: 70px; }
  .sl-project-pdf__sheet { width: 46px; height: 60px; }
  .sl-project-pdf__badge { font-size: 11px; min-width: 36px; bottom: 8px; }
  .sl-project-pdf__title { font-size: 14.5px; }
  .sl-project-pdf__actions { width: 100%; }
  .sl-project-pdf__btn { width: 100%; flex: 1 1 auto; white-space: normal; }
}
@media (max-width: 520px) {
  .sl-project-pdfs { gap: 10px; }
  .sl-project-pdf { padding: 12px 10px 10px; gap: 8px; }
  .sl-project-pdf__icon { width: 48px; height: 60px; }
  .sl-project-pdf__sheet { width: 40px; height: 52px; }
  .sl-project-pdf__title { font-size: 13.5px; }
  .sl-project-pdf__btn { font-size: 12.5px; padding: 6px 8px; }
}

/* Материалы — обложки книг 5:7, макс. 4 в ряд, 3D */
.sl-project-covers {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 32px; margin-top: 18px; perspective: 1200px;
  justify-items: center;
}
.sl-project-cover { min-width: 0; width: 100%; max-width: 210px; }
.sl-project-cover__link {
  display: block; text-decoration: none; color: inherit;
}
.sl-project-cover__3d {
  display: block; position: relative; aspect-ratio: 5 / 7;
  transform-style: preserve-3d; transition: transform .3s ease;
  border-radius: 3px;
}
.sl-project-cover__face {
  display: block; width: 100%; height: 100%; overflow: hidden;
  background: #ebe4db; border-radius: 3px;
  box-shadow:
    0 1px 2px rgba(0,0,0,.1),
    6px 10px 24px rgba(15, 40, 44, .14),
    inset -5px 0 10px rgba(0,0,0,.06);
  transform: rotateY(-5deg) rotateX(2deg);
  transform-origin: left center;
  transition: transform .3s ease, box-shadow .3s ease;
}
.sl-project-cover__img,
.sl-project-cover__placeholder {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.sl-project-cover__placeholder { background: linear-gradient(145deg, #e8dfd4, #d4c8ba); }
.sl-project-cover__3d.is-tilt .sl-project-cover__face,
.sl-project-cover__link:hover .sl-project-cover__face {
  transform: rotateY(-12deg) rotateX(3deg) translateY(-3px);
  box-shadow:
    0 2px 4px rgba(0,0,0,.12),
    12px 16px 28px rgba(15, 40, 44, .2),
    inset -6px 0 12px rgba(0,0,0,.08);
}
.sl-project-cover__title {
  display: block; margin-top: 14px; text-align: center;
  font-family: var(--f-cover); font-size: var(--fs-cover); font-weight: 700;
  line-height: 1.35; color: var(--c-ink);
}
@media (max-width: 900px) {
  .sl-project-covers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 18px; }
  .sl-project-cover { max-width: 180px; }
}
@media (max-width: 520px) {
  .sl-project-covers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sl-project-cover { max-width: 150px; }
}

/* Заголовки секций: короткая terracotta, без тяжёлых полос */
.sl-project__section-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  margin: 48px 0 0; border: 0; padding: 0;
}
.sl-project__section-head .sl-project__section-title {
  border: 0; margin: 0; padding: 0; flex: 1;
}
.sl-project__section-head .sl-pager__nav { margin: 4px 0 0; flex-shrink: 0; }
.sl-project__section-title {
  font-family: var(--f-head); font-weight: 400; font-size: var(--fs-project-section);
  text-transform: uppercase; letter-spacing: .14em; color: var(--c-ink);
  border-bottom: 0; padding: 0; margin: 48px 0 22px;
  position: relative;
}
.sl-project__section-title::after {
  content: ''; display: block; width: 40px; height: 2px;
  margin-top: 12px; background: var(--c-accent); opacity: .9;
}
.sl-project__about { margin: 0 0 4px; width: 100%; }
.sl-project__desc {
  font-family: var(--f-body); font-size: var(--fs-project-desc); line-height: 1.78;
  color: #3f3933; width: 100%; max-width: none; margin: 0; text-align: left;
}
.sl-project__desc p { margin: 0 0 1.15em; }
.sl-project__desc p:last-child { margin-bottom: 0; }
.sl-project__desc h2,
.sl-project__desc h3,
.sl-project__desc h4,
.sl-project__desc h5,
.sl-project__desc h6 {
  font-family: var(--f-head);
  font-weight: 700;
  font-size: var(--fs-content-h2);
  color: var(--c-ink);
  text-align: center;
  /* сверху чуть больше, чем снизу — «пара пунктов» */
  margin: 1.7em 0 .7em;
  line-height: 1.35;
}
.sl-project__desc h2:first-child,
.sl-project__desc h3:first-child,
.sl-project__desc h4:first-child,
.sl-project__desc h5:first-child,
.sl-project__desc h6:first-child { margin-top: .35em; }
.sl-project__desc p.has-text-align-center,
.sl-project__desc p[style*="text-align:center"],
.sl-project__desc p[style*="text-align: center"] {
  margin-top: 1.7em;
  margin-bottom: .7em;
}
.sl-project__desc > p.has-text-align-center:first-child,
.sl-project__desc > p[style*="text-align:center"]:first-child,
.sl-project__desc > p[style*="text-align: center"]:first-child {
  margin-top: .35em;
}
.sl-project__desc img { max-width: 100%; height: auto !important; object-fit: contain; border-radius: 2px; }
.sl-project__desc img.alignleft { float: left; margin: 0.35em 1.4em 0.9em 0; }
.sl-project__desc img.alignright { float: right; margin: 0.35em 0 0.9em 1.4em; }
.sl-project__desc img.aligncenter { display: block; margin: 1em auto; }
.sl-project__desc .wp-caption { max-width: 100%; }
.sl-project__desc ul, .sl-project__desc ol { margin: 0 0 1.15em; padding-left: 1.35em; }
.sl-project__anonsy { margin-top: 4px; }
.sl-project__anonsy .sl-pager__pages { margin-top: 20px; }
.sl-project-ann {
  list-style: none; margin: 0; padding: 0;
  display: none; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 22px;
}
.sl-project-ann.is-active { display: grid; }
.sl-project-ann__item { margin: 0; min-width: 0; }
.sl-project-ann__link {
  display: block; height: 100%; padding: 18px 44px 18px 20px;
  background: #13282d; border: 1px solid #13282d; border-radius: 0;
  text-decoration: none; position: relative;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease, transform .25s ease;
}
.sl-project-ann__link:hover {
  border-color: #1e3d44; background: #0f2226;
  box-shadow: 0 10px 24px rgba(15, 40, 44, .28); transform: translateY(-2px);
}
.sl-project-ann__icon {
  position: absolute; top: 12px; right: 12px;
  display: flex; align-items: center; justify-content: center;
  width: 22px; height: 22px;
  color: rgb(165, 241, 255); opacity: .38;
  pointer-events: none;
  transition: opacity .25s ease, color .25s ease;
}
.sl-project-ann__icon .sl-i { width: 20px; height: 20px; }
.sl-project-ann__link:hover .sl-project-ann__icon { opacity: .72; color: #fff; }
.sl-project-ann__title {
  display: block; font-family: var(--f-head); font-size: 17px; line-height: 1.45;
  color: rgb(165, 241, 255);
}
.sl-project-ann__link:hover .sl-project-ann__title { color: #fff; }
.sl-project__gallery { margin-top: 4px; }
/* Горизонтальный слайдер галереи */
.sl-pgallery__head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  margin: 48px 0 0; border: 0; padding: 0;
}
.sl-pgallery__head .sl-project__section-title--inline {
  border: 0; margin: 0; padding: 0; flex: 1;
}
.sl-pgallery__nav { display: flex; gap: 8px; flex-shrink: 0; margin: 4px 0 0; }
.sl-pgallery {
  margin: 20px 0 0; position: relative;
  --pg-gap: 14px;
  --pg-slide-w: 300px;
  --pg-slide-h: 200px;
}
.sl-pgallery__viewport {
  overflow-x: auto; overflow-y: hidden;
  -webkit-overflow-scrolling: touch; scroll-behavior: smooth;
  touch-action: pan-x; cursor: grab;
  scrollbar-width: none; -ms-overflow-style: none;
  padding: 2px 0 6px; margin: 0;
}
.sl-pgallery__viewport::-webkit-scrollbar { display: none; width: 0; height: 0; }
.sl-pgallery__viewport.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.sl-pgallery__rail {
  display: grid;
  grid-auto-flow: row;
  gap: var(--pg-gap);
  width: max-content;
  min-height: var(--pg-slide-h);
}
.sl-pgallery__slide {
  width: var(--pg-slide-w); height: var(--pg-slide-h);
  display: block; margin: 0; padding: 0; overflow: hidden;
  background: #ebe4db; text-decoration: none; border-radius: 0;
  cursor: zoom-in;
  box-shadow: 0 2px 10px rgba(15, 40, 44, .06);
  transition: box-shadow .3s ease;
}
.sl-pgallery__slide:hover { box-shadow: 0 6px 18px rgba(15, 40, 44, .12); }
.sl-pgallery__img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  border-radius: 0; pointer-events: none; user-select: none;
  transition: transform .45s ease;
}
.sl-pgallery__slide:hover .sl-pgallery__img { transform: scale(1.04); }
.sl-pgallery__arrow {
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid #ddd5cb; background: #fff; color: #6a635c;
  display: grid; place-items: center; padding: 0; cursor: pointer;
  transition: border-color .2s, color .2s, background .2s;
}
.sl-pgallery__arrow:hover { border-color: var(--c-link); color: var(--c-link); background: #f7fafb; }
.sl-pgallery.no-prev .sl-pgallery__arrow--prev,
.sl-pgallery.no-next .sl-pgallery__arrow--next,
.sl-project__gallery.no-prev .sl-pgallery__arrow--prev,
.sl-project__gallery.no-next .sl-pgallery__arrow--next { opacity: .25; pointer-events: none; }
.sl-project__materials { margin-top: 4px; }
.sl-project__materials .sl-cards--3 { margin-top: 8px; }

/* Видео проекта — плейлист (компоновка как YouTube, стиль Гильдии) */
.sl-project__videos,
.sl-project__playlist { margin: 12px 0 64px; }
.sl-project__videos > .sl-project__section-title,
.sl-project__playlist > .sl-project__section-title { margin-top: 56px; margin-bottom: 32px; }
.sl-playlist--solo {
  grid-template-columns: 1fr;
}
.sl-playlist--solo .sl-playlist__player { grid-column: 1; }
.sl-playlist__vk-card {
  display: flex; flex-direction: column; justify-content: center; gap: 10px;
  min-height: 180px; padding: 28px 32px;
  background: linear-gradient(145deg, #2787f5 0%, #1a5fb4 55%, #0e3d7a 100%);
  color: #fff; text-decoration: none;
  box-shadow: 0 8px 28px rgba(5, 25, 29, .22);
  transition: transform .15s ease, box-shadow .15s ease;
}
.sl-playlist__vk-card:hover {
  color: #fff; transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(5, 25, 29, .28);
}
.sl-playlist__vk-label {
  font-family: var(--f-head); font-size: 1.35rem; font-weight: 400; letter-spacing: .02em;
}
.sl-playlist__vk-action {
  font-family: var(--f-body); font-size: 15px; opacity: .92;
}
.sl-project__playlist + .sl-project__playlist {
  margin-top: 8px;
}
.sl-project__playlist + .sl-project__playlist > .sl-project__section-title {
  margin-top: 40px;
}
.sl-playlist__item.is-loading { opacity: .75; pointer-events: none; }
.sl-playlist {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
  grid-template-rows: auto;
  column-gap: 14px;
  /* start: иначе длинный список растягивает ряд и «портянку» */
  align-items: start;
}
.sl-playlist__player {
  grid-column: 1; grid-row: 1;
  position: relative; width: 100%; aspect-ratio: 16 / 9;
  background: var(--c-dark2); border-radius: 0; overflow: hidden;
  box-shadow: 0 8px 28px rgba(5, 25, 29, .22);
}
.sl-playlist__player iframe,
.sl-playlist__player video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  border: 0; display: block; background: #000;
}
.sl-playlist__aside {
  grid-column: 2; grid-row: 1;
  min-width: 0;
  /* высота = плеер (через JS) или запасной потолок ~высота 16:9 */
  height: var(--sl-playlist-h, min(800px, 70vh));
  max-height: min(800px, 70vh);
  display: flex; flex-direction: column;
  background: var(--c-dark);
  color: #ece6df;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(5, 25, 29, .22);
}
.sl-playlist__head {
  flex-shrink: 0;
  padding: 12px 16px 10px;
  background: var(--c-dark2);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.sl-playlist__head-meta {
  font-family: var(--f-head); font-size: 13px; line-height: 1.4;
  color: rgba(236, 230, 223, .72);
}
.sl-playlist__list {
  flex: 1 1 auto; min-height: 0;
  overflow-y: auto; overflow-x: hidden;
  overscroll-behavior: contain;
  padding: 6px 4px 10px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.35) rgba(0,0,0,.2);
}
.sl-playlist__list::-webkit-scrollbar { width: 8px; }
.sl-playlist__list::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, .25); border-radius: 4px;
}
.sl-playlist__list::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.35); border-radius: 4px;
}
.sl-playlist__list::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,.5);
}
.sl-playlist__item {
  display: grid;
  grid-template-columns: 26px 108px minmax(0, 1fr);
  gap: 6px 10px;
  align-items: start;
  width: 100%; margin: 0; padding: 7px 8px 7px 2px;
  border: 0; border-radius: 0; background: transparent;
  text-align: left; cursor: pointer; color: inherit; font: inherit;
  transition: background .18s ease;
}
.sl-playlist__item:hover { background: rgba(255, 255, 255, .06); }
.sl-playlist__item.is-active {
  background: rgba(164, 90, 82, .28);
  box-shadow: inset 3px 0 0 var(--c-accent);
}
.sl-playlist__num {
  display: block; padding-top: 22px;
  font-family: var(--f-head); font-size: 12px; line-height: 1;
  color: rgba(236, 230, 223, .42); text-align: center;
}
.sl-playlist__item.is-active .sl-playlist__num { color: var(--c-accent); }
.sl-playlist__thumb {
  display: block; position: relative; aspect-ratio: 16 / 9;
  overflow: hidden; background: #1a2224; border-radius: 0;
}
.sl-playlist__img, .sl-playlist__ph {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.sl-playlist__ph {
  background: linear-gradient(145deg, #2c3a3d, #0f1a1c);
}
.sl-playlist__dur {
  position: absolute; right: 4px; bottom: 4px;
  padding: 1px 5px;
  background: rgba(0, 0, 0, .82); color: #fff;
  font-family: var(--f-head); font-size: 11px; line-height: 1.3;
  border-radius: 0; letter-spacing: .02em;
}
.sl-playlist__item-body { min-width: 0; padding-top: 1px; }
.sl-playlist__item-title {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden;
  font-family: var(--f-head); font-size: 13px; line-height: 1.35;
  color: #f2ebe3; font-weight: 500;
}
.sl-playlist__item.is-active .sl-playlist__item-title {
  color: #fff; font-weight: 700;
}

@media (max-width: 900px) {
  .sl-playlist {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    column-gap: 0;
  }
  .sl-playlist__player {
    grid-column: 1; grid-row: 1;
    border-radius: 0;
  }
  .sl-playlist__aside {
    grid-column: 1; grid-row: 2;
    height: 320px !important;
    max-height: 320px;
    border-radius: 0;
  }
}

@media (max-width: 900px) {
  .sl-panel.sl-project { padding: 28px 22px 40px; }
  .sl-project-ann.is-active { grid-template-columns: 1fr 1fr; }
  .sl-project__stats { grid-template-columns: 1fr 1fr; gap: 28px 24px; }
}
@media (max-width: 820px) {
  .sl-project__stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .sl-panel.sl-project { padding: 22px 16px 32px; }
  /* Показатели / каналы: две колонки и на узких телефонах */
  .sl-project__stats { grid-template-columns: 1fr 1fr; gap: 22px 14px; padding-top: 22px; }
  .sl-project__stat-icon .sl-i { width: 30px; height: 30px; }
  .sl-project__stat-icon, .sl-project__feat-img { width: 36px; height: 36px; }
  .sl-project__stat-label { font-size: max(14px, calc(var(--fs-project-stat-label) * 0.94)); }
  .sl-project__stat-value { font-size: 15.5px; }
  .sl-project-ann.is-active { grid-template-columns: 1fr; }
  .sl-project__section-title,
  .sl-project__section-head,
  .sl-pgallery__head { margin-top: 36px; }
  .sl-pgallery {
    --pg-gap: 12px;
    --pg-slide-w: min(260px, 70vw);
    --pg-slide-h: 160px;
  }
}

.sl-author__head { display: flex; gap: 26px; align-items: center; margin: 0 0 24px; padding-bottom: 20px; border-bottom: 3px solid var(--c-dark2); }
.sl-author__photo img { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; border: 4px solid #fff; box-shadow: 0 0 0 1px #e2dbd2, var(--shadow-soft); display: block; }
.sl-author__name { font-size: 30px; margin: 0 0 6px; color: var(--c-dark); }
.sl-author__count { font-family: var(--f-head); color: var(--c-muted); margin: 0 0 8px; display: flex; align-items: center; gap: 6px; }
.sl-author__contacts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; font-family: var(--f-head); font-size: 14px; }
.sl-author__contacts a { display: inline-flex; align-items: center; gap: 6px; }
.sl-author__bio { margin: 0 0 30px; }
.sl-author__posts-title { margin-top: 10px; }

/* ---------- Учредители и члены Гильдии ---------- */
.sl-guild { margin-top: 8px; }
.sl-guild-org { margin: 0 0 40px; }
.sl-guild-org__chair {
  display: flex;
  gap: 20px 24px;
  align-items: flex-start;
  background: linear-gradient(135deg, #f4efe9 0%, #ebe4db 100%);
  border-left: 4px solid var(--c-accent);
  padding: 22px 28px 24px;
  margin: 0 0 32px;
}
.sl-guild-org__chair-text { min-width: 0; flex: 1; }
.sl-guild-org__photo {
  flex: 0 0 150px;
  width: 150px;
  height: 150px;
  background: #ddd7ce;
  overflow: hidden;
}
.sl-guild-org__photo img {
  display: block;
  width: 150px;
  height: 150px;
  object-fit: cover;
}
.sl-guild-org__label {
  margin: 0 0 6px;
  font-family: var(--f-head);
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--c-muted);
}
.sl-guild-org__name {
  margin: 0 0 10px;
  font-family: var(--f-head);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 700;
  color: var(--c-dark);
  line-height: 1.25;
}
.sl-guild-org__bio {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: #4a433c;
  max-width: 52em;
}
.sl-guild-org__heading {
  margin: 0 0 16px;
  font-family: var(--f-head);
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 700;
  color: var(--c-dark);
}
.sl-guild-org__block { margin: 0 0 28px; }
.sl-guild-org__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}
.sl-guild-org__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sl-guild-org__grid--1 { grid-template-columns: minmax(0, 1fr); max-width: none; width: 100%; }
.sl-guild--board .sl-guild-org__block { max-width: none; width: 100%; }
.sl-guild--board .sl-guild-org__card {
  width: 100%;
  padding: 18px 22px 20px;
}
.sl-guild--board .sl-guild-org__card .sl-guild-org__photo {
  flex: 0 0 150px;
  width: 150px;
  height: 150px;
}
.sl-guild--board .sl-guild-org__card .sl-guild-org__photo img {
  width: 150px;
  height: 150px;
}
/* Советы: на всю ширину панели + шрифт +3pt */
.sl-article--guild-board .sl-guild,
.sl-article--guild-board .sl-guild-org,
.sl-article--guild-board .sl-guild-org__block,
.sl-article--guild-board .sl-guild-org__grid--1 { width: 100%; max-width: none; }
.sl-article--guild-board .sl-article__title { font-size: calc(var(--fs-article-title) + 3pt); }
.sl-article--guild-board .sl-crumbs { font-size: calc(var(--fs-crumbs) + 3pt); }
.sl-article--guild-board .sl-guild-org__card-name { font-size: calc(17px + 3pt); }
.sl-article--guild-board .sl-guild-org__card-bio { font-size: calc(14.5px + 3pt); }
.sl-article--guild-board .sl-guild-org__more { font-size: calc(14px + 3pt); }
.sl-article--guild-board .sl-guild-org__heading { font-size: calc(clamp(20px, 2vw, 24px) + 3pt); }
.sl-guild-org__card {
  display: flex;
  gap: 14px 16px;
  align-items: flex-start;
  margin: 0;
  padding: 14px 16px 16px;
  background: #f7f3ee;
  border-top: 3px solid var(--c-link);
}
.sl-guild-org__card .sl-guild-org__photo {
  flex: 0 0 110px;
  width: 110px;
  height: 110px;
}
.sl-guild-org__card .sl-guild-org__photo img {
  width: 110px;
  height: 110px;
}
.sl-guild-org__card-text { min-width: 0; flex: 1; }
.sl-guild-org__card-name {
  margin: 0 0 8px;
  font-family: var(--f-head);
  font-size: 17px;
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1.3;
}
.sl-guild-org__card-bio {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: #5a524a;
}
.sl-guild-org__more {
  margin: 10px 0 0;
  font-family: var(--f-head);
  font-size: 14px;
}
.sl-guild-org__more a { font-weight: 700; }
.sl-guild-list { margin: 0 0 36px; }
.sl-guild-list__title {
  margin: 0 0 4px;
  font-family: var(--f-head);
  font-size: clamp(22px, 2.2vw, 26px);
  font-weight: 700;
  color: var(--c-dark);
}
.sl-guild-list__subtitle {
  margin: 0 0 14px;
  font-family: var(--f-head);
  font-size: 16px;
  font-weight: 700;
  color: var(--c-ink);
}
.sl-guild-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 0 0 18px;
  padding: 10px 12px;
  border: 1px solid #cfc3b7;
  background: #faf8f5;
}
.sl-guild-toolbar__search { flex: 1 1 220px; min-width: 180px; }
.sl-guild-toolbar__search input {
  width: 100%;
  border: 0;
  background: transparent;
  font-family: var(--f-head);
  font-size: 15px;
  padding: 6px 0;
  color: var(--c-text);
}
.sl-guild-toolbar__search input:focus { outline: none; }
.sl-guild-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--f-head);
  font-size: 13px;
  color: var(--c-muted);
}
.sl-guild-toolbar__sort select {
  font-family: var(--f-head);
  font-size: 14px;
  border: 1px solid #cfc3b7;
  background: #fff;
  padding: 6px 10px;
  color: var(--c-text);
}
.sl-guild-toolbar__count {
  font-family: var(--f-head);
  font-size: 13px;
  color: var(--c-muted);
  white-space: nowrap;
}
.sl-guild-toolbar__count::after { content: ' в списке'; }
.sl-guild-cols {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: 36px;
}
.sl-guild-cols--orgs { columns: 1; max-width: 42em; }
.sl-guild-cols__item {
  break-inside: avoid;
  margin: 0 0 8px;
  padding: 0 0 8px;
  border-bottom: 1px solid #efe8df;
  font-size: 15px;
  line-height: 1.4;
  color: var(--c-text);
}
.sl-guild-cols__num {
  font-family: var(--f-head);
  font-size: 13px;
  color: var(--c-muted);
  margin-right: 4px;
}
.sl-guild-cols__name { font-weight: 600; }
.sl-guild-cols__place { color: #5a524a; }
.sl-guild-empty {
  margin: 12px 0 0;
  font-family: var(--f-head);
  color: var(--c-muted);
}
.sl-guild-contact {
  margin: 8px 0 0;
  font-size: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--c-line);
}
.sl-guild-contact a { font-weight: 700; }

/* Учредители: весь текст +1 пункт */
.sl-article--guild .sl-article__title { font-size: calc(var(--fs-article-title) + 1pt); }
.sl-article--guild .sl-crumbs { font-size: calc(var(--fs-crumbs) + 1pt); }
.sl-article--guild .sl-guild-org__label { font-size: calc(13px + 1pt); }
.sl-article--guild .sl-guild-org__name { font-size: calc(clamp(22px, 2.4vw, 28px) + 1pt); }
.sl-article--guild .sl-guild-org__bio { font-size: calc(16px + 1pt); }
.sl-article--guild .sl-guild-org__heading { font-size: calc(clamp(20px, 2vw, 24px) + 1pt); }
.sl-article--guild .sl-guild-org__card-name { font-size: calc(17px + 1pt); }
.sl-article--guild .sl-guild-org__card-bio { font-size: calc(14.5px + 1pt); }
.sl-article--guild .sl-guild-list__title { font-size: calc(clamp(22px, 2.2vw, 26px) + 1pt); }
.sl-article--guild .sl-guild-list__subtitle { font-size: calc(16px + 1pt); }
.sl-article--guild .sl-guild-toolbar__search input { font-size: calc(15px + 1pt); }
.sl-article--guild .sl-guild-toolbar__sort { font-size: calc(13px + 1pt); }
.sl-article--guild .sl-guild-toolbar__sort select { font-size: calc(14px + 1pt); }
.sl-article--guild .sl-guild-toolbar__count { font-size: calc(13px + 1pt); }
.sl-article--guild .sl-guild-cols__item { font-size: calc(15px + 1pt); }
.sl-article--guild .sl-guild-cols__num { font-size: calc(13px + 1pt); }
.sl-article--guild .sl-guild-empty { font-size: calc(15px + 1pt); }

.sl-people__filter { display: flex; align-items: center; gap: 10px; border: 1px solid #cfc3b7; padding: 0 12px; margin: 0 0 22px; color: var(--c-muted); }
.sl-people__filter input { flex: 1; border: 0; padding: 11px 0; font-family: var(--f-head); font-size: 15px; background: transparent; }
.sl-people__filter input:focus { outline: none; }
.sl-people__count { font-family: var(--f-head); font-size: 13px; white-space: nowrap; }
.sl-people__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sl-person a {
  display: flex; flex-direction: column; align-items: center; text-align: center; height: 100%;
  padding: 18px 12px 16px; border: 1px solid #eee7df; background: #fdfcfa; color: var(--c-text);
}
.sl-person a:hover { border-color: var(--c-link-hover); box-shadow: var(--shadow-soft); transform: translateY(-2px); }
.sl-person__photo img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; display: block; margin-bottom: 10px; border: 3px solid #fff; box-shadow: 0 0 0 1px #e2dbd2; }
.sl-person__name { font-family: var(--f-head); font-size: 16px; color: var(--c-link); line-height: 1.3; margin-bottom: 6px; }
.sl-person__bio { font-size: 13.5px; line-height: 1.45; color: #5c5650; margin-bottom: 8px; }
.sl-person__count { margin-top: auto; font-family: var(--f-head); font-size: 12.5px; color: var(--c-muted); display: inline-flex; align-items: center; gap: 5px; }
.sl-person[hidden] { display: none; }

.sl-childpages { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sl-childpages a { display: block; height: 100%; padding: 16px 18px; border: 1px solid #eee7df; border-left: 3px solid var(--c-accent); background: #fdfcfa; color: var(--c-text); }
.sl-childpages a:hover { border-color: var(--c-link-hover); box-shadow: var(--shadow-soft); }
.sl-childpages__title { display: block; font-family: var(--f-head); font-size: 17px; color: var(--c-link); margin-bottom: 6px; }
.sl-childpages__text { display: block; font-size: 14.5px; color: #5c5650; line-height: 1.5; }
.sl-404__latest { margin-top: 30px; }

/* ============================================================
   ПРОСМОТР КАРТИНОК
   ============================================================ */
.sl-lightbox { position: fixed; inset: 0; z-index: 2000; background: rgba(8, 14, 16, .92); display: flex; align-items: center; justify-content: center; animation: sl-fade .25s; }
.sl-lightbox img { max-width: 92vw; max-height: 86vh; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); }
.sl-lightbox button { position: absolute; border: 0; background: rgba(255, 255, 255, .12); color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 22px; display: grid; place-items: center; }
.sl-lightbox button:hover { background: rgba(255, 255, 255, .25); }
.sl-lightbox__close { top: 16px; right: 16px; }
.sl-lightbox__prev { left: 16px; top: 50%; margin-top: -24px; }
.sl-lightbox__next { right: 16px; top: 50%; margin-top: -24px; }
.sl-lightbox__count { position: absolute; bottom: 16px; left: 0; right: 0; text-align: center; color: #ddd; font-family: var(--f-head); font-size: 14px; }

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width: 1320px) {
  .sl-menu a { padding-left: 11px; padding-right: 11px; font-size: 16px; }
  .sl-menu > li > a::after { left: 11px; right: 11px; }
}

@media (max-width: 1100px) {
  .sl-guild-org__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sl-menu a { padding-left: 9px; padding-right: 9px; font-size: 15px; }
  .sl-menu > li > a::after { left: 9px; right: 9px; }
  .sl-layout { grid-template-columns: minmax(0, 1fr) 280px; }
}

@media (max-width: 980px) {
  .sl-layout { grid-template-columns: minmax(0, 1fr) 260px; }
  .sl-promo { grid-template-columns: 40% 60%; }
  .sl-slide__body { padding: 20px 48px 44px; }
  .sl-slide__title { font-size: 26px; }
  .sl-people__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* мобильное меню (бургер) */
@media (max-width: 900px) {
  .sl-topbar__inner { min-height: 52px; padding-top: 4px; padding-bottom: 4px; }
  .sl-burger {
    display: inline-flex; align-items: center; justify-content: center;
    background: none; border: 0; color: #fff;
    width: 48px; height: 48px; padding: 0; margin-left: -4px;
    border-radius: 10px;
  }
  .sl-burger:hover, .sl-burger:focus-visible {
    background: rgba(255, 255, 255, .1); outline: none;
  }
  .sl-burger__box { width: 28px; height: 20px; }
  .sl-burger__line { height: 2.75px; }
  .sl-burger__line:nth-child(2) { margin-top: -1.375px; }
  .sl-burger[aria-expanded="true"] .sl-burger__line:nth-child(1),
  .sl-burger[aria-expanded="true"] .sl-burger__line:nth-child(3) {
    margin-top: -1.375px;
  }
  .sl-nav {
    position: fixed; top: 0; left: 0; bottom: 0; width: min(88vw, 370px); z-index: 1001;
    background: #fff; color: var(--c-text); overflow-y: auto; overscroll-behavior: contain;
    transform: translateX(-105%); transition: transform .32s cubic-bezier(.2, .8, .2, 1); box-shadow: 8px 0 30px rgba(0, 0, 0, .25);
    display: flex; flex-direction: column;
  }
  .sl-nav-open .sl-nav { transform: none; }
  .sl-nav__head {
    display: flex; align-items: center; justify-content: space-between; background: var(--c-dark); color: #fff;
    padding: 0 8px 0 18px; min-height: 52px; position: sticky; top: 0; z-index: 2;
  }
  .sl-nav__title { font-family: var(--f-head); font-size: 17px; }
  .sl-nav__close { background: none; border: 0; color: #fff; width: 44px; height: 44px; font-size: 22px; display: grid; place-items: center; }
  .sl-menu { flex-direction: column; flex-wrap: nowrap; padding: 6px 0; }
  .sl-menu > li { flex-wrap: wrap; border-bottom: 1px solid #f0ebe5; }
  .sl-menu a { color: var(--c-dark2); font-size: 17px; padding: 13px 18px; white-space: normal; flex: 1; }
  .sl-menu > li > a::after { display: none; }
  /* Не белый текст на белом при :hover / :focus-within / открытом подменю */
  .sl-menu > li:hover > a,
  .sl-menu > li:focus-within > a,
  .sl-menu > li.is-open > a {
    color: var(--c-dark2);
  }
  .sl-menu > .current-menu-item > a,
  .sl-menu > .current-menu-ancestor > a,
  .sl-menu > .current-menu-parent > a {
    color: var(--c-link);
  }
  .sl-subtoggle { color: var(--c-dark); padding: 0; width: 52px; align-self: stretch; justify-content: center; border-left: 1px solid #f0ebe5; font-size: 16px; }
  .sl-menu > li:hover > .sl-subtoggle .sl-i { transform: none; }
  .sl-menu > li.is-open > .sl-subtoggle .sl-i { transform: rotate(180deg); }
  .sl-menu .sub-menu {
    position: static; width: 100%; min-width: 0; box-shadow: none; border: 0; padding: 0 0 8px; background: #f8f5f1;
    opacity: 1; visibility: visible; transform: none; display: none; transition: none;
  }
  .sl-menu > li:hover > .sub-menu, .sl-menu > li:focus-within > .sub-menu { display: none; }
  .sl-menu > li.is-open > .sub-menu { display: block; }
  .sl-menu .sub-menu a { font-size: 15.5px; padding: 9px 18px 9px 30px; color: var(--c-dark2); }
  .sl-nav__extra { display: block; padding: 18px 18px 28px; border-top: 3px solid var(--c-bar); margin-top: auto; }
  .sl-nav__extra .sl-hbuttons { border: 0; padding: 0; flex-direction: column; align-items: flex-start; margin-bottom: 16px; }
  .sl-nav__extra .sl-hbutton { padding: 8px 0; font-size: 16px; }
  .sl-nav__extra .sl-socials { gap: 9px; }
  .sl-nav__extra .sl-socials a,
  .sl-nav__extra .sl-socials img,
  .sl-nav__extra .sl-socials__hover { width: 34px !important; height: 34px !important; }
  .sl-nav-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(5, 25, 29, .55); backdrop-filter: blur(2px); }
  .sl-nav-open { overflow: hidden; }
  .sl-nav-open .sl-topbar { z-index: 1002; }
  .sl-topsearch { margin-left: auto; }
  .sl-search--top { width: calc(100vw - 32px); max-width: 420px; }

  .sl-layout { grid-template-columns: minmax(0, 1fr); }
  .sl-sidebar {
    position: static; top: auto; align-self: auto;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 26px;
  }
  .sl-band__inner { grid-template-columns: 1fr 1fr; gap: 26px 30px; }
  .sl-band__col:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .sl-masthead__inner {
    flex-direction: column; align-items: center; gap: 18px;
    padding-top: 40px; padding-bottom: 38px;
  }
  .sl-logo { max-width: 88%; width: min(var(--logo-w), 88vw); margin-top: 20px; }
  .sl-masthead__aside {
    justify-content: center; gap: 14px 14px; padding-top: 2px;
    padding-bottom: 0;
  }
  .sl-hbuttons { border-right: 0; padding-right: 0; }
  .sl-hbutton { font-size: 14.5px; padding: 6px 8px; }
  .sl-socials { gap: 8px; justify-content: center; margin-top: 2px; margin-bottom: 20px; }
  .sl-socials a,
  .sl-socials img,
  .sl-socials__hover {
    width: 32px !important;
    height: 32px !important;
  }
  .sl-tagbar { margin-top: 0; }
  /* Стрелки вплотную к краю — максимум места под теги */
  .sl-tagbar__inner.sl-wrap {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .sl-tagbar__arrow {
    display: grid;
    width: 22px;
    font-size: 16px;
    color: var(--c-dark);
    background: var(--c-bar);
    z-index: 1;
  }
  .sl-tagbar.no-prev .sl-tagbar__arrow--prev,
  .sl-tagbar.no-next .sl-tagbar__arrow--next {
    opacity: .4;
  }
  .sl-tagbar__list { padding: 0; }
  .sl-tagbar__list a { font-size: 16px; font-weight: 700; padding: 10px 8px 9px; }

  .sl-promo { grid-template-columns: 1fr; margin-top: 16px; }
  .sl-slider { order: -1; min-height: 300px; }
  .sl-slide__body { padding: 18px 22px 44px; }
  .sl-slide__title { font-size: 21px; }
  .sl-slide__text { font-size: max(13px, calc(var(--fs-slide-text) * 0.83)); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .sl-slider__arrow { display: none; }

  .sl-wrap { padding: 0 10px; }
  .sl-layout { margin-top: 16px; gap: 16px; }
  .sl-panel { padding: 16px 14px 22px; }
  .sl-crumbs { margin: -4px -14px 16px; padding: 0 14px 10px; }
  .sl-panel__title { font-size: max(16px, calc(var(--fs-panel-title) * 0.77)); }
  .sl-toolbar { flex-direction: column; align-items: stretch; gap: 12px; }
  /* В колонке flex-basis 240px становился высотой — поле раздувалось */
  .sl-toolbar__search {
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    align-self: stretch;
  }
  .sl-toolbar .sl-search {
    height: auto;
    min-height: 0;
    align-items: center;
  }
  .sl-toolbar .sl-search input {
    height: 44px;
    min-height: 44px;
    max-height: 44px;
    padding: 0 12px;
    font-size: 16px; /* без зума iOS */
    line-height: 1.25;
  }
  .sl-toolbar .sl-search button {
    width: 46px;
    flex: 0 0 46px;
    height: 44px;
    align-self: center;
  }
  .sl-toolbar__sort { gap: 6px; }
  .sl-toolbar__chip { font-size: 13px; padding: 6px 10px; }
  .sl-related .sl-card:nth-child(n+4) { display: flex; }
  .sl-cards { grid-template-columns: 1fr; gap: 20px; }
  .sl-cards--3 { grid-template-columns: 1fr 1fr; gap: 14px; }
  /* Архив «Новости» и блок новостей в проектах — одна колонка */
  .sl-feed--novosti .sl-cards--3,
  .sl-project__materials .sl-cards--3 { grid-template-columns: 1fr; gap: 20px; }
  .sl-card__title { font-size: 18px; min-height: calc(1.3em * 2); -webkit-line-clamp: 2; }
  .sl-card--row {
    flex-wrap: wrap;
    gap: 14px 20px;
    padding: 18px 0;
  }
  .sl-card--row .sl-when {
    flex: 0 0 120px;
    width: 120px;
  }
  .sl-card--row .sl-when__text { font-size: 18px; }
  .sl-card--row .sl-card__body {
    flex: 1 1 calc(100% - 150px);
  }
  .sl-card--row .sl-card__img {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    order: -1;
  }
  .sl-card--row .sl-card__title { font-size: 19px; min-height: 0; }
  .sl-card--row .sl-card__excerpt { -webkit-line-clamp: 2; font-size: 15px; }
  .sl-card--cover {
    gap: 16px;
    padding: 16px 0;
  }
  .sl-card--cover .sl-card__img--cover,
  .sl-card--cover .sl-card__img {
    flex: 0 0 150px;
    width: 150px;
    max-width: 38%;
  }
  .sl-card--cover .sl-card__title { font-size: 17px; }
  .sl-card--cover .sl-card__excerpt { -webkit-line-clamp: 3; font-size: 14px; }
  .sl-sidebar { grid-template-columns: 1fr; }
  .sl-band__inner { grid-template-columns: 1fr; }
  .sl-footer__inner { grid-template-columns: 1fr; gap: 10px; padding: 22px 16px; }

  .sl-article__title { font-size: max(22px, calc(var(--fs-article-title) * 0.7)); }
  .sl-content { font-size: 17.5px; line-height: 1.7; }
  .sl-content img[style*="float"] { float: none !important; display: block; margin: 0 auto 1em !important; }
  .sl-content .sl-about-row.wp-block-columns {
    flex-wrap: wrap;
    gap: 18px;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .sl-content .sl-about-row.wp-block-columns > .wp-block-column,
  .sl-content .sl-about-row--hero.wp-block-columns > .wp-block-column:first-child,
  .sl-content .sl-about-row--hero.wp-block-columns > .wp-block-column:last-child {
    flex-basis: 100% !important;
  }
  .sl-content .sl-about-photo img,
  .sl-content .sl-about-row--hero .sl-about-photo img {
    min-height: 220px;
    aspect-ratio: 16 / 10;
  }
  .sl-content .sl-about-goals { grid-template-columns: 1fr; gap: 12px; }
  .sl-author__head { flex-direction: column; text-align: center; }
  .sl-author__count, .sl-author__contacts { justify-content: center; }
  .sl-people__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .sl-childpages { grid-template-columns: 1fr; }
  .sl-guild-org__grid,
  .sl-guild-org__grid--3 { grid-template-columns: 1fr; }
  .sl-guild-org__chair { flex-direction: column; }
  .sl-guild-cols { columns: 1; }
}

@media (max-width: 420px) {
  .sl-cards--3 { grid-template-columns: 1fr; }
  .sl-hbutton span { font-size: 14px; }
  .sl-masthead__inner { padding-top: 36px; padding-bottom: 34px; }
  .sl-socials { gap: 7px; }
  .sl-socials a,
  .sl-socials img,
  .sl-socials__hover {
    width: 30px !important;
    height: 30px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ============================================================
   ОПЛАТА ВЗНОСОВ — две колонки + карточка формы ЮKassa
   ============================================================ */
.sl-article--dues .sl-article__header { margin-bottom: 8px; }
.sl-article--dues,
.sl-article--dues .sl-dues,
.sl-article--dues input,
.sl-article--dues textarea,
.sl-article--dues button {
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
}
.sl-dues { margin-top: 8px; }
.sl-dues__lead {
  margin: 0 0 28px;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 20px;
  line-height: 1.65;
  color: #3f3933;
  max-width: 52em;
}
.sl-dues__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 32px;
  align-items: stretch;
}
.sl-dues__info,
.sl-dues__pay {
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.sl-dues__info {
  padding: 26px 28px 24px;
  background: var(--c-soft);
  border: 1px solid var(--c-line);
  box-shadow: 0 6px 18px rgba(15, 40, 44, .06);
}
.sl-dues__block { margin: 0 0 22px; }
.sl-dues__block:last-of-type { margin-bottom: 12px; }
.sl-dues__heading {
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 14px;
  line-height: 1.3;
}
.sl-dues__heading::after {
  content: '';
  display: block;
  width: 40px; height: 2px;
  margin-top: 10px;
  background: var(--c-accent);
  opacity: .9;
}
.sl-dues__info p {
  margin: 0 0 1em;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 19px;
  line-height: 1.7;
  color: #3f3933;
}
.sl-dues__steps {
  margin: 0 0 8px;
  padding: 0;
  list-style: none;
  counter-reset: dues-step;
}
.sl-dues__steps li {
  position: relative;
  margin: 0 0 14px;
  padding: 0 0 0 44px;
  counter-increment: dues-step;
}
.sl-dues__steps li::before {
  content: counter(dues-step);
  position: absolute;
  left: 0; top: 0;
  width: 30px; height: 30px;
  display: grid; place-items: center;
  background: #18606e;
  color: #fff;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 14px; font-weight: 700;
  line-height: 1;
}
.sl-dues__steps strong {
  display: block;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 18px;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.sl-dues__steps span {
  display: block;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--c-muted);
}
.sl-dues__amounts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.sl-dues__amount {
  padding: 14px 16px;
  background: #faf6f1;
  border: 1px solid #e2d8cd;
  box-shadow: 0 2px 8px rgba(88, 30, 21, .05);
}
.sl-dues__amount-label {
  display: block;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.sl-dues__amount-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 6px;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 17px;
  color: var(--c-ink);
}
.sl-dues__amount-row em { font-style: normal; color: var(--c-muted); font-size: 15px; }
.sl-dues__amount-row strong { font-weight: 700; white-space: nowrap; }
.sl-dues__amount p {
  margin: 10px 0 0;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 15px;
  line-height: 1.5;
  color: #5a524a;
}
.sl-dues__help {
  margin: auto 0 0 !important;
  padding-top: 12px;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif !important;
  font-size: 16px !important;
  color: var(--c-muted) !important;
  border-top: 1px solid var(--c-line);
}
.sl-dues__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #cfc3b7;
  border: 1px solid #bfb2a4;
  padding: 26px 28px 20px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .4) inset,
    0 6px 18px rgba(15, 40, 44, .1);
}
.sl-dues__card-head {
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(88, 30, 21, .18);
}
.sl-dues__card-title {
  margin: 0 0 6px;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 25px;
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1.25;
}
.sl-dues__card-title::after {
  content: '';
  display: block;
  width: 40px; height: 2px;
  margin-top: 10px;
  background: var(--c-accent);
  opacity: .9;
}
.sl-dues__card-note {
  margin: 0;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 15px;
  color: var(--c-muted);
}
.sl-dues__form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.sl-dues__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.sl-dues__label {
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 14px;
  letter-spacing: .04em;
  color: var(--c-ink);
}
.sl-dues__form input[type="text"],
.sl-dues__form input[type="email"],
.sl-dues__form input[type="number"],
.sl-dues__form textarea {
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #cfc3b7;
  border-radius: 0;
  background: #fff;
  color: var(--c-ink);
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.35;
  box-shadow: inset 0 1px 2px rgba(88, 30, 21, .04);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.sl-dues__form input::placeholder,
.sl-dues__form textarea::placeholder { color: #a89f94; }
.sl-dues__form input:focus,
.sl-dues__form textarea:focus {
  outline: none;
  border-color: var(--c-accent);
  background: #fff;
  box-shadow: 0 0 0 2px rgba(164, 90, 82, .15);
}
.sl-dues__form textarea { resize: vertical; min-height: 72px; }
.sl-dues__quick { display: flex; flex-wrap: wrap; gap: 8px; margin-top: -2px; }
.sl-dues__chip {
  padding: 6px 11px;
  border: 1px solid #cfc3b7;
  border-radius: 0;
  background: #faf6f1;
  color: var(--c-dark);
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(88, 30, 21, .06);
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sl-dues__chip:hover {
  background: #fff;
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.sl-dues__consents {
  margin-top: 4px;
  padding: 12px 12px 10px;
  background: rgba(255, 255, 255, .55);
  border: 1px solid #d9cfc3;
}
.sl-dues__check {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  margin: 0;
  cursor: pointer;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 12.5px; /* мелко — не увеличиваем */
  line-height: 1.45;
  color: #4a4540;
}
.sl-dues__check input {
  margin: 3px 0 0;
  width: 16px;
  height: 16px;
  accent-color: #18606e;
  flex-shrink: 0;
}
.sl-dues__check a {
  color: var(--c-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sl-dues__check a:hover { color: var(--c-link-hover); }
.sl-dues__submit {
  margin-top: 2px;
  width: 100%;
  padding: 14px 18px;
  border: 0;
  border-radius: 0;
  background: #18606e;
  color: #fff;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(24, 96, 110, .28);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.sl-dues__submit:hover {
  background: #14525e;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(24, 96, 110, .32);
}
.sl-dues__legal {
  margin-top: 2px;
}
.sl-dues__legal p {
  margin: 0 0 8px;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 11.5px; /* мелко — не увеличиваем */
  line-height: 1.45;
  color: #6e655c;
  text-align: left;
}
.sl-dues__legal p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  .sl-dues__grid { grid-template-columns: 1fr; gap: 22px; }
  .sl-dues__pay { order: -1; }
  .sl-dues__amounts { grid-template-columns: 1fr; }
  .sl-dues__info,
  .sl-dues__card { height: auto; }
}
@media (max-width: 520px) {
  .sl-dues__info,
  .sl-dues__card { padding: 20px 16px 18px; }
}

/* ---- Формы (контакты / вступление) — тот же язык, что оплата ---- */
.sl-article--contacts .sl-dues,
.sl-article--join .sl-dues,
.sl-article--contacts .sl-form,
.sl-article--join .sl-form,
.sl-form input,
.sl-form textarea,
.sl-form button {
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
}
.sl-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sl-form__title {
  margin: 0 0 6px;
  font-size: 25px;
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1.25;
}
.sl-form__title::after {
  content: '';
  display: block;
  width: 40px; height: 2px;
  margin-top: 10px;
  background: var(--c-accent);
  opacity: .9;
}
.sl-form__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.sl-form__label {
  font-size: 14px;
  letter-spacing: .04em;
  color: var(--c-ink);
}
.sl-form__req { color: #b33; margin-left: 2px; }
.sl-form input[type="text"],
.sl-form input[type="email"],
.sl-form input[type="tel"],
.sl-form input[type="number"],
.sl-form textarea,
.sl-form input[type="file"] {
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #cfc3b7;
  border-radius: 0;
  background: #fff;
  color: var(--c-ink);
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.35;
  box-shadow: inset 0 1px 2px rgba(88, 30, 21, .04);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.sl-form input[type="file"] {
  padding: 8px 10px;
  font-size: 14px;
  background: #faf6f1;
}
.sl-form input::placeholder,
.sl-form textarea::placeholder { color: #a89f94; }
.sl-form input:focus,
.sl-form textarea:focus {
  outline: none;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 2px rgba(164, 90, 82, .15);
}
.sl-form textarea { resize: vertical; min-height: 96px; }
.sl-form__consents {
  margin-top: 4px;
  padding: 12px 12px 10px;
  background: rgba(255, 255, 255, .55);
  border: 1px solid #d9cfc3;
}
.sl-form__check {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  margin: 0;
  cursor: pointer;
  font-size: 12.5px;
  line-height: 1.45;
  color: #4a4540;
}
.sl-form__check input {
  margin: 3px 0 0;
  width: 16px;
  height: 16px;
  accent-color: #18606e;
}
.sl-form__check a {
  color: var(--c-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sl-form__submit {
  margin-top: 2px;
  width: 100%;
  padding: 14px 18px;
  border: 0;
  border-radius: 0;
  background: #18606e;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(24, 96, 110, .28);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.sl-form__submit:hover {
  background: #14525e;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(24, 96, 110, .32);
}
.sl-form__flash {
  margin: 0 0 14px;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.45;
  border: 1px solid;
}
.sl-form__flash--ok {
  background: #eef6f4;
  border-color: #18606e;
  color: #14525e;
}
.sl-form__flash--err {
  background: #faf0ee;
  border-color: var(--c-accent);
  color: #581e15;
}
.sl-form--in-card .sl-form__title { margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid rgba(88, 30, 21, .18); }
.sl-join__panel .sl-form__title { display: none; } /* вкладки уже показывают тип */

/* Контакты: форма не растягивается пустотой под кнопкой */
/* Контакты: колонки одной высоты */
.sl-article--contacts .sl-dues__grid { align-items: stretch; }
.sl-article--contacts .sl-dues__info,
.sl-article--contacts .sl-dues__pay {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.sl-article--contacts .sl-dues__card {
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.sl-article--contacts .sl-form {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.sl-article--contacts .sl-form__submit {
  margin-top: auto; /* кнопка у нижнего края равной колонки */
}

/* Текст из редактора страницы — в стиле блоков оплаты */
.sl-contacts__editor {
  margin: 0 0 8px;
}
.sl-contacts__editor > *:first-child { margin-top: 0; }
.sl-contacts__editor h2,
.sl-contacts__editor h3 {
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--c-ink);
  margin: 22px 0 14px;
  line-height: 1.3;
}
.sl-contacts__editor h2:first-child,
.sl-contacts__editor h3:first-child { margin-top: 0; }
.sl-contacts__editor h2::after,
.sl-contacts__editor h3::after {
  content: '';
  display: block;
  width: 40px; height: 2px;
  margin-top: 10px;
  background: var(--c-accent);
  opacity: .9;
}
.sl-contacts__editor p {
  margin: 0 0 1em;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 19px;
  line-height: 1.7;
  color: #3f3933;
}
.sl-contacts__editor a { color: #18606e; }
.sl-contacts__editor a:hover { color: var(--c-accent); }
.sl-contacts__socials-block { margin-top: 18px; }

.sl-contacts__social {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
}
@media (max-width: 520px) {
  .sl-contacts__social { grid-template-columns: 1fr; }
}
.sl-contacts__social-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: #18606e;
  transition: color .15s ease, transform .15s ease;
}
.sl-contacts__social-link:hover {
  color: var(--c-accent);
  transform: translateX(2px);
}
.sl-contacts__social-icon {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: none;
  background: transparent; /* без обводки #1d616d при наведении */
}
.sl-contacts__social-icon img {
  width: 40px !important;
  height: 40px !important;
  max-width: none;
  display: block;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}
.sl-contacts__social-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .2s;
}
.sl-contacts__social-link:hover .sl-contacts__social-hover { opacity: 1; }
.sl-contacts__social-label {
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sl-join__steps { margin-bottom: 28px; }
.sl-join__step {
  margin: 0 0 22px;
  padding: 26px 28px 24px;
  background: var(--c-soft);
  border: 1px solid var(--c-line);
  box-shadow: 0 6px 18px rgba(15, 40, 44, .06);
}
.sl-join__step p {
  margin: 0 0 1em;
  font-size: 18px;
  line-height: 1.65;
  color: #3f3933;
}
.sl-join__link-pay { margin: 16px 0 0 !important; }
.sl-join__btn {
  display: inline-block;
  padding: 12px 20px;
  background: #18606e;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .03em;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(24, 96, 110, .28);
  transition: background .18s ease, transform .18s ease;
}
.sl-join__btn:hover { background: #14525e; transform: translateY(-1px); color: #fff !important; }

.sl-join__forms { margin-top: 8px; }
.sl-join__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 16px 0 0;
  border-bottom: 1px solid #bfb2a4;
}
.sl-join__tab {
  appearance: none;
  border: 0;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  padding: 12px 18px;
  background: transparent;
  color: #6e655c;
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  font-size: 17px;
  cursor: pointer;
  transition: color .15s ease, border-color .15s ease;
}
.sl-join__tab:hover { color: var(--c-ink); }
.sl-join__tab.is-active {
  color: var(--c-ink);
  border-bottom-color: #18606e;
  font-weight: 700;
}
.sl-join__panels { margin-top: 0; }
.sl-join__panel { display: none; padding-top: 18px; }
.sl-join__panel.is-active { display: block; }
.sl-join__panel .sl-dues__card { height: auto; max-width: 720px; }
.sl-join__footnotes {
  margin-top: 18px;
  max-width: 52em;
}
.sl-join__footnotes p {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.5;
  color: #8a8178;
}
@media (max-width: 900px) {
  .sl-article--contacts .sl-dues__pay { order: 0; }
  .sl-join__tab { flex: 1 1 auto; text-align: center; padding: 12px 10px; font-size: 15px; }
}

@media print {
  .sl-topbar, .sl-tagbar, .sl-sidebar, .sl-band, .sl-share, .sl-related, .sl-totop, .sl-bg { display: none !important; }
  .sl-layout { display: block; }
  .sl-panel { box-shadow: none; }
}
