/* =============================================================
 * KERPC — палитра дизайн-системы (поверх Zuki) + стили AJAX-поиска
 * Подключается из functions.php после zuki-style.
 * ============================================================= */

:root {
  --ink-azure:#2A4D7B; --ink-azure-deep:#1B3556; --ink-azure-soft:#E5ECF4;
  --gold-leaf:#B8893E; --gold-warm:#D9B16A; --gold-soft:#F2E7CE;
  --vestment:#8B2D2D; --vestment-deep:#6B1F1F;
  --paper:#F7F3EC; --paper-warm:#EFE8DA; --paper-deep:#E5DCC9;
  --ink:#1A1814; --ink-strong:#0E0D0A;
  --ink-muted:#5C5448;     /* было #6B6359 — затемнено до контраста ~5.7:1 (WCAG AA) */
  --ink-faint:#756C5D;     /* было #A39B8E (2.3:1 — провал) — теперь читаемо для мелких меток */
  --rule:#D8CFBE; --rule-strong:#B5A98F; --rule-faint:#C9BFAC;
  --font-display:'Cormorant Garamond','PT Serif',Georgia,serif;   /* крупные заголовки ≥22px */
  --font-serif:'PT Serif',Georgia,'Times New Roman',serif;        /* заголовки ≤20px, тело, даты */
  --font-body:'Manrope','PT Sans','Open Sans',-apple-system,sans-serif;  /* UI: навигация, капс, кнопки */
}

/* ---- .screen-reader-text: класс приходил из wp-block-library (отключён ради скорости),
       zuki в style.css прячет его только внутри #searchform → возвращаем доступное скрытие. ---- */
.screen-reader-text,
.screen-reader-text span,
.wp-block-navigation .screen-reader-text {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  margin: -1px !important; padding: 0 !important; border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  clip: auto !important; clip-path: none !important;
  color: #1B3556; display: block;
  height: auto; width: auto;
  left: 6px; top: 6px;
  font-size: 0.9rem; line-height: normal;
  padding: 12px 20px; text-decoration: none;
  z-index: 100001;
}

/* ---- фон / база ---- */
html, body, body.custom-background,
#container, #main-wrap, #main, #content, #primary, #wrapper, .site {
  background-color: var(--paper) !important;
}
body { color: var(--ink); font-family: var(--font-body); }
::-webkit-input-placeholder { color: var(--ink-faint); }
::-moz-placeholder { color: var(--ink-faint); }
:-ms-input-placeholder { color: var(--ink-faint); }
::selection { background: var(--ink-azure-soft); color: var(--ink-azure-deep); }

/* ---- плавное появление блоков при скролле (классы навешивает kerpc-reveal.js) ---- */
.kerpc-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.7s cubic-bezier(0.2,0.7,0.2,1), transform 0.7s cubic-bezier(0.2,0.7,0.2,1);
  will-change: opacity, transform;
}
.kerpc-reveal.is-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .kerpc-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---- заголовки: PT Serif (читаем на любом кегле); Cormorant — только крупные H1 ---- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  color: var(--ink-azure-deep);
  font-weight: 700;
  letter-spacing: -0.005em;
}
h1, h1.entry-title, .entry-header h1.entry-title, .page .entry-header h1.entry-title {
  font-family: var(--font-display);
  font-weight: 600;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .entry-title a, .widget-title a { color: var(--ink-azure-deep); }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
.entry-title a:hover, .widget-title a:hover { color: var(--ink-azure); }

/* ---- body-текст: засечный PT Serif, не меньше 16px ---- */
.entry-content, .entry-content p, .entry-summary p, .widget p, #main-wrap p {
  font-family: var(--font-serif);
  color: var(--ink);
}
.entry-content, .entry-content p, .entry-summary p {
  font-size: 1.0625rem;     /* ~17px */
  line-height: 1.62;
}
.entry-content p { margin-bottom: 1.05em; }
.entry-content li { line-height: 1.6; }

/* ---- ссылки ---- */
a { color: var(--ink-azure); }
a:hover, a:active, a:focus { color: var(--ink-azure-deep); }

/* ---- шапка / название / меню ---- */
#header, #header-top-nav, #masthead { background: var(--paper); }
#site-title .h1, #site-title .h1 a { font-family: var(--font-display); color: var(--ink-azure-deep); }
#site-title .h1 a:hover { color: var(--ink-azure); }
#site-title .site-description { color: var(--ink-muted); }

/* ---- логотип Красноярской епархии в шапке (как на kerpc.ru: эмблема + 3 строки текста) ---- */
#site-title.kerpc-brand { float: left; }
#site-title.kerpc-brand .kerpc-brand__link {
  display: inline-flex !important; align-items: center; gap: clamp(11px, 1.4vw, 18px);
  text-decoration: none !important; background-image: none !important;
}
#site-title.kerpc-brand .kerpc-brand__mark {
  flex: 0 0 auto;
  width: auto !important; height: clamp(52px, 5vw, 72px) !important;
  display: block; max-width: none;
}
#site-title.kerpc-brand .kerpc-brand__copy {
  display: flex; flex-direction: column; gap: 0; min-width: 0; max-width: none;
  font-family: var(--font-serif);   /* логотип — засечный PT Serif, как в оригинале kerpc.ru */
}
#site-title.kerpc-brand .kerpc-brand__eyebrow {
  font-family: var(--font-serif) !important;
  font-size: clamp(10.5px, 0.95vw, 13px) !important; font-weight: 400 !important;
  line-height: 1.25 !important; letter-spacing: 0.18em !important;   /* широкий трекинг, как в оригинале */
  color: #5C8AB8 !important;                 /* светло-синий «Красноярская митрополия» */
  text-transform: none !important; display: block !important; margin: 0 0 3px !important; padding: 0 !important;
  white-space: nowrap;
}
#site-title.kerpc-brand .kerpc-brand__name {
  font-family: var(--font-serif) !important;
  font-size: clamp(20px, 2vw, 28px) !important; font-weight: 700 !important;
  line-height: 1.05 !important; letter-spacing: -0.005em !important;
  color: var(--ink-azure) !important;        /* #2A4D7B — тёмно-синий заголовка */
  text-transform: none !important; display: block !important; margin: 0 !important; padding: 0 !important;
  white-space: nowrap;                       /* «Красноярская епархия» — всегда одной строкой */
}
#site-title.kerpc-brand .kerpc-brand__sub {
  font-family: var(--font-serif) !important;
  font-size: clamp(13px, 1.35vw, 17.5px) !important; font-weight: 700 !important;
  line-height: 1.12 !important; letter-spacing: -0.003em !important;
  color: var(--ink-azure) !important;
  text-transform: none !important; display: block !important; margin: 2px 0 0 !important; padding: 0 !important;
  white-space: nowrap;
}
#site-title.kerpc-brand .kerpc-brand__link:hover .kerpc-brand__name,
#site-title.kerpc-brand .kerpc-brand__link:hover .kerpc-brand__sub { color: var(--ink-azure-deep) !important; }
/* ===== МОБИЛЬНАЯ ШАПКА (≤1259px) — три центрированных ряда ===================
 *   ряд 1 — ЛОГОТИП во всю ширину, по центру (3 строки, как на десктопе);
 *   ряд 2 — РЯД СОЦ-ИКОНОК, по центру, во всю ширину;
 *   ряд 3 — ПОИСК · АРХИВ · БУРГЕР, по центру, все три в одну линию;
 *   ряд 4 — выпадающая бургер-панель (#mobile-menu-wrap).
 * #masthead → flex-wrap + justify-content:center; ряды получаются за счёт того,
 * что логотип и ряд соц-иконок занимают flex-basis:100% (форсят перенос).
 * ========================================================================== */
@media (max-width: 1259px) {
  #masthead {
    display: flex !important; flex-wrap: wrap;
    justify-content: center; align-items: center;
    column-gap: 8px; row-gap: 0;
    padding: 16px 12px 4px !important;
    text-align: center;
    position: relative;
  }
  /* ряд 1 — логотип во всю ширину, по центру. РАЗМЕРЫ ШРИФТА/ЭМБЛЕМЫ — как на десктопе
     (берутся из базовых правил .kerpc-brand выше, ничего тут не переопределяем). */
  #site-title.kerpc-brand {
    order: 1; flex: 0 0 100%; width: 100% !important; max-width: none !important;
    float: none !important;
    margin: 0 !important; padding: 0 0 12px !important;
    display: flex !important; justify-content: center;
  }
  #site-title.kerpc-brand .kerpc-brand__link { max-width: 100%; }
  #site-title.kerpc-brand .kerpc-brand__copy { min-width: 0; text-align: left; }   /* три строки в столбик — лево-выровнены относительно эмблемы */

  /* ряд 2 — ряд соц-иконок, во всю ширину, по центру */
  #masthead .widget_text.soc {
    order: 2; flex: 0 0 100%; width: 100% !important; min-width: 0;
    clear: none !important;
    margin: 0 !important; padding: 0 0 12px !important; text-align: center;
  }
  #masthead .widget_text.soc .textwidget {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 11px;
  }
  #masthead .widget_text.soc a { display: inline-flex; line-height: 0; background-image: none !important; }
  #masthead .widget_text.soc img {
    width: 26px !important; height: 26px !important; object-fit: cover;
    border-radius: 6px; display: block; margin: 0 !important;
    box-shadow: 0 1px 3px rgba(11,21,45,0.14); transition: transform 0.16s ease;
  }
  #masthead .widget_text.soc a:hover img { transform: translateY(-2px); }

  /* ряд 3 — поиск · архив · бургер, по центру, все три на одной линии */
  #mobile-search-toggle  { order: 3; flex: 0 0 auto; float: none !important; margin: 0 5px 12px !important; }
  #mobile-archive-toggle { order: 4; flex: 0 0 auto; float: none !important; margin: 0 5px 12px !important; }
  #mobile-menu-toggle    { order: 5; flex: 0 0 auto; float: none !important; margin: 0 5px 12px !important; }

  /* ряд 4 — бургер-панель и всё прочее (архив-меню в шапке и т.п.) — во всю ширину */
  #masthead > #mobile-menu-wrap { order: 10; flex: 0 0 100%; width: 100%; margin: 0 !important; text-align: left; }
  #masthead > *:not(#site-title):not(.widget_text):not(#mobile-search-toggle):not(#mobile-archive-toggle):not(#mobile-menu-toggle):not(#mobile-menu-wrap) {
    order: 11; flex: 0 0 100%; width: 100%; text-align: left;
  }
}
@media (max-width: 600px) {
  /* логотип не трогаем — размеры как на десктопе. Только иконки/отступы. */
  #masthead .widget_text.soc img { width: 24px !important; height: 24px !important; }
  #masthead .widget_text.soc .textwidget { gap: 9px; }
  #mobile-search-toggle, #mobile-archive-toggle, #mobile-menu-toggle { width: 42px !important; height: 42px !important; }
  #mobile-search-toggle svg, #mobile-archive-toggle svg, #mobile-menu-toggle svg { width: 19px !important; height: 19px !important; }
}
@media (max-width: 400px) {
  #masthead { padding: 12px 8px 2px !important; }
  #masthead .widget_text.soc img { width: 22px !important; height: 22px !important; border-radius: 5px; }
  #masthead .widget_text.soc .textwidget { gap: 7px; }
  #mobile-search-toggle, #mobile-archive-toggle, #mobile-menu-toggle { width: 40px !important; height: 40px !important; margin-left: 4px !important; margin-right: 4px !important; }
}

