/* ═══════════════════════════════════════════════════════════════════════════
   Токены MyLittleWinery — ЕДИНСТВЕННЫЙ источник цветов, шрифтов и размеров.

   Второй :root нигде не заводим. В Такте токены жили в двух файлах, значения
   разошлись (#f6f7f9 против #f4f5f7), и «единый источник» перестал им быть.
   Не хватает токена — добавляем сюда, а не локально в компонент.

   Палитра — из мокапа главной (Claude Design, 21.09.2026), по решению Кирилла
   заменила исходную палитру логотипа: теплее бумага, кирпичнее вино. Одно
   исключение — логотип: вино в знаке и подпись остались винными, как у дизайнера.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── шрифты ─────────────────────────────────────────────────────────────────
   Свои файлы, а не Google Fonts: CSP сайта пускает только наш адрес, а сторонний
   шрифт — это ещё и чужой запрос с IP посетителя. Golos Text и Literata — SIL OFL,
   лицензии в design/OFL-*.txt. Нарезка по алфавитам: браузер качает только нужное;
   latin-ext нужен ради знака ₽ (U+20BD). */
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/golos-text-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/golos-text-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/golos-text-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/golos-text-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/golos-text-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/golos-text-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/golos-text-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/golos-text-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/golos-text-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/golos-text-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/golos-text-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/golos-text-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/golos-text-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/golos-text-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Literata";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/literata-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Literata";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/literata-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Literata";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/literata-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root {
  /* ── бренд: цвета логотипа как есть, от темы НЕ зависят ─────────────────── */
  --brand-ink:          #2A1A10;   /* контур знака и надпись */
  --brand-wine:         #7A2140;   /* вино в знаке, подзаголовок */
  --brand-paper:        #F3E6D3;   /* фон листа */
  --brand-cream:        #E6D6C0;   /* плотный крем из палитры X1: плитка иконки, акцентные поля */
  --brand-wine-on-dark: #AE4160;   /* вино в знаке на тёмной иконке — ТОЛЬКО заливки:
                                      на тёмном фоне контраст 3,1, мелкому тексту мало */
  --brand-wine-text:    #D06A88;   /* подпись логотипа на тёмном: брендовое вино мелким не читается */
  /* Логотип — всегда в винных цветах дизайнера (Кирилл, 21.09.2026: «в домике
     вино, а не кирпич»). Кнопки главной — тоже винные (22.09.2026): кирпичные
     --accent-brick и --accent-on-dark из мокапа убраны. */
  --brand-straw:        #D9A877;   /* соломенный: второстепенные ссылки на тёмном фото
                                      главной (из мокапа 21.09.2026), 7,6:1 на --brand-ink */

  /* ── светлая тема ───────────────────────────────────────────────────────── */
  --bg:        #F3E6D3;            /* = brand-paper */
  --surface:   #FBF4EA;            /* карточки чуть светлее листа */
  --surface-2: #EADBC4;            /* подложки, неактивные ячейки */
  --surface-3: #DFCCB0;            /* пустая часть шкал */

  --ink:       #2A1A10;            /* основной текст, 13,6:1 на фоне */
  --ink-2:     #5E4A3C;            /* подписи и второстепенный текст, 6,8:1 */
  --ink-3:     #8C7866;            /* ТОЛЬКО крупное и неважное: плейсхолдеры,
                                      неактивное. 3,4:1 — для мелкого текста мало */
  --line:      #E3D2BA;            /* разделители — как линия на листе логотипа */
  --line-2:    #CDB89B;            /* рамки полей, пунктир плановых записей */

  --wine:      #7C2A24;            /* акцент: кнопки, активная вкладка, ссылки. 7,7:1 */
  --wine-s:    #EFD9D0;            /* мягкая заливка акцента */
  --on-wine:   #F3E6D3;            /* текст на бордовой кнопке */

  /* логотип встраивается в страницу и красится этими токенами — один SVG на обе
     темы. Схема повторяет плитки иконок дизайнера (design/README.md) */
  --logo-ink:  var(--brand-ink);
  --logo-air:  var(--brand-paper);
  --logo-wine: var(--brand-wine);
  --logo-sub:  var(--brand-wine);

  /* группы операций — плашки в ленте и календаре. Тона приглушены под тёплый
     крем логотипа, чтобы плашки не спорили со знаком */
  --vine:  #4E6A40;  --vine-s:  #E6EAD8;   /* виноградник */
  --must:  #9A7418;  --must-s:  #F3E9CF;   /* брожение */
  --plum:  #5E2B4C;  --plum-s:  #EFE0E6;   /* мезга и шапка */
  --oak:   #8F5A24;  --oak-s:   #F2E4D2;   /* уход и бочка */
  --slate: #3D5664;  --slate-s: #E2E6E4;   /* лаборатория */
  --clay:  #A6402A;  --clay-s:  #F5E0D6;   /* проблемы */
  --fizz:  #2B6560;  --fizz-s:  #DDEBE7;   /* игристое: тираж, ремюаж, дегоржаж */
  /* розлив рисуется самим --wine: бутылка — это бренд */

  --shadow:    0 1px 2px rgba(42,26,16,.05), 0 8px 24px -16px rgba(42,26,16,.30);
  --shadow-lg: 0 12px 48px -12px rgba(42,26,16,.35);

  /* ── типографика ────────────────────────────────────────────────────────── */
  --font-display: "Literata", Georgia, serif;
  --font-body:    "Golos Text", "Helvetica Neue", Arial, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, monospace;   /* цифры замеров */

  --fs-xs: 11px;  --fs-sm: 12.5px;  --fs-md: 15px;  --fs-lg: 17px;  --fs-xl: 22px;
  /* крупное — только для главной страницы: заголовки разделов и цены */
  --fs-2xl: clamp(28px, 3.2vw, 38px);  --fs-lead: clamp(17px, 1.6vw, 20px);
  --fs-hero: clamp(42px, 5.2vw, 68px); --fs-card: clamp(23px, 2vw, 26px);

  /* ── размеры ────────────────────────────────────────────────────────────── */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px;  --sp-4: 16px;  --sp-5: 24px;  --sp-6: 32px;
  --radius-sm: 4px;   /* плашки операций */
  --radius:    6px;   /* поля, кнопки, записи */
  --radius-lg: 10px;  /* модалки */
  --control-h: 36px;  /* минимальная высота нажимаемого — палец в погребе */

  color-scheme: light;
}

