/*
  Фирменные токены «Вечность».
  Единственное место, где заданы цвета, шрифты и базовая геометрия.
  Источник значений — брендбук, слайды 7 (палитра) и 8 (шрифты). См. BRAND.md.
*/

/* ---------- Montserrat, вариативный 400–700, самохостинг ---------- */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/montserrat-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/montserrat-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

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

/* ---------- Cinzel — заголовочный, кириллическая версия ---------- */

@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/cinzel-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/cinzel-700.woff2') format('woff2');
}

/* ---------- Passions Conflict — акцидентный, только для слогана ----------
   Файл 53 КБ, но браузер скачает его лишь там, где шрифт реально применён. */

@font-face {
  font-family: 'Passions Conflict';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/passions-conflict.woff2') format('woff2');
}

/* ---------- Сырые цвета бренда ---------- */

:root {
  --vech-black: #212121;         /* Глубокий чёрный */
  --vech-brown: #5a4d41;         /* Умеренный коричневый */
  --vech-brown-light: #7e6957;   /* Светлый коричневый */
  --vech-antique: #f1eada;       /* Белый антик */
  --vech-cappuccino: #b19b7b;    /* Бежевый (капучино) */
  --vech-ice: #eaeff5;           /* Ледяной голубой */
  --vech-white: #ffffff;         /* Чистый белый */

  /* Шрифты */
  --font-display: 'Cinzel', Georgia, 'Times New Roman', serif;
  --font-text: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-script: 'Passions Conflict', cursive;

  /* Cinzel — антиква римского типа: строчные у неё капительные, а рисунок
     и так широкий. Поэтому лёгкая положительная разрядка вместо той
     отрицательной, что была подобрана под гротеск. */
  --display-tracking: 0.02em;

  /* Галочка для списков преимуществ (маска, красится currentColor) */
  --tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");

  /* Геометрия */
  --r: 18px;
  --r-lg: 26px;
  --max: 1220px;
  --ease: cubic-bezier(0.22, 0.9, 0.22, 1);
  --t: 560ms;
}

/* ---------- Светлая тема ---------- */

:root {
  --bg: var(--vech-antique);
  --bg2: #eae2cf;
  --panel: #fbf7ee;
  --panel-2: #f6f1e4;
  --text: var(--vech-black);
  --muted: var(--vech-brown);
  --line: rgba(33, 33, 33, 0.14);
  --line2: rgba(33, 33, 33, 0.08);
  --accent: var(--vech-black);
  --accent-2: var(--vech-brown);
  --on-accent: var(--vech-antique);

  /* подложка под прозрачные PNG памятников */
  --stage: var(--vech-brown-light);
  --stage-text: var(--vech-antique);

  --shadow: 0 18px 50px rgba(33, 33, 33, 0.1);
  --shadow-soft: 0 10px 28px rgba(33, 33, 33, 0.07);
  --focus: 0 0 0 3px rgba(90, 77, 65, 0.28);
}

/* ---------- Тёмная тема ---------- */

.vn-wrap[data-theme='dark'],
.vc-wrap[data-theme='dark'],
.vp-wrap[data-theme='dark'],
.vn404-wrap[data-theme='dark'],
.ve-legal-notice[data-theme='dark'] {
  --bg: var(--vech-black);
  --bg2: #272220;
  --panel: #2c2621;
  --panel-2: var(--vech-brown);
  --text: var(--vech-antique);
  --muted: var(--vech-cappuccino);
  --line: rgba(241, 234, 218, 0.16);
  --line2: rgba(241, 234, 218, 0.09);
  --accent: var(--vech-antique);
  --accent-2: var(--vech-cappuccino);
  --on-accent: var(--vech-black);

  --stage: var(--vech-antique);
  --stage-text: var(--vech-black);

  --shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
  --shadow-soft: 0 10px 24px rgba(0, 0, 0, 0.35);
  --focus: 0 0 0 3px rgba(241, 234, 218, 0.22);
}

/* ---------- Базовая типографика ---------- */

body {
  font-family: var(--font-text);
}

/*
  Заголовочным шрифтом набираем крупные заголовки и надзаголовки.
  Прописные включаем точечно (kicker, названия карточек, подписи характеристик),
  длинные заголовки остаются в обычном регистре — капслоком они нечитаемы.
*/
.vn-h1,
.vn-h2,
.vn-h3,
.vn-showTitle,
.vc-h1,
.vc-section-title,
.vc-detail-title,
.vc-card-title,
.vc-modal-title,
.vc-theme-preview-title,
.vn404-code,
.vn404-title,
.vech-default__title,
.vp-title,
.vp-h2 {
  font-family: var(--font-display);
  letter-spacing: var(--display-tracking);
}

/* Слоган бренда — «Светлые воспоминания, застывшие в мраморе» */
.vech-script {
  font-family: var(--font-script);
  font-weight: 400;
}

.vn-kicker,
.vc-kicker {
  font-family: var(--font-display);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
