/* ==========================================================================
   Въпрос Медия · „Печатът"

   Езикът е вестникарски и е сведен до четири похвата:
     1. ЛИНИЯТА. Тънък косъм разделя, двойната линия обявява.
     2. ТОЧКАТА. Червеното се появява само като точка или като къс щрих.
        Никога като плоскост, никога като бутон-балон.
     3. НАБОРЪТ. Literata с отрицателна разредка в заглавията, Golos Text
        за служебното. Старинни цифри в текста, обикновени в служебното.
     4. ПОЛЕТО. Мярка за четене 42rem и много въздух отстрани. Празното
        не е пропуск, а материал.

   Мобилно първо, защото Discover идва от телефон.
   ========================================================================== */

:root {
  --rule: var(--wp--preset--color--rule);
  --ink: var(--wp--preset--color--ink);
  --ink-soft: var(--wp--preset--color--ink-soft);
  --grey: var(--wp--preset--color--grey);
  --red: var(--wp--preset--color--red);
  --paper: var(--wp--preset--color--paper);
  --tint: var(--wp--preset--color--paper-tint);

  --measure: 42rem;
  --wide: 74rem;
  --ui: var(--wp--preset--font-family--ui);
  --display: var(--wp--preset--font-family--display);

  --gut: clamp(1rem, 4vw, 2.5rem);   /* поле отстрани */

  /* Водещите изображения вече са карти в марката: чистата ивица седи точно
     в средата, затова изрязването е централно. Няма щампа за пазене. */
  --crop: center center;
}

* { box-sizing: border-box; }

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-variant-numeric: oldstyle-nums;
}

/* WordPress core permits arbitrary breaks inside post titles. Bulgarian
   headlines keep whole words intact and wrap only at natural boundaries. */
.wp-block-post-title {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.z-wrap { max-width: var(--wide); margin: 0 auto; padding: 0 var(--gut); }
.z-narrow { max-width: var(--measure); margin-left: auto; margin-right: auto; }

/* Двойната линия: дебела отгоре, косъм отдолу. Обявява раздел. */
.z-doublerule { border-top: 3px solid var(--ink); box-shadow: 0 2px 0 -1px var(--rule); }

/* ======================================================== 1. МАСТХЕД ==== */

.z-header {
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
}
/* Широк екран: лого вляво, меню вдясно, търсачка най-вдясно.
   Тесен екран: бургер | ЕДРО лого в средата | търсачка. */
.z-header__inner {
  max-width: var(--wide);
  margin: 0 auto;
  /* отгоре по-малко, отдолу повече: логото седи оптически по-нагоре в лентата */
  padding: clamp(0.5rem, 1.8vw, 0.85rem) var(--gut) clamp(0.85rem, 2.6vw, 1.35rem);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(1rem, 3vw, 2.5rem);
}
.z-logo { display: block; line-height: 0; justify-self: start; }
.z-logo img { width: clamp(150px, 24vw, 246px); height: auto; display: block; }
/* WordPress слага отстъп отгоре на всеки елемент СЛЕД първия (blockGap).
   Тук разстоянието идва от gap, затова отстъпът се нулира; иначе логото
   пада с 24 пиксела надолу и align-self:start няма ефект. */
.z-header__inner > * { margin-block-start: 0; margin-block-end: 0; }

/* Логото се закача за горния ръб на лентата, менюто остава в средата:
   така словото седи по-нагоре, както на първа страница на вестник. */
.z-header .z-logo { align-self: start; }

/* Търсачката: само знак, води към страницата за търсене. */
.z-searchbtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--ink);
  justify-self: end;
}
.z-searchbtn:hover { color: var(--red); }

/* Бургерът на широк екран не съществува. Типът и класът надвиват
   late-печатаните стилове на ядрото. */
nav.z-burger.wp-block-navigation { display: none; }

/* Търсачката като прозорец: хартиена плоча в горната третина, затъмнена
   зала отзад. Родният dialog носи затъмнението и Escape наготово. */
.z-searchdlg {
  border: 0;
  border-top: 3px solid var(--ink);
  padding: 1.5rem clamp(1.25rem, 4vw, 2rem) 1.75rem;
  width: min(92vw, 40rem);
  margin: 14vh auto auto;
  background: var(--paper);
  color: var(--ink);
}
.z-searchdlg::backdrop { background: rgba(23, 24, 27, .55); }
.z-searchdlg__label {
  font-family: var(--ui);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--grey);
  display: block;
  margin-bottom: 0.9rem;
}
.z-searchdlg__row {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 0.45rem;
}
.z-searchdlg__input {
  flex: 1;
  border: 0;
  background: transparent;
  font-family: var(--display);
  font-size: clamp(1.25rem, 3.5vw, 1.625rem);
  color: var(--ink);
  min-width: 0;
}
.z-searchdlg__input:focus { outline: none; }
.z-searchdlg__input::-webkit-search-cancel-button { display: none; }
.z-searchdlg__go {
  border: 0;
  background: transparent;
  font-family: var(--ui);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  cursor: pointer;
  padding: 0.4rem 0;
}
.z-searchdlg__go:hover { color: var(--red); }
.z-searchdlg__close {
  position: absolute;
  top: 0.9rem;
  right: 1rem;
  border: 0;
  background: transparent;
  font-size: 1.1rem;
  color: var(--grey);
  cursor: pointer;
  width: 40px;
  height: 40px;
}
.z-searchdlg__close:hover { color: var(--red); }

.z-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  gap: clamp(0.85rem, 2.2vw, 1.9rem);
  font-family: var(--ui);
  font-size: 0.9375rem;
  font-weight: 500;
  font-variant-numeric: normal;
}
.z-nav a {
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  padding-bottom: 3px;
}
/* Подчертаването расте от средата навън: дребен знак, че някой е помислил. */
.z-nav a::after {
  content: "";
  position: absolute;
  left: 50%; right: 50%; bottom: 0;
  border-bottom: 2px solid var(--red);
  transition: left .18s ease, right .18s ease;
}
.z-nav a:hover::after,
.z-nav .current-menu-item > a::after { left: 0; right: 0; }