/* ---- анимация логотипа: интро при загрузке + лёгкий «глинт» раз в ~18с ---- */
.kerpc-brand .kerpc-brand__link {
  position: relative;
  overflow: hidden;
}
/* интро: эмблема «вырастает» снизу с проявлением, текст — три строки каскадом */
.kerpc-brand .kerpc-brand__mark {
  animation: kerpc-logo-mark-in 0.95s cubic-bezier(0.34, 1.12, 0.34, 1) both;
}
@keyframes kerpc-logo-mark-in {
  0%   { opacity: 0; clip-path: inset(100% 0 0 0); transform: translateY(10px) scale(0.96); }
  60%  { opacity: 1; }
  100% { opacity: 1; clip-path: inset(0 0 0 0);   transform: translateY(0) scale(1); }
}
.kerpc-brand .kerpc-brand__eyebrow { animation: kerpc-logo-line-in 0.62s cubic-bezier(0.2, 0.7, 0.2, 1) 0.22s both; }
.kerpc-brand .kerpc-brand__name    { animation: kerpc-logo-line-in 0.62s cubic-bezier(0.2, 0.7, 0.2, 1) 0.34s both; }
.kerpc-brand .kerpc-brand__sub     { animation: kerpc-logo-line-in 0.62s cubic-bezier(0.2, 0.7, 0.2, 1) 0.46s both; }
@keyframes kerpc-logo-line-in {
  0%   { opacity: 0; transform: translateY(11px); }
  100% { opacity: 1; transform: translateY(0); }
}
/* цикличный «глинт» — золотисто-белая полоса проходит по логотипу раз в 18с */
.kerpc-brand .kerpc-brand__link::after {
  content: '';
  position: absolute; top: -25%; bottom: -25%; left: 0; width: 55%;
  pointer-events: none; z-index: 4;
  background: linear-gradient(112deg,
    transparent 28%,
    rgba(255,255,255,0.50) 45%,
    rgba(217,177,106,0.42) 50%,
    rgba(255,255,255,0.50) 55%,
    transparent 72%);
  transform: translateX(-200%) skewX(-14deg);
  animation: kerpc-logo-glint 18s cubic-bezier(0.55, 0, 0.3, 1) 4.5s infinite;
}
@keyframes kerpc-logo-glint {
  0%       { transform: translateX(-200%) skewX(-14deg); }
  9%, 100% { transform: translateX(330%)  skewX(-14deg); }
}
@media (prefers-reduced-motion: reduce) {
  .kerpc-brand .kerpc-brand__mark,
  .kerpc-brand .kerpc-brand__eyebrow,
  .kerpc-brand .kerpc-brand__name,
  .kerpc-brand .kerpc-brand__sub,
  .kerpc-brand .kerpc-brand__link::after {
    animation: none !important;
    opacity: 1 !important; clip-path: none !important; transform: none !important;
  }
}

#access .menu li a, #header-top-nav ul li a, #site-nav .nav-menu li a {
  font-family: var(--font-body); color: var(--ink); font-weight: 600;
}
#access .menu li a:hover, #access .menu li:hover > a,
#access .menu .current-menu-item > a, #access .menu .current_page_item > a,
#site-nav .nav-menu li a:hover, #site-nav .nav-menu .current-menu-item > a,
#header-top-nav ul li a:hover { color: var(--ink-azure); }
#access .menu ul.sub-menu, #access .menu ul.children, #site-nav .nav-menu ul.sub-menu {
  background: var(--paper-warm); border: 1px solid var(--rule);
}
#access .menu ul.sub-menu li a, #site-nav .nav-menu ul.sub-menu li a { color: var(--ink); }
#access .menu ul.sub-menu li a:hover, #site-nav .nav-menu ul.sub-menu li a:hover {
  background: var(--gold-soft); color: var(--ink-azure-deep);
}

/* ---- записи / архивы / мета ---- */
.entry-header h1.entry-title, .entry-header h2.entry-title, .page .entry-header h1.entry-title {
  font-family: var(--font-display); color: var(--ink-azure-deep);
}
.entry-meta, .entry-meta a, .entry-utility, .entry-date, .byline, .cat-links, .tag-links {
  color: var(--ink-muted); font-family: var(--font-body);
}
.entry-meta a:hover { color: var(--ink-azure); }

/* ---- Recent Posts виджеты (rp-*) ---- */
.rp-big-one h2.entry-title, .rp-big-two h2.entry-title,
.rp-medium-one-content h3.entry-title, .rp-medium-two h3.entry-title,
.rp-small-one-content h3.entry-title, .rp-small-two p span.entry-title,
.rp-color h3.entry-title, .rp-color4 h3.entry-title {
  font-family: var(--font-serif); color: var(--ink-azure-deep); font-weight: 700;
}
.rp-big-one h2.entry-title a:hover, .rp-medium-one-content h3.entry-title a:hover,
.rp-small-one-content h3.entry-title a:hover { color: var(--ink-azure); }
.rp-color, .rp-color4 { background: var(--paper-warm); border: 1px solid var(--rule); }

/* ---- Display Posts Shortcode (layout=columns → .rp-color карточки): сетка, ВСЕ одной высоты.
   Обёртка <ul>: .display-posts-listing (по умолчанию) или wrapper_class="front-content" (часто на сайте). ---- */
