/* Компактный второй ряд шапки; прилипает только в пределах каталога. */
.catalog-shell { position: relative; overflow-anchor: none; }
.catalog-filter {
  position: sticky; top: calc(64px / var(--site-zoom, 1)); z-index: 40;
  margin-top: -60px;
  background: rgba(245,243,238,.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-top: .5px solid var(--border); border-bottom: .5px solid var(--border-gold);
}
.catalog-filter-inner { display: flex; align-items: center; gap: 22px; max-width: 1456px; }
.catalog-filter-label {
  flex: none; color: var(--gold-text); font: 600 .62rem/1.4 'Jost', sans-serif;
  letter-spacing: .22em; text-transform: uppercase;
}
.catalog-filter-list {
  --fade-left: 28px; --fade-right: 36px;
  display: flex; flex: 1 1 auto; min-width: 0; gap: 6px;
  overflow-x: auto; padding: 7px 3px; scrollbar-width: none;
  mask-image: linear-gradient(90deg, transparent, #000 var(--fade-left), #000 calc(100% - var(--fade-right)), transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--fade-left), #000 calc(100% - var(--fade-right)), transparent);
}
.catalog-filter-list::-webkit-scrollbar { display: none; }
.catalog-filter-list.at-start { --fade-left: 0px; }
.catalog-filter-list.at-end { --fade-right: 0px; }
.catalog-filter-button {
  flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
  padding: 0 16px; border: 1px solid transparent; border-radius: var(--radius);
  background: transparent; color: var(--mid); white-space: nowrap; cursor: pointer;
  font: 600 12.5px/1.4 'Jost', sans-serif; letter-spacing: .1em; text-transform: uppercase;
  transition: background .2s, color .2s, border-color .2s;
}
.catalog-filter-button:hover { color: var(--gold-text); border-color: var(--border-gold); }
.catalog-filter-button[aria-pressed="true"] { background: var(--gold-btn); border-color: var(--gold-btn); color: #fff; }
.catalog-filter-button:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 1px; }
.catalog-filter-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.8em; height: 1.8em; padding: 0 5px; border-radius: 999px;
  background: rgba(28,26,22,.07); font-size: 11px; line-height: 1; letter-spacing: 0;
}
.catalog-filter-button[aria-pressed="true"] .catalog-filter-count { background: rgba(255,255,255,.2); }
.catalog-shell :is(a, button, .fa-group, .ft-group) { scroll-margin-top: 80px; }
@media (min-width: 961px) {
  .catalog-filter-inner { max-width: none; padding-left: max(96px, calc((100% - 1360px) / 2)); padding-right: max(96px, calc((100% - 1360px) / 2)); }
}
@media (max-width: 1100px) { .catalog-filter-label { display: none; } }
@media (max-width: 760px) {
  .catalog-filter-button { padding: 0 12px; font-size: 11.5px; letter-spacing: .08em; }
  .catalog-filter-inner { padding-right: 0; }
  .catalog-filter-list { padding-right: 16px; }
}
@media (max-width: 480px) { .catalog-filter { top: calc(56px / var(--site-zoom, 1)); } }
@media (prefers-reduced-motion: reduce) { .catalog-filter-button { transition: none; } }

/* Архив: полный выбор в шапке, компактный ряд после её нижней границы.
   Место ряда сохраняется: переключение состояния не двигает карточки. */
.ev-hero .catalog-expanded { width: 100%; margin-top: auto; padding-top: 28px; }
.catalog-expanded-list { display: flex; flex-wrap: wrap; gap: 10px; }
.catalog-expanded-list .catalog-filter-button {
  border-radius: 999px; border-color: rgba(154,122,50,.32); background: rgba(255,255,255,.92);
  padding: 0 18px; min-height: 46px;
}
.catalog-expanded-list .catalog-filter-button:hover { border-color: var(--gold-btn); background: var(--cream-dark); }
.catalog-expanded-list .catalog-filter-button[aria-pressed="true"] { background: var(--gold-btn); border-color: var(--gold-btn); color: #fff; }
.catalog-filter-sentinel { height: 0; transform: translateY(-60px); }
.catalog-filter--expandable { visibility: hidden; pointer-events: none; }
.catalog-filter--expandable.is-compact { visibility: visible; pointer-events: auto; }
.catalog-filter--expandable .catalog-filter-inner { gap: 14px; }
/* Кнопки уже находятся под шапкой: общий отступ якорей html здесь не нужен.
   Иначе автоматическая прокрутка к фокусу вытягивает полосу из закреплённого состояния. */
.catalog-shell .catalog-filter button { scroll-margin-top: -76px; }
.catalog-filter-toggle {
  flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--border-gold); border-radius: var(--radius);
  background: var(--cream); color: var(--gold-text); cursor: pointer;
  font: 600 11.5px/1.4 'Jost', sans-serif; letter-spacing: .08em; text-transform: uppercase;
}
.catalog-filter-toggle:hover, .catalog-filter-toggle[aria-expanded="true"] { background: var(--gold-pale); border-color: var(--gold-btn); }
.catalog-filter-toggle:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 2px; }
.catalog-filter-toggle-icon { display: flex; flex-direction: column; gap: 4px; width: 18px; }
.catalog-filter-toggle-icon span { display: block; height: 2px; width: 18px; background: currentColor; }
.catalog-filter-popup {
  position: absolute; top: 100%; left: 0; right: 0; padding: 24px 0;
  background: #f5f3ee; border-bottom: 1px solid var(--border-gold); box-shadow: 0 16px 28px rgba(28,26,22,.12);
  max-height: calc((100svh - 160px) / var(--site-zoom, 1)); overflow-y: auto; overscroll-behavior: contain;
}
.catalog-filter-popup[hidden] { display: none; }
.catalog-filter-popup > .wrap { max-width: 1456px; }
@media (min-width: 961px) {
  .catalog-filter-popup > .wrap { max-width: none; padding-left: max(96px, calc((100% - 1360px) / 2)); padding-right: max(96px, calc((100% - 1360px) / 2)); }
}
@media (max-width: 760px) {
  .ev-hero .catalog-expanded { margin-top: 22px; padding-top: 0; }
  .catalog-expanded-list { gap: 8px; }
  .catalog-expanded-list .catalog-filter-button { padding: 0 12px; white-space: normal; text-align: left; }
  .catalog-filter--expandable .catalog-filter-inner { gap: 8px; padding-right: 16px; }
  .catalog-filter-toggle { padding: 0; }
  .catalog-filter-toggle-label { display: none; }
  .catalog-filter-popup { padding: 18px 0; max-height: calc(100svh - 220px - env(safe-area-inset-bottom, 0px)); }
  body:has(.catalog-filter-popup:not([hidden])) .to-top { visibility: hidden; }
}
/* На десктопе текст шапки заканчивается выше наложенной полосы.
   На телефоне полоса лежит на нижнем краю фотографии под текстом. */
@media (min-width: 761px) {
  .catalog-shell > :is(.fa-hero, .blog-hero, .ev-hero, .eq-hero) { padding-bottom: 96px; }
}
@media (min-width: 961px) {
  .catalog-shell > .post-hero--cards { padding-bottom: 96px; }
}