@media (max-width: 46rem) {
  /* бургер | едро лого в средата | търсачка.
     Скриването е с тип и два класа, защото ядрото печата
     .is-layout-flex{display:flex} СЛЕД темата и иначе печели. */
  .z-header__inner {
    grid-template-columns: 44px 1fr 44px;
    gap: 0.5rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
  nav.z-nav.wp-block-navigation { display: none; }
  nav.z-burger.wp-block-navigation { display: block; justify-self: start; }
  .z-logo { justify-self: center; }
  .z-logo img { width: clamp(190px, 60vw, 268px); }
}

/* Бургерът и панелът му, в езика на изданието: мастилен знак без рамка,
   панел на хартия с едър набор. */
.z-burger .wp-block-navigation__responsive-container-open {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--ink);
  background: transparent;
  border: 0;
  padding: 0;
}
.z-burger .wp-block-navigation__responsive-container-open svg {
  width: 26px;
  height: 26px;
}
.z-burger .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--paper);
  padding: 1.25rem var(--gut) 2rem;
}
.z-burger .wp-block-navigation__responsive-container-close {
  color: var(--ink);
  background: transparent;
  border: 0;
}
.z-burger .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
  padding-top: 2.5rem;
}
.z-burger .wp-block-navigation__responsive-container.is-menu-open ul {
  display: grid;
  gap: 0;
  width: 100%;
}
.z-burger .wp-block-navigation__responsive-container.is-menu-open li {
  border-top: 1px solid var(--rule);
  margin: 0;
}
.z-burger .wp-block-navigation__responsive-container.is-menu-open a {
  font-family: var(--display);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
  text-decoration: none;
  padding: 0.85rem 0;
  display: block;
}
.z-burger .wp-block-navigation__responsive-container.is-menu-open a:hover {
  color: var(--red);
}

/* ==================================================== 2. НАДРЕДНА ДУМА == */

.z-kicker {
  font-family: var(--ui);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-variant-numeric: normal;
  color: var(--red);
  margin: 0 0 0.5rem;
  display: block;
  text-decoration: none;
}
.z-kicker a { color: inherit; text-decoration: none; }
.z-kicker a:hover { color: var(--ink); }

/* Заглавие на раздел: дебела линия отгоре, думата под нея вляво. */
.z-section-head {
  margin: clamp(1.75rem, 4vw, 2.75rem) 0 clamp(1.25rem, 3vw, 1.75rem);
  border-top: 3px solid var(--ink);
  padding-top: 0.625rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
.z-section-head h2 {
  font-family: var(--ui);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-variant-numeric: normal;
  margin: 0;
}
.z-section-head::after { content: none; }

/* ========================================================= 3. ВОДЕЩА ==== */

.z-lead {
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  /* Водещата не се затваря с косъм: дебелата линия на следващия раздел
     идва достатъчно близо и две линии една до друга изглеждат суетливо. */
  padding: clamp(1.25rem, 3vw, 2.25rem) 0 0;
}
/* The grid gap owns the spacing between the media and copy columns. */
.z-lead > * { margin-block-start: 0; margin-block-end: 0; }
@media (min-width: 54rem) {
  .z-lead {
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.5rem, 3.5vw, 3rem);
  }
}
/* Водещите изображения са композирани визии 16:9 по шаблона folio-ink:
   снимка, заглавие, лента с логата. Показват се цели. */
.z-lead__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin: 0;
  background: var(--tint);
}
.z-lead h1,
.z-lead h2 {
  font-size: clamp(1.875rem, 4.4vw, 3.125rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin: 0 0 0.85rem;
  text-wrap: balance;
}
.z-lead h1 a,
.z-lead h2 a { color: var(--ink); text-decoration: none; }
.z-lead h1 a:hover,
.z-lead h2 a:hover { color: var(--red); }
.z-lead p {
  margin: 0 0 0.85rem;
  color: var(--ink-soft);
  font-size: 1.0625rem;
  line-height: 1.58;
}
/* Текстът на водещата стои под собствен косъм, като врязана колона. */
@media (min-width: 54rem) {
  .z-lead > div:last-child { border-top: 1px solid var(--rule); padding-top: 1rem; }
}

/* =========================================================== 4. КАРТИ === */

.z-grid {
  display: grid;
  gap: clamp(1.75rem, 4vw, 2.75rem) clamp(1.25rem, 2.5vw, 2rem);
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 34rem) { .z-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 62rem) { .z-grid { grid-template-columns: repeat(3, 1fr); } }

/* WordPress слага отстъп отгоре на всеки елемент СЛЕД първия. В решетка
   това изкривява първия ред. Разстоянието идва от gap. */
.z-grid > * { margin: 0; list-style: none; display: flex; }
.z-grid > *::marker { content: ""; }

/* Ритъм вместо каре: първата карта на всеки шести ред заема две колони и
   получава по-едро заглавие. Страницата спира да е таблица. */
@media (min-width: 62rem) {
  .z-grid > *:nth-child(6n + 1) { grid-column: span 2; }
  .z-grid > *:nth-child(6n + 1) .z-card h3 { font-size: 1.5rem; line-height: 1.2; }
  .z-grid > *:nth-child(6n + 1) .z-card__media { aspect-ratio: 21 / 9; }
}

.z-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  width: 100%;
}
.z-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin: 0;
  background: var(--tint);
  position: relative;
}
/* Блокът увива <img> в <a>, а стиловете на ядрото се зареждат СЛЕД темата.
   Затова тук се пише с типа отпред: така тежи повече и печели. */
