/* site-header.css — единая шапка сайта. Подключается на ВСЕХ страницах
   (лендинг, PDP, чекаут, ЛК, support, legal).
   Дизайн-система «Экслибрис» (2026-07, фаза 3): бумага #F7F1E4, чернила #232E47,
   латунь #A67C2E / текст-золото #6E5316, CTA #24406E, линии #DCD1B8.
   22.07.2026 (канон ДС «Книжная шторка»): на desktop до 4 пунктов навигации
   видимы в строке; <980 действия сжимаются до иконок; ≤640 desktop-навигация
   сменяется доступной боковой панелью с бургером, а «Мои книги» получают
   отдельный быстрый вход с иконкой раскрытой книги. */

@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,800;1,800&family=Golos+Text:wght@400;500;600&display=swap");

.skz-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #F7F1E4;
  border-bottom: 1px solid #DCD1B8;
  -webkit-font-smoothing: antialiased;
}
.skz-topbar__inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px var(--ds-shell-pad, 48px);
  display: flex;
  align-items: center;
  gap: 24px;
}
/* Сквозная лента-ляссе — ПЛОТНЫЙ регистр (решение владельца 16.07.2026):
   широкая лента с каймой-кантом и искрой-вырезом у хвоста
   (design-system/assets/lyasse/skazkin-lyasse-bold.svg).
   Позиционируется ОТ ДОКУМЕНТА, не от sticky-шапки: при скроле уходит
   вместе со страницей; запас 600px вверх — при overscroll (оттягивании
   страницы вниз) лента продолжается за кромку экрана без обрыва.
   Техника: ::before — повторяемое тело (полосы каймы вертикальны, тянутся
   без искажений), ::after — хвост с искрой фиксированных пропорций. */
.skz-lyasse {
  position: absolute;
  top: -600px;
  left: max(12px, calc(50% - 620px));
  width: 6px;
  height: calc(600px + 96px);
  background: #A67C2E;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), 50% calc(100% - 2px), 0 calc(100% - 8px));
  z-index: 60;
  pointer-events: none;
}
/* На вьюпортах до 1263px в поле контейнера плотная лента не умещается —
   работает тонкий регистр выше. С 1264px формула left даёт
   ленте постоянный зазор 20px до контента — включается плотный регистр. */