ul.display-posts-listing,
ul.front-content {
  list-style: none !important; margin: 0 0 26px !important; padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  gap: clamp(12px, 1.6vw, 18px);
  align-items: stretch;
}
ul.display-posts-listing > .rp-color,  ul.display-posts-listing > .rp-color4,
ul.front-content > .rp-color,          ul.front-content > .rp-color4 {
  width: auto !important; float: none !important; margin: 0 !important;
  display: flex; flex-direction: column;
  border-radius: 6px; overflow: hidden;
  transition: transform 0.16s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.16s ease, border-color 0.16s ease;
}
ul.display-posts-listing > .rp-color:hover, ul.front-content > .rp-color:hover {
  transform: translateY(-2px); border-color: var(--rule-strong);
  box-shadow: 0 8px 20px rgba(11,21,45,0.10);
}
/* миниатюра — фикс. соотношение 4:3, чтобы карточки были предсказуемы */
ul.display-posts-listing > .rp-color > .entry-thumb, ul.front-content > .rp-color > .entry-thumb {
  margin: 0; padding: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper-deep); display: block;
}
ul.display-posts-listing > .rp-color > .entry-thumb a, ul.front-content > .rp-color > .entry-thumb a { display: block; line-height: 0; height: 100%; }
ul.display-posts-listing > .rp-color > .entry-thumb img, ul.front-content > .rp-color > .entry-thumb img {
  width: 100% !important; height: 100% !important; object-fit: cover; display: block; max-width: none; margin: 0;
}
/* заголовок */
ul.display-posts-listing > .rp-color > .entry-header, ul.front-content > .rp-color > .entry-header { padding: 13px 14px 0; margin: 0; }
ul.display-posts-listing > .rp-color h3.entry-title, ul.front-content > .rp-color h3.entry-title {
  margin: 0 !important; padding: 0 !important;
  font-family: var(--font-serif) !important; font-weight: 700 !important;
  font-size: 15.5px !important; line-height: 1.24 !important; color: var(--ink-azure-deep) !important;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
ul.display-posts-listing > .rp-color h3.entry-title a:hover, ul.front-content > .rp-color h3.entry-title a:hover { color: var(--ink-azure) !important; }
/* тело: summary (если есть) + footer (дата/рубрики) прижат к низу → footers выровнены */
ul.display-posts-listing > .rp-color .story, ul.front-content > .rp-color .story {
  flex: 1 1 auto; display: flex; flex-direction: column; padding: 8px 14px 13px; min-height: 0;
}
ul.display-posts-listing > .rp-color .story .summary, ul.front-content > .rp-color .story .summary {
  font-family: var(--font-serif); font-size: 13px; line-height: 1.45; color: var(--ink-muted);
  margin: 0 0 8px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
ul.display-posts-listing > .rp-color .story .entry-footer, ul.front-content > .rp-color .story .entry-footer {
  margin-top: auto; padding-top: 9px; border-top: 1px solid var(--rule);
  display: flex; flex-wrap: wrap; gap: 3px 10px; align-items: baseline;
  font-family: var(--font-body); font-size: 11.5px; color: var(--ink-faint);
}
ul.display-posts-listing .rp-color .entry-date, ul.display-posts-listing .rp-color .entry-date a,
ul.front-content .rp-color .entry-date, ul.front-content .rp-color .entry-date a {
  font-family: var(--font-serif); font-style: italic; font-size: 12px; color: var(--ink-muted); background-image: none !important;
}
ul.display-posts-listing .rp-color .entry-cats a, ul.front-content .rp-color .entry-cats a { color: var(--ink-faint); background-image: none !important; }
ul.display-posts-listing .rp-color .entry-cats a:hover, ul.front-content .rp-color .entry-cats a:hover { color: var(--ink-azure); }
ul.display-posts-listing .rp-color .entry-comments, ul.front-content .rp-color .entry-comments { display: none; }

/* ---- виджеты ---- */
.widget h3.widget-title, .widget .widget-title {
  font-family: var(--font-body); font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink); border-bottom: 1px solid var(--rule);
}
.widget { color: var(--ink); }
.widget a { color: var(--ink-azure); }
.widget a:hover { color: var(--ink-azure-deep); }

/* ---- кнопки / формы ----
   ВАЖНО: НЕ навешиваем azure-фон на голый <button> — иначе наши UI-кнопки
   с классами (.kerpc-archive__tab, .kerpc-nav__toggle, .kerpc-modal__close
   и т.п.) при hover становятся синие-на-синем. Стилизуем только submit
   и явные .btn/.button. */
input[type="submit"], .button, .btn {
  background: var(--ink-azure); color: var(--paper);
  font-family: var(--font-body); font-weight: 600;
  border: 0; border-radius: 2px;
}
input[type="submit"]:hover, .button:hover, .btn:hover {
  background: var(--ink-azure-deep); color: var(--paper);
}
input[type="text"], input[type="email"], input[type="url"], input[type="search"],
input[type="password"], textarea, select {
  background: #fff; border: 1px solid var(--rule-strong); color: var(--ink);
  font-family: var(--font-body); border-radius: 2px;
}
input:focus, textarea:focus, select:focus { border-color: var(--ink-azure); outline: none; }

/* ---- blockquote ---- */
.entry-content blockquote, blockquote {
  font-family: var(--font-display); font-style: italic;
  color: var(--ink-azure-deep);
  border-left: 3px solid var(--gold-leaf);
  background: var(--paper-warm);
}

/* ---- подвал: единый тёмно-синий блок (виджеты footer-1..5 + копирайт) ---- */
#footer, #footer-wrap, #footerwidgets-wrap, #colophon, #supplementary {
  background: var(--ink-azure-deep); color: var(--paper); border-top: 0;
}
#footerwidgets-wrap {
  padding: clamp(30px, 4vw, 44px) clamp(18px, 4vw, 48px) 12px;
  overflow: hidden;
}
#footerwidgets-wrap .default-sidebar { border-top: 0 !important; box-sizing: border-box; }
#colophon {
  border-top: 1px solid rgba(247,243,236,0.12) !important;
  padding: 24px clamp(18px, 4vw, 48px) 28px !important;   /* было 80/60px — слишком много пустого */
}
#colophon p.site-description { margin-bottom: 18px !important; }

/* ссылки в подвале — светлый ivory, на hover золото */
#footer a, #footerwidgets-wrap a, #colophon a, #supplementary a {
  color: rgba(247,243,236,0.86); background-image: none !important;
  transition: color 0.16s ease;
}
#footer a:hover, #footerwidgets-wrap a:hover, #colophon a:hover, #supplementary a:hover { color: var(--gold-warm); }

/* заголовки виджетов в подвале — золото, капс, тонкая светлая черта */
#footerwidgets-wrap .widget .widget-title, #footerwidgets-wrap .widget h3.widget-title,
#footer .widget h3.widget-title, #footer .widget .widget-title, #supplementary .widget .widget-title {
  font-family: var(--font-body);
  color: var(--gold-warm) !important;
  font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  font-size: 12px; line-height: 1.3;
  border-bottom: 1px solid rgba(247,243,236,0.16);
  padding: 0 0 9px; margin: 0 0 14px;
}
/* тело виджетов в подвале */
#footerwidgets-wrap, #footerwidgets-wrap .widget, #footer .widget, #colophon .widget, #supplementary .widget {
  color: rgba(247,243,236,0.78);
}
#footerwidgets-wrap .widget ul, #footerwidgets-wrap .widget .menu, #footerwidgets-wrap .widget .sub-menu {
  list-style: none; margin: 0; padding: 0;
}
#footerwidgets-wrap .widget li {
  padding: 6px 0; margin: 0;
  border: 0 !important;
  font-family: var(--font-serif); font-size: 14px; line-height: 1.4;
}
#footerwidgets-wrap .widget li + li { border-top: 1px solid rgba(247,243,236,0.09) !important; }
#footerwidgets-wrap .widget li a { display: block; }
#footerwidgets-wrap .widget p, #footerwidgets-wrap .widget .textwidget {
  font-family: var(--font-serif); font-size: 14px; line-height: 1.55; color: rgba(247,243,236,0.76);
}
#footerwidgets-wrap .widget .textwidget a { color: rgba(247,243,236,0.86); }

#site-generator, .site-info, #colophon #site-info { color: rgba(247,243,236,0.5) !important; }
#colophon p.site-description { color: rgba(247,243,236,0.88); }
#colophon h3.social-nav-title { color: rgba(247,243,236,0.7); }

/* ---- пагинация / навигация ---- */
.nav-previous a, .nav-next a, #nav-below a, #nav-above a, .pagination a, .page-numbers {
  color: var(--ink-azure);
}
.pagination .current, .page-numbers.current { background: var(--ink-azure); color: var(--paper); }

/* =============================================================
 * МЕНЮ (#site-nav .nav-menu.kerpc-nav — штатный wp_nav_menu)
 *  - Мобильный: внутри #mobile-menu-wrap (открывается бургером),
 *    вертикальный список + accordion (.is-open) для .sub-menu,
 *    кнопка-стрелка .kerpc-nav__toggle добавляется JS-ом.
 *  - Десктоп (≥1260px): горизонтальное меню + выпадающая dropdown-панель
 *    при hover, в стилистике дизайн-системы.
 *  Базовые мобильные правила имеют высокую специфичность (#site-nav.kerpc-megamenu),
 *  чтобы перебить старые правила Zuki для #site-nav.
 * ============================================================= */

/* ---- Мобильные (по умолчанию) ---- */
#site-nav.kerpc-megamenu { padding: 8px 0 24px; }
#site-nav.kerpc-megamenu .kerpc-nav { margin: 0; padding: 0; list-style: none; }
#site-nav.kerpc-megamenu .kerpc-nav > li.menu-item {
  display: block; position: relative;
  height: auto; margin: 0; padding: 0;
  border-bottom: 1px solid var(--rule);
}
#site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:last-child { border-bottom: 0; }
#site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > a {
  display: block;
  padding: 14px 48px 14px 0;
  font-family: var(--font-serif);
  font-size: 20px; line-height: 1.3; font-weight: 700;
  color: var(--ink-azure-deep);
  text-decoration: none; background-image: none !important;
  border-bottom: 0;
}
#site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > a:hover { color: var(--ink-azure); border-bottom: 0; }
#site-nav.kerpc-megamenu .kerpc-nav > li.current-menu-item > a,
#site-nav.kerpc-megamenu .kerpc-nav > li.current-menu-ancestor > a { color: var(--gold-leaf); }

.kerpc-nav__toggle {
  position: absolute; top: 6px; right: 0;
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; cursor: pointer;
  color: var(--ink-muted);
  transition: transform 0.22s cubic-bezier(0.2,0.6,0.2,1), color 0.18s ease;
  z-index: 2;
}
.kerpc-nav__toggle svg { width: 18px; height: 18px; }
#site-nav.kerpc-megamenu .kerpc-nav > li.is-open > .kerpc-nav__toggle { transform: rotate(180deg); color: var(--ink-azure); }

#site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu {
  list-style: none; margin: 0;
  padding: 0 0 12px 16px;
  border-left: 2px solid var(--gold-soft);
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s cubic-bezier(0.2,0.6,0.2,1);
}
#site-nav.kerpc-megamenu .kerpc-nav > li.is-open > ul.sub-menu { max-height: 640px; }
#site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu li { display: block; margin: 0; padding: 0; height: auto; border: 0; }
#site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu a {
  display: block;
  padding: 9px 12px;
  font-family: var(--font-body); font-size: 15px;
  color: var(--ink); text-decoration: none; background-image: none !important;
  border-radius: 2px; border-bottom: 0;
}
#site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu a:hover { background: var(--gold-soft); color: var(--ink-azure-deep); border-bottom: 0; }
#site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu li.current-menu-item > a { color: var(--ink-azure); font-weight: 600; }

