/**
 * tokens.css — слой дизайн-токенов мобильной витрины.
 *
 * Источник значений: examples/design-handoff-20260829/README.md (раздел
 * «Design Tokens»). Файл ТОЛЬКО объявляет переменные и шрифты: ни одного
 * селектора вёрстки здесь нет, поэтому подключение ничего не ломает —
 * действующие стили просто получают в своё распоряжение токены.
 *
 * Правило: hex-цвета живут здесь. В шаблонах и модулях — только var(--*).
 *
 * Шрифты self-host (assets/fonts/*.woff2, вариативные, subset cyrillic+latin).
 * В .gitignore темы стоят *.woff2 — при выкате на бой файлы шрифтов надо
 * перенести отдельно от git (см. IMPLEMENTATION_PLAN.md §11).
 */

/* ═══ Шрифты ═══════════════════════════════════════════════════════════════ */

/* Literata — акцидентный (заголовки, цена, названия наборов). */
@font-face {
	font-family: 'Literata';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/literata-cyrillic.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: 400 700;
	font-display: swap;
	src: url('../fonts/literata-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;
}

/* Manrope — интерфейсный (всё остальное). */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/manrope-cyrillic.woff2') format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/manrope-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 {
	/* --- Бренд Plovi -------------------------------------------------------
	 * Голубой #00C2E8 — цвет кнопок (решение заказчика 29.08.2026).
	 * Текст на кнопке ТЁМНЫЙ: белый на этом голубом даёт контраст 2,1:1 и
	 * не читается, тёмные чернила — 7,6:1.
	 * Для текста и иконок бренда на светлом фоне сам #00C2E8 не годится
	 * (1,9:1 на бумаге) — для этого затемнённый --plv-brand-ink (4,7:1).
	 */
	--plv-brand: #00c2e8;
	--plv-brand-strong: #00a6c7;   /* нажатое / наведённое состояние кнопки */
	--plv-brand-ink: #00768f;      /* текст и иконки бренда на светлом фоне */
	--plv-brand-tint: #e4f7fc;     /* фон кнопки «+» в покое */
	--plv-brand-tint-2: #f0fafd;   /* фон выбранной строки cross-sell */
	--plv-on-brand: #16211c;       /* текст на брендовой заливке */

	/* --- База -------------------------------------------------------------- */
	--plv-ink: #16211c;            /* основной текст, тёмные плашки */
	--plv-paper: #f7f2e8;          /* фон приложения */
	--plv-surface: #ffffff;        /* карточки */

	/* --- Смысловые акценты -------------------------------------------------- */
	--plv-green: #14614a;          /* «ферма/эко»: подтверждения, порционная подсказка */
	--plv-green-tint: #edf4f0;
	--plv-green-tint-2: #f1f7f3;
	--plv-terracotta: #c24a20;     /* скидки, достройка рецепта */
	--plv-teal: #2c6b7a;           /* всё про доставку */
	--plv-teal-tint: #e3eef0;
	--plv-teal-text: #1e5261;
	--plv-copper: #c98a5e;         /* eyebrow на тёмном */

	/* Золото бонусов. Кэшбек отложен на следующие итерации (решение
	 * заказчика 29.08.2026) — токены оставлены, чтобы палитра была полной. */
	--plv-gold: #b4841f;
	--plv-gold-2: #d9a63c;
	--plv-gold-light: #f0c775;

	/* --- Текст -------------------------------------------------------------- */
	--plv-text-2: #4a574f;         /* вторичный */
	--plv-text-3: #6e7a72;         /* мета, подписи */
	--plv-text-4: #8b958e;         /* плейсхолдеры, неактивные табы */
	--plv-strike: #9aa39c;         /* старая цена, закрытый слот */
	--plv-on-dark-sub: rgba(247, 242, 232, 0.72);

	/* --- Линии --------------------------------------------------------------- */
	--plv-line: rgba(22, 33, 28, 0.1);
	--plv-line-soft: rgba(22, 33, 28, 0.07);
	--plv-line-strong: rgba(22, 33, 28, 0.14);

	/* --- Заглушки фото (пока картинка не загрузилась) ------------------------ */
	--plv-img-warm: #efe9dc;       /* акции */
	--plv-img-sea: #e2e9ea;        /* море */
	--plv-img-green: #eaefe4;      /* сад */
	--plv-img-set: #e8e2d4;        /* наборы */

	/* --- Типографика --------------------------------------------------------- */
	--plv-font-display: 'Literata', Georgia, 'Times New Roman', serif;
	--plv-font-ui: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	--plv-fs-34: 34px;   /* главная цена */
	--plv-fs-30: 30px;   /* экран успеха */
	--plv-fs-27: 27px;   /* H1 товара */
	--plv-fs-23: 23px;   /* H2 секции */
	--plv-fs-22: 22px;   /* итого */
	--plv-fs-21: 21px;   /* заголовок производителя */
	--plv-fs-20: 20px;   /* H2 корзины */
	--plv-fs-19: 19px;   /* H3 */
	--plv-fs-17: 17px;   /* цена в карточке, город */
	--plv-fs-165: 16.5px;/* CTA */
	--plv-fs-155: 15.5px;/* плейсхолдер */
	--plv-fs-15: 15px;   /* плашка корзины */
	--plv-fs-145: 14.5px;
	--plv-fs-14: 14px;
	--plv-fs-135: 13.5px;
	--plv-fs-13: 13px;
	--plv-fs-125: 12.5px;
	--plv-fs-12: 12px;   /* eyebrow */
	--plv-fs-115: 11.5px;/* бейджи */
	--plv-fs-11: 11px;   /* табы */

	--plv-tr-34: -0.025em;
	--plv-tr-22: -0.02em;
	--plv-tr-27: -0.015em;
	--plv-tr-15: -0.01em;
	--plv-tr-eyebrow: 0.12em;

	/* --- Радиусы -------------------------------------------------------------- */
	--plv-r-pill: 999px;
	--plv-r-22: 22px;
	--plv-r-20: 20px;
	--plv-r-18: 18px;
	--plv-r-16: 16px;
	--plv-r-15: 15px;
	--plv-r-14: 14px;
	--plv-r-13: 13px;
	--plv-r-12: 12px;
	--plv-r-11: 11px;
	--plv-r-10: 10px;
	--plv-r-8: 8px;

	/* --- Отступы --------------------------------------------------------------- */
	--plv-gutter: 16px;
	--plv-gap-card: 12px;
	--plv-gap-chip: 8px;
	--plv-pad-block: 14px;

	/* --- Тени ------------------------------------------------------------------ */
	--plv-sh-card: 0 2px 10px rgba(22, 33, 28, 0.05);
	--plv-sh-search: 0 1px 2px rgba(22, 33, 28, 0.04);
	--plv-sh-cartbar: 0 8px 24px rgba(22, 33, 28, 0.24);
	--plv-sh-toast: 0 12px 28px rgba(22, 33, 28, 0.3);
	--plv-sh-back: 0 2px 8px rgba(22, 33, 28, 0.16);

	/* --- Раскладка -------------------------------------------------------------
	 * Безопасные зоны айфона: sticky-футер и таб-бар считают отступ от них,
	 * а не от нуля, иначе кнопка уезжает под индикатор «домой».
	 */
	--plv-safe-bottom: env(safe-area-inset-bottom, 0px);
	--plv-safe-top: env(safe-area-inset-top, 0px);
	--plv-nav-h: 56px;      /* высота верхней панели; уточняется в шапке */
	--plv-tabbar-h: 64px;   /* высота нижнего таб-бара */
	--plv-hit: 44px;        /* минимальная зона нажатия */
}

/* ═══ Мобильный базовый слой ═══════════════════════════════════════════════
 * Намеренно без глобального box-sizing: действующая вёрстка задаёт его
 * точечно, и общий сброс сдвинул бы существующие блоки.
 */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	-webkit-tap-highlight-color: transparent;
}