@media (min-width: 1264px) {
  .skz-lyasse {
    width: 24px;
    height: calc(600px + 118px);
    background: none;
    clip-path: none;
  }
}
.skz-lyasse::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 40px; /* хвост ≈42px, 2px перекрытия приходятся на сплошную зону */
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='438.8 0 292.5 40'><g fill='%23A67C2E'><rect x='438.833' width='21.977' height='40'/><rect x='466.113' width='238.837' height='40'/><rect x='710.654' width='20.654' height='40'/></g></svg>") repeat-y;
  background-size: 100% auto;
}
.skz-lyasse::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  aspect-ratio: 292.475 / 511;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='438.833 1395 292.475 511'><path d='M 438.833 0 L 460.81 0 L 466.113 0 L 466.035 1841.99 C 505.626 1806.04 547.083 1765.95 586.984 1731.36 C 626.026 1768.06 665.381 1804.42 705.044 1840.45 L 704.95 0 L 710.654 0 L 730.962 0 L 731.308 1314.19 L 731.126 1719.63 L 731.774 1842.41 C 731.876 1857.32 732.888 1891.06 731.712 1905.2 C 697.7 1874.32 665.661 1842.01 632.164 1810.7 C 618.107 1797.56 599.345 1779.13 584.442 1767.83 C 567.365 1781.67 547.535 1801.65 531.158 1817.1 C 499.846 1846.2 468.796 1875.59 438.009 1905.25 L 438.833 0 z M 460.81 0 L 466.113 0 L 466.035 1841.99 C 505.626 1806.04 547.083 1765.95 586.984 1731.36 C 626.026 1768.06 665.381 1804.42 705.044 1840.45 L 704.95 0 L 710.654 0 L 710.788 1853.1 C 668.828 1815.47 628.273 1776.7 586.644 1738.8 C 544.64 1776.18 503.308 1817.22 460.985 1853.74 C 459.769 1774.84 460.89 1693.8 460.79 1614.65 L 460.298 1153.41 L 460.81 0 z' fill='%23A67C2E' fill-rule='evenodd'/><path d='M 466.113 0 L 704.95 0 L 705.044 1840.45 C 665.381 1804.42 626.026 1768.06 586.984 1731.36 C 547.083 1765.95 505.626 1806.04 466.035 1841.99 L 466.113 0 z M 586.009 1433.02 C 586.168 1437.7 586.777 1441.89 587.25 1446.45 C 592.266 1494.82 608.282 1517.2 659.837 1519.2 L 660.364 1521.08 C 606.69 1520.15 586.371 1558.36 586.016 1606.55 C 586.01 1607.39 586.022 1608.23 586.051 1609.06 L 583.976 1607.12 C 584.359 1585.91 577.676 1553.6 562.08 1538.61 C 549.091 1526.14 527.514 1520.93 509.834 1521.14 L 511.647 1518.75 C 526.388 1520.21 550.557 1513.33 561.284 1503.17 C 578.734 1486.64 583.115 1456.49 583.973 1433.72 L 586.009 1433.02 z' fill='%23A67C2E' fill-rule='evenodd'/></svg>") no-repeat;
  background-size: 100% 100%;
}
/* На экранах уже 1264px слои плотного регистра выключены — лента живёт тонкой. */
@media (max-width: 1263.98px) {
  .skz-lyasse::before,
  .skz-lyasse::after { content: none; }
}
.skz-topbar__logo {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.skz-topbar__logo img {
  display: block;
  height: 44px;
  width: auto;
}

/* Навигация */
.skz-topbar__nav {
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
}
.skz-topbar__link {
  position: relative;
  text-decoration: none;
  color: #232E47;
  font-family: "Golos Text", system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 2px;
  transition: color 0.15s;
  white-space: nowrap;
}
.skz-topbar__link:hover { color: #6E5316; }
.skz-topbar__link.is-active {
  color: #6E5316;
}
.skz-topbar__link.is-active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 2px;
  background: #A67C2E;
  border-radius: 2px;
}

/* Действия справа */
.skz-topbar__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.skz-topbar__action {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 6px;
  text-decoration: none;
  color: #232E47;
  font-family: "Golos Text", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  transition: background 0.15s, color 0.15s;
}
.skz-topbar__action:hover {
  background: #EFE7D2;
  color: #6E5316;
}
.skz-topbar__action.is-active {
  color: #6E5316;
}
.skz-topbar__action svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.skz-topbar__action-label {
  white-space: nowrap;
}
.skz-topbar__action--books { display: none; }

/* Мобильный триггер и «Книжная шторка». На desktop они не участвуют в layout. */
.skz-topbar__burger,
.skz-mobile-menu { display: none; }
.skz-topbar__burger,
.skz-mobile-menu__close {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--ink, #232E47);
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.skz-topbar__burger {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: var(--ds-radius-6, 6px);
  transition: background-color 150ms ease-out, color 150ms ease-out;
}
.skz-topbar__burger:hover,
.skz-topbar__burger:active,
.skz-mobile-menu__close:hover,
.skz-mobile-menu__close:active {
  background: var(--endpaper, #EFE7D2);
  color: var(--brass-text, #6E5316);
}
.skz-topbar__burger svg,
.skz-mobile-menu__close svg {
  display: block;
  width: 24px;
  height: 24px;
}

.skz-mobile-menu[hidden] { display: none; }
.skz-mobile-menu__backdrop {
  appearance: none;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(35, 46, 71, .38);
  cursor: pointer;
  touch-action: manipulation;
  opacity: 0;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  transition: opacity 180ms ease-out;
}
.skz-mobile-menu__panel {
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(336px, calc(100vw - 48px));
  height: 100vh;
  height: 100dvh;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border-left: 3px solid var(--brass, #A67C2E);
  background: var(--paper, #F7F1E4);
  box-shadow: -24px 0 64px rgba(35, 46, 71, .18);
  color: var(--ink, #232E47);
  transform: translate3d(100%, 0, 0);
  transition: transform 240ms cubic-bezier(.23, 1, .32, 1);
}
.skz-mobile-menu.is-open .skz-mobile-menu__backdrop { opacity: 1; }
.skz-mobile-menu.is-open .skz-mobile-menu__panel { transform: translate3d(0, 0, 0); }
.skz-mobile-menu__head {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-16, 16px);
  padding: 12px var(--ds-shell-pad-mobile, 20px);
  border-bottom: 1px solid var(--line, #DCD1B8);
}
.skz-mobile-menu__title {
  font: 500 15px/1.2 var(--ds-font-text, "Golos Text", sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-soft, #545D70);
}
.skz-mobile-menu__close {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: var(--ds-radius-6, 6px);
  transition: background-color 150ms ease-out, color 150ms ease-out;
}
.skz-mobile-menu__nav {
  display: flex;
  flex-direction: column;
  padding: var(--ds-space-16, 16px) 0 0;
}
.skz-mobile-menu__link {
  position: relative;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-8, 8px);
  padding: 12px var(--ds-shell-pad-mobile, 20px);
  border-bottom: 1px solid var(--line, #DCD1B8);
  color: var(--ink, #232E47);
  font: 500 17px/1.35 var(--ds-font-text, "Golos Text", sans-serif);
  text-decoration: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 150ms ease-out, color 150ms ease-out;
}
.skz-mobile-menu__link:first-child { border-top: 1px solid var(--line, #DCD1B8); }
.skz-mobile-menu__link:hover,
.skz-mobile-menu__link:active {
  background: var(--endpaper, #EFE7D2);
  color: var(--brass-text, #6E5316);
}
.skz-mobile-menu__link.is-active {
  color: var(--brass-text, #6E5316);
  background: color-mix(in srgb, var(--endpaper, #EFE7D2) 58%, transparent);
}
.skz-mobile-menu__link.is-active::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 0;
  width: 3px;
  background: var(--brass, #A67C2E);
}
.skz-mobile-menu__footer {
  margin-top: auto;
  padding: var(--ds-space-24, 24px) var(--ds-shell-pad-mobile, 20px);
  border-top: 1px solid var(--line, #DCD1B8);
}
.skz-mobile-menu__cta {
  min-height: 48px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: var(--ds-radius-6, 6px);
  background: var(--blue-core, #24406E);
  color: var(--card, #FCF8EE);
  font: 600 16px/1.35 var(--ds-font-text, "Golos Text", sans-serif);
  text-align: center;
  text-decoration: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 150ms ease-out, transform 120ms ease-out;
}
.skz-mobile-menu__cta:hover { background: var(--blue-press, #1B3355); }
.skz-mobile-menu__cta:active { transform: scale(.98); }
body.skz-menu-open { overscroll-behavior: none; }
body.skz-menu-open .skz-topbar { z-index: 1300; }

/* Когда на странице есть единая шапка — скрываем ВСЕ старые header'ы
   (ck-topbar в чекауте, .site-header в PDP, be-header в редакторе книги
   и т.д.), чтобы не дублировалась шапка. */
body.has-skz-topbar {
  scroll-padding-top: 80px;
}
body.has-skz-topbar > header:not(.skz-topbar) { display: none; }
body.has-skz-topbar header.ck-topbar,
body.has-skz-topbar header.site-header,
body.has-skz-topbar header.be-header,
body.has-skz-topbar header.home-topbar,
body.has-skz-topbar header.legal-page__topbar { display: none; }

/* Планшет: действия сжимаются до иконок (aria-label остаётся), шаг плотнее —
   4 пункта навигации остаются видимыми одной строкой */
@media (max-width: 980px) {
  .skz-topbar__inner { gap: 16px; }
  .skz-topbar__nav { gap: 16px; }
  .skz-topbar__action-label { display: none; }
  .skz-topbar__action { padding: 10px; }
}

/* Мобильник: однострочная шапка и обязательная «Книжная шторка». */
@media (max-width: 640px) {
  .skz-topbar__inner {
    min-height: 72px;
    padding: 8px var(--ds-shell-pad, 20px);
    gap: 4px;
    flex-wrap: nowrap;
  }
  .skz-lyasse {
    left: 8px;
    width: 6px;
    height: calc(600px + 96px);
    background: #A67C2E;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), 50% calc(100% - 2px), 0 calc(100% - 8px));
  }
  .skz-topbar__logo img { height: 36px; }
  .skz-topbar__nav { display: none; }
  /* Три действия справа выровнены: одинаковый бокс 44×44, глиф 24px,
     равный шаг 4px между «Мои книги», личным кабинетом и бургером. */
  .skz-topbar__actions { margin-left: auto; gap: 4px; }
  .skz-topbar__action--books { display: inline-flex; }
  .skz-topbar__burger { display: inline-flex; }
  .skz-topbar__action {
    min-width: 44px;
    width: 44px;
    height: 44px;
    padding: 0;
  }
  .skz-topbar__action svg,
  .skz-topbar__burger svg { width: 24px; height: 24px; }
  .skz-mobile-menu:not([hidden]) { display: block; }
  body.has-skz-topbar { scroll-padding-top: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  .skz-mobile-menu__backdrop,
  .skz-mobile-menu__panel { transition-duration: 1ms; }
}

/* ============================================================================
   PRE-FOOTER CTA — единый сквозной финальный призыв (_site-footer.html).
   Композиция зеркалит Hero главной: изображение 7 колонок, текст 5, искры
   центрированы на их границе. Цветовая схема — действующий «ночной» остров.
   ========================================================================== */
.site-prefooter {
  position: relative;
  overflow-x: clip;
  scroll-margin-top: 84px;
  margin: 0;
  padding: 0;
  background: var(--skz-indigo);
}
.site-prefooter__grid {
  display: grid;
  min-height: clamp(340px, 25vw, 360px);
  align-items: stretch;
  background: var(--skz-indigo);
}
.site-prefooter__art {
  position: relative;
  min-width: 0;
  margin-left: calc(-1 * var(--ds-shell-pad, 48px) - max(0px, (100vw - var(--ds-shell-max, 1200px)) / 2));
  overflow: hidden;
}
.site-prefooter__art img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 55%;
}
.site-prefooter__seam {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  right: -28px;
  width: 56px;
  overflow: hidden;
  pointer-events: none;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 24 24'><path fill='%23232E47' d='M12 0C13.2 7.4 16.6 10.8 24 12 16.6 13.2 13.2 16.6 12 24 10.8 16.6 7.4 13.2 0 12 7.4 10.8 10.8 7.4 12 0Z'/></svg>");
  background-position: center center;
  background-size: 56px 48px;
  background-repeat: repeat-y;
}
.site-prefooter__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  padding: var(--skz-space-8) 0;
  color: var(--skz-surface);
}
.site-prefooter__text h2 {
  margin: 0;
  color: var(--skz-surface);
  font: 800 clamp(26px, 2.6vw, 32px)/1.25 var(--skz-font-serif);
  letter-spacing: var(--skz-tracking-tight);
  text-wrap: balance;
}
.site-prefooter__text p {
  margin: var(--skz-space-4) 0 var(--skz-space-6);
  color: var(--skz-sand);
  font: 400 18px/1.6 var(--skz-font-sans);
  text-wrap: pretty;
}
.site-prefooter__btn:focus-visible {
  outline-color: var(--skz-light-tan);
  outline-offset: 3px;
}
.site-prefooter__btn:active {
  background: var(--skz-sand);
  box-shadow: inset 0 0 0 1px var(--skz-gold);
}
/* На экранах флоу заказа префутер скрыт: CTA «Создать книгу» уводит из
   оформления. Чекаут/доставка/оплата/успех — body.checkout-body, страницы
   статуса оплаты — body.status-page. Оверлей предпросмотра/утверждения
   скрывает его же правилом body.preview-mode в preview-overlay.css. */
body.checkout-body .site-prefooter,
body.status-page .site-prefooter { display: none; }

@media (max-width: 980px) {
  .site-prefooter__grid { min-height: 0; }
  .site-prefooter__art {
    display: block;
    aspect-ratio: 16 / 9;
    margin-inline: calc(-1 * var(--ds-shell-pad, 48px));
  }
  .site-prefooter__art img {
    position: relative;
    inset: auto;
    aspect-ratio: 16 / 9;
    height: auto;
  }
  .site-prefooter__seam { display: none; }
  .site-prefooter__text { padding: var(--skz-space-16) 0; }
}

@media (max-width: 640px) {
  .site-prefooter { scroll-margin-top: 132px; }
  .site-prefooter__art {
    order: 1;
    display: block;
    aspect-ratio: 16 / 9;
    margin-inline: calc(-1 * var(--ds-shell-pad-mobile, 20px));
  }
  .site-prefooter__text {
    order: 2;
    padding: var(--skz-space-12) 0;
  }
  .site-prefooter__text p { font-size: 17px; }
  .site-prefooter__btn { width: 100%; white-space: normal; }
}

/* ============================================================================
   ПОДВАЛ «Экслибрис» — единый, сквозной (_site-footer.html, renderSiteFooter()).
   Эталон: layouts/book.html. Токены приложения --skz-* (перекрашены в theme.css).
   ========================================================================== */
.site-foot {
  background-color: var(--skz-sand);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48"><path d="M0 24 24 0 48 24 24 48Z" fill="none" stroke="%23A67C2E" stroke-opacity=".08"/><circle cx="24" cy="0" r="1.5" fill="%23A67C2E" fill-opacity=".09"/><circle cx="0" cy="24" r="1.5" fill="%23A67C2E" fill-opacity=".09"/><circle cx="48" cy="24" r="1.5" fill="%23A67C2E" fill-opacity=".09"/><circle cx="24" cy="48" r="1.5" fill="%23A67C2E" fill-opacity=".09"/></svg>');
  border-top: 1px solid var(--skz-line);
  margin-top: 0;
}
.foot-wrap { max-width: 1200px; margin: 0 auto; padding: 48px var(--ds-shell-pad, 48px) 32px; }
.foot-grid { display: grid; grid-template-columns: 1.5fr .9fr 1fr 1fr 1.5fr; gap: 32px; align-items: start; }
.foot-lg { display: inline-flex; }
.foot-lg img { height: 34px; width: auto; display: block; }
.foot-desc { font: 400 14px/1.6 var(--skz-font-sans); color: var(--skz-gray-warm); margin: 16px 0; max-width: 280px; }
.foot-brand .foot-soc { margin: 0 0 12px; }
.foot-soc { display: flex; gap: 14px; margin: 0 0 14px; }
/* Специфичность .foot-brand .foot-soc a (0,3,0) > .foot-col a (0,2,0) —
   иначе .foot-col a перебивает display:flex и иконки уезжают в угол рамки. */
.foot-brand .foot-soc a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; padding: 0; line-height: 0;
  border: 1px solid var(--skz-line-deep); border-radius: 6px;
  color: var(--skz-text-light); background: var(--skz-surface); transition: border-color .2s ease-out;
}
.foot-brand .foot-soc a:hover { border-color: var(--skz-gold); }
.foot-soc svg { width: 19px; height: 19px; display: block; }
.foot-fine { font: 400 12px/1.5 var(--skz-font-sans); color: var(--skz-gray-warm); max-width: 230px; margin: 0; }
.foot-t {
  font: 500 11px/1.4 var(--skz-font-sans); letter-spacing: .28em; text-transform: uppercase;
  color: var(--skz-gold-hover); margin: 0 0 12px;
}
.foot-col ul { list-style: none; margin: 0; padding: 0; }
.foot-col li { padding: 0; }
.foot-col a {
  color: var(--skz-text-light); text-decoration: none;
  font: 500 14px/1.5 var(--skz-font-sans); display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0;
}
.foot-col a:hover { text-decoration: underline; text-decoration-color: var(--skz-gold); text-underline-offset: 5px; }
.foot-subtext { font: 400 14px/1.6 var(--skz-font-sans); color: var(--skz-gray-warm); margin: 10px 0 16px; max-width: 290px; }
.sub-form { display: flex; flex-direction: column; gap: 10px; max-width: 290px; }
.sub-input {
  width: 100%; background: var(--skz-surface); border: 1px solid var(--skz-line);
  border-radius: 6px; padding: 12px 14px; font: 400 15px/1.4 var(--skz-font-sans); color: var(--skz-text-light);
}
.sub-input::placeholder { color: var(--skz-gray-warm); }
.sub-input:focus { outline: none; border-color: var(--skz-gold); box-shadow: 0 0 0 3px rgba(166, 124, 46, .18); }
.sub-btn { width: 100%; padding: 13px 20px; font-size: 15px; }
.foot-copy {
  border-top: 1px solid var(--skz-line-deep); margin-top: 32px; padding-top: 16px;
  font-size: 13.5px; line-height: 1.6; color: var(--skz-gray-warm);
}
/* Кнопки «Экслибриса» — сквозные (этот файл подключён на всех страницах).
   Рецепты — system.md §4: primary синяя, secondary карточная с линией,
   cream — для тёмных «ночных» секций. Радиус 6, hover — латунная кромка inset. */
.btn-pri {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--skz-coral); color: #FCF8EE; font: 600 16px/1 var(--skz-font-sans);
  padding: 17px 36px; border-radius: 6px; border: 0; cursor: pointer; text-decoration: none;
  transition: background .2s ease-out, box-shadow .2s ease-out; white-space: nowrap;
}
.btn-pri:hover { background: var(--skz-coral-hover); box-shadow: inset 0 0 0 1px var(--skz-light-tan); }
.btn-pri:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.btn-sec {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--skz-surface); color: var(--skz-chocolate); font: 500 14px/1 var(--skz-font-sans);
  padding: 12px 20px; border: 1px solid var(--skz-line); border-radius: 6px;
  cursor: pointer; text-decoration: none; transition: border-color .2s ease-out;
}
.btn-sec:hover { border-color: var(--skz-light-tan); }
.btn-cream {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--skz-surface); color: var(--skz-chocolate); font: 600 16px/1 var(--skz-font-sans);
  padding: 17px 36px; border-radius: 6px; border: 0; cursor: pointer; text-decoration: none;
  transition: background .2s ease-out, box-shadow .2s ease-out; white-space: nowrap;
}
.btn-cream:hover { background: var(--skz-sand); box-shadow: inset 0 0 0 1px var(--skz-light-tan); }
.vh { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 980px) {
  .foot-grid { grid-template-columns: 1fr 1fr; gap: 28px 32px; }
}
@media (max-width: 640px) {
  .foot-wrap { padding: 40px var(--ds-shell-pad, 20px) 28px; }
  .foot-grid { grid-template-columns: 1fr; gap: 0; }
  .foot-brand { margin-bottom: 24px; }
  .foot-grid > nav.foot-col {
    border-top: 1px solid var(--skz-line-deep, #C9BFA9);
    padding: 16px 0 12px;
  }
  .foot-grid > nav.foot-col .foot-t { margin-bottom: 4px; }
  .foot-col li { padding: 0; }
  .foot-col a { min-height: 44px; padding: 4px 0; }
  .foot-sub {
    border-top: 1px solid var(--skz-line-deep, #C9BFA9);
    margin-top: 10px;
    padding-top: 24px;
  }
  .foot-copy { margin-top: 32px; }
}

/* ── Cookie-плашка (152-ФЗ, аудит P1 #17). Показывается до подтверждения,
   флаг в localStorage skz_cookie_ok. Разметку вставляет site-header.js. ── */
.skz-cookiebar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1200;
  background: var(--skz-bg, #F7F1E4);
  border-top: 1px solid var(--skz-line, #d9cfbc);
  box-shadow: 0 -6px 24px rgba(43, 38, 32, 0.08);
  padding: 12px 20px;
}
.skz-cookiebar__inner {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.skz-cookiebar__text {
  flex: 1 1 320px;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--skz-text-body, #2b2620);
}
.skz-cookiebar__text a { color: inherit; text-decoration: underline; }
.skz-cookiebar__btn {
  flex: 0 0 auto;
  padding: 9px 22px;
  border: 0;
  border-radius: 8px;
  background: var(--skz-indigo, #24406E);
  color: #FCF8EE;
  font: 600 14px/1 var(--skz-font-sans, sans-serif);
  cursor: pointer;
  min-height: 44px;
}
.skz-cookiebar__btn:hover { filter: brightness(1.08); }
@media (max-width: 640px) {
  .skz-cookiebar { padding: 10px 14px; }
  .skz-cookiebar__btn { width: 100%; }
}