/* ---- Десктоп (≥1260px): горизонтальное меню + dropdown ---- */
@media screen and (min-width: 1260px) {
  #site-nav.kerpc-megamenu {
    padding: 0 !important;
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    background: var(--paper);
  }
  #site-nav.kerpc-megamenu .kerpc-nav {
    display: flex; flex-wrap: wrap; gap: 0;
    max-width: 1200px; margin: 0 auto; padding: 0 10px;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item {
    display: block; position: relative;
    height: auto; margin: 0; padding: 0;
    border-bottom: 0;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > a {
    padding: 0 18px;
    height: 52px;
    display: inline-flex; align-items: center; gap: 6px;
    font-family: var(--font-body);
    font-size: 13px; font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--ink-azure-deep);
    border-bottom: 2px solid transparent;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item-has-children > a::after {
    content: ''; width: 6px; height: 6px;
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    opacity: 0.55; margin-left: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > a,
  #site-nav.kerpc-megamenu .kerpc-nav > li.current-menu-item > a,
  #site-nav.kerpc-megamenu .kerpc-nav > li.current-menu-ancestor > a {
    color: var(--ink-azure); border-bottom-color: var(--gold-leaf);
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > a::after { transform: rotate(225deg) translateY(2px); opacity: 1; }

  .kerpc-nav__toggle { display: none !important; }

  /* выпадающая панель = ul.sub-menu — плавный fade + slide + лёгкий scale.
     ВАЖНО: display всегда block (Zuki хардкодит display:none → display:block на :hover,
     а переключение display нельзя анимировать) — прячем через opacity/visibility. */
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu {
    display: block !important;
    position: absolute; top: 100%; left: 0;
    min-width: 280px; max-width: 380px;
    max-height: none; overflow: visible;
    margin: 0; padding: 8px;
    background: var(--paper);
    border: 1px solid var(--rule-strong);
    border-top: 2px solid var(--gold-leaf);
    box-shadow: 0 14px 36px rgba(26,24,20,0.16);
    border-left: 1px solid var(--rule-strong);
    list-style: none;
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(10px) scale(0.985);
    transform-origin: top left;
    transition: opacity 0.28s cubic-bezier(0.2,0.7,0.2,1),
                transform 0.28s cubic-bezier(0.2,0.7,0.2,1),
                visibility 0s linear 0.28s;
    z-index: 100000;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > ul.sub-menu,
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:focus-within > ul.sub-menu {
    opacity: 1; visibility: visible; pointer-events: auto; transform: none;
    transition: opacity 0.28s cubic-bezier(0.2,0.7,0.2,1),
                transform 0.28s cubic-bezier(0.2,0.7,0.2,1);
  }
  /* каскад пунктов внутри выпадающей панели */
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu > li {
    opacity: 0; transform: translateY(-7px);
    transition: opacity 0.22s ease, transform 0.22s ease;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > ul.sub-menu > li,
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:focus-within > ul.sub-menu > li {
    opacity: 1; transform: none;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > ul.sub-menu > li:nth-child(1),
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:focus-within > ul.sub-menu > li:nth-child(1) { transition-delay: 0.05s; }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > ul.sub-menu > li:nth-child(2),
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:focus-within > ul.sub-menu > li:nth-child(2) { transition-delay: 0.09s; }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > ul.sub-menu > li:nth-child(3),
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:focus-within > ul.sub-menu > li:nth-child(3) { transition-delay: 0.13s; }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > ul.sub-menu > li:nth-child(4),
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:focus-within > ul.sub-menu > li:nth-child(4) { transition-delay: 0.17s; }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > ul.sub-menu > li:nth-child(n+5),
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:focus-within > ul.sub-menu > li:nth-child(n+5) { transition-delay: 0.2s; }
  @media (prefers-reduced-motion: reduce) {
    #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu,
    #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu > li { transition: opacity 0.12s linear !important; transform: none !important; }
  }
  #site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu a {
    display: block;
    padding: 10px 12px;
    font-family: var(--font-serif); font-size: 15px; font-weight: 400; line-height: 1.35;
    color: var(--ink-azure-deep); border-radius: 2px; border-bottom: 0;
  }
  #site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu a:hover { background: var(--gold-soft); color: var(--ink-azure-deep); border-bottom: 0; }
  #site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu li.current-menu-item > a { color: var(--ink-azure); font-weight: 600; }

  /* нейтрализуем старые Zuki-правила #site-nav (узкие 180px dropdown, large links) */
  #site-nav.kerpc-megamenu li:hover > a { border-bottom-width: 2px; }

  /* ---- Кнопки-действия (Архив, Поиск) — в правом углу строки меню (десктоп) ---- */
  #site-nav.kerpc-megamenu { position: relative; }
  #site-nav.kerpc-megamenu .kerpc-nav-actions {
    position: absolute !important;
    top: 50% !important; right: 14px !important; left: auto !important;
    transform: translateY(-50%);
    display: flex !important; align-items: center; gap: 6px;
    margin: 0; padding: 0;
    z-index: 5;
  }
  #site-nav.kerpc-megamenu .kerpc-nav-action {
    position: static !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 40px !important; height: 40px !important;
    border: 1px solid var(--rule-strong) !important;
    border-radius: 999px !important;
    background: transparent !important;
    padding: 0 !important; margin: 0 !important;
    color: var(--ink-azure-deep) !important;
    line-height: 0 !important;
    box-sizing: border-box;
    text-decoration: none; background-image: none !important;
  }
  #site-nav.kerpc-megamenu .kerpc-nav-action:hover { border-color: var(--ink-azure) !important; background: var(--ink-azure-soft) !important; color: var(--ink-azure) !important; }
  #site-nav.kerpc-megamenu .kerpc-nav-action svg {
    width: 18px !important; height: 18px !important;
    display: block !important;
    color: inherit;
  }

  /* Хинт-тултип при наведении на кнопки действий */
  #site-nav.kerpc-megamenu .kerpc-nav-action[data-hint]::after {
    content: attr(data-hint);
    position: absolute;
    top: calc(100% + 9px); right: 0;
    white-space: nowrap;
    background: var(--ink-azure-deep);
    color: var(--paper);
    font-family: var(--font-body); font-size: 12px; font-weight: 500;
    letter-spacing: 0.02em; line-height: 1.3;
    padding: 7px 11px; border-radius: 4px;
    box-shadow: 0 6px 18px rgba(26,24,20,0.20);
    opacity: 0; visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
    pointer-events: none; z-index: 200;
  }
  #site-nav.kerpc-megamenu .kerpc-nav-action[data-hint]::before {
    content: '';
    position: absolute;
    top: calc(100% + 4px); right: 13px;
    border: 5px solid transparent;
    border-bottom-color: var(--ink-azure-deep);
    opacity: 0; visibility: hidden;
    transition: opacity 0.16s ease, visibility 0s linear 0.16s;
    pointer-events: none; z-index: 200;
  }
  #site-nav.kerpc-megamenu .kerpc-nav-action[data-hint]:hover::after,
  #site-nav.kerpc-megamenu .kerpc-nav-action[data-hint]:focus-visible::after,
  #site-nav.kerpc-megamenu .kerpc-nav-action[data-hint]:hover::before,
  #site-nav.kerpc-megamenu .kerpc-nav-action[data-hint]:focus-visible::before {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity 0.16s ease, transform 0.16s ease;
  }
}

/* Мобильный: кнопки-действия как пункты внизу бургер-меню (поиск скрываем — есть #mobile-search-toggle) */
@media screen and (max-width: 1259px) {
  #site-nav.kerpc-megamenu .kerpc-nav-actions {
    display: flex; flex-direction: column;
    border-top: 1px solid var(--rule);
    margin-top: 8px; padding-top: 8px;
  }
  #site-nav.kerpc-megamenu .kerpc-nav-action#search-toggle { display: none !important; }
  #site-nav.kerpc-megamenu .kerpc-nav-action#archive-toggle {
    display: flex !important; align-items: center; gap: 10px;
    padding: 14px 0 !important;
    border: 0 !important; border-radius: 0 !important;
    width: auto !important; height: auto !important;
    font-family: var(--font-serif); font-size: 20px; font-weight: 700;
    color: var(--ink-azure-deep) !important;
    background: transparent !important;
    line-height: 1.3 !important;
  }
  #site-nav.kerpc-megamenu .kerpc-nav-action#archive-toggle svg { width: 22px !important; height: 22px !important; }
  #site-nav.kerpc-megamenu .kerpc-nav-action#archive-toggle .screen-reader-text {
    position: static !important; width: auto !important; height: auto !important;
    clip: auto !important; clip-path: none !important; margin: 0 !important;
    white-space: normal !important;
  }
  #site-nav.kerpc-megamenu .kerpc-nav-action#archive-toggle:hover { color: var(--ink-azure) !important; background: transparent !important; }
}

/* =============================================================
 * Модальное окно «Архив» (.kerpc-modal базовое + .kerpc-archive__* контент)
 * ============================================================= */
.kerpc-modal {
  position: fixed; inset: 0;
  z-index: 100001;
  display: flex; align-items: flex-start; justify-content: center;
  padding: clamp(48px, 10vh, 120px) 16px 16px;
}
.kerpc-modal[hidden] { display: none; }
.kerpc-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(14, 19, 13, 0.55);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  opacity: 0; transition: opacity 0.22s cubic-bezier(0.2,0.6,0.2,1);
}
.kerpc-modal.is-open .kerpc-modal__backdrop { opacity: 1; }
.kerpc-modal__dialog {
  position: relative;
  width: 100%; max-width: 760px;
  background: var(--paper);
  border: 1px solid var(--rule-strong);
  border-radius: 8px;
  box-shadow: 0 24px 64px rgba(26,24,20,0.22), 0 4px 12px rgba(26,24,20,0.12);
  overflow: hidden;
  display: flex; flex-direction: column;
  max-height: min(80vh, 720px);
  transform: translateY(-12px) scale(0.98); opacity: 0;
  transition: transform 0.26s cubic-bezier(0.2,0.6,0.2,1), opacity 0.2s ease;
}
.kerpc-modal.is-open .kerpc-modal__dialog { transform: none; opacity: 1; }
.kerpc-modal__close {
  position: absolute; top: 12px; right: 12px;
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--rule);
  border-radius: 999px;
  color: var(--ink-muted); cursor: pointer;
  transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
  z-index: 2;
}
.kerpc-modal__close:hover { border-color: var(--ink-azure); color: var(--ink-azure-deep); background: var(--ink-azure-soft); }
.kerpc-modal__close svg { width: 16px; height: 16px; }
@media (prefers-reduced-motion: reduce) {
  .kerpc-modal__backdrop, .kerpc-modal__dialog { transition: none; }
}