figure.z-card__media a,
figure.z-lead__media a { display: block; width: 100%; height: 100%; line-height: 0; }
figure.z-card__media img,
figure.z-lead__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: var(--crop, left center);
  display: block;
  transition: transform .45s cubic-bezier(.2, .7, .3, 1);
}
.z-card:hover figure.z-card__media img { transform: scale(1.035); }

.z-card h3 {
  font-size: 1.1875rem;
  line-height: 1.26;
  letter-spacing: -0.014em;
  margin: 0;
  text-wrap: balance;
}
.z-card h3 a { color: var(--ink); text-decoration: none; }
.z-card h3 a:hover { color: var(--red); }
.z-card .z-kicker { margin: 0; }
.z-card__meta {
  font-family: var(--ui);
  font-size: 0.8125rem;
  color: var(--grey);
  font-variant-numeric: normal;
  margin-top: auto;
  padding-top: 0.35rem;
}

/* Липсва ли снимка, мястото не зее празно: слага се знакът на изданието
   върху тонирано поле. По-добре мълчалив знак, отколкото сива дупка. */
.z-card:not(:has(figure.z-card__media)) .z-kicker { margin-top: 0; }
.z-card__media:empty::after,
.z-card__media:not(:has(img))::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--tint) url("../img/mark.svg") center / 22% no-repeat;
  opacity: .5;
}

/* ============================================ 4a. НАЧАЛНА: РАЗДЕЛИ ====== */

/* Връзка вдясно в главата на раздела. */
.z-section-head__link {
  font-family: var(--ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-variant-numeric: normal;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
}
.z-section-head__link::before { content: "· "; color: var(--red); }
.z-section-head__link:hover { color: var(--red); }

.z-sectionnote {
  font-family: var(--ui);
  font-size: 0.9375rem;
  color: var(--grey);
  max-width: 46rem;
  margin: -0.35rem 0 clamp(1.5rem, 3.5vw, 2.25rem);
  line-height: 1.5;
}

/* Трите карти със снимка. Нарочно НЕ е z-grid: там всяка шеста карта заема
   две колони, а при точно три това би разтеглило първата и счупило реда. */
.z-trio {
  display: grid;
  gap: clamp(1.5rem, 3.5vw, 2.25rem) clamp(1.25rem, 2.5vw, 2rem);
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 46rem) { .z-trio { grid-template-columns: repeat(3, 1fr); } }
.z-trio > * { margin: 0; list-style: none; display: flex; }
.z-trio > *::marker { content: ""; }

/* Надредна дума в сиво. Червеното се пази за няколко знака на страница;
   употребено дузина пъти, то престава да акцентира. */
.z-kicker--mute { color: var(--grey); }
.z-kicker--mute a { color: inherit; }
.z-kicker--mute a:hover { color: var(--red); }

/* --- редове без снимка: указател, не галерия ------------------------ */

.z-rows {
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
.z-rows > * {
  margin: 0;
  list-style: none;
  border-top: 1px solid var(--rule);
}
.z-rows > *::marker { content: ""; }
@media (min-width: 62rem) {
  .z-rows--2 { grid-template-columns: 1fr 1fr; column-gap: clamp(1.5rem, 3vw, 2.5rem); }
}

.z-row { padding: 0.7rem 0; min-height: 48px; }
.z-row h3 {
  font-family: var(--display);
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.008em;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.z-row h3 a { color: var(--ink); text-decoration: none; }
.z-row h3 a:hover { color: var(--red); }

/* Служебният ред стои НАД заглавието, не вдясно от него: подравнена вдясно
   дата при дълга мярка прави улей, който окото прескача. */
.z-row__svc {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  flex-wrap: wrap;
  margin-bottom: 0.2rem;
}
.z-row__svc .z-kicker { margin: 0; }
.z-row__date {
  font-family: var(--ui);
  font-size: 0.6875rem;
  color: var(--grey);
  font-variant-numeric: tabular-nums;
}
/* Първият ред на рубрична лента е втората котва на страницата. */
.z-rows--band > *:first-child h3 { font-size: 1.3125rem; font-weight: 600; line-height: 1.24; }

/* Смесената лента „Здраве · Общество" е двуколонна, но водачът ѝ носи
   ивица като останалите ленти. Редът с ивицата става колонен флекс, за да
   излезе снимката НАД надредната дума, и се разпъва върху двете колони.
   Стар браузър без :has() просто оставя реда в едната колона: по-малка
   ивица, нищо счупено. */
.z-rows--2 .z-row:has(.z-lenta) {
  display: flex;
  flex-direction: column;
}
.z-rows--2 .z-row .z-lenta { order: -1; }
.z-rows--2 .z-row:has(.z-lenta) h3 { font-size: 1.3125rem; font-weight: 600; line-height: 1.24; }
@media (min-width: 62rem) {
  /* клетка на решетката е <li> обвивката, не .z-row вътре в нея */
  .z-rows--2 > *:has(.z-lenta) { grid-column: 1 / -1; }
}

.z-empty {
  font-family: var(--ui);
  font-size: 0.9375rem;
  color: var(--grey);
  padding: 0.7rem 0;
  border-top: 1px solid var(--rule);
  margin: 0;
}

/* ==================================================== 4b. АВТОР ==== */

.z-author-profile {
  max-width: 54rem;
  margin: 0 auto;
}
.z-author-profile__intro {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.25rem, 4vw, 2rem);
  border-top: 3px solid var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: clamp(1.25rem, 3vw, 2rem) 0;
}
.z-author-profile__avatar {
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
}
.z-author-profile__intro .z-kicker { margin: 0 0 0.7rem; }
.z-author-profile__description {
  color: var(--ink-soft);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.z-author-profile__description p:last-child { margin-bottom: 0; }
.z-author-profile__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  border-top: 1px solid var(--rule);
  margin: 1rem 0 0;
  padding-top: 0.85rem;
  font-family: var(--ui);
}
.z-author-profile__facts div { margin: 0; }
.z-author-profile__facts dt {
  color: var(--grey);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.z-author-profile__facts dd {
  color: var(--ink);
  font-size: 0.8125rem;
  margin: 0.18rem 0 0;
}
.z-author-profile__section { margin-top: clamp(2.5rem, 6vw, 4rem); }
.z-author-profile__section .z-section-head { margin-top: 0; }
.z-author-profile .z-section-head h2::before { content: none; display: none; }
.z-author-profile__lead {
  color: var(--ink-soft);
  font-size: 1.0625rem;
  margin: -0.35rem 0 1.25rem;
  max-width: 42rem;
}
.z-author-method__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(1.5rem, 4vw, 3rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.z-author-method__steps > li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.75rem;
  border-top: 1px solid var(--rule);
  padding: 1rem 0 1.2rem;
  margin: 0;
}
.z-author-method__number {
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: var(--red);
  color: var(--paper);
  font-family: var(--ui);
  font-size: 0.625rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.z-author-method__steps h3,
.z-author-principles h3,
.z-author-story h3 {
  margin: 0;
}
.z-author-method__steps h3 {
  font-size: 1.0625rem;
  line-height: 1.3;
}
.z-author-method__steps p,
.z-author-principles p {
  color: var(--ink-soft);
  font-size: 0.9375rem;
  line-height: 1.55;
  margin: 0.35rem 0 0;
}
.z-author-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.z-author-principles > li {
  border-top: 1px solid var(--rule);
  margin: 0;
  padding: 1rem 0 0;
}
.z-author-principles > li::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--red);
  margin-bottom: 0.75rem;
}
.z-author-principles h3 {
  font-size: 1.0625rem;
  line-height: 1.3;
}
.z-author-profile__posts {
  list-style: none;
  margin: 0;
  padding: 0;
}
.z-author-profile__posts > li {
  border-top: 1px solid var(--rule);
  list-style: none;
  margin: 0;
  padding: 0;
}
.z-author-story {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  align-items: start;
  gap: clamp(1rem, 3vw, 1.75rem);
  padding: 1.25rem 0;
}
.z-author-story.is-without-image { grid-template-columns: 1fr; }
.z-author-story__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--tint);
}
.z-author-story__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.z-author-story__media:hover img { transform: scale(1.025); }
.z-author-story__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  color: var(--grey);
  font-family: var(--ui);
  font-size: 0.6875rem;
  margin: 0 0 0.45rem;
}
.z-author-story__category a {
  color: var(--red);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}
