
/* =====================================================================
   Language switcher (topbar right) — added 2026-10-24
   Compact EN / 中文 toggle, matches topbar amber (#FFAA01) background.
   ===================================================================== */
.topbar .topbar-right .ry-lang-switcher {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-left: 22px;
  gap: 4px;
}
.topbar .topbar-right .ry-lang-link {
  display: inline-block;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #002c42 !important;
  border: 1px solid rgba(0, 44, 66, 0.4);
  border-radius: 3px;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: all 0.25s ease;
}
.topbar .topbar-right .ry-lang-link:hover {
  border-color: #002c42;
  background: rgba(0, 44, 66, 0.08);
}
.topbar .topbar-right .ry-lang-link.is-active {
  background: #002c42;
  color: #fff !important;
  border-color: #002c42;
}
/* 中文 label: do not apply uppercase letter-spacing look */
.topbar .topbar-right .ry-lang-zh-hans {
  text-transform: none;
  letter-spacing: 0;
}

/* =====================================================================
   Language switcher — mobile (offcanvas drawer), added 2026-10-24
   White drawer background: dark teal pill buttons, full-width split.
   ===================================================================== */
.gva-offcanvas-mobile .after-offcanvas .ry-lang-switcher {
  display: flex;
  gap: 8px;
  margin: 0;
}
.gva-offcanvas-mobile .after-offcanvas .ry-lang-link {
  flex: 1;
  text-align: center;
  padding: 9px 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: #002c42 !important;
  border: 1px solid rgba(0, 44, 66, 0.35);
  border-radius: 4px;
  background: #fff;
  text-decoration: none !important;
  transition: all 0.25s ease;
}
.gva-offcanvas-mobile .after-offcanvas .ry-lang-link:hover {
  border-color: #002c42;
  background: rgba(0, 44, 66, 0.06);
}
.gva-offcanvas-mobile .after-offcanvas .ry-lang-link.is-active {
  background: #002c42;
  color: #fff !important;
  border-color: #002c42;
}
.gva-offcanvas-mobile .after-offcanvas .ry-lang-zh-hans {
  text-transform: none;
  letter-spacing: 0;
}

/* =====================================================================
   Accessibility: contrast fixes — added 2026-10-24
   Amber #FFAA01 as TEXT on light backgrounds -> #8A5A00 (>=4.5:1).
   Amber on dark backgrounds (footer/topbar) untouched (already >=4.5:1).
   ===================================================================== */
@media (min-width: 992px) {
  .navigation .gva_menu > li > a:hover,
  .navigation .gva_menu > li > a:active,
  .navigation .gva_menu > li > a.is-active,
  .navigation .gva_menu > li.menu-item--active-trail > a {
    color: #8A5A00;
  }
  .navigation .gva_menu > li.menu-item--active-trail > a {
    color: #8A5A00 !important;
  }
}
.post-block .post-categories a,
.post-block .post-title a:hover,
.post-block .post-title a:active,
.post-footer .item-list ul li .post-block .post-title a:hover,
.gva-quick-side .content-inner ul > li a:hover,
.gva-quick-side .content-inner ul > li a:active,
.gva-quick-side .content-inner ul > li a:focus,
.sidebar .block-menu ul li.menu-item--active-trail > a,
.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus,
.nav-tabs > li > a:active {
  color: #8A5A00;
}
.gsc-heading .sub-title {
  color: #5C5F63;
}

/* =====================================================================
   CLS fix: reserve hero slider height before Revolution init
   Matches init params: responsiveLevels [1240,1024,778,480],
   gridheight [850,500,500,400]. Post-init inline height overrides.
   ===================================================================== */
.rev_slider.fullwidthabanner { min-height: 850px; }
@media (max-width: 1239px) { .rev_slider.fullwidthabanner { min-height: 500px; } }
@media (max-width: 777px)  { .rev_slider.fullwidthabanner { min-height: 400px; } }

/* =====================================================================
   Article body polish (news/guides) — added 2026-10-25
   Long-form posts carry HTML tables and inline images.
   ===================================================================== */
.node--type-article .post-body h2 { margin-top: 36px; margin-bottom: 14px; }
.node--type-article .post-body h3 { margin-top: 24px; }
.node--type-article .post-body table { font-size: 14px; }
.node--type-article .post-body table th { background: #f4f7f9; font-weight: 600; }
.node--type-article .post-body table td,
.node--type-article .post-body table th { padding: 8px 10px; vertical-align: top; }
.node--type-article .post-body .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 20px; }
.node--type-article .post-body img { margin: 18px 0; }

