:root {
  --font-display-ru: "IBM Plex Sans", Arial, sans-serif;
  --font-display-condensed-ru: "IBM Plex Sans Condensed", "IBM Plex Sans", Arial, sans-serif;
  --font-body-ru: "Manrope", Arial, sans-serif;
  --font-display-zh: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif;
  --font-body-zh: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif;
  --text-locale-nav-desktop: 1.125rem;
  --text-locale-nav-mobile: 1.125rem;
  --text-locale-hero: clamp(2.75rem, 3.3vw, 4rem);
  --text-locale-section-title: clamp(2rem, 2.4vw, 2.5rem);

  --color-about-paper: oklch(98% 0.006 250);
  --color-about-paper-soft: oklch(95% 0.009 250);
  --color-about-ink: oklch(20% 0.018 255);
  --color-about-ink-soft: oklch(46% 0.018 255);
  --color-about-rule: oklch(86% 0.012 250);
  --color-about-accent: oklch(58.365% 0.12409 131.416);
  --color-about-accent-strong: oklch(54.123% 0.12997 132.225);
  --color-about-accent-ink: oklch(100% 0 0);
  --color-about-accent-soft: oklch(93% 0.035 131.416);
  --color-about-night: oklch(18% 0.025 255);
  --color-about-night-raised: oklch(23% 0.026 255);
  --color-about-night-text: oklch(94% 0.008 250);
  --color-about-night-muted: oklch(76% 0.014 250);
  --color-about-focus: oklch(34% 0.11 255);
  --color-about-shadow: oklch(20% 0.018 255 / 0.12);

  --font-about-display: "Teko", sans-serif;
  --font-about-body: "Poppins", sans-serif;

  --space-about-3xs: 0.125rem;
  --space-about-2xs: 0.25rem;
  --space-about-xs: 0.5rem;
  --space-about-sm: 0.75rem;
  --space-about-md: 1rem;
  --space-about-lg: 1.5rem;
  --space-about-xl: 2.5rem;
  --space-about-2xl: 4rem;
  --space-about-3xl: 6rem;
  --space-about-4xl: 9rem;

  --text-about-xs: 0.75rem;
  --text-about-sm: 0.875rem;
  --text-about-base: 1rem;
  --text-about-md: 1.25rem;
  --text-about-lg: 1.5625rem;
  --text-about-xl: 1.9531rem;
  --text-about-2xl: 2.4414rem;
  --text-about-3xl: 3.0518rem;
  --text-about-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);

  --ease-about-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-about-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-about-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-about-micro: 120ms;
  --dur-about-short: 220ms;
  --dur-about-long: 420ms;
  --rule-about: 1px;
  --radius-about: 2px;
  --about-sticky-offset: 8rem;
}

/* Products index · Hallmark Bento Grid adapted to MOSINTER industrial */
:root {
  --color-products-paper: oklch(97% 0.008 55);
  --color-products-paper-raised: oklch(99% 0.006 55);
  --color-products-paper-soft: oklch(93% 0.016 55);
  --color-products-ink: oklch(19% 0.014 45);
  --color-products-muted: oklch(43% 0.014 45);
  --color-products-rule: oklch(82% 0.014 55);
  --color-products-rule-strong: oklch(63% 0.018 55);
  --color-products-accent: oklch(58.365% 0.12409 131.416);
  --color-products-accent-strong: oklch(54.123% 0.12997 132.225);
  --color-products-accent-ink: oklch(100% 0 0);
  --color-products-focus: oklch(44% 0.11 131.416);
  --color-products-focus-dark: oklch(80% 0.12 131.416);
  --color-products-night-muted: oklch(78% 0.014 55);
  --color-products-night-rule: oklch(38% 0.014 45);

  --font-products-display: "Teko", sans-serif;
  --font-products-body: "DM Sans", sans-serif;

  --space-products-3xs: 0.125rem;
  --space-products-2xs: 0.25rem;
  --space-products-xs: 0.5rem;
  --space-products-sm: 0.75rem;
  --space-products-md: 1rem;
  --space-products-lg: 1.5rem;
  --space-products-xl: 2.5rem;
  --space-products-2xl: 4rem;
  --space-products-3xl: 6rem;
  --space-products-header-clearance: 16rem;

  --text-products-sm: 0.875rem;
  --text-products-base: 1rem;
  --text-products-md: 1.25rem;
  --text-products-display: clamp(3.25rem, 7vw + 1rem, 5.25rem);

  --ease-products-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-products-short: 220ms;
  --dur-products-long: 420ms;
  --rule-products: 1px;
  --radius-products: 0.125rem;
  --layout-products-max: 92.5rem;
}