.z-author-story h3 {
  font-size: clamp(1.125rem, 2.2vw, 1.375rem);
  line-height: 1.25;
}
.z-author-story h3 a { color: var(--ink); text-decoration: none; }
.z-author-story h3 a:hover { color: var(--red); }
.z-author-story__excerpt {
  color: var(--ink-soft);
  font-size: 0.9375rem;
  line-height: 1.5;
  margin: 0.55rem 0 0;
}
.z-author-profile__action { margin: 1.5rem 0 0; }
.z-author-profile__all {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border: 1px solid var(--ink);
  padding: 0.65rem 1rem;
  color: var(--ink);
  font-family: var(--ui);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}
.z-author-profile__all:hover,
.z-author-profile__all:focus-visible { border-color: var(--red); color: var(--red); }
@media (max-width: 36rem) {
  .z-author-profile__intro {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    align-items: start;
    gap: 1rem;
  }
  .z-author-profile__avatar { width: 4.5rem; height: 4.5rem; }
  .z-author-profile__facts { grid-column: 1 / -1; }
  .z-author-method__steps,
  .z-author-principles { grid-template-columns: 1fr; }
  .z-author-story { grid-template-columns: 6.5rem minmax(0, 1fr); }
  .z-author-story__media { aspect-ratio: 1 / 1; }
  .z-author-story__excerpt { display: none; }
}

/* ================================================= 4c. КАК ПОЛЗВАМЕ ИИ ==== */