.kerpc-archive__head {
  padding: 20px 56px 14px 24px;
  border-bottom: 1px solid var(--rule);
  background: linear-gradient(180deg, var(--paper-warm), var(--paper));
}
.kerpc-archive__eyebrow {
  font-family: var(--font-body); font-size: 11px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-leaf);
}
.kerpc-archive__title {
  font-family: var(--font-display); font-weight: 600;
  font-size: 24px; line-height: 1.2; color: var(--ink-azure-deep);
  margin: 4px 0 0;
}
.kerpc-archive__tabs {
  display: flex; gap: 4px;
  padding: 8px 16px 0; border-bottom: 1px solid var(--rule);
  background: var(--paper);
  flex-wrap: wrap;
}
.kerpc-archive__tab {
  background: transparent; border: 0; cursor: pointer;
  padding: 10px 14px;
  font-family: var(--font-body); font-size: 13px; font-weight: 600;
  letter-spacing: 0.04em; color: var(--ink-muted);
  border-bottom: 2px solid transparent;
  transition: color 0.18s ease, border-color 0.18s ease;
}
.kerpc-archive__tab:hover { color: var(--ink-azure-deep); background: var(--gold-soft); }
.kerpc-archive__tab.is-active { color: var(--ink-azure-deep); border-bottom-color: var(--gold-leaf); background: transparent; }
.kerpc-archive__tab.is-active:hover { background: var(--gold-soft); }
.kerpc-archive__panels { overflow-y: auto; padding: 16px 24px 24px; }
.kerpc-archive__panel[hidden] { display: none; }
.kerpc-archive__list { list-style: none; margin: 0; padding: 0; }
.kerpc-archive__list li { margin: 0; padding: 0; }
.kerpc-archive__list a {
  display: block; padding: 8px 10px;
  font-family: var(--font-body); font-size: 14px;
  color: var(--ink-azure-deep); text-decoration: none; background-image: none !important;
  border-radius: 2px;
}
.kerpc-archive__list a:hover { background: var(--gold-soft); color: var(--ink-azure-deep); box-shadow: inset 2px 0 0 var(--gold-leaf); }
.kerpc-archive__list--grid { columns: 5 90px; column-gap: 8px; }
.kerpc-archive__list--grid a { font-family: var(--font-serif); font-size: 16px; font-weight: 700; }
.kerpc-archive__list--cols { columns: 3 180px; column-gap: 16px; }
.kerpc-archive__list--cols a { font-size: 13px; }
.kerpc-archive__list--cats { columns: 2 220px; column-gap: 24px; }
.kerpc-archive__list--cats ul.children { padding-left: 14px; border-left: 1px solid var(--gold-soft); margin: 2px 0 2px 8px; }
.kerpc-archive__list--cats ul.children a { font-size: 13px; color: var(--ink); }
.kerpc-archive__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.kerpc-archive__tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--rule); border-radius: 999px;
  font-family: var(--font-body); font-size: 13px;
  color: var(--ink-azure-deep); text-decoration: none; background-image: none !important;
  transition: border-color 0.16s ease, background 0.16s ease;
}
.kerpc-archive__tag:hover { border-color: var(--gold-leaf); background: var(--gold-soft); color: var(--ink-azure-deep); }
.kerpc-archive__tag-count { font-size: 12px; color: var(--ink-faint); font-variant-numeric: tabular-nums; }

body.kerpc-modal-open { overflow: hidden; }

/* =============================================================
 * Мобильная шапка: три иконки в одну линию — гамбургер · архив · поиск.
 * ВСЕ — inline-SVG (без текстовых глифов), единый flex-центринг,
 * одинаковый бокс 44×44, SVG 20×20. Стоят ровно по одной линии.
 * На десктопе (≥1260px) все три скрыты.
 * ============================================================= */
#mobile-menu-toggle,
#mobile-archive-toggle,
#mobile-search-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  float: right;
  width: 44px !important; height: 44px !important;
  padding: 0 !important;
  text-decoration: none; background-image: none !important;
  color: var(--ink-azure-deep) !important;
  line-height: 0 !important;
  box-sizing: border-box;
  vertical-align: middle;
}
#mobile-menu-toggle    { margin: 0 14px 0 0 !important; }
#mobile-archive-toggle { margin: 0 2px 0 0 !important; }
#mobile-search-toggle  { margin: 0 2px 0 0 !important; }

/* убиваем штатные zuki-глифы (☰, ⌕) из ::after — теперь рисуем SVG */
#mobile-menu-toggle:after,  #mobile-menu-toggle:before,
#mobile-archive-toggle:after, #mobile-archive-toggle:before,
#mobile-search-toggle:after, #mobile-search-toggle:before { content: none !important; display: none !important; }

#mobile-menu-toggle .screen-reader-text,
#mobile-archive-toggle .screen-reader-text,
#mobile-search-toggle .screen-reader-text,
#mobile-menu-toggle span, #mobile-archive-toggle span, #mobile-search-toggle span {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

#mobile-menu-toggle svg,
#mobile-archive-toggle svg,
#mobile-search-toggle svg { width: 20px !important; height: 20px !important; display: block; color: inherit; }

#mobile-menu-toggle:hover,
#mobile-archive-toggle:hover,
#mobile-search-toggle:hover { color: var(--ink-azure) !important; }

@media screen and (min-width: 1260px) {
  #mobile-menu-toggle,
  #mobile-search-toggle,
  #mobile-archive-toggle { display: none !important; }
}
/* на мобильном кнопки-действия внутри бургер-меню не нужны — архив и поиск в шапке */
@media screen and (max-width: 1259px) {
  #site-nav.kerpc-megamenu .kerpc-nav-actions { display: none !important; }
}

/* =============================================================
 * Поиск — модальное окно (триггер = штатная иконка Zuki #search-toggle)
 * ============================================================= */
.kerpc-search-modal {
  position: fixed; inset: 0;
  z-index: 100000;
  display: flex; align-items: flex-start; justify-content: center;
  padding: clamp(48px, 12vh, 140px) 16px 16px;
}
.kerpc-search-modal[hidden] { display: none; }
.kerpc-search-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(14, 19, 13, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.22s cubic-bezier(0.2,0.6,0.2,1);
}
.kerpc-search-modal.is-open .kerpc-search-modal__backdrop { opacity: 1; }
.kerpc-search-modal__dialog {
  position: relative;
  width: 100%; max-width: 720px;
  background: var(--paper);
  border: 1px solid var(--rule-strong);
  border-radius: 8px;
  box-shadow: 0 24px 64px rgba(26,24,20,0.22), 0 4px 12px rgba(26,24,20,0.12);
  overflow: hidden;
  transform: translateY(-12px) scale(0.98);
  opacity: 0;
  transition: transform 0.26s cubic-bezier(0.2,0.6,0.2,1), opacity 0.2s ease;
}
.kerpc-search-modal.is-open .kerpc-search-modal__dialog { transform: none; opacity: 1; }
.kerpc-search-modal__close {
  position: absolute; top: 12px; right: 12px;
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--rule);
  border-radius: 999px;
  color: var(--ink-muted); cursor: pointer;
  transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
  z-index: 2;
}
.kerpc-search-modal__close:hover { border-color: var(--ink-azure); color: var(--ink-azure-deep); background: var(--ink-azure-soft); }
.kerpc-search-modal__close svg { width: 16px; height: 16px; }

.kerpc-search-modal__form {
  display: flex; align-items: center; gap: 12px;
  padding: 20px 56px 20px 24px;
  border-bottom: 1px solid var(--rule);
  background: linear-gradient(180deg, var(--paper-warm), var(--paper));
}
.kerpc-search-modal__icon { display: inline-flex; color: var(--gold-leaf); flex-shrink: 0; }
.kerpc-search-modal__icon svg { width: 22px; height: 22px; }
.kerpc-search-modal__input {
  flex: 1; min-width: 0;
  background: transparent !important; border: 0 !important;
  font-family: var(--font-serif); font-size: clamp(20px, 2.6vw, 26px);
  font-weight: 700; color: var(--ink-azure-deep);
  padding: 4px 0; line-height: 1.2;
}
.kerpc-search-modal__input:focus { outline: none !important; box-shadow: none !important; }
.kerpc-search-modal__input::placeholder { color: var(--ink-faint); font-style: italic; }
.kerpc-search-modal__submit {
  flex-shrink: 0;
  background: var(--ink-azure); color: var(--paper);
  font-family: var(--font-body); font-size: 12px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  padding: 12px 20px; border: 0; border-radius: 2px; cursor: pointer;
  transition: background 0.18s ease;
}
.kerpc-search-modal__submit:hover { background: var(--ink-azure-deep); }

.kerpc-search-modal__chips {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 12px 24px;
  margin: 0; border: 0;
  background: var(--paper-warm);
  border-bottom: 1px solid var(--rule);
}
.kerpc-search-chip {
  position: relative;
  display: inline-flex; align-items: center;
  font-family: var(--font-body);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.04em;
  padding: 6px 12px;
  border: 1px solid var(--rule-strong);
  border-radius: 999px;
  background: var(--paper);
  color: var(--ink-muted);
  cursor: pointer;
  user-select: none;
  transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}