/* Homepage · Hallmark Coral adapted to MOSINTER industrial */
:root {
  --color-home-paper: oklch(100% 0 0);
  --color-home-paper-soft: oklch(95% 0.012 55);
  --color-home-paper-warm: oklch(92% 0.02 55);
  --color-home-ink: oklch(19% 0.014 45);
  --color-home-ink-soft: oklch(32% 0.014 45);
  --color-home-muted: oklch(48% 0.015 45);
  --color-home-rule: oklch(84% 0.014 55);
  --color-home-rule-strong: oklch(70% 0.016 55);
  --color-home-accent: oklch(58.365% 0.12409 131.416);
  --color-home-accent-strong: oklch(54.123% 0.12997 132.225);
  --color-home-accent-ink: oklch(100% 0 0);
  --color-home-night: oklch(18% 0.025 255);
  --color-home-night-raised: oklch(23% 0.026 255);
  --color-home-night-text: oklch(95% 0.008 250);
  --color-home-night-muted: oklch(78% 0.014 250);
  --color-home-focus: oklch(54.123% 0.12997 132.225);
  --color-home-shadow: oklch(20% 0.018 45 / 0.08);

  --font-home-display: "Teko", sans-serif;
  --font-home-body: "DM Sans", sans-serif;

  --space-home-3xs: 0.125rem;
  --space-home-2xs: 0.25rem;
  --space-home-xs: 0.5rem;
  --space-home-sm: 0.75rem;
  --space-home-md: 1rem;
  --space-home-lg: 1.5rem;
  --space-home-xl: 2.5rem;
  --space-home-2xl: 4rem;
  --space-home-3xl: 6rem;
  --space-home-4xl: 9rem;

  --text-home-xs: 0.8rem;
  --text-home-sm: 0.875rem;
  --text-home-base: 1rem;
  --text-home-md: 1.25rem;
  --text-home-lg: 1.5625rem;
  --text-home-xl: 1.9531rem;
  --text-home-2xl: 2.4414rem;
  --text-home-3xl: 3.0518rem;
  --text-home-display: clamp(2.75rem, 4vw + 1rem, 4.75rem);

  --ease-home-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-home-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-home-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-home-micro: 120ms;
  --dur-home-short: 220ms;
  --dur-home-long: 420ms;
  --dur-home-carousel: 960ms;
  --rule-home: 1px;
  --radius-home: 0.125rem;
  --radius-home-pill: 999px;
  --layout-home-max: 92.5rem;
}

/* Cookie consent · Hallmark modern-minimal adapted to MOSINTER industrial */
:root {
  --color-cookie-paper: oklch(99% 0.004 132);
  --color-cookie-paper-soft: oklch(96% 0.012 132);
  --color-cookie-ink: oklch(20% 0.018 255);
  --color-cookie-ink-soft: oklch(45% 0.018 255);
  --color-cookie-rule: oklch(86% 0.014 132);
  --color-cookie-rule-strong: oklch(72% 0.022 132);
  --color-cookie-accent: oklch(58.365% 0.12409 131.416);
  --color-cookie-accent-strong: oklch(54.123% 0.12997 132.225);
  --color-cookie-accent-hover: oklch(47% 0.124 132.225);
  --color-cookie-accent-active: oklch(42% 0.112 132.225);
  --color-cookie-accent-ink: oklch(100% 0 0);
  --color-cookie-focus: oklch(34% 0.11 255);
  --color-cookie-overlay: oklch(12% 0.018 255 / 0.58);
  --color-cookie-shadow: oklch(20% 0.018 255 / 0.18);
  --color-cookie-error: oklch(48% 0.16 28);
  --color-cookie-success: oklch(48% 0.12 145);

  --font-cookie-display: "Teko", sans-serif;
  --font-cookie-body: "Poppins", sans-serif;

  --space-cookie-3xs: 0.125rem;
  --space-cookie-2xs: 0.25rem;
  --space-cookie-xs: 0.5rem;
  --space-cookie-sm: 0.75rem;
  --space-cookie-md: 1rem;
  --space-cookie-lg: 1.5rem;
  --space-cookie-xl: 2.5rem;

  --text-cookie-xs: 0.75rem;
  --text-cookie-sm: 0.875rem;
  --text-cookie-base: 1rem;
  --text-cookie-title: 1.5rem;

  --ease-cookie-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-cookie-in: cubic-bezier(0.7, 0, 0.84, 0);
  --dur-cookie-micro: 120ms;
  --dur-cookie-exit: 220ms;
  --dur-cookie-modal: 280ms;
  --dur-cookie-enter: 360ms;
  --radius-cookie: 0.25rem;
  --radius-cookie-control: 0.1875rem;
  --layout-cookie-max: 86rem;
}