.z-ai-usage {
  max-width: 60rem;
  margin: 0 auto;
}
.z-ai-usage__masthead {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(19rem, .82fr);
  align-items: stretch;
  gap: clamp(1.5rem, 5vw, 4rem);
  border-top: 3px solid var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: clamp(1.5rem, 4vw, 2.75rem) 0;
}
.z-ai-usage__thesis {
  align-self: center;
  max-width: 36rem;
}
.z-content .z-ai-usage__thesis h2 {
  font-size: clamp(2.2rem, 5.7vw, 4.25rem);
  line-height: .98;
  margin: .75rem 0 1.25rem;
  text-wrap: balance;
}
.z-ai-usage__thesis > p:last-child {
  color: var(--ink-soft);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  line-height: 1.58;
  margin: 0;
  max-width: 33rem;
}
.z-ai-usage__system-card {
  align-self: stretch;
  background: var(--tint);
  border-top: 4px solid var(--red);
  padding: clamp(1.25rem, 3vw, 1.75rem);
}
.z-ai-usage__identity {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid var(--rule);
  padding-bottom: 1rem;
}
.z-ai-usage__mark {
  display: block;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
}
.z-ai-usage__identity span,
.z-ai-usage__identity strong {
  display: block;
}
.z-ai-usage__identity span {
  color: var(--grey);
  font-family: var(--ui);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.z-ai-usage__identity strong {
  font-family: var(--display);
  font-size: 1.65rem;
  line-height: 1.1;
  margin-top: .25rem;
}
.z-content .z-ai-usage__system-card > p {
  color: var(--ink-soft);
  font-size: .9375rem;
  line-height: 1.58;
  margin: 1rem 0;
}
.z-ai-usage__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem 1rem;
  border-top: 1px solid var(--rule);
  margin: 0;
  padding-top: .9rem;
  font-family: var(--ui);
}
.z-ai-usage__facts dt {
  color: var(--grey);
  font-size: .5625rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.z-ai-usage__facts dd {
  font-size: .75rem;
  margin: .15rem 0 0;
}
.z-ai-usage__section { margin-top: clamp(3rem, 7vw, 5rem); }
.z-ai-usage__section .z-section-head { margin-top: 0; }
.z-content .z-ai-usage__section .z-section-head h2 { margin: 0; }
.z-content .z-ai-usage h2::before { content: none; display: none; }
.z-ai-usage__lead {
  color: var(--ink-soft);
  font-size: 1.0625rem;
  line-height: 1.55;
  margin: -.35rem 0 1.5rem;
  max-width: 42rem;
}
.z-content .z-ai-flow__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 clamp(1.25rem, 3vw, 2.25rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.z-content .z-ai-flow__steps > li {
  border-top: 1px solid var(--rule);
  margin: 0;
  min-height: 11rem;
  padding: 1rem 0 1.4rem;
}
.z-ai-flow__number {
  color: var(--red);
  display: block;
  font-family: var(--ui);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .08em;
  margin-bottom: 1.1rem;
}
.z-content .z-ai-flow__steps h3 {
  font-size: 1.1rem;
  line-height: 1.3;
  margin: 0;
}
.z-content .z-ai-flow__steps p {
  color: var(--ink-soft);
  font-size: .9375rem;
  line-height: 1.55;
  margin: .4rem 0 0;
}
.z-ai-usage__roles {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .55fr);
  align-items: start;
  gap: clamp(1.5rem, 5vw, 3.5rem);
}
.z-content .z-ai-usage__uses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(1.25rem, 3vw, 2.25rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.z-content .z-ai-usage__uses > li {
  border-top: 1px solid var(--rule);
  margin: 0;
  padding: 1rem 0 1.25rem;
}
.z-content .z-ai-usage__uses h3 {
  font-size: 1.125rem;
  line-height: 1.3;
  margin: 0;
}
.z-content .z-ai-usage__uses p,
.z-content .z-ai-usage__prose p,
.z-content .z-ai-usage__split p {
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.65;
}
.z-content .z-ai-usage__uses p { margin: 0.45rem 0 0; }
.z-ai-usage__accountability {
  background: var(--tint);
  border-top: 4px solid var(--red);
  padding: 1.35rem;
}
.z-content .z-ai-usage__accountability h3 {
  font-size: clamp(1.4rem, 3vw, 1.8rem);
  line-height: 1.15;
  margin: .75rem 0;
}
.z-content .z-ai-usage__accountability > p:last-child {
  color: var(--ink-soft);
  font-size: .9375rem;
  line-height: 1.58;
  margin-bottom: 0;
}
.z-ai-usage__guardrails {
  display: grid;
  grid-template-columns: minmax(14rem, .85fr) minmax(0, 1.35fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  background: var(--ink);
  color: var(--paper);
  padding: clamp(1.5rem, 5vw, 3rem);
  position: relative;
}
.z-ai-usage__guardrails::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 4px;
  background: var(--red);
}
.z-ai-usage__guardrails .z-kicker { color: var(--red); }
.z-content .z-ai-usage__guardrails h2 {
  color: var(--paper);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.08;
  margin: 0.7rem 0 1rem;
}
.z-ai-usage__guardrails p { color: rgba(255, 255, 255, .72); }
.z-content .z-ai-usage__guardrails ul { list-style: none; margin: 0; padding: 0; }
.z-content .z-ai-usage__guardrails li {
  border-top: 1px solid rgba(255, 255, 255, .22);
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: .65rem;
  font-family: var(--ui);
  font-size: 0.9375rem;
  line-height: 1.55;
  margin: 0;
  padding: .9rem 0;
}
.z-ai-usage__guardrails li::before {
  content: "×";
  color: var(--red);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.25;
}
.z-ai-usage__split {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(14rem, .7fr);
  align-items: start;
  gap: clamp(1.5rem, 5vw, 4rem);
}
.z-ai-usage__rule {
  border-left: 4px solid var(--red);
  background: var(--tint);
  padding: 1.35rem;
}
.z-ai-usage__rule strong,
.z-ai-usage__rule span { display: block; }
.z-ai-usage__rule strong {
  font-family: var(--display);
  font-size: 1.4rem;
  line-height: 1.2;
}
.z-ai-usage__rule span {
  color: var(--ink-soft);
  font-family: var(--ui);
  font-size: 0.875rem;
  line-height: 1.5;
  margin-top: 0.55rem;
}
.z-ai-usage__prose {
  columns: 2 18rem;
  column-gap: clamp(1.5rem, 5vw, 3rem);
}
.z-content .z-ai-usage__prose p { break-inside: avoid; margin-top: 0; }
.z-ai-usage__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.5rem;
}
.z-ai-usage__links a {
  border: 1px solid var(--ink);
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.65rem 1rem;
  font-family: var(--ui);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}
.z-ai-usage__links a:hover,
.z-ai-usage__links a:focus-visible { border-color: var(--red); color: var(--red); }
@media (max-width: 48rem) {
  .z-ai-usage__masthead,
  .z-ai-usage__roles,
  .z-ai-usage__guardrails,
  .z-ai-usage__split { grid-template-columns: minmax(0, 1fr); }
  .z-ai-usage__masthead > *,
  .z-ai-usage__roles > *,
  .z-ai-usage__guardrails > *,
  .z-ai-usage__split > * { min-width: 0; }
  .z-content .z-ai-flow__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .z-content .z-ai-flow__steps > li { min-height: 0; }
}
@media (max-width: 36rem) {
  .z-content .z-ai-usage__thesis h2 { font-size: clamp(2.15rem, 10.5vw, 2.75rem); }
  .z-content .z-ai-flow__steps,
  .z-content .z-ai-usage__uses { grid-template-columns: 1fr; }
  .z-ai-usage__facts { grid-template-columns: 1fr 1fr; }
}

/* --- рубрична лента ------------------------------------------------- */

.z-band {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}
.z-band + .z-band { border-top: 1px solid var(--rule); padding-top: clamp(1.5rem, 3vw, 2.25rem); }
/* Първата лента идва веднага след изречението за раздела и не иска
   толкова въздух, колкото пазят помежду си следващите. */
.z-band:first-of-type { margin-top: clamp(1rem, 2.5vw, 1.75rem); }
@media (min-width: 62rem) {
  .z-band { grid-template-columns: 3fr 9fr; column-gap: clamp(2rem, 4vw, 3.5rem); }
}

.z-band__rail { align-self: start; }

/* Мастиленият щрих отваря рейла. Стъпалото на линията в изданието:
   3px глава на страница, 3px щрих на лента, 1px косъм на ред. */
.z-band__rail::before {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: var(--ink);
  margin-bottom: 0.75rem;
}
@media (min-width: 62rem) {
  /* косъмът на първия ред е 1px: рейлът слиза с толкова, за да са горните
     ръбове на щриха и на ивицата наистина на едно ниво */
  .z-band__rail { margin-top: 1px; }
}

/* Панорамната ивица на водача: пет към едно, изрязана във файла от чистия
   коридор на кадъра. Чете се като цветна линия, не като снимка, и затова
   не носи връзка, рамка и радиус. Отрицателният отстъп я слепва с косъма. */
.z-lenta {
  display: block;
  width: 100%;
  /* height:auto е задължително: иначе атрибутът height="240" от тага
     побеждава и снимката се разпъва вместо да се изрязва */
  height: auto;
  aspect-ratio: 5 / 1;
  object-fit: cover;
  object-position: center center;   /* изрязването вече е във файла */
  margin: -0.7rem 0 0.75rem;
  filter: saturate(var(--zn-mastilo, .92));
}
.z-band__name,
.z-band__names a {
  font-family: var(--display);
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ink);
  text-decoration: none;
  display: inline-block;
}
.z-band__name::before { content: "· "; color: var(--red); }
.z-band__name:hover, .z-band__names a:hover { color: var(--red); }
.z-band__names { margin: 0; font-size: 1.625rem; line-height: 1.2; }
.z-band__names .z-dot { font-family: var(--display); }
.z-band__note {
  font-family: var(--ui);
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--grey);
  margin: 0.45rem 0 0.6rem;
}
.z-band__all {
  font-family: var(--ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
}
.z-band__all:hover { color: var(--red); }

/* На тесен екран рейлът се преобръща в един ред и се закача горе, за да не
   изчезне името на рубриката, докато се превъртат нейните редове. */
@media (max-width: 61.99rem) {
  .z-band__rail {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--paper);
    padding: 0.5rem 0 0.4rem;
    border-bottom: 1px solid var(--rule);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
  }
  .z-band__name, .z-band__names { font-size: 1.25rem; }
  .z-band__names { font-size: 1.25rem; }
  .z-band__note { display: none; }
  /* Разрез за дребна употреба: най-финият елемент се маха, не се смалява.
     Рейлът на телефон е лепкав ред със собствен косъм отдолу. */
  .z-band__rail::before { display: none; }
  /* Ивицата ляга под лепкавия рейл, в мярката на набора, не до ръба:
     лента до ръба се чете като рекламен банер. */
  .z-lenta { margin-top: 0.75rem; }
  .z-band__rail .z-band__all { font-size: 0.6875rem; }
  .z-band .z-rows > *:first-child { border-top: 0; }
}