/* ===== /products 产品分类总览（views.view.service → page_products） ===== */
.ry-cat-lead {
  max-width: 720px;
  margin: 0 auto 34px;
  text-align: center;
  font-size: 16px;
  line-height: 1.75;
  color: #5C5F63;
}
.ry-cat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 20px;
}
@media (max-width: 1199px) {
  .ry-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ry-cat-grid { grid-template-columns: 1fr; gap: 18px; }
}
.ry-cat-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 30px 28px 24px;
  background: #fff;
  border: 1px solid #e3e8ec;
  border-radius: 10px;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.ry-cat-card:hover {
  border-color: #cfd9e0;
  box-shadow: 0 12px 28px rgba(0, 44, 66, .09);
  transform: translateY(-3px);
}
.ry-cat-icon { margin-bottom: 18px; }
.ry-cat-icon img { height: 46px; width: auto; display: block; }
.ry-cat-title { font-size: 19px; line-height: 1.35; margin: 0 0 10px; font-weight: 600; }
.ry-cat-title a { color: #002c42; text-decoration: none; }
.ry-cat-title a:hover { color: #b87600; }
.ry-cat-intro { font-size: 15px; line-height: 1.7; color: #5C5F63; flex: 1 1 auto; }
.ry-cat-intro p { margin: 0 0 8px; }
.ry-cat-intro p:last-child { margin-bottom: 0; }
.ry-cat-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.ry-cat-actions a {
  display: inline-block;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  border-radius: 4px;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.ry-cat-more { color: #002c42; border: 1px solid #002c42; background: transparent; }
.ry-cat-more:hover { background: #002c42; color: #fff; }
.ry-cat-shop { color: #1a1500; background: #FFAA01; border: 1px solid #FFAA01; }
.ry-cat-shop:hover { background: #e59a00; border-color: #e59a00; color: #1a1500; }
.ry-cat-actions a:focus-visible { outline: 2px solid #002c42; outline-offset: 2px; }

/* ===== 产品分类页正文（2026-10-27 6 页正文改写配套） ===== */
.node--type-service .node__content h2 {
  margin: 2rem 0 .75rem;
  font-size: 1.35rem;
  line-height: 1.35;
}
.node--type-service .node__content h2:first-child { margin-top: 0; }
.node--type-service .node__content h2 { text-transform: none; letter-spacing: 0; }
.node--type-service .node__content p { margin-bottom: 1rem; line-height: 1.75; }
.node--type-service .node__content ul { margin: 0 0 1.25rem 1.1rem; padding: 0; }
.node--type-service .node__content li { margin-bottom: .45rem; line-height: 1.7; }

.node--type-service .node__content table {
  width: 100%;
  margin: 1.25rem 0 1.75rem;
  border-collapse: collapse;
  font-size: .9375rem;
}
.node--type-service .node__content table th,
.node--type-service .node__content table td {
  border: 1px solid rgba(0, 0, 0, .14);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}
.node--type-service .node__content table th {
  background: #f4f6f9;
  font-weight: 600;
}
.node--type-service .node__content table tbody tr:nth-child(even) { background: #fafbfc; }
.node--type-service .node__content table strong { font-weight: 600; }

@media (max-width: 767px) {
  .node--type-service .node__content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .node--type-service .node__content table th,
  .node--type-service .node__content table td { min-width: 140px; }
}

/* 分类页导语（field_category_intro 现已在详情页显示） */
.node--type-service .field--name-field-category-intro {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #33404d;
  margin: 0 0 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

/* ===== 品牌页（/products/brands/*，2026-10-27 新增） ===== */
.node--type-brand .node__content h2 {
  margin: 2rem 0 .75rem;
  font-size: 1.35rem;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
}
.node--type-brand .node__content h2:first-child { margin-top: 0; }
.node--type-brand .node__content p { margin-bottom: 1rem; line-height: 1.75; }
.node--type-brand .node__content ul,
.node--type-brand .node__content ol { margin: 0 0 1.25rem 1.2rem; padding: 0; }
.node--type-brand .node__content li { margin-bottom: .45rem; line-height: 1.7; }
.node--type-brand .node__content table {
  width: 100%;
  margin: 1.25rem 0 1.75rem;
  border-collapse: collapse;
  font-size: .9375rem;
}
.node--type-brand .node__content table th,
.node--type-brand .node__content table td {
  border: 1px solid rgba(0, 0, 0, .14);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}
.node--type-brand .node__content table th { background: #f4f6f9; font-weight: 600; }
.node--type-brand .node__content table tbody tr:nth-child(even) { background: #fafbfc; }
.node--type-brand .node__content table td:first-child { font-weight: 600; }
.node--type-brand .node__content table td { font-variant-numeric: tabular-nums; }

/* 导语（与分类页同一视觉） */
.node--type-brand .field--name-field-category-intro {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #33404d;
  margin: 0 0 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

/* 相关品类：两列，避免六条竖排太长 */
.node--type-brand .ry-related {
  list-style: none;
  margin-left: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem 1.5rem;
}
.node--type-brand .ry-related li { margin: 0; }
.node--type-brand .ry-related a { text-decoration: underline; text-underline-offset: 2px; }

/* 免责声明（模板统一输出，中英各一版） */
.ry-disclaimer {
  margin: 2rem 0 0;
  padding: 1rem 1.15rem;
  background: #f7f8fa;
  border-left: 3px solid #c9ced6;
  font-size: .875rem;
  line-height: 1.7;
  color: #5a6470;
}

/* 品牌索引卡片：没有图标，标题上移 */
.ry-brand-card { justify-content: flex-start; }

/* 分类页底部的「适配品牌」入口 */
.ry-brand-links {
  margin: 2rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(0, 0, 0, .08);
  font-size: .9375rem;
}
.ry-brand-links .ry-brand-links-label { font-weight: 600; margin-right: .35rem; }
.ry-brand-links a {
  display: inline-block;
  margin-right: 1rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 767px) {
  .node--type-brand .node__content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .node--type-brand .node__content table th,
  .node--type-brand .node__content table td { min-width: 150px; }
  .node--type-brand .ry-related { grid-template-columns: 1fr; }
}

/* ===== 文章详情页正文（2026-10-27 修：详情页容器是 .node__content，
   原来 .post-body 那套只作用于列表卡片，导致详情页表格与 h2 一直没有样式） ===== */
.node--type-article .node__content h2 {
  margin: 2rem 0 .75rem;
  font-size: 1.35rem;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
}
.node--type-article .node__content h3 {
  margin: 1.5rem 0 .6rem;
  font-size: 1.1rem;
  text-transform: none;
}
.node--type-article .node__content p { margin-bottom: 1rem; line-height: 1.8; }
.node--type-article .node__content ul,
.node--type-article .node__content ol { margin: 0 0 1.25rem 1.2rem; padding: 0; }
.node--type-article .node__content li { margin-bottom: .5rem; line-height: 1.75; }
.node--type-article .node__content table {
  width: 100%;
  margin: 1.25rem 0 1.75rem;
  border-collapse: collapse;
  font-size: .9375rem;
}
.node--type-article .node__content table th,
.node--type-article .node__content table td {
  border: 1px solid rgba(0, 0, 0, .14);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}
.node--type-article .node__content table th { background: #f4f6f9; font-weight: 600; }
.node--type-article .node__content table tbody tr:nth-child(even) { background: #fafbfc; }
.node--type-article .node__content table td:first-child { font-weight: 600; }
.node--type-article .node__content img { max-width: 100%; height: auto; margin: 1.25rem 0; }
.node--type-article .node__content .ry-related {
  list-style: none;
  margin-left: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem 1.5rem;
}
.node--type-article .node__content .ry-related li { margin: 0; }
.node--type-article .node__content .ry-related a { text-decoration: underline; text-underline-offset: 2px; }
.node--type-article .node__content .ry-lead {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: #33404d;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

@media (max-width: 767px) {
  .node--type-article .node__content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .node--type-article .node__content table th,
  .node--type-article .node__content table td { min-width: 150px; }
  .node--type-article .node__content .ry-related { grid-template-columns: 1fr; }
}

/* 品牌页系列表下方的口径说明（2026-10-27：Confirm 改为「家族 + 说明」） */
.node--type-brand .node__content .ry-table-note {
  font-size: .875rem;
  line-height: 1.7;
  color: #5a6470;
  margin: -.75rem 0 1.75rem;
  padding-left: .9rem;
  border-left: 3px solid #dfe4ea;
}

/* ===== About 页仓储图文（2026-10-28） ===== */
/* body 渲染在 builder 之外，本身没有容器包裹，这里补上下留白 */
.node--type-page .ry-section { padding-top: 3rem; padding-bottom: 3.5rem; }
.node--type-page .field--name-body h2 {
  margin: 2.25rem 0 .9rem;
  font-size: 1.45rem;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
}
.node--type-page .field--name-body p {
  margin-bottom: 1rem;
  line-height: 1.8;
}
/* 左图右文的整块版式 */
.ry-split {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}
.ry-split-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
  background: #f2f4f7;
}
.ry-split-text h2 { margin: 0 0 .9rem; }
.ry-split-text p { margin-bottom: .85rem; line-height: 1.8; }
.ry-split-text .ry-small { font-size: .9rem; color: #5a6470; margin-bottom: 0; }
@media (max-width: 991px) {
  .ry-split { grid-template-columns: 1fr; gap: 1.25rem; }
  .ry-split-text h2 { margin-top: .5rem; }
}
}