/* Language typography: English keeps the original Teko + DM Sans/Poppins system. */
html[lang="ru"] {
  --font-about-display: var(--font-display-ru);
  --font-about-body: var(--font-body-ru);
  --font-products-display: var(--font-display-ru);
  --font-products-body: var(--font-body-ru);
  --font-home-display: var(--font-display-ru);
  --font-home-body: var(--font-body-ru);
  --font-cookie-display: var(--font-display-ru);
  --font-cookie-body: var(--font-body-ru);
  --mos-header-font-nav: var(--font-display-ru);
  --mos-header-font-body: var(--font-body-ru);
  --mos-footer-font-domain: var(--font-body-ru);
  --text-locale-nav-desktop: 1.0625rem;
  --text-locale-nav-mobile: 1.0625rem;
  --text-locale-hero: clamp(2.75rem, 3.3vw, 4rem);
  --text-locale-section-title: clamp(2rem, 2.4vw, 2.5rem);
}

html[lang="zh"],
html[lang="zh-CN"] {
  --font-about-display: var(--font-display-zh);
  --font-about-body: var(--font-body-zh);
  --font-products-display: var(--font-display-zh);
  --font-products-body: var(--font-body-zh);
  --font-home-display: var(--font-display-zh);
  --font-home-body: var(--font-body-zh);
  --font-cookie-display: var(--font-display-zh);
  --font-cookie-body: var(--font-body-zh);
  --mos-header-font-nav: var(--font-display-zh);
  --mos-header-font-body: var(--font-body-zh);
  --mos-footer-font-domain: var(--font-body-zh);
  --text-locale-nav-desktop: clamp(1rem, 1.05vw, 1.125rem);
  --text-locale-nav-mobile: 1.0625rem;
  --text-locale-hero: clamp(2.75rem, 3vw, 3.75rem);
  --text-locale-section-title: clamp(1.875rem, 2.2vw, 2.25rem);
}

html[lang="ru"] body {
  font-family: var(--font-body-ru);
  font-size: 16px;
  line-height: 1.65;
}

html[lang="zh"] body,
html[lang="zh-CN"] body {
  font-family: var(--font-body-zh);
  font-size: 16px;
  line-height: 1.75;
}