/* ========================================================= 5. СТАТИЯ ==== */

.z-article { max-width: var(--wide); margin: 0 auto; padding: 0 var(--gut); }

.z-article__head {
  max-width: var(--measure);
  margin: clamp(1.75rem, 5vw, 3.25rem) auto clamp(1.25rem, 3vw, 2rem);
}
.z-article__head h1 {
  font-size: clamp(1.9375rem, 5.2vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -0.028em;
  margin: 0 0 0.9rem;
  text-wrap: balance;
}
.z-standfirst {
  font-size: clamp(1.0625rem, 2.2vw, 1.25rem);
  line-height: 1.52;
  color: var(--ink-soft);
  margin: 0 0 1.35rem;
  text-wrap: pretty;
}

.z-byline {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.8rem 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  font-family: var(--ui);
  font-size: 0.8125rem;
  color: var(--grey);
  font-variant-numeric: normal;
  flex-wrap: wrap;
}
.z-byline img { border-radius: 50%; width: 30px; height: 30px; display: block; }
.z-byline a { color: var(--ink); text-decoration: none; font-weight: 600; }
.z-byline a:hover { color: var(--red); }
.z-byline__sep { color: var(--rule); margin: 0; }

.z-hero { margin: 0 auto clamp(1.5rem, 4vw, 2.5rem); max-width: var(--wide); }
/* Визията се показва ЦЯЛА: тя е композиция с лента с логата долу и
   изрязване би я обезглавило. Ограничение на височината няма. */
figure.z-hero img {
  width: 100%; height: auto; display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: var(--crop, center center);
}
.z-hero figcaption {
  font-family: var(--ui); font-size: 0.8125rem;
  color: var(--grey); padding-top: 0.5rem;
}

/* --- тялото --------------------------------------------------------- */

.z-content { font-size: 1.125rem; line-height: 1.64; }
.z-content p { margin: 0 0 1.15rem; text-wrap: pretty; }

/* Първият параграф носи повече тежест: така окото знае откъде да тръгне. */
.z-content > p:first-of-type {
  font-size: 1.1875rem;
  line-height: 1.58;
}

/* H2 се обявява с къс червен щрих. Дължината му е колкото едно „З". */
.z-content h2 {
  scroll-margin-top: 1.5rem;
  margin-top: clamp(2.25rem, 5vw, 3.25rem);
  margin-bottom: 0.85rem;
}
.z-content h2::before {
  content: "";
  display: block;
  width: 1.75rem;
  height: 3px;
  background: var(--red);
  margin-bottom: 0.85rem;
}
.z-content h3 { margin-top: 1.85rem; margin-bottom: 0.5rem; }

.z-content ul, .z-content ol { margin: 0 0 1.15rem; padding-left: 1.15rem; }
.z-content li { margin-bottom: 0.45rem; padding-left: 0.15rem; }
.z-content li::marker { color: var(--red); }
.z-content ol { font-variant-numeric: normal; }

.z-content > figure, .z-content > .wp-block-image {
  max-width: 54rem !important;
  margin: clamp(1.75rem, 4vw, 2.5rem) auto;
}
.z-content > figure img, .z-content > .wp-block-image img { width: 100%; height: auto; }
.z-content figcaption {
  font-family: var(--ui); font-size: 0.8125rem;
  color: var(--grey); text-align: left; padding-top: 0.45rem;
}

/* Таблиците се четат като таблици във вестник: без рамки, само косми. */
.z-content .wp-block-table { margin: clamp(1.5rem, 3.5vw, 2.25rem) auto; }
.z-content table { width: 100%; border-collapse: collapse; font-family: var(--ui); }
.z-content th, .z-content td {
  text-align: left; padding: 0.6rem 0.7rem;
  border-bottom: 1px solid var(--rule);
  font-size: 0.9375rem;
}
.z-content thead th {
  font-size: 0.6875rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--grey);
  border-bottom: 2px solid var(--ink);
}
.z-content tbody tr:last-child td { border-bottom: 0; }

