/*
 * Слой токенов. Значения - один в один из PCS/palette-sage-sand-full.html.
 * Шалфей работает и как бренд-акцент, и как «успех»: отдельный зелёный не заводим.
 * Песочный закреплён за разделом «Сервис и ремонт» и статусом «под заказ».
 */

/*
 * Quicksand - основной шрифт сайта. Латинские подмножества с Google Fonts,
 * лицензия OFL, файлы лежат у нас в assets/fonts - к Google не ходим.
 *
 * Раньше стоял LINE Seed JP. Латышские знаки в нём есть, но подняты слишком
 * высоко: латиница в той сборке подогнана под иероглифы, макрон отходил от
 * буквы на 0.24 высоты строчной при норме 0.16-0.19. У Quicksand 0.17.
 *
 * Начертания 500, 600 и 700. Основной текст идёт пятисоткой: у Quicksand
 * тонкие штрихи, и на четырёхсотке мелкий текст выглядит бледно. Четырёхсотку
 * не держим - её никто не запрашивает, а запрос 400 браузер разрешит в 500.
 *
 * unicode-range взят у Google: без него браузер тянет оба файла всегда,
 * с ним latin-ext грузится только когда на странице есть буквы со знаками.
 * Файл подключается и на сайте, и в админке, поэтому объявления живут здесь.
 */
@font-face {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/assets/fonts/quicksand-500-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/assets/fonts/quicksand-500-latin.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: 'Quicksand';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/quicksand-600-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/quicksand-600-latin.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: 'Quicksand';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/quicksand-700-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/quicksand-700-latin.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;
}

:root {
    /* Нейтральные */
    --page: #F6F7F1;
    --surface: #FFFFFF;
    --surface-alt: #EEF1E7;
    --border: #E5E8DE;
    --ink: #262E22;
    --ink-2: #667060;
    --ink-3: #8B9484;

    /* Основной акцент - шалфей */
    --sage-bg: #EEF3E9;
    --sage-soft: #D9E5CD;
    --sage: #5A7A4B;
    --sage-hover: #4C6940;
    --sage-active: #3E5533;
    --sage-text: #26361F;

    /* Дополнительный акцент - песочный */
    --sand-bg: #FAF3E7;
    --sand-soft: #F3E3C7;
    /* На --sand нельзя класть белый текст: 2.54:1. Только --ink (5.52:1). */
    --sand: #C99A5B;
    --sand-hover: #B08247;
    --sand-text: #6B4E2A;

    /* Статусы */
    --ok-bg: #EEF3E9;
    --ok-text: #3E5533;
    --warn-bg: #FCF1DC;
    --warn-text: #7A4E0A;
    --warn: #D98E1F;
    --err-bg: #FBEAE7;
    --err-text: #7A2E24;
    --err: #B94A3D;
    --info-bg: #E8F1F3;
    --info-text: #2C4F58;
    --info: #4A7C8C;

    /* Типографика. Quicksand лежит у нас же в assets/fonts - внешних запросов нет.
       Хвост стека нужен, пока шрифт грузится, и как страховка, если файл не отдался. */
    --font-sans: 'Quicksand', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-base: 18px;
    --line-base: 1.6;
    --line-tight: 1.25;

    --size-h1: 2.222rem;   /* 40px при базовых 18px */
    --size-h2: 1.667rem;   /* 30px */
    --size-h3: 1.222rem;   /* 22px */
    --size-small: 0.833rem;/* 15px */

    /* Ритм: всё кратно 4px */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-24: 6rem;

    /* Форма */
    --radius-sm: 8px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-pill: 999px;
    --shadow-card: 0 1px 2px rgba(38, 46, 34, 0.04), 0 8px 24px rgba(38, 46, 34, 0.06);
    --shadow-card-hover: 0 2px 4px rgba(38, 46, 34, 0.06), 0 14px 32px rgba(38, 46, 34, 0.10);
    --container: 1200px;

    /* Доступность: аудитория - люди с нарушениями слуха, часто пожилые */
    --tap-min: 48px;
    --focus-ring: 3px;
}

/* Крупный режим включается кнопкой A+ в шапке и хранится в localStorage */
:root[data-text-size="large"] {
    --font-base: 21px;
}

@media (max-width: 640px) {
    :root {
        --size-h1: 1.778rem;  /* 32px */
        --size-h2: 1.333rem;  /* 24px */
        --size-h3: 1.111rem;  /* 20px */
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