html[lang="ru"] :is(
  h2, h3, h4, h5, h6,
  .title-style-2,
  .wt-title,
  .post-title,
  .widget-title,
  .mos-hero-title,
  .mos-products-index-heading,
  .mos-about-section-heading,
  .mos-faq-list summary
) {
  font-family: var(--font-display-ru);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

html[lang="ru"] h1,
html[lang="ru"] .mos-hero-title,
html[lang="ru"] .mos-hero-static-copy .h1 {
  font-family: var(--font-display-condensed-ru);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

html[lang="ru"] .mos-mega-copy strong {
  font-family: var(--font-display-ru);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

html[lang="ru"] .site-footer :is(h1, h2, h3, h4, h5, h6, .widget-title),
html[lang="ru"] form :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-body-ru);
  letter-spacing: 0;
  text-transform: none;
}

html[lang="zh"] :is(
  h1, h2, h3, h4, h5, h6,
  .title-style-2,
  .wt-title,
  .post-title,
  .widget-title,
  .mos-hero-title,
  .mos-products-index-heading,
  .mos-about-section-heading,
  .mos-faq-list summary
),
html[lang="zh-CN"] :is(
  h1, h2, h3, h4, h5, h6,
  .title-style-2,
  .wt-title,
  .post-title,
  .widget-title,
  .mos-hero-title,
  .mos-products-index-heading,
  .mos-about-section-heading,
  .mos-faq-list summary
) {
  font-family: var(--font-display-zh);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
}

html[lang="ru"] h1 { font-size: 60px; }
html[lang="ru"] h2 { font-size: 46px; }
html[lang="ru"] h3 { font-size: 28px; }
html[lang="ru"] h4 { font-size: 23px; }

html[lang="zh"] h1,
html[lang="zh-CN"] h1 { font-size: 54px; }
html[lang="zh"] h2,
html[lang="zh-CN"] h2 { font-size: 42px; }
html[lang="zh"] h3,
html[lang="zh-CN"] h3 { font-size: 27px; }
html[lang="zh"] h4,
html[lang="zh-CN"] h4 { font-size: 22px; }

html[lang="ru"] body .page-wraper .wt-bnr-inr .wt-bnr-inr-entry .banner-title-name h1 {
  font-size: 60px;
}

html[lang="zh"] body .page-wraper .wt-bnr-inr .wt-bnr-inr-entry .banner-title-name h1,
html[lang="zh-CN"] body .page-wraper .wt-bnr-inr .wt-bnr-inr-entry .banner-title-name h1 {
  font-size: 54px;
}

html[lang="ru"] :is(button, input, select, textarea),
html[lang="zh"] :is(button, input, select, textarea),
html[lang="zh-CN"] :is(button, input, select, textarea) {
  font-family: inherit;
}

html[lang="ru"] :is(
  .site-button, .site-button-link, .header-nav-request a,
  .mos-language-trigger, .mos-language-option, .mos-field-label,
  .mos-category, .mos-cas, .mos-cas-large, .spec-table,
  .wt-breadcrumb, .top-bar, .site-footer, #cc-main
) {
  font-family: var(--font-body-ru);
}

html[lang="zh"] :is(
  .site-button, .site-button-link, .header-nav-request a,
  .mos-language-trigger, .mos-language-option, .mos-field-label,
  .mos-category, .mos-cas, .mos-cas-large, .spec-table,
  .wt-breadcrumb, .top-bar, .site-footer, #cc-main
),
html[lang="zh-CN"] :is(
  .site-button, .site-button-link, .header-nav-request a,
  .mos-language-trigger, .mos-language-option, .mos-field-label,
  .mos-category, .mos-cas, .mos-cas-large, .spec-table,
  .wt-breadcrumb, .top-bar, .site-footer, #cc-main
) {
  font-family: var(--font-body-zh);
}

html[lang="ru"] :is(.site-button, .site-button-link, .mos-field-label, .mos-category),
html[lang="zh"] :is(.site-button, .site-button-link, .mos-field-label, .mos-category),
html[lang="zh-CN"] :is(.site-button, .site-button-link, .mos-field-label, .mos-category) {
  font-weight: 600;
}

html[lang="zh"] .page-wraper .header-style-4 .header-nav .nav > li > a,
html[lang="zh-CN"] .page-wraper .header-style-4 .header-nav .nav > li > a {
  font-weight: 600;
  letter-spacing: 0.02em;
}

@media (max-width: 47.9375rem) {
  html[lang="ru"] h1,
  html[lang="zh"] h1,
  html[lang="zh-CN"] h1 { font-size: 36px; }

  html[lang="ru"] body .page-wraper .wt-bnr-inr .wt-bnr-inr-entry .banner-title-name h1,
  html[lang="zh"] body .page-wraper .wt-bnr-inr .wt-bnr-inr-entry .banner-title-name h1,
  html[lang="zh-CN"] body .page-wraper .wt-bnr-inr .wt-bnr-inr-entry .banner-title-name h1 {
    font-size: 36px;
  }

  html[lang="ru"] h2 { font-size: 34px; }
  html[lang="zh"] h2,
  html[lang="zh-CN"] h2 { font-size: 32px; }

  html[lang="ru"] h3,
  html[lang="zh"] h3,
  html[lang="zh-CN"] h3 { font-size: 24px; }

  html[lang="ru"] .mos-product-detail-page :is(.spec-table th, .spec-table td),
  html[lang="zh"] .mos-product-detail-page :is(.spec-table th, .spec-table td),
  html[lang="zh-CN"] .mos-product-detail-page :is(.spec-table th, .spec-table td) {
    font-size: 14px;
    line-height: 1.55;
  }
}
