/* zbca_base — базовые стили темы (seed 2026-11-05).
   Все значения — через токены tokens.css (law_ref:S5 §ПОСТАВКА).
   Ручные правки CSS вне параметров — только через deviations[]. */

/* ---------- Базовая обвязка страницы (сброс stock-хаков OC) ---------- */
#container { position: static; min-height: 0; margin-bottom: 0; }
footer.zbca-footer, footer {
  position: static; bottom: auto; width: auto;
  border: 0; padding-top: 0; background: var(--zbca-cream); color: inherit;
}

/* ---------- Парк шрифтов ZBCA (woff2, парк студии + доноры ₽) ---------- */
@font-face { font-family: 'Montserrat'; font-weight: 900; font-display: swap; src: url('fonts/montserrat-900-cyrillic.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 700; font-display: swap; src: url('fonts/montserrat-700-cyrillic.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 500; font-display: swap; src: url('fonts/montserrat-500-cyrillic.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 900; font-display: swap; src: url('fonts/montserrat-900-latin.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 700; font-display: swap; src: url('fonts/montserrat-700-latin.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 500; font-display: swap; src: url('fonts/montserrat-500-latin.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 400; font-display: swap; src: url('fonts/inter-400-cyrillic.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 500; font-display: swap; src: url('fonts/inter-500-cyrillic.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 700; font-display: swap; src: url('fonts/inter-700-cyrillic.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 400; font-display: swap; src: url('fonts/inter-400-latin.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 500; font-display: swap; src: url('fonts/inter-500-latin.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 700; font-display: swap; src: url('fonts/inter-700-latin.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-weight: 400; font-display: swap; src: url('fonts/ibm-plex-mono-400-cyrillic.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-weight: 500; font-display: swap; src: url('fonts/ibm-plex-mono-500-cyrillic.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-weight: 400; font-display: swap; src: url('fonts/ibm-plex-mono-400-latin.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-weight: 500; font-display: swap; src: url('fonts/ibm-plex-mono-500-latin.woff2') format('woff2'); }
/* доноры знака ₽ (unicode-range) */
@font-face { font-family: 'ZBCA Ruble'; font-weight: 400 900; font-display: swap; unicode-range: U+20BD; src: url('fonts/zbca-ruble.woff2') format('woff2'); }
@font-face { font-family: 'ZBCA Ruble I'; font-weight: 400 700; font-display: swap; unicode-range: U+20BD; src: url('fonts/zbca-ruble-i.woff2') format('woff2'); }

:root {
  --zbca-header-h: 72px;
}

.zbca-container { max-width: var(--zbca-container); margin: 0 auto; padding: 0 24px; }

/* ---------- Хедер (по моку treeseed-home) ---------- */
.zbca-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--zbca-cream);
  border-bottom: 1px solid var(--zbca-line);
}
.zbca-header__inner {
  display: flex; align-items: center; gap: 32px;
  min-height: var(--zbca-header-h);
}
.zbca-header__logo { flex: 0 0 auto; }
.zbca-header__logo img { max-height: 54px; width: auto; }
.zbca-header__name { font: 700 20px/1 var(--zbca-font-display); color: var(--zbca-graphite); }

.zbca-nav { margin-left: auto; }
.zbca-nav > ul {
  display: flex; gap: 24px; list-style: none; margin: 0; padding: 0;
}
.zbca-nav > ul > li > a {
  font: 500 15px/1 var(--zbca-font-text); color: var(--zbca-graphite);
  padding: 8px 0; text-decoration: none;
}
.zbca-nav > ul > li > a:hover { color: var(--zbca-green); }

.zbca-header__actions { display: flex; align-items: center; gap: 12px; }
.zbca-cart {
  display: inline-flex; align-items: center; gap: 8px;
  font: 500 15px/1 var(--zbca-font-text); color: var(--zbca-green);
  border: 1.5px solid var(--zbca-green); border-radius: var(--zbca-radius-pill);
  padding: 12px 20px; text-decoration: none;
}
.zbca-cart:hover { background: var(--zbca-green); color: var(--zbca-cream); }
.zbca-nav-toggle {
  display: none; margin: 0;
  font: 400 16px/1 var(--zbca-font-display);
  background: none; border: 1.5px solid var(--zbca-graphite); border-radius: var(--zbca-radius-pill);
  padding: 12px 16px; color: var(--zbca-graphite); cursor: pointer;
}

@media (max-width: 1023px) {
  .zbca-nav { display: none; }
  .zbca-nav-toggle { display: inline-flex; }
  .zbca-cart span { display: none; }
  .zbca-cart { padding: 12px; }
}

/* ---------- Футер ---------- */
.zbca-footer { border-top: 1px solid var(--zbca-line); background: var(--zbca-cream); }
.zbca-footer .zbca-container { padding-top: 32px; padding-bottom: 32px; }
.zbca-footer__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.zbca-footer__col h5 { font: 700 14px/1.2 var(--zbca-font-display); margin: 0 0 16px; color: var(--zbca-graphite); }
.zbca-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.zbca-footer__col a { font: 400 14px/1.4 var(--zbca-font-text); color: var(--zbca-muted); text-decoration: none; }
.zbca-footer__col a:hover { color: var(--zbca-green); }
.zbca-footer__bottom {
  display: flex; flex-wrap: wrap; gap: 8px 32px; align-items: center;
  border-top: 1px solid var(--zbca-line); margin-top: 32px; padding-top: 24px;
}
.zbca-footer__copy { font: 400 13px/1.4 var(--zbca-font-text); color: var(--zbca-muted); margin: 0; }
.zbca-footer__made { font: 400 13px/1.4 var(--zbca-font-text); color: var(--zbca-muted); margin: 0 0 0 auto; }
.zbca-footer__made a { color: var(--zbca-muted); text-decoration: underline; }
@media (max-width: 1023px) {
  .zbca-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zbca-footer__made { margin-left: 0; }
}

/* ---------- Главная (Layout-модули) ---------- */
.zbca-home__grid { display: flex; gap: 32px; }
.zbca-home__content { flex: 1 1 auto; min-width: 0; }
