/* С.Я. — дизайн-токены. Все цвета, шрифты, размеры, отступы и радиусы — только здесь.
   Тема по умолчанию — «Тёмный зал»; «Свет в зале» — светлая. Цвета жанров от темы не зависят. */

@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/PlayfairDisplay.ttf") format("truetype");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/PlayfairDisplay-Italic.ttf") format("truetype");
  font-weight: 400 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Oswald";
  src: url("../fonts/Oswald.ttf") format("truetype");
  font-weight: 200 700;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope.ttf") format("truetype");
  font-weight: 200 800;
  font-display: swap;
}

:root {
  /* Шрифты: заголовки и афиши / подписи капителью / текст */
  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-label: "Oswald", "Arial Narrow", sans-serif;
  --font-text: "Manrope", -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Кегли */
  --fs-xs: .8125rem;   /* 13 */
  --fs-s: .9375rem;    /* 15 */
  --fs-m: 1.0625rem;   /* 17 — основной текст */
  --fs-l: 1.25rem;     /* 20 */
  --fs-xl: clamp(1.4rem, 1.1rem + 1.2vw, 1.9rem);
  --fs-2xl: clamp(1.9rem, 1.3rem + 2.4vw, 3rem);
  --fs-hero: clamp(2.4rem, 1.5rem + 3.8vw, 4.4rem);
  --lh-text: 1.55;
  --track-label: .14em;

  /* Отступы, радиусы, размеры */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --r-s: 6px;
  --r-m: 12px;
  --r-l: 20px;
  --r-pill: 999px;
  --tap: 44px;          /* минимальный размер кнопки */
  --header-h: 64px;

  /* Движение */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --t-fast: 160ms;
  --t-curtain: 1400ms;

  /* Бархат и золото — одинаковы в обеих темах */
  --velvet-1: #6b1222;
  --velvet-2: #3a0812;
  --velvet-3: #8e2236;
  --fringe: #d9a648;
  --on-velvet: #f6d793;
  --badge: #f2c46d;
  --on-badge: #1d1307;
  --poster-ink: #fbf3e6;
  --scrim: rgba(12, 6, 8, .88);
  --scrim-mid: rgba(12, 6, 8, .62);
}

/* Тёмный зал */
:root,
[data-theme="dark"] {
  color-scheme: dark;
  --bg: #110a0c;
  --bg-2: #1a1013;
  --surface: #1f1517;
  --surface-2: #2a1d20;
  --text: #f5ebdb;
  --text-2: #cdbba6;
  --text-3: #a8927e;
  --accent: #e2b05a;
  --accent-hi: #f5d38c;
  --accent-fill: #e2b05a;
  --accent-fill-hover: #f0c674;
  --on-accent: #1d1307;
  --line: rgba(226, 176, 90, .34);
  --line-soft: rgba(245, 235, 219, .12);
  --focus: #f5d38c;
  --danger: #f08f7e;
  --spot: rgba(255, 210, 145, .22);
  --shadow-card: 0 22px 44px -22px rgba(0, 0, 0, .85);
  --stage-glow: radial-gradient(ellipse 70% 45% at 65% -5%, rgba(255, 200, 130, .10), transparent 70%);
}

/* Свет в зале */
[data-theme="light"] {
  color-scheme: light;
  --bg: #f6efe3;
  --bg-2: #efe4d2;
  --surface: #fffaf2;
  --surface-2: #f3e8d7;
  --text: #2b1316;
  --text-2: #5a3a36;
  --text-3: #75564c;
  --accent: #8c5a12;
  --accent-hi: #6e4508;
  --accent-fill: #d39a3a;
  --accent-fill-hover: #c48a2c;
  --on-accent: #1d1307;
  --line: rgba(140, 90, 18, .38);
  --line-soft: rgba(43, 19, 22, .13);
  --focus: #7a1426;
  --danger: #a8321f;
  --spot: rgba(255, 255, 255, .85);
  --shadow-card: 0 22px 40px -24px rgba(80, 30, 20, .5);
  --stage-glow: radial-gradient(ellipse 70% 45% at 65% -5%, rgba(255, 255, 255, .75), transparent 70%);
}

/* Жанры: --g1 фон афиши, --g2 главная фигура, --g3 акцент, --g4 глубокая тень или линия.
   Первая строка — запасная палитра для жанра, которого нет в списке (рисунок art/default.svg). */
.playbill, .row, .tile, .sg-genres li { --g1: #3a0812; --g2: #d9a648; --g3: #f6d793; --g4: #1a0508; }
.g-drama      { --g1: #6d1020; --g2: #ecbfac; --g3: #f9e1d6; --g4: #2a0610; }
.g-comedy     { --g1: #e0582c; --g2: #ffd166; --g3: #fff1c9; --g4: #5c1d0a; }
.g-musical    { --g1: #a8124c; --g2: #ffcc4d; --g3: #fff0b8; --g4: #3d0620; }
.g-ballet     { --g1: #ead0cc; --g2: #b46a78; --g3: #fff7f5; --g4: #2d2a35; }
.g-opera      { --g1: #13294a; --g2: #d9a441; --g3: #f3e1b6; --g4: #081426; }
.g-classical  { --g1: #1f3d30; --g2: #e9dcc0; --g3: #c9a24a; --g4: #0e2219; }
.g-jazz       { --g1: #1d2a66; --g2: #d2843d; --g3: #f4e3c7; --g4: #0c1336; }
.g-rock       { --g1: #121212; --g2: #c8f53d; --g3: #e5383b; --g4: #3b3b3b; }
.g-standup    { --g1: #f2c230; --g2: #171717; --g3: #fffaf0; --g4: #8a6a08; }
.g-immersive  { --g1: #2e1748; --g2: #3fc1b0; --g3: #ee77b0; --g4: #120822; }
.g-kids       { --g1: #2a9d8f; --g2: #ff9f80; --g3: #ffd166; --g4: #fff3e0; }
.g-circus     { --g1: #c1272d; --g2: #f7ecd9; --g3: #f2b134; --g4: #1d2d50; }
.g-exhibition { --g1: #ebe4d6; --g2: #3e5c8a; --g3: #c68b2f; --g4: #1f1d1b; }
