/* Языковые поправки не меняют раскладку компонентов: они только нормализуют
   CJK-метрики, переносы и минимальные размеры текста. Повышенная специфичность
   lang-селектора позволяет сохранить правила рядом, не размазывая их по секциям. */
@layer theme.components {

html:lang(ja) body,
html:lang(zh-CN) body,
html:lang(hi) body {
  font-synthesis: none;
  overflow-wrap: anywhere;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) :where(
  h1, h2, h3, h4,
  .tt-hero__title,
  .key-figures__value,
  .tt-footer__service-head
) {
  letter-spacing: 0;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) :where(
  .section__eyebrow,
  .option-cards__eyebrow,
  .s-prose__eyebrow,
  .s-spec-doc__label,
  .action-band__fact dt,
  .key-figures__card dt,
  .freight-rates-table thead th,
  .spec-table thead th
) {
  letter-spacing: 0;
  text-transform: none;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) .tt-hero__title {
  line-height: var(--line-height-heading);
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) .tt-nav__row {
  white-space: normal;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) :where(.tt-nav__button, .tt-nav__link) {
  padding-block: 8px;
  line-height: 1.45;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) :where(.tt-nav__label, .tt-nav__note) {
  overflow-wrap: anywhere;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) :where(.tt-panel__label, .tt-panel__note, .tt-lang__code) {
  font-size: var(--font-size-caption);
  letter-spacing: 0;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) :where(.tt-panel__link, .tt-lang__button, .tt-lang__item) {
  font-size: var(--font-size-nav);
  line-height: 1.5;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) .tt-lang__button {
  min-block-size: 34px;
  block-size: auto;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) :where(
  .tt-footer__service-note,
  .tt-footer__legal-line
) {
  font-size: var(--font-size-small);
  line-height: 1.72;
}

:is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) :where(
  .tt-footer__dark,
  .tt-footer__contacts li,
  .tt-footer__legal,
  .tt-footer__legal a,
  .tt-footer__legal-link
) {
  font-size: var(--font-size-caption);
  line-height: 1.65;
}

@media (max-width: 900px) {
  :is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) .tt-header__inner { gap: 12px; }
  :is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) .tt-nav__note { display: none; }
}

@media (max-width: 760px) {
  :is(html:lang(ja), html:lang(zh-CN), html:lang(hi)) .tt-nav__item:not(:first-child) { display: none; }
}

}