.kerpc-search-chip input[type="radio"] {
  position: absolute; opacity: 0; pointer-events: none;
  width: 0; height: 0;
}
.kerpc-search-chip:hover {
  border-color: var(--ink-azure);
  color: var(--ink-azure-deep);
  background: var(--ink-azure-soft, var(--paper-warm));
}
.kerpc-search-chip.is-active {
  background: var(--ink-azure-deep);
  color: var(--paper);
  border-color: var(--ink-azure-deep);
  box-shadow: 0 0 0 1px var(--gold-leaf) inset;
}
.kerpc-search-chip input[type="radio"]:focus-visible + span {
  outline: 2px solid var(--gold-leaf);
  outline-offset: 3px;
  border-radius: 2px;
}
@media (max-width: 600px) {
  .kerpc-search-modal__chips { padding: 10px 16px; justify-content: center; }
  .kerpc-search-chip { font-size: 11px; padding: 5px 10px; }
}

.kerpc-search-modal__results {
  max-height: min(56vh, 520px);
  overflow-y: auto;
}
.kerpc-search-modal__hint {
  display: flex; gap: 18px; flex-wrap: wrap;
  padding: 10px 24px;
  background: var(--paper-warm);
  border-top: 1px solid var(--rule);
  font-family: var(--font-body); font-size: 11px;
  color: var(--ink-muted);
}
.kerpc-search-modal__hint kbd {
  display: inline-block;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  padding: 1px 5px; margin-right: 2px;
  background: var(--paper); border: 1px solid var(--rule-strong);
  border-radius: 3px; box-shadow: 0 1px 0 var(--rule-strong);
  color: var(--ink);
}
/* на мобиле подсказки про Esc/↑↓/Enter не нужны — клавиатуры с этими клавишами нет */
@media (max-width: 600px) { .kerpc-search-modal__hint { display: none; } }

/* результаты внутри модалки (HTML отдаёт AJAX-обработчик) */
.kerpc-search-results__status {
  padding: 14px 24px;
  font-family: var(--font-body); font-size: 13px;
  color: var(--ink-muted);
  border-bottom: 1px solid var(--rule);
}
.kerpc-search-results__list { list-style: none; margin: 0; padding: 0; }
.kerpc-search-results__item { border-bottom: 1px solid var(--rule); }
.kerpc-search-results__item:last-child { border-bottom: 0; }
.kerpc-search-results__link {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 14px 24px;
  text-decoration: none; color: var(--ink);
  transition: background 0.14s ease;
}
.kerpc-search-results__link:hover,
.kerpc-search-results__item.is-active .kerpc-search-results__link { background: var(--paper-warm); box-shadow: inset 2px 0 0 var(--gold-leaf); }
.kerpc-search-results__thumb {
  flex-shrink: 0; width: 64px; height: 48px;
  object-fit: cover; border-radius: 3px;
  background: var(--paper-warm);
}
.kerpc-search-results__body { flex: 1; min-width: 0; }
.kerpc-search-results__title {
  font-family: var(--font-serif); font-weight: 700;
  font-size: 16px; line-height: 1.3; color: var(--ink-azure-deep);
  display: block;
}
.kerpc-search-results__meta {
  font-family: var(--font-body); font-size: 12px;
  color: var(--ink-muted); margin-top: 3px;
}
.kerpc-search-results__type {
  display: inline-block; font-size: 10px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold-leaf); margin-right: 8px;
}
.kerpc-search-results__footer {
  padding: 12px 24px; text-align: center;
  border-top: 1px solid var(--rule); background: var(--paper-warm);
}
.kerpc-search-results__footer a {
  font-family: var(--font-body); font-size: 12px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-azure);
}
.kerpc-search-results mark { background: var(--gold-soft); color: var(--ink-azure-deep); padding: 0 1px; border-radius: 1px; }

/* блокируем скролл body когда модалка открыта */
body.kerpc-search-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .kerpc-search-modal__backdrop,
  .kerpc-search-modal__dialog { transition: none; }
}

/* =============================================================
 * Мобильное бургер-меню — аккуратный вид (переопределяет zuki #site-nav)
 * Левое выравнивание, тонкие разделители, ivory фон, компактные отступы,
 * красивый accordion подпунктов, нормальный #mobile-menu-close (не чёрная плашка).
 * ============================================================= */
@media screen and (max-width: 1259px) {
  #mobile-menu-wrap { margin-bottom: 0 !important; overflow: hidden; background: var(--paper); }

  #site-nav.kerpc-megamenu { padding: 4px 0 0 !important; background: var(--paper); clear: both; }
  #site-nav.kerpc-megamenu .kerpc-nav,
  #site-nav.kerpc-megamenu ul { text-align: left !important; list-style: none; margin: 0; padding: 0; }

  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item {
    display: block !important;
    margin: 0 !important; padding: 0 !important;
    border-bottom: 1px solid var(--rule) !important;
    height: auto !important;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:last-of-type { border-bottom: 0 !important; }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > a {
    display: block !important;
    text-align: left !important;
    padding: 14px 50px 14px 18px !important;
    font-family: var(--font-serif);
    font-size: 18px !important; line-height: 1.3 !important;
    font-weight: 700;
    color: var(--ink-azure-deep) !important;
    text-decoration: none !important; background-image: none !important;
    border-bottom: 0 !important;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > a:hover,
  #site-nav.kerpc-megamenu .kerpc-nav > li.is-open > a {
    color: var(--ink-azure-deep) !important; background: var(--gold-soft) !important; border-bottom: 0 !important;
    box-shadow: inset 2px 0 0 var(--gold-leaf);
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.current-menu-item > a,
  #site-nav.kerpc-megamenu .kerpc-nav > li.current-menu-ancestor > a { color: var(--gold-leaf) !important; }

  /* стрелка-toggle */
  .kerpc-nav__toggle {
    position: absolute !important; top: 50% !important; right: 4px !important; left: auto !important;
    transform: translateY(-50%);
    width: 44px !important; height: 44px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    background: transparent !important; border: 0 !important; cursor: pointer;
    color: var(--ink-muted) !important;
    transition: transform 0.22s cubic-bezier(0.2,0.6,0.2,1), color 0.18s ease;
  }
  .kerpc-nav__toggle svg { width: 18px !important; height: 18px !important; }
  #site-nav.kerpc-megamenu .kerpc-nav > li.is-open > .kerpc-nav__toggle { transform: translateY(-50%) rotate(180deg); color: var(--ink-azure) !important; }

  /* collapsed sub-menu — БЕЗ margin/border у свёрнутого (это убирало «толстые полосы») */
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu {
    display: block !important;
    max-height: 0; overflow: hidden;
    opacity: 0;
    margin: 0 !important; padding: 0 !important;
    border: 0 !important;
    background: var(--paper-warm);
    transition: max-height 0.4s cubic-bezier(0.22,0.7,0.2,1), opacity 0.3s ease 0.04s;
  }
  #site-nav.kerpc-megamenu .kerpc-nav > li.is-open > ul.sub-menu { max-height: 800px; opacity: 1; padding: 4px 0 10px 30px !important; }
  @media (prefers-reduced-motion: reduce) {
    #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu { transition: opacity 0.1s linear !important; }
  }
  #site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu li {
    display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; height: auto !important;
  }
  #site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu a {
    display: block !important;
    text-align: left !important;
    padding: 9px 18px !important;
    font-family: var(--font-body); font-size: 14px !important; line-height: 1.4 !important;
    color: var(--ink) !important;
    text-decoration: none !important; background-image: none !important;
    border-bottom: 0 !important; font-weight: 400;
  }
  #site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu a:hover { color: var(--ink-azure-deep) !important; background: var(--gold-soft) !important; }
  #site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu li.current-menu-item > a { color: var(--ink-azure) !important; font-weight: 600; }

  /* нейтрализуем zuki #site-nav ul li.menu-item-has-children { border-bottom:none; padding-bottom:0 } */
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item.menu-item-has-children { border-bottom: 1px solid var(--rule) !important; padding-bottom: 0 !important; }

  /* #mobile-menu-close — не чёрная плашка, а светлая полоса с azure-крестиком */
  #mobile-menu-close {
    display: block !important;
    position: relative !important;
    background: var(--paper-warm) !important;
    height: 52px !important;
    border-top: 1px solid var(--rule) !important;
    text-align: center;
  }
  #mobile-menu-close span { display: none !important; }
  #mobile-menu-close:after {
    content: '\00D7' !important; /* × */
    position: absolute !important; inset: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 100% !important; height: 100% !important;
    padding: 0 !important;
    font-size: 26px !important; line-height: 1 !important; font-weight: 300 !important;
    color: var(--ink-azure-deep) !important;
    background: none !important;
  }
  #mobile-menu-close:hover:after { color: var(--ink-azure) !important; }
}

/* =============================================================
 * ОДИНОЧНЫЙ ПОСТ — шапка по центру (рубрика · заголовок · дата) + буквица
 * ============================================================= */