.z-content blockquote, .z-content .wp-block-quote {
  border-left: 3px solid var(--red);
  padding-left: clamp(1rem, 2.5vw, 1.5rem);
  margin: clamp(1.5rem, 3.5vw, 2.25rem) auto;
  font-style: italic;
  color: var(--ink-soft);
}

/* Последната секция „Източници" е апарат, не текст: набира се по-дребно. */
.z-content h2:last-of-type ~ ul {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--ink-soft);
  border-top: 1px solid var(--rule);
  padding-top: 1rem;
}
.z-content h2:last-of-type ~ ul li { margin-bottom: 0.6rem; }

/* --- карта на сайта ------------------------------------------------- */

.z-html-sitemap {
  margin-top: clamp(1.25rem, 3vw, 2rem);
  font-family: var(--ui);
  font-variant-numeric: normal;
}
.z-html-sitemap__intro {
  max-width: 42rem;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: 1.125rem !important;
  line-height: 1.6;
}
.z-html-sitemap__section {
  margin-top: clamp(2rem, 5vw, 3.25rem);
  border-top: 3px solid var(--ink);
  padding-top: 0.65rem;
}
.z-content .z-html-sitemap h2 {
  margin: 0 0 1rem;
  font-family: var(--ui);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}
.z-content .z-html-sitemap h2::before { content: none; display: none; }
.z-content .z-html-sitemap ul,
.z-content .z-html-sitemap ol,
.z-content .z-html-sitemap h2:last-of-type ~ ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.45;
}
.z-content .z-html-sitemap li,
.z-content .z-html-sitemap h2:last-of-type ~ ul li {
  margin: 0;
  padding: 0.72rem 0;
  border-bottom: 1px solid var(--rule);
}
.z-html-sitemap li a {
  color: var(--ink);
  text-decoration: none;
  text-underline-offset: 0.16em;
}
.z-html-sitemap li a:hover { color: var(--red); text-decoration: underline; }
.z-html-sitemap__posts li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
}
.z-html-sitemap__posts time,
.z-html-sitemap__section li span {
  flex: 0 0 auto;
  color: var(--grey);
  font-size: 0.8125rem;
}
.z-html-sitemap__section:not(.z-html-sitemap__section--posts) li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.z-html-sitemap__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
}
.z-html-sitemap__empty { color: var(--grey); font-size: 0.9375rem !important; }
@media (max-width: 42rem) {
  .z-html-sitemap__columns { grid-template-columns: 1fr; gap: 0; }
  .z-html-sitemap__posts li { display: block; }
  .z-html-sitemap__posts time { display: block; margin-top: 0.3rem; }
}

/* --- съдържание на статията ---------------------------------------- */

#ez-toc-container, .ez-toc-container {
  display: block !important;
  width: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 3px solid var(--ink) !important;
  border-bottom: 1px solid var(--rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0.9rem 0 1.1rem !important;
  max-width: var(--measure);
  margin: 0 auto clamp(1.75rem, 4vw, 2.5rem) !important;
  font-family: var(--ui);
  font-size: 0.9375rem;
}
#ez-toc-container .ez-toc-title, .ez-toc-title {
  font-family: var(--ui) !important;
  font-weight: 700 !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--grey) !important;
}
#ez-toc-container ul, #ez-toc-container ol { margin: 0.45rem 0 0; padding-left: 1rem; }
#ez-toc-container li { margin-bottom: 0.3rem; line-height: 1.45; }
#ez-toc-container a { color: var(--ink) !important; text-decoration: none !important; }
#ez-toc-container a:hover { color: var(--red) !important; }
#ez-toc-container .ez-toc-list-level-3 { padding-left: 0.85rem; }

/* --- въпроси -------------------------------------------------------- */

