@charset "UTF-8";

/* English typography: use the three font files supplied by the client. */
@font-face {
  font-family: "Montserrat";
  src: url("../font/Montserrat-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../font/Montserrat-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../font/Montserrat-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

html[lang="en"] body {
  --tw-font-weight: 400;
  font-synthesis: none;
}

/* Override legacy font families/weights without changing sizes or layout.
   The inherited weight also keeps nested title links and spans consistent.
   Icon elements and SVGs are intentionally excluded. */
html[lang="en"] body,
html[lang="en"] body :where(
  header, footer, main, section, nav, article, aside, div, p, span, a,
  h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, blockquote,
  table, thead, tbody, tr, th, td, caption, figure, figcaption,
  form, fieldset, legend, label, input, textarea, button, select, option,
  b, strong, em, small, time, address, summary
):not(.layui-icon):not(.iconfont):not([class*="amap-icon"]) {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: var(--tw-font-weight, 400) !important;
}

/* Medium: secondary headings, navigation, card titles and controls. */
html[lang="en"] :is(
  h3, h4, h5, h6, dt, th, label, button,
  .pc-header .header-top b,
  .pc-header .header-bottom .navs,
  .language-switch,
  .mobile_nav_main .main_a,
  .footer-part .parent,
  .common-back .back,
  .page-title .t2,
  .home-page .banner .t2,
  .home-page .s1 .list .item .t1,
  .home-page .s2 .swiper-slide .t2,
  .home-page .s2 .s2-list .title,
  .home-page .s3 .name,
  .home-page .s3 .list .title,
  .home-page .s5 .list .item .title,
  .product-type-list .name,
  .product-type-list .item,
  .product-list-page .banner .t2,
  .product-list-page .s2 .type-list .left-part .title,
  .product-list-page .s2 .good .name,
  .product-list2-page .sub-banner .t2,
  .product-list2-page > .s1,
  .product-list2-page .s2 .item .name,
  .product-info-page .type,
  .apply-page .section-1 .item .t1,
  .about-page .section-1 .left-part .t2,
  .about-page .list .title,
  .contact-page .section-1 .left-part .t1,
  .contact-page .section-1 .z1,
  .privacy-kicker,
  .privacy-option-title,
  .btn, .more, .hover-more,
  .product-list-page .banner .t3
) {
  --tw-font-weight: 500;
}

/* SemiBold: hero/page/section headings, product names on detail pages,
   article headings and prominent figures. */
html[lang="en"] :is(
  h1, h2,
  .sub-banner .sub-title,
  .page-title .t1,
  .home-page .banner .t1,
  .home-page .s2 .swiper-slide .t1,
  .home-page .s3 .number,
  .product-list-page .banner .t1,
  .product-list2-page .sub-banner .t1,
  .product-info-page .s1 .left-part > .title,
  .about-page .section-1 .left-part .t1,
  .about-page .part-title .t1,
  .about-page .number,
  .contact-page .section-2 > main > .t1,
  .privacy-heading .t1
) {
  --tw-font-weight: 600;
}

/* Keep editorial emphasis, but use the real SemiBold face, not faux bold. */
html[lang="en"] :is(
  .newsinfo-page .content strong,
  .newsinfo-page .content b,
  .profile strong,
  .profile b
) {
  --tw-font-weight: 600;
}

/* Supporting form hints and article paragraphs remain Regular. */
html[lang="en"] :is(
  .field-hint,
  input, textarea, select, option,
  .newsinfo-page .content p,
  .newsinfo-page .content li
) {
  --tw-font-weight: 400;
}

/* Montserrat is wider than the old font: keep navigation and captions clear. */
html[lang="en"] .pc-header .header-bottom main .navs .item {
  min-width: 100px;
}

html[lang="en"] .home-page .s3 .list .title,
html[lang="en"] .about-page .list .title {
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.5;
}