.single .entry-header--centered {
  text-align: center;
  max-width: 760px;
  margin: clamp(8px, 2vw, 20px) auto clamp(22px, 3.4vw, 38px);
  padding: 0 14px;
}
/* рубрика — «Категория: Служение» по центру, gold-ссылка */
.entry-header--centered .entry-cats--label {
  font-family: var(--font-body);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  margin: 0 0 clamp(12px, 1.6vw, 18px);
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 7px;
  line-height: 1.4;
}
.entry-header--centered .entry-cats--label .entry-cats__pre { color: var(--ink-faint); font-weight: 600; }
.entry-header--centered .entry-cats--label a {
  color: var(--gold-leaf); text-decoration: none; background-image: none !important;
  border-bottom: 1px solid transparent; padding-bottom: 1px;
  transition: color 0.16s ease, border-color 0.16s ease;
}
.entry-header--centered .entry-cats--label a:hover { color: var(--gold-warm); border-bottom-color: var(--gold-warm); }
/* заголовок поста — крупно, по центру */
.single .entry-header--centered h1.entry-title {
  font-family: var(--font-display) !important;
  font-size: clamp(26px, 2.6vw + 0.5rem, 42px) !important;
  line-height: 1.16 !important; font-weight: 600 !important;
  color: var(--ink-azure-deep) !important; letter-spacing: -0.012em;
  margin: 0 0 clamp(12px, 1.6vw, 16px) !important; text-wrap: balance;
}
/* дата — под заголовком, мелкий курсив PT Serif */
.entry-header--centered .entry-date {
  font-family: var(--font-serif); font-style: italic;
  font-size: 14px; color: var(--ink-muted);
  margin: 0;
}
.entry-header--centered .entry-date a { color: var(--ink-muted); background-image: none !important; }
.entry-header--centered .entry-date a:hover { color: var(--ink-azure); }
.entry-header--centered .entry-comments,
.entry-header--centered .entry-edit { display: inline-block; margin-top: 6px; font-size: 12px; }
/* тонкая золотая черта под шапкой — «начало главы» */
.entry-header--centered::after {
  content: ''; display: block;
  width: clamp(48px, 6vw, 72px); height: 2px;
  background: var(--gold-leaf);
  margin: clamp(16px, 2.4vw, 24px) auto 0;
  border-radius: 2px;
}
/* миниатюра под шапкой — по центру, скруглённая */
.single .entry-thumbnail { margin: 0 auto clamp(18px, 2.6vw, 30px); text-align: center; }
.single .entry-thumbnail a { display: inline-block; line-height: 0; }
.single .entry-thumbnail img { border-radius: 4px; max-width: 100%; height: auto; display: block; }

/* ---- буквица как в старой книге (первая буква ИЛИ число первого абзаца) ---- */
.single .entry-content .kerpc-dropcap {
  float: left;
  font-family: var(--font-display);          /* Cormorant Garamond — дисплейный, «книжный» */
  font-weight: 600 !important; font-style: normal !important;
  font-size: 3.9em;
  line-height: 0.82;
  margin: 0.05em 0.12em -0.04em 0;
  color: var(--gold-leaf);
  text-shadow: 0 1px 0 rgba(184, 137, 62, 0.15);
  -webkit-text-stroke: 0;
}
.single .entry-content .kerpc-dropcap--num {     /* число (две и более цифры) — кегль чуть меньше */
  font-size: 2.85em; line-height: 1; margin-right: 0.18em; letter-spacing: -0.01em;
}
.single .entry-content p.has-dropcap { overflow: visible; }
.single .entry-content p.has-dropcap::after { content: ''; display: table; clear: none; }
@media (max-width: 600px) {
  .single .entry-content .kerpc-dropcap { font-size: 3.1em; }
  .single .entry-content .kerpc-dropcap--num { font-size: 2.4em; }
}

/* ---- одиночный пост: вся статья в центрированной колонке ~840px (текст и фото одной ширины) ---- */
.single-post .site-content > article {
  max-width: 840px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.single-post .entry-content,
.single-post .entry-summary {
  max-width: none !important;          /* снимаем зуковский кэп 680px — текст по ширине статьи */
}
.single-post .entry-header--centered { max-width: none; }   /* было 760px — теперь по ширине статьи */
.single-post .entry-thumbnail { padding-bottom: 0; margin-bottom: clamp(18px, 2.6vw, 30px); }
.single-post .entry-thumbnail img { width: 100%; max-width: 100%; height: auto; }
.single-post .entry-meta { max-width: none !important; }
.single-post #comments,
.single-post .navigation.nav-single,
.single-post .post-navigation,
.single-post .nav-single {
  max-width: 840px; margin-left: auto !important; margin-right: auto !important;
}

/* =============================================================
 * Пагинация — пронумерованные страницы (1 2 3 … N), вместо «Назад/Вперёд»
 * Используется zuki_content_nav() во всех архивах + на странице храмов.
 * ============================================================= */
.kerpc-pagination {
  margin: clamp(26px, 3.6vw, 40px) auto clamp(40px, 6vw, 64px);
  text-align: center; clear: both;
}
/* отступ перед тёмным подвалом на архивах/поиске/блоге */
body.archive #primary, body.blog #primary, body.search #primary,
body.category #primary, body.tag #primary, body.date #primary,
body.author #primary, body.post-type-archive #primary { padding-bottom: clamp(20px, 3vw, 40px); }
.kerpc-pagination ul.page-numbers {
  list-style: none; margin: 0; padding: 0;
  display: inline-flex; flex-wrap: wrap; gap: 6px;
  align-items: center; justify-content: center;
}
.kerpc-pagination ul.page-numbers > li { margin: 0; padding: 0; border: 0; }
.kerpc-pagination li .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 11px;
  box-sizing: border-box;
  font-family: var(--font-body); font-size: 14px; font-weight: 600;
  line-height: 1; color: var(--ink-azure);
  text-decoration: none; background: transparent; background-image: none !important;
  border: 1px solid var(--rule); border-radius: 4px;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}
.kerpc-pagination li a.page-numbers:hover {
  background: var(--gold-soft); border-color: var(--gold-leaf); color: var(--ink-azure-deep);
}
.kerpc-pagination li .page-numbers.current,
.kerpc-pagination li span[aria-current="page"] {
  background: var(--ink-azure); border-color: var(--ink-azure); color: var(--paper);
}
.kerpc-pagination li .page-numbers.dots {
  border-color: transparent; background: transparent; color: var(--ink-faint);
  min-width: 24px; padding: 0 2px;
}
.kerpc-pagination li .page-numbers.prev,
.kerpc-pagination li .page-numbers.next { font-size: 19px; font-weight: 400; }
@media (max-width: 480px) {
  .kerpc-pagination li .page-numbers { min-width: 34px; height: 34px; padding: 0 8px; font-size: 13px; }
}

/* ---- кнопка «наверх» (создаётся kerpc-scrolltop.js) ---- */
.kerpc-to-top {
  position: fixed;
  right: clamp(14px, 2.4vw, 28px);
  bottom: clamp(14px, 2.4vw, 28px);
  z-index: 9990;
  width: 46px; height: 46px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0;
  background: var(--ink-azure-deep);
  color: var(--paper);
  border: 1px solid var(--gold-leaf);
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(11, 21, 45, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  opacity: 0; visibility: hidden;
  transform: translateY(14px) scale(0.92);
  transition: opacity 0.28s cubic-bezier(0.2, 0.7, 0.2, 1),
              transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1),
              background 0.18s ease, border-color 0.18s ease;
  -webkit-tap-highlight-color: transparent;
}
.kerpc-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.kerpc-to-top:hover { background: var(--ink-azure); border-color: var(--gold-warm); }
.kerpc-to-top:active { transform: scale(0.95); }
.kerpc-to-top:focus-visible { outline: 2px solid var(--gold-warm); outline-offset: 2px; }
.kerpc-to-top svg { width: 19px; height: 19px; display: block; }
@media (max-width: 600px) {
  .kerpc-to-top { width: 42px; height: 42px; right: 14px; bottom: 14px; }
  .kerpc-to-top svg { width: 17px; height: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .kerpc-to-top { transition: opacity 0.15s linear !important; transform: none !important; }
  .kerpc-to-top.is-visible { transform: none !important; }
}

/* ---- красивая заглушка для записи без фото (и подмена «битых» картинок через JS) ---- */
.entry-thumb--ph, .entry-thumbnail--ph,
.entry-thumb.is-img-broken, .entry-thumbnail.is-img-broken { background: transparent; }
.kerpc-thumb-ph,
.entry-thumb.is-img-broken > a,
.entry-thumbnail.is-img-broken > a {
  display: flex !important; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
  width: 100%; height: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 4px;
  text-decoration: none !important; background-image: none !important;
  background:
    radial-gradient(140% 100% at 50% 0%, rgba(247,243,236,0.65), rgba(247,243,236,0) 62%),
    linear-gradient(135deg, var(--paper-deep) 0%, var(--paper-warm) 52%, var(--paper-deep) 100%);
  color: var(--gold-leaf);
  border: 1px solid var(--rule);
}
.kerpc-thumb-ph__icon,
.entry-thumb.is-img-broken .kerpc-thumb-ph__icon,
.entry-thumbnail.is-img-broken .kerpc-thumb-ph__icon {
  display: block; width: 38%; max-width: 72px; min-width: 30px;
  color: var(--gold-leaf); opacity: 0.42;
  transition: opacity 0.2s ease, color 0.2s ease;
}
.kerpc-thumb-ph__icon svg { width: 100%; height: 100%; display: block; }
.kerpc-thumb-ph:hover .kerpc-thumb-ph__icon { opacity: 0.6; color: var(--gold-warm); }
/* тонкий золотой уголок-акцент */
.kerpc-thumb-ph::after,
.entry-thumb.is-img-broken > a::after,
.entry-thumbnail.is-img-broken > a::after {
  content: ''; position: absolute; top: 8px; left: 8px;
  width: 22px; height: 22px;
  border-top: 2px solid var(--gold-leaf); border-left: 2px solid var(--gold-leaf);
  opacity: 0.5; pointer-events: none;
}
/* в архиве (.rp-big-one) заглушка занимает то же место, что и реальная миниатюра */
.rp-big-one .entry-thumb--ph, .rp-big-one .entry-thumb.is-img-broken { display: block; }

/* ---- подсветка текущего пункта меню (вкл. когда мы на дочерней странице → подсвечен корневой) ---- */
#site-nav.kerpc-megamenu .kerpc-nav > li.current-page-ancestor > a,
#site-nav.kerpc-megamenu .kerpc-nav > li.current-page-parent > a,
#site-nav.kerpc-megamenu .kerpc-nav > li.current-category-ancestor > a,
#site-nav.kerpc-megamenu .kerpc-nav > li.kerpc-current-root > a,
#site-nav.kerpc-megamenu .kerpc-nav > li.kerpc-current > a {
  color: var(--ink-azure) !important;
}
@media screen and (min-width: 1260px) {
  #site-nav.kerpc-megamenu .kerpc-nav > li.current-page-ancestor > a,
  #site-nav.kerpc-megamenu .kerpc-nav > li.current-page-parent > a,
  #site-nav.kerpc-megamenu .kerpc-nav > li.current-category-ancestor > a,
  #site-nav.kerpc-megamenu .kerpc-nav > li.kerpc-current-root > a,
  #site-nav.kerpc-megamenu .kerpc-nav > li.kerpc-current > a {
    border-bottom-color: var(--gold-leaf) !important;
  }
}
/* подпункт, в котором мы находимся (дропдаун / мобильный аккордеон) */
#site-nav.kerpc-megamenu .kerpc-nav .sub-menu li.current-menu-item > a,
#site-nav.kerpc-megamenu .kerpc-nav .sub-menu li.current_page_item > a,
#site-nav.kerpc-megamenu .kerpc-nav .sub-menu li.current-page-ancestor > a,
#site-nav.kerpc-megamenu .kerpc-nav .sub-menu li.current-menu-ancestor > a,
#site-nav.kerpc-megamenu .kerpc-nav .sub-menu li.kerpc-current > a {
  color: var(--ink-azure) !important; font-weight: 600 !important;
  box-shadow: inset 2px 0 0 var(--gold-leaf);
}

