/* ============================================================
 * Neurosaver — design tokens
 * Сюда выносится палитра, типографика, размеры, тени.
 * main.css содержит только компоненты, которые ссылаются на эти переменные.
 *
 * Чтобы добавить новый пресет темы (например, контрастный):
 *   :root[data-theme="contrast"] { --bg: #000; --text: #fff; --accent: #ff0; ... }
 *
 * Кастомайзер темы WP может переопределять отдельные токены через инлайн-style в <head>.
 * ============================================================ */

/* ─── ШРИФТ: Inter Variable, self-hosted (без CDN) ────────────── */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/InterVariable.woff2') format('woff2-variations'),
	     url('../fonts/InterVariable.woff2') format('woff2');
}

/* ─── BASE (DARK) ──────────────────────────────────────────── */
:root {
	/* Фон / поверхности */
	--bg:            #09090d;
	--bg-elev-1:     #111118;
	--bg-elev-2:     #1a1a23;
	--border:        #23232c;
	--border-strong: #2e2e38;

	/* Текст */
	--text:          #f4f4f7;
	--text-muted:    #8b8b95;
	--text-faint:    #5a5a64;

	/* Акценты — настраиваемые через WP Customizer */
	--accent:        #a78bfa;
	--accent-bright: #c4b5fd;
	--accent-tint:   rgba(167, 139, 250, 0.12);
	--accent-fg:     #fff;             /* контрастный текст поверх accent (кнопки и т.п.) */
	--accent-end:    #60a5fa;          /* конец брендового градиента в логотипе */

	/* Утилитарные подложки */
	--video-bg:      #000;             /* фон iframe плеера */

	/* Палитра каллаутов (используется в main.css секция .nsl-callout--*) */
	--callout-warning:  #f97316;       /* оранжевый */
	--callout-insight:  #3b82f6;       /* синий */
	--callout-practice: #14b8a6;       /* бирюзовый */

	/* Радиусы */
	--r-sm: 6px;
	--r-md: 10px;
	--r-lg: 14px;
	--r-pill: 999px;

	/* Тени */
	--shadow-sm: 0 1px 2px rgba(0,0,0,.4);
	--shadow-md: 0 8px 24px rgba(0,0,0,.35);
	--shadow-lg: 0 24px 60px rgba(0,0,0,.45);
	--shadow-modal: 0 30px 80px rgba(0,0,0,0.55);  /* тень оверлеев (лайтбокс) */

	/* Иерархия z-index — единая на тему */
	--z-floating:   5;       /* tooltips, map controls */
	--z-header:    50;       /* sticky header */
	--z-skip-link:100;       /* a11y skip-link при фокусе */
	--z-lightbox:9000;       /* модальный оверлей */

	/* Типографика */
	--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--font-mono: ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace;

	/* Размеры шрифта */
	--fs-xs:      0.75rem;
	--fs-sm:      0.875rem;
	--fs-base:    1rem;
	--fs-lg:      1.125rem;
	--fs-xl:      1.5rem;
	--fs-2xl:     2rem;
	--fs-3xl:     clamp(2.25rem, 4vw, 3.5rem);
	--fs-display: clamp(2.75rem, 6vw, 5.5rem);

	/* Раскладка */
	--container:    1280px;
	--container-px: clamp(1rem, 4vw, 2.5rem);
	--header-h:     64px;

	/* Анимации */
	--ease:      cubic-bezier(.4, 0, .2, 1);
	--dur-fast:  120ms;
	--dur-base:  200ms;
}

/* ─── Color-scheme — для нативных контролов (select, scrollbar) ───
   Заставляет Chrome/Safari рендерить native UI (option-меню <select>,
   scrollbar, datepicker) в тёмной/светлой палитре. Без этого <option>
   всегда белые, что на dark-теме = «белые буквы на белом фоне». */
:root { color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }

/* ─── Переменные для адаптивных SVG-инфографик ─────────────────
   Inline-SVG в шаблоне получает эти значения от :root через CSS-каскад.
   Стандартный <img src="...svg"> их не видит → SVG использует fallback внутри себя. */
:root {
	--svg-text:       #f4f4f7;
	--svg-muted:      #9ca3af;
	--svg-faint:      #6b7280;
	--svg-surface:    #15151c;
	--svg-border:     #2e2e38;
	--svg-grid:       #3a3a48;
	--svg-accent:     #a78bfa;
	--svg-tint:       rgba(167,139,250,0.16);

	/* Лайтбокс — тёмная подложка по умолчанию */
	--lightbox-bg:           rgba(9, 9, 13, 0.92);
	--lightbox-close-fg:     #fff;
	--lightbox-close-bg:     rgba(255, 255, 255, 0.12);
	--lightbox-close-hover:  rgba(255, 255, 255, 0.30);
	--lightbox-close-active: rgba(255, 255, 255, 0.45);
	--lightbox-caption:      rgba(255, 255, 255, 0.8);
}

/* ─── LIGHT — производная ──────────────────────────────────── */
:root[data-theme="light"] {
	/* Основная палитра */
	--bg:            #fafafa;
	--bg-elev-1:     #ffffff;
	--bg-elev-2:     #f3f3f5;
	--border:        #e6e6ea;
	--border-strong: #d4d4da;

	--text:          #0a0a0f;
	--text-muted:    #6a6a72;
	--text-faint:    #a0a0a8;

	--accent:        #7c3aed;
	--accent-bright: #5b21b6;
	--accent-tint:   rgba(124, 58, 237, 0.10);

	--shadow-sm: 0 1px 2px rgba(0,0,0,.06);
	--shadow-md: 0 8px 24px rgba(0,0,0,.06);
	--shadow-lg: 0 24px 60px rgba(0,0,0,.08);

	/* SVG-инфографики — переопределяем тёмные дефолты */
	--svg-text:       #1e1b4b;
	--svg-muted:      #6b7280;
	--svg-faint:      #9ca3af;
	--svg-surface:    #ffffff;
	--svg-border:     #e6e3ff;
	--svg-grid:       #cbd5e1;
	--svg-accent:     #6366f1;
	--svg-tint:       rgba(167,139,250,0.10);

	/* Лайтбокс — светлая полупрозрачная подложка */
	--lightbox-bg:           rgba(250, 250, 252, 0.88);
	--lightbox-close-fg:     #1e1b4b;
	--lightbox-close-bg:     rgba(30, 27, 75, 0.08);
	--lightbox-close-hover:  rgba(30, 27, 75, 0.18);
	--lightbox-close-active: rgba(30, 27, 75, 0.30);
	--lightbox-caption:      rgba(30, 27, 75, 0.7);
}