/* ── тёмная тема ──────────────────────────────────────────────────────────────
   Строится от чернил логотипа, а не от холодного серого: знак на тёмной
   иконке нарисован именно на --brand-ink. Порядок блоков важен — сначала
   системная тема, потом явный выбор, чтобы переключатель побеждал в обе стороны. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg:        #22170F;
    --surface:   #2A1D13;            /* чуть светлее brand-ink */
    --surface-2: #33251A;
    --surface-3: #3E2E21;

    --ink:       #F3E6D3;            /* = brand-paper, 14,3:1 */
    --ink-2:     #BFAA93;            /* 7,8:1 */
    --ink-3:     #8C7866;
    --line:      #3A2A1E;
    --line-2:    #54412F;

    /* вино логотипа (#AE4160) на тёмном даёт 3,1 — для текста мало.
       Для текста и кнопок берём светлее, заливки знака остаются брендовыми */
    --wine:      #DB7B6D;            /* 5,9:1 */
    --wine-s:    #3F2019;
    --on-wine:   #22170F;

    --logo-ink:  var(--brand-paper);
    --logo-air:  transparent;
    --logo-wine: var(--brand-wine-on-dark);
    --logo-sub:  var(--brand-wine-text);                /* надпись: брендовое вино мелким не читается */

    --vine:  #95B083;  --vine-s:  #212A1C;
    --must:  #D9B85A;  --must-s:  #332A16;
    --plum:  #C893B6;  --plum-s:  #2F1D29;
    --oak:   #D69C63;  --oak-s:   #37281B;
    --slate: #93AFBE;  --slate-s: #1D272C;
    --clay:  #E08A6D;  --clay-s:  #3A2219;
    --fizz:  #7CC3BD;  --fizz-s:  #1A2A28;

    --shadow:    0 1px 2px rgba(0,0,0,.4), 0 8px 24px -16px rgba(0,0,0,.9);
    --shadow-lg: 0 12px 48px -12px rgba(0,0,0,.8);
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --bg:        #22170F;
  --surface:   #2A1D13;
  --surface-2: #33251A;
  --surface-3: #3E2E21;
  --ink:       #F3E6D3;
  --ink-2:     #BFAA93;
  --ink-3:     #8C7866;
  --line:      #3A2A1E;
  --line-2:    #54412F;
  --wine:      #DB7B6D;
  --wine-s:    #3F2019;
  --on-wine:   #22170F;
  --logo-ink:  var(--brand-paper);
  --logo-air:  transparent;
  --logo-wine: var(--brand-wine-on-dark);
  --logo-sub:  var(--brand-wine-text);
  --vine:  #95B083;  --vine-s:  #212A1C;
  --must:  #D9B85A;  --must-s:  #332A16;
  --plum:  #C893B6;  --plum-s:  #2F1D29;
  --oak:   #D69C63;  --oak-s:   #37281B;
  --slate: #93AFBE;  --slate-s: #1D272C;
  --clay:  #E08A6D;  --clay-s:  #3A2219;
  --fizz:  #7CC3BD;  --fizz-s:  #1A2A28;
  --shadow:    0 1px 2px rgba(0,0,0,.4), 0 8px 24px -16px rgba(0,0,0,.9);
  --shadow-lg: 0 12px 48px -12px rgba(0,0,0,.8);
  color-scheme: dark;
}
