/* Hallmark · genre: editorial; layout: asymmetric-grid; theme: Fieldnote (by request); fonts: Cormorant Garamond+Golos Text+JetBrains Mono; outlier: tabular-ledger; motion: none */
/**
 * Design Tokens for Site Factory Hotel Landings (Hallmark Editorial System)
 * Conforming to SRS v0.1.3 (THEME-001..008, 016 migration seed)
 * Contrast ratio guaranteed >= 4.5:1 (WCAG AA)
 */

/* Self-hosted SIL OFL fonts (152-FZ: zero requests to Google servers) */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('/static/fonts/cormorant-garamond-normal-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('/static/fonts/cormorant-garamond-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/static/fonts/cormorant-garamond-italic-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/static/fonts/cormorant-garamond-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/static/fonts/golos-text-normal-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/static/fonts/golos-text-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url('/static/fonts/jetbrains-mono-normal-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url('/static/fonts/jetbrains-mono-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;
  --spacing-3xl: 64px;

  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  --container-max-width: 1280px;
  --container-padding: 24px;

  --shadow-sm: 0 2px 6px rgba(22, 33, 27, 0.05);
  --shadow-md: 0 8px 24px rgba(22, 33, 27, 0.08);
  --shadow-lg: 0 16px 40px rgba(22, 33, 27, 0.12);
  --shadow-focus: 0 0 0 3px rgba(47, 107, 58, 0.28);

  --transition-fast: 150ms cubic-bezier(0.22, 1, 0.36, 1);
  --transition-normal: 240ms cubic-bezier(0.22, 1, 0.36, 1);

  --font-display: 'Cormorant Garamond', 'Lora', Georgia, serif;
  --font-body: 'Golos Text', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

/* Theme 1: default-more (Море — балтийская береговая редакционная палитра) */
:root,
[data-theme="default-more"] {
  --theme-id: "default-more";
  --theme-name: "Море (по умолчанию)";

  --color-paper: #F6F8FA;
  --color-ink: #1B2A3A;
  --color-accent: #0B5FA5;

  --brand-primary: #0B5FA5;
  --brand-primary-hover: #084980;
  --brand-color: #0B5FA5;
  --brand-primary-soft: rgba(11, 95, 165, 0.09);
  --brand-primary-border: rgba(11, 95, 165, 0.24);
  --brand-secondary: #0E7C86;
  --brand-accent: #C88420;
  --brand-accent-text: #2B1A04;
  --brand-bg: #F6F8FA;
  --brand-bg-alt: #EDF2F6;
  --brand-surface: #FAFBFD;
  --brand-surface-sunken: #E7EEF4;
  --brand-surface-tint: #F1F5F8;
  --brand-border: #D5E0EA;
  --brand-border-strong: #B8C9D9;
  --brand-hairline: rgba(27, 42, 58, 0.12);

  --brand-text: #1B2A3A;
  --brand-text-muted: #4E6478;
  --brand-text-subtle: #647B8F;
  --brand-text-inverse: #FAFBFD;

  --badge-bg: rgba(11, 95, 165, 0.08);
  --badge-text: #0B5FA5;

  --card-bg: #FAFBFD;
  --card-border: #D8E2EC;

  --hero-ink: #FAFBFD;
  --hero-ink-muted: rgba(250, 251, 253, 0.92);
  --hero-ink-subtle: rgba(250, 251, 253, 0.80);
  --hero-surface-dark: #13202E;
  --hero-overlay-gradient: linear-gradient(95deg, rgba(15, 26, 38, 0.86) 0%, rgba(15, 26, 38, 0.68) 52%, rgba(15, 26, 38, 0.42) 100%);
  --hero-chip-bg: rgba(15, 26, 38, 0.78);
  --hero-chip-border: rgba(250, 251, 253, 0.28);
  --hero-btn-ghost-bg: rgba(19, 32, 46, 0.56);
  --hero-btn-ghost-hover: rgba(19, 32, 46, 0.78);
  --hero-btn-ghost-border: rgba(250, 251, 253, 0.42);
  --hero-text-shadow: rgba(12, 22, 34, 0.45);

  --footer-bg: #13202E;
  --footer-surface: #1B2C3E;
  --footer-border: rgba(250, 251, 253, 0.12);
  --footer-text: #EAF0F6;
  --footer-text-muted: #9FB2C4;

  --overlay-scrim: rgba(19, 32, 46, 0.68);
  --overlay-scrim-strong: rgba(19, 32, 46, 0.90);
  --overlay-pill-bg: rgba(19, 32, 46, 0.76);
  --overlay-control-bg: rgba(250, 251, 253, 0.14);
  --overlay-control-hover: rgba(250, 251, 253, 0.24);

  --status-success: #1F6B45;
  --status-success-bg: #E6F3EC;
  --status-success-border: #A7D4BC;
  --status-warning: #8A530C;
  --status-warning-bg: #FBF2E3;
  --status-warning-border: #E5C590;
  --status-danger: #A62626;
  --status-danger-bg: #FBEBEB;
  --status-danger-border: #E2AAAA;
  --status-info: #0B5FA5;
  --status-info-bg: #EBF3FA;
  --status-info-border: #B3CFE8;

  --star-color: #C88420;
  --skeleton-base: #E6EDF3;
  --skeleton-highlight: #F2F6FA;

  --brand-font-heading: var(--font-display);
  --brand-font-body: var(--font-body);

  --wcag-contrast-ratio: 4.95;
}

/* Theme 2: default-les (Лес — загородная редакционная палитра Fieldnote) */
[data-theme="default-les"] {
  --theme-id: "default-les";
  --theme-name: "Лес (по умолчанию)";

  --color-paper: #FBFAF6;
  --color-ink: #1E2A22;
  --color-accent: #2F6B3A;

  --brand-primary: #2F6B3A;
  --brand-primary-hover: #22512A;
  --brand-color: #2F6B3A;
  --brand-primary-soft: rgba(47, 107, 58, 0.09);
  --brand-primary-border: rgba(47, 107, 58, 0.25);
  --brand-secondary: #7D5227;
  --brand-accent: #B88228;
  --brand-accent-text: #261904;
  --brand-bg: #FBFAF6;
  --brand-bg-alt: #F3EFE4;
  --brand-surface: #FDFCF9;
  --brand-surface-sunken: #EAE4D6;
  --brand-surface-tint: #F6F3EA;
  --brand-border: #DDD7C8;
  --brand-border-strong: #C4BCAA;
  --brand-hairline: rgba(30, 42, 34, 0.12);

  --brand-text: #1E2A22;
  --brand-text-muted: #526356;
  --brand-text-subtle: #687A6C;
  --brand-text-inverse: #FDFCF9;

  --badge-bg: rgba(47, 107, 58, 0.09);
  --badge-text: #2F6B3A;

  --card-bg: #FDFCF9;
  --card-border: #E2DDD0;

  --hero-ink: #FDFCF9;
  --hero-ink-muted: rgba(253, 252, 249, 0.94);
  --hero-ink-subtle: rgba(253, 252, 249, 0.82);
  --hero-surface-dark: #16211A;
  --hero-overlay-gradient: linear-gradient(95deg, rgba(16, 25, 19, 0.86) 0%, rgba(16, 25, 19, 0.68) 54%, rgba(16, 25, 19, 0.40) 100%);
  --hero-chip-bg: rgba(16, 25, 19, 0.78);
  --hero-chip-border: rgba(253, 252, 249, 0.28);
  --hero-btn-ghost-bg: rgba(22, 33, 26, 0.56);
  --hero-btn-ghost-hover: rgba(22, 33, 26, 0.78);
  --hero-btn-ghost-border: rgba(253, 252, 249, 0.42);
  --hero-text-shadow: rgba(14, 22, 17, 0.45);

  --footer-bg: #16211A;
  --footer-surface: #1F2E24;
  --footer-border: rgba(253, 252, 249, 0.12);
  --footer-text: #F2EFE6;
  --footer-text-muted: #A7B5AA;

  --overlay-scrim: rgba(22, 33, 26, 0.68);
  --overlay-scrim-strong: rgba(22, 33, 26, 0.90);
  --overlay-pill-bg: rgba(22, 33, 26, 0.76);
  --overlay-control-bg: rgba(253, 252, 249, 0.14);
  --overlay-control-hover: rgba(253, 252, 249, 0.24);

  --status-success: #23633B;
  --status-success-bg: #E7F2EA;
  --status-success-border: #A8D1B5;
  --status-warning: #875210;
  --status-warning-bg: #FAF0DF;
  --status-warning-border: #E2C28D;
  --status-danger: #A12828;
  --status-danger-bg: #FAEBEB;
  --status-danger-border: #DFAAAA;
  --status-info: #235842;
  --status-info-bg: #E8F1EC;
  --status-info-border: #B2CFC0;

  --star-color: #B88228;
  --skeleton-base: #E8E3D5;
  --skeleton-highlight: #F5F2E9;

  --brand-font-heading: var(--font-display);
  --brand-font-body: var(--font-body);

  --wcag-contrast-ratio: 5.81;
}

/* Theme 3: brand (Кастомные цвета бренда с официального сайта) */
[data-theme="brand"] {
  --theme-id: "brand";
  --theme-name: "Бренд отеля";
  --brand-primary: var(--brand-custom-primary, #2F6B3A);
  --brand-primary-hover: var(--brand-custom-hover, #22512A);
  --brand-color: var(--brand-button-bg, var(--brand-primary));
  --brand-secondary: var(--brand-custom-secondary, #7D5227);
  --brand-accent: var(--brand-custom-accent, #B88228);
  --brand-accent-text: var(--brand-custom-accent-text, #261904);
  --brand-bg: var(--brand-custom-bg, #FBFAF6);
  --brand-bg-alt: var(--brand-custom-bg-alt, #F3EFE4);
  --brand-surface: var(--brand-custom-surface, #FDFCF9);
  --brand-border: var(--brand-custom-border, #DDD7C8);
  --brand-text: var(--brand-custom-text, #1E2A22);
  --brand-text-muted: var(--brand-custom-text-muted, #526356);
  --brand-text-inverse: #FDFCF9;
}