/* ---- меню: подменю только на hover/focus (никаких видимых плоских строк-дублей) ---- */
@media screen and (min-width: 1260px) {
  #masthead #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu {
    position: absolute !important;
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
  }
  #masthead #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:hover > ul.sub-menu,
  #masthead #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:focus-within > ul.sub-menu {
    opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
  }
}
@media screen and (max-width: 1259px) {
  /* в бургер-меню подменю свёрнуто, разворачивается аккордеоном (.is-open) — не висит плоской строкой */
  #masthead #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu { max-height: 0 !important; overflow: hidden !important; }
  #masthead #site-nav.kerpc-megamenu .kerpc-nav > li.is-open > ul.sub-menu { max-height: 900px !important; }
}

/* ---- блок «смотреть все материалы раздела» (на landing-страницах разделов) ---- */
.kerpc-section-more {
  display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
  margin: clamp(22px, 3.4vw, 36px) auto clamp(28px, 4vw, 44px);
  text-align: center;
}
.kerpc-section-more .kerpc-section-more__btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 22px;
  font-family: var(--font-body); font-size: 13px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ink-azure) !important;
  background: transparent; background-image: none !important;
  border: 1.5px solid var(--rule-strong); border-radius: 4px;
  text-decoration: none !important;
  transition: color 0.16s ease, border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}
.kerpc-section-more .kerpc-section-more__btn::after { content: '→'; font-size: 15px; line-height: 1; transition: transform 0.16s ease; }
.kerpc-section-more .kerpc-section-more__btn:hover {
  color: var(--ink-azure-deep) !important;
  border-color: var(--gold-leaf); background: var(--gold-soft);
  transform: translateY(-1px);
}
.kerpc-section-more .kerpc-section-more__btn:hover::after { transform: translateX(3px); }

/* =============================================================
 * МЕГАМЕНЮ — БРОНЕБОЙНОЕ: подменю (ul.sub-menu) НИКОГДА не висит видимой плоской строкой.
 * Видно ТОЛЬКО: на десктопе — при :hover/:focus-within родителя; на мобиле — при .is-open.
 * Перебивает любые правила (zuki/наши) независимо от ширины и порядка.
 * ============================================================= */
#site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu { display: block; }
#site-nav.kerpc-megamenu .kerpc-nav ul.sub-menu > li { display: block; float: none; }
#site-nav.kerpc-megamenu .kerpc-nav > li.menu-item:not(.is-open):not(:hover):not(:focus-within) > ul.sub-menu {
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media screen and (max-width: 1259px) {
  #site-nav.kerpc-megamenu .kerpc-nav > li.menu-item > ul.sub-menu { display: block !important; }
}

/* ---- скрываем .main-wrap-sidebar (виджеты-меню разделов): дублировали подпункты мегаменю ---- */
#main-wrap > .main-wrap-sidebar, .main-wrap-sidebar { display: none !important; }

/* ---- подвал: 5 колонок виджетов адаптивной сеткой (вместо zuki-флоатов 18%) ---- */
#footerwidgets-wrap.cf, #footerwidgets-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 168px), 1fr));
  gap: clamp(20px, 3vw, 36px);
  align-content: start;
}
#footerwidgets-wrap > .default-sidebar, #footerwidgets-wrap > .widget-area {
  width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important;
}
@media (max-width: 520px) {
  #footerwidgets-wrap { grid-template-columns: 1fr; gap: 22px; }
}

/* ---- общая мобильная гигиена ---- */
@media (max-width: 767px) {
  /* колонки RSS-епархий (prefooter) и прочие fullwidth-зоны не вылезают за край */
  #front-fullwidth-three > .widget, #front-content-three > .widget, #front-fullwidth-bottom > .widget { float: none !important; width: 100% !important; }
}
/* clearfix-псевдоэлементы у #footerwidgets-wrap.cf не должны становиться grid-ячейками */
#footerwidgets-wrap::before, #footerwidgets-wrap::after { content: none !important; display: none !important; }

/* (стили ряда соц-иконок в мобильной шапке — выше, в блоке «МОБИЛЬНАЯ ШАПКА») */

/* ---- WP-галерея [gallery]: квадратные аккуратные миниатюры (размер берётся из 'medium' — см.
       shortcode_atts_gallery в kerpc-mods.php; резкость на retina даёт srcset). ---- */
.gallery .gallery-item a, .gallery .gallery-icon a { display: block; border-bottom: 0 !important; }
.gallery .gallery-item img,
.gallery .gallery-icon img,
.gallery .gallery-item .attachment-medium,
.gallery .gallery-item .attachment-thumbnail {
  width: 100% !important; max-width: 100% !important; height: auto !important;
  aspect-ratio: 1; object-fit: cover;
  display: block; border: 0 !important; border-radius: 4px;
  background: var(--paper-deep);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.gallery .gallery-item a:hover img { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(11,21,45,0.14); }
.gallery .gallery-caption { font-family: var(--font-serif); font-size: 12px; line-height: 1.35; font-style: italic; color: var(--ink-muted); margin: 5px 2px 12px !important; }
@media (prefers-reduced-motion: reduce) { .gallery .gallery-item img { transition: none; } .gallery .gallery-item a:hover img { transform: none; } }

/* --- footer credit: центрировать в мобилке и планшете (десктоп — слева, как было) --- */
@media (max-width: 1259px) {
  #colophon #site-info,
  #colophon #site-info ul.credit,
  #colophon #site-info ul.credit li { text-align: center; }
}

/* --- footerwidgets: центрировать в мобилке и планшете (десктоп ≥1260px — слева, как было) --- */
@media (max-width: 1259px) {
  #footerwidgets-wrap,
  #footerwidgets-wrap .widget,
  #footerwidgets-wrap .widget .widget-title,
  #footerwidgets-wrap .widget ul,
  #footerwidgets-wrap .widget li,
  #footerwidgets-wrap .widget li a,
  #footerwidgets-wrap .widget p,
  #footerwidgets-wrap .widget .textwidget { text-align: center; }
}

/* --- footerwidgets: на мобилке и планшете «сжать» колонки к центру,
       вместо grid-1fr (растягивает каждую до 50% и оставляет дыры справа).
       Колонки прижимаются друг к другу в середине блока. На десктопе grid из 1505 остаётся. */
@media (max-width: 1259px) {
  #footerwidgets-wrap, #footerwidgets-wrap.cf {
    display: flex; flex-wrap: wrap;
    justify-content: center; align-items: flex-start;
    gap: clamp(28px, 5vw, 64px);
  }
  #footerwidgets-wrap > .default-sidebar,
  #footerwidgets-wrap > .widget-area {
    flex: 0 1 auto;
    min-width: 168px;
    max-width: 100%;
  }
}

/* --- footerwidgets: на МОБИЛЕ (≤600) прятать колонки без mobile-варианта виджета
       (чтобы не оставались пустые .default-sidebar div'ы от плагина Widget Options) --- */
@media (max-width: 600px) {
  #footerwidgets-wrap > .default-sidebar:not(:has(.widget.extendedwopts-desktop)),
  #footerwidgets-wrap > .widget-area:not(:has(.widget.extendedwopts-desktop)) {
    display: none !important;
  }
}

/* --- ПЛАНШЕТ (601–1259): показать все 5 desktop-виджетов в усечённом виде,
       переопределив плагин Widget Options. Mobile-only виджеты прячем — не дублируем. --- */
@media (min-width: 601px) and (max-width: 1259px) {
  #footerwidgets-wrap .widget.extendedwopts-tablet { display: block !important; }
  #footerwidgets-wrap .widget.extendedwopts-desktop { display: none !important; }
  #footerwidgets-wrap > .default-sidebar,
  #footerwidgets-wrap > .widget-area {
    flex: 1 1 calc((100% - 4 * 14px) / 5);
    min-width: 130px; max-width: 220px;
  }
  #footerwidgets-wrap, #footerwidgets-wrap.cf {
    gap: 16px clamp(12px, 1.8vw, 20px);
    padding-left: 16px; padding-right: 16px;
  }
  /* шрифт списка чуть мельче, чтоб помещалось */
  #footerwidgets-wrap .widget li, #footerwidgets-wrap .widget li a { font-size: 13px; line-height: 1.45; }
  #footerwidgets-wrap .widget .widget-title { font-size: 12px; }
}
