/* «Идём!» — смысловые токены (из tokens.json дизайн-системы), light и dark. Тема задаётся атрибутом data-theme на контейнере. */
:root, [data-theme="light"] {
  --font-display: "Golos Text", system-ui, sans-serif;
  --font-text: "Golos Text", system-ui, sans-serif;
  --font-poster: "Unbounded", "Golos Text", system-ui, sans-serif;
  --font-paper: "Lora", Georgia, serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --font-hand: "Caveat", cursive;
  --fs-display: clamp(34px, 4.5vw, 56px); --fs-h1: 32px; --fs-h2: 24px; --fs-h3: 18px;
  --fs-title: 15px; --fs-body: 14px; --fs-small: 12.5px; --fs-caption: 11px;
  --lh-tight: 1.1; --lh-normal: 1.3; --lh-body: 1.55;
  --ls-display: -0.03em; --ls-heading: -0.02em; --ls-caps: 0.06em;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;
  --r-sm: 8px; --r-md: 12px; --r-lg: 18px; --r-xl: 24px; --r-pill: 999px;
  --dur-fast: 120ms; --dur-base: 180ms; --dur-slow: 280ms;
  --ease-out: cubic-bezier(.2,.8,.2,1); --ease-pop: cubic-bezier(.2,.9,.3,1.2);
  --container: 1200px; --gutter: 24px; --card-min: 240px; --tap-min: 44px;
  --z-header: 60; --z-tray: 70; --z-modal: 100; --z-toast: 110;

  --bg: #F7F6F2;
  --surface: #FFFFFF;
  --surface-2: #EFEDE6;
  --surface-3: #E5E2D9;
  --text: #15161A;
  --text-2: #5F5F66;
  --text-3: #9A9AA3;
  --border: #E6E3DB;
  --border-strong: #CFCBC0;
  --border-control: #85837A;
  --ink: #241A17;
  --on-ink: #F7F6F2;
  --overlay: #14120F8C;
  --focus: #241A17;
  --brand-navy: #10294F;
  --on-brand-navy: #FFFFFF;
  --accent: #D23A18;
  --accent-tint: #FBE3DB;
  --accent-dark: #9E2A10;
  --on-accent: #FFFFFF;
  --accent-coral: #FF5A36;
  --accent-coral-tint: #FFE8E1;
  --accent-coral-dark: #A6371A;
  --on-accent-coral: #15161A;
  --accent-vermilion: #D23A18;
  --accent-vermilion-tint: #FBE3DB;
  --accent-vermilion-dark: #9E2A10;
  --on-accent-vermilion: #FFFFFF;
  --accent-teal: #0C7B60;
  --accent-teal-tint: #DDF3EB;
  --accent-teal-dark: #04342C;
  --on-accent-teal: #FFFFFF;
  --accent-navy: #10294F;
  --accent-navy-tint: #DCE3F0;
  --accent-navy-dark: #10294F;
  --on-accent-navy: #FFFFFF;
  --ok: #3DBE7A;
  --on-ok: #15161A;
  --ok-bg: #E3F5EB;
  --ok-text: #17693F;
  --warn: #F2B01E;
  --on-warn: #15161A;
  --warn-bg: #FDF1D3;
  --warn-text: #7A5300;
  --danger: #E24B4A;
  --on-danger: #15161A;
  --danger-bg: #FCE4E3;
  --danger-text: #9C1F1E;
  --promo-solid: #C8283A;
  --on-promo-solid: #FFFFFF;
  --photo-light: #FFFFFFF0;
  --on-photo-light: #15161A;
  --photo-dark: #15161AC7;
  --on-photo-dark: #FFFFFF;
  --cat-exhibition: #1D9E75;
  --cat-exhibition-bg: #DFF1EC;
  --cat-exhibition-text: #115C44;
  --cat-tour: #E38B29;
  --cat-tour-bg: #FBEFE1;
  --cat-tour-text: #845118;
  --cat-entertainment: #FF6B4A;
  --cat-entertainment-bg: #FFEAE6;
  --cat-entertainment-text: #943E2B;
  --cat-kids: #FFB627;
  --cat-kids-bg: #FFF5E1;
  --cat-kids-text: #8A6215;
  --cat-cinema: #2E7DFF;
  --cat-cinema-bg: #E2EDFF;
  --cat-cinema-text: #1B4894;
  --cat-theatre: #C81E4B;
  --cat-theatre-bg: #F7E0E6;
  --cat-theatre-text: #74112C;
  --cat-concert: #60538D;
  --cat-concert-bg: #E9E7EF;
  --cat-concert-text: #383052;
  --cat-party: #FF4FA3;
  --cat-party-bg: #FFE6F2;
  --cat-party-text: #942E5F;
  --cat-other: #8A8F98;
  --cat-other-bg: #EFEFF1;
  --cat-other-text: #505358;
  --cat-education: #2E6F77;
  --cat-education-bg: #E2EBEC;
  --cat-education-text: #1B4045;
  --cat-promo: #E2394B;
  --cat-promo-bg: #FBE3E6;
  --cat-promo-text: #83212C;
  --shadow-sm: 0 2px 8px rgba(20,18,15,.08);
  --shadow-md: 0 10px 30px rgba(20,18,15,.08);
  --shadow-lg: 0 16px 40px rgba(0,0,0,.18);
  --live: var(--accent); --on-live: var(--on-accent);
}
[data-theme="dark"] {
  --bg: #121317;
  --surface: #1B1C22;
  --surface-2: #2A2B34;
  --surface-3: #2E2F38;
  --text: #F4F4F0;
  --text-2: #B3B3BA;
  --text-3: #71717A;
  --border: #2C2D36;
  --border-strong: #3A3B47;
  --border-control: #767784;
  --ink: #F4F4F0;
  --on-ink: #121317;
  --overlay: #000000B3;
  --focus: #F4F4F0;
  --accent: #34B896;
  --accent-tint: #123128;
  --accent-dark: #6ED6B8;
  --on-accent: #15161A;
  --accent-coral-tint: #3A1F17;
  --accent-coral-dark: #FF9B82;
  --accent-vermilion-tint: #3A1F17;
  --accent-vermilion-dark: #FF9B82;
  --accent-teal: #34B896;
  --accent-teal-tint: #123128;
  --accent-teal-dark: #6ED6B8;
  --on-accent-teal: #15161A;
  --accent-navy: #7F9FD6;
  --accent-navy-tint: #1B2A48;
  --accent-navy-dark: #A9C0EA;
  --on-accent-navy: #15161A;
  --ok-bg: #10281B;
  --ok-text: #7FDBA8;
  --warn-bg: #3A2C08;
  --warn-text: #F5CB6A;
  --danger-bg: #3C1514;
  --danger-text: #F5A3A2;
  --cat-exhibition-bg: #082C21;
  --cat-exhibition-text: #99D3C1;
  --cat-tour-bg: #40270B;
  --cat-tour-text: #F2CB9F;
  --cat-entertainment-bg: #471E15;
  --cat-entertainment-text: #FFBCAE;
  --cat-kids-bg: #47330B;
  --cat-kids-text: #FFDE9E;
  --cat-cinema-bg: #0D2347;
  --cat-cinema-text: #A1C4FF;
  --cat-theatre-bg: #380815;
  --cat-theatre-text: #E69AAE;
  --cat-concert-bg: #1B1727;
  --cat-concert-text: #B7B2CC;
  --cat-party-bg: #47162E;
  --cat-party-text: #FFB0D6;
  --cat-other-bg: #27282B;
  --cat-other-text: #CACDD1;
  --cat-education-bg: #0D1F21;
  --cat-education-text: #A1BEC2;
  --cat-promo-bg: #3F1015;
  --cat-promo-text: #F2A6AE;
  --shadow-sm: 0 2px 8px rgba(0,0,0,.35);
  --shadow-md: 0 10px 30px rgba(0,0,0,.4);
  --shadow-lg: 0 16px 40px rgba(0,0,0,.5);
  --live: var(--accent); --on-live: var(--on-accent);
}
body { margin: 0; }