.wp-block-kadence-accordion { max-width: var(--measure); margin: 0 auto; }
.kt-blocks-accordion-header {
  font-family: var(--ui) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  background: transparent !important;
  color: var(--ink) !important;
  border: 0 !important;
  border-top: 1px solid var(--rule) !important;
  border-radius: 0 !important;
  padding: 0.95rem 0 !important;
}
.kt-blocks-accordion-header[aria-expanded="true"] {
  background: transparent !important;
  color: var(--red) !important;
}
.kt-accordion-pane:last-child .kt-accordion-panel { border-bottom: 1px solid var(--rule); }
.kt-accordion-panel-inner { padding: 0 0 1.1rem !important; }

/* =========================================== 6. ГЛАВА НА СТРАНИЦА ====== */

.z-page-head {
  padding: clamp(2rem, 5vw, 3.25rem) 0 clamp(1rem, 2.5vw, 1.5rem);
  border-bottom: 1px solid var(--rule);
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}
.z-page-head h1 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.875rem, 4.6vw, 2.75rem);
  letter-spacing: -0.025em;
  line-height: 1.1;
}
.z-page-head p, .z-page-head .term-description p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 1.0625rem;
  line-height: 1.55;
  max-width: 46rem;
}
/* Главата на страница се подравнява с решетката под нея, не се центрира
   отделно: иначе изглежда сбутана навътре без причина. */
.z-page-head.z-narrow { max-width: 46rem; margin-left: 0; margin-right: 0; }

/* ========================================================= 7. ПОДНОЖИЕ == */

.z-footer {
  margin-top: clamp(3.5rem, 8vw, 6rem);
  border-top: 3px solid var(--ink);
  background: var(--paper);
  font-family: var(--ui);
  font-size: 0.9375rem;
  font-variant-numeric: normal;
}
.z-footer__inner {
  max-width: var(--wide); margin: 0 auto;
  padding: clamp(1.75rem, 4vw, 2.75rem) var(--gut);
  display: grid; gap: clamp(1.5rem, 4vw, 2.75rem);
}
@media (min-width: 50rem) { .z-footer__inner { grid-template-columns: 1.5fr 1fr 1fr; } }
.z-footer h3 {
  font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase;
  font-family: var(--ui); color: var(--grey); margin: 0 0 0.7rem; font-weight: 700;
}
.z-footer ul { list-style: none; margin: 0; padding: 0; }
.z-footer li { margin-bottom: 0.45rem; }
.z-footer a { color: var(--ink); text-decoration: none; }
.z-footer a:hover { color: var(--red); }
.z-footer__note { color: var(--grey); line-height: 1.55; max-width: 30rem; }

/* Колоните на решетката носят служебния отстъп на блока (margin-block-start
   24px на всяка след първата) и заглавията им падаха под логото. Нулираме:
   разстоянията ги дава gap на решетката. */
.z-footer__inner > * { margin-block-start: 0; margin-block-end: 0; }

/* Знакът в подножието: едър, а горната му ЛИНИЯ сяда на върха на „Рубрики".
   В самото SVG над линията има празно поле (y=42.09 при височина 226.2,
   ширина 847.6), тоест отгоре стърчи широчината по 42.09/847.6 = 0.0497.
   При 200px това са ~10px; двата пиксела по-малко наместват линията върху
   главните букви на заглавието, не върху реда над тях. */
.z-footer .z-logo img { width: 200px; margin-top: -8px; }

/* На телефон подножието се подписва с едро лого в средата. */
@media (max-width: 46rem) {
  .z-footer .z-logo { justify-self: center; }
  /* тук няма колона, с която да се равнява: отрицателният отстъп отпада */
  .z-footer .z-logo img { width: clamp(200px, 62vw, 270px); margin: 0 auto; }
  .z-footer__note { text-align: center; margin-left: auto; margin-right: auto; }
}
.z-footer__bar {
  border-top: 1px solid var(--rule);
  padding: 0.9rem var(--gut);
  max-width: var(--wide); margin: 0 auto;
  display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  color: var(--grey); font-size: 0.8125rem;
}
.z-dot { color: var(--red); }

/* ========================================================== 8. ДРЕБНО == */

.z-prevnext {
  display: grid; gap: 1rem;
  border-top: 1px solid var(--rule);
  padding-top: 1.5rem;
  margin-top: clamp(2rem, 5vw, 3rem);
}
@media (min-width: 40rem) { .z-prevnext { grid-template-columns: 1fr 1fr; } }

/* Търсачката: линия отдолу, не кутия. */
.wp-block-search__inside-wrapper {
  border: 0 !important;
  border-bottom: 2px solid var(--ink) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: 30rem;
}
.wp-block-search__input {
  border: 0 !important; background: transparent !important;
  font-family: var(--ui); font-size: 1rem; padding: 0.6rem 0 !important;
}
.wp-block-search__input:focus { outline: none; }
.wp-block-search__button {
  background: transparent !important; color: var(--ink) !important;
  border: 0 !important; font-family: var(--ui); font-weight: 600;
  padding: 0 0 0 0.75rem !important;
}
.wp-block-search__button:hover { color: var(--red) !important; }

/* Страниците се номерират като колонтитул. */
.wp-block-query-pagination {
  font-family: var(--ui); font-size: 0.9375rem; font-variant-numeric: normal;
  border-top: 1px solid var(--rule); padding-top: 1.25rem;
  gap: 0.9rem !important;
}
.wp-block-query-pagination a { color: var(--ink); text-decoration: none; }
.wp-block-query-pagination a:hover { color: var(--red); }
.wp-block-query-pagination .current { color: var(--red); font-weight: 700; }

/* Достъпност: видим фокус, защото клавиатурата не е второстепенна. */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}
.screen-reader-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Печат: остава текстът. */
@media print {
  .z-header, .z-footer, #ez-toc-container, .z-prevnext, .z-nav { display: none; }
  .z-content { font-size: 11pt; }
}
