/* Бренд логобука 2026 — слой поверх токенов, только на превью (сборка с PUBLIC_BRAND=2026, Base.astro).
   Спека и контрасты — rebrand-plan.md. Правила под :root[data-brand], чтобы перебить базовые
   без оглядки на порядок подключения. Фон — белая глина; песок как фон страниц снят 2 ноя (владелец: не нравится контраст). */

@font-face {
  font-family: "Angst Normal";
  src: url("angst-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Libertinus Sans";
  src: url("libertinus-sans-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Libertinus Sans";
  src: url("libertinus-sans-400-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Libertinus Sans";
  src: url("libertinus-sans-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root[data-brand] {
  /* Палитра логобука */
  --clay: #764835;
  --sand: #D5C8AD;
  --mushroom: #B2A998;
  --white-clay: #D1D1C8;
  --wet-sand: #946D53;
  --chocolate: #261412;
  --dark-olive: #41442E;
  --chocolate-a40: rgb(38 20 18 / 0.4);
  --chocolate-a12: rgb(38 20 18 / 0.12);

  --surface-default: var(--white-clay);
  --surface-raised: var(--white);
  --surface-inverse: var(--clay);

  /* 2 ноя, её просьба: весь текст шоколадом #261412. Было: заголовки, меню, цены — глина, подписи — олива
     («сливается»). Глина остаётся у кнопок, ссылок в тексте и тёмных секций */
  --text-heading: var(--chocolate);
  --text-body: var(--chocolate);
  --text-muted: var(--chocolate);
  --text-link: var(--clay);
  --text-muted-on-inverse: var(--sand);

  --accent-interactive: var(--clay);
  --accent-interactive-hover: var(--wet-sand);
  --accent-interactive-active: var(--chocolate);

  --border-divider: var(--mushroom);
  --border-divider-inverse: var(--mushroom);
  --border-control: var(--wet-sand);

  --focus-ring: var(--chocolate);
  --scrim: var(--chocolate-a40);
  --shadow-overlay: 0 12px 32px var(--chocolate-a12);

  --font-display: "Angst Normal", "Iowan Old Style", Georgia, serif;
  --font-body: "Libertinus Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --weight-display: 400;
  --weight-medium: 700;
}

/* Шкала. Angst — только заглавные и на ~40% шире Newsreader: кегли меньше, трекинг плюс.
   Libertinus — строчные ниже, чем у Instrument Sans: текст +1 px; 2 ноя по её просьбе «шрифты побольше» — ещё +1 px */
:root[data-brand] :is(.ds-display, .ds-heading-lg, .ds-heading-sm, .ds-price) {
  letter-spacing: 0.02em;
}

:root[data-brand] .ds-display {
  font-size: clamp(2.125rem, 1.6rem + 2.3vw, 3.25rem);
  line-height: 1.1;
}

:root[data-brand] .ds-heading-lg {
  font-size: clamp(1.625rem, 1.35rem + 1.2vw, 2.25rem);
  line-height: 1.15;
}

:root[data-brand] .ds-heading-sm {
  font-size: clamp(1.1875rem, 1.09rem + 0.45vw, 1.4375rem);
  line-height: 1.25;
}

:root[data-brand] .ds-price { font-size: 1.3125rem; }
:root[data-brand] .ds-body-lg { font-size: clamp(1.125rem, 1.02rem + 0.45vw, 1.3125rem); }
:root[data-brand] .ds-body { font-size: 1.125rem; }
:root[data-brand] .ds-body-sm { font-size: 1rem; }
:root[data-brand] .ds-caption { font-size: 0.9375rem; }
:root[data-brand] .ds-label { font-size: 1rem; }
:root[data-brand] .ds-ui { font-size: 1.0625rem; }

@container book (width >= 0px) {
  :root[data-brand] .ds-display { font-size: clamp(2.125rem, 1.2rem + 5.2cqi, 3.25rem); }
  :root[data-brand] .ds-heading-lg { font-size: clamp(1.625rem, 0.95rem + 2.8cqi, 2.25rem); }
  :root[data-brand] .ds-heading-sm { font-size: clamp(1.1875rem, 1.06rem + 0.65cqi, 1.4375rem); }
}

/* Паттерн 1 (30 окт, вариант Б владельца): подписка — тёмная полоса на всю ширину, листья как в тёмной секции
   (паттерн 2 ниже). Было: полоса листьев без текста над подвалом — владелец: «бессмысленная».
   Разметка не меняется: кнопка и поле перекрашиваются здесь, обычная сборка их не видит */
:root[data-brand] .footer {
  border-top: 0;
  padding-top: 0;
  overflow-x: clip; /* фон полосы шириной 100vw — без прокрутки вбок под полосой прокрутки Windows */
}

:root[data-brand] .footer > [aria-labelledby="footer-news-title"] {
  position: relative;
  isolation: isolate;
  padding-block: var(--space-12);
  margin-bottom: var(--space-12);
  color: var(--text-on-inverse);
  --focus-ring: var(--focus-ring-inverse);
  --text-error: var(--white); /* красный на глине не читается; рамка поля остаётся красной на белом */
}

:root[data-brand] .footer > [aria-labelledby="footer-news-title"]::before,
:root[data-brand] .footer > [aria-labelledby="footer-news-title"]::after {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 50%;
  width: 100vw;
  translate: -50% 0;
  z-index: -1;
}

:root[data-brand] .footer > [aria-labelledby="footer-news-title"]::before {
  background-color: var(--surface-inverse);
}

/* Спираль из логобука (владелец 30 окт: «с телефона основной трафик, и спираль выглядит лучше»).
   На телефоне видна целиком, на ПК полоса низкая — остаются дуги */
:root[data-brand] .footer > [aria-labelledby="footer-news-title"]::after {
  background-color: var(--chocolate);
  opacity: 0.3;
  -webkit-mask: url("spiral.webp") center / cover no-repeat;
  mask: url("spiral.webp") center / cover no-repeat;
}

:root[data-brand] .footer__news {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

:root[data-brand] .footer__news :is(h2, .field__label, .footer__news-done) { color: var(--text-on-inverse); }
:root[data-brand] .footer__news-lead { color: var(--text-muted-on-inverse); }

/* Кнопка — как inverse в тёмной секции (Button.astro) */
:root[data-brand] .footer__news-send { background-color: var(--text-on-inverse); color: var(--text-link); }
:root[data-brand] .footer__news-send:hover { background-color: var(--surface-raised); }
:root[data-brand] .footer__news-send:active { background-color: var(--surface-default); }

@media (min-width: 768px) {
  :root[data-brand] .footer > [aria-labelledby="footer-news-title"] { padding-block: var(--space-16); }
}

/* Паттерн 2: тёмная секция — листья шоколадом поверх глины. Каждая точка не светлее глины,
   поэтому белый (≥ 7,6) и песок (≥ 4,6) держат контраст где угодно */
:root[data-brand] .section--inverse {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

:root[data-brand] .section--inverse::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--chocolate);
  opacity: 0.3;
  -webkit-mask: url("leaves.svg") center / cover no-repeat;
  mask: url("leaves.svg") center / cover no-repeat;
}

/* Ссылки подвала списком — обычным начертанием: «medium» = 700 у Libertinus, столбец жирных ссылок тяжёлый */
:root[data-brand] .footer__link { font-weight: 400; }
