/**
 * 桃李官网 · 全局设计令牌与公共组件（跟踪 #4 / #5）
 * ------------------------------------------------
 * 原则：字体 / 字号 / 字重 / 行高 / 颜色 / 间距 / 面包屑 / 按钮 / 分页
 * 在本文件统一定义；各业务页 CSS 只负责布局结构，不再各自写一套文字与控件样式。
 *
 * 字体：思源黑体 Source Han Sans SC
 *
 * 字号阶梯（桌面）：
 *   xs  12  辅助 / 版权 / 角标
 *   sm  14  面包屑 / 页脚链接 / 次要正文（描述）
 *   md  16  正文
 *   lg  18  顶栏导航 / 列表标题
 *   xl  20  页脚栏目标题
 *   2xl 24  次级页面标题
 *   3xl 26  侧栏一级栏目名 .title
 *   4xl 28  列表页主标题
 *   5xl 32  专题页主 H1
 *
 * 字重：正文 400；卡片/小节标题 500；页面主标题 700
 * 仅加载 Regular / Medium / Bold 三档，禁止 100/600 等无字重（会回退合成导致粗细不一）
 * 颜色：标题 #333；正文/描述 #666；辅助/面包屑 #808080；品牌红 #df0011
 * 行高：标题 tight 1.25 / snug 1.45；正文 body 1.7
 */
:root {
  --font-sans: "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;

  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-md: 16px;
  --fs-lg: 18px;
  --fs-xl: 20px;
  --fs-2xl: 24px;
  --fs-3xl: 26px;
  --fs-4xl: 28px;
  --fs-5xl: 32px;

  --lh-tight: 1.25;
  --lh-snug: 1.45;
  --lh-body: 1.7;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;

  --color-text: #666666;
  --color-text-title: #333333;
  --color-text-strong: #333333;
  --color-text-muted: #808080;
  --color-brand: #df0011;
  --color-brand-dark: #c7000a;
  --color-border: #dcdcdc;
  --color-border-light: #ededed;
  --color-bg: #ffffff;
  --color-bg-soft: #f7f7f7;
  --color-link: #404040;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-15: 60px;
  --space-section-y: 40px;

  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 4px;

  --control-h: 40px;
  --btn-h: 44px;
  --breadcrumb-bar: 2px;
}

/* —— 全局基底 —— */
html,
body {
  font-family: var(--font-sans);
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  color: var(--color-text);
  font-weight: var(--fw-regular);
}
body,
button,
input,
select,
textarea {
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  font-synthesis: none;
}
a {
  color: var(--color-link);
}
a:hover {
  color: var(--color-brand);
}

/* —— 自定义下拉（替代原生 option 系统蓝悬停） —— */
.ui-select {
  position: relative;
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.ui-select-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.ui-select-trigger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 36px 0 12px;
  height: 36px;
  border: 1px solid var(--color-border-light, #ededed);
  border-radius: 0;
  background: #fff;
  color: #333;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ui-select.is-placeholder .ui-select-label {
  color: #999;
}
.ui-select-trigger:hover {
  border-color: #cfcfcf;
}
.ui-select.is-open .ui-select-trigger {
  border-color: var(--color-brand);
}
.ui-select.is-open {
  z-index: 90;
}
.ui-select-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-select-chevron {
  position: absolute;
  right: 12px;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background: url(/static/images/contact/chevron.svg?v=2) no-repeat center;
  background-size: 18px 18px;
  pointer-events: none;
  transition: transform .15s ease;
}
.ui-select.is-open .ui-select-chevron {
  transform: rotate(180deg);
}
.ui-select-list {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 2px);
  z-index: 100;
  max-height: 240px;
  overflow: auto;
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-border, #dcdcdc);
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.ui-select.is-open .ui-select-list {
  display: block;
}
.ui-select-option {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: var(--color-text-title);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}
.ui-select-option:hover,
.ui-select-option:focus {
  background: #fff !important;
  color: var(--color-brand, #df0011) !important;
  outline: none;
}
.ui-select-option.is-selected {
  background: rgba(223, 0, 17, 0.08);
  color: var(--color-brand, #df0011);
}
.ui-select-option.is-selected:hover,
.ui-select-option.is-selected:focus {
  background: rgba(223, 0, 17, 0.08) !important;
  color: var(--color-brand, #df0011) !important;
}
.ui-select-option.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ui-select-option.is-disabled:hover {
  background: #fff !important;
  color: var(--color-text-title) !important;
}

/* 筛选条 / 联系表单高度对齐 */
.ui-select--filter .ui-select-trigger,
.ui-select--contact .ui-select-trigger {
  height: 36px;
  font-size: 14px;
  color: #333;
}
.ui-select--filter .ui-select-trigger {
  background: #fff;
  color: #333;
}
.ui-select--filter .ui-select-trigger:hover,
.ui-select--filter.is-open .ui-select-trigger {
  background: #fff;
  color: #333;
}
.ui-select--contact .ui-select-trigger {
  height: 40px;
  padding-left: 13px;
  border-color: #e4e2e1;
  font-size: 14px;
  background: #fff;
  color: #404040;
}
.ui-select--inline {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
}
.ui-select--inline .ui-select-trigger {
  height: 100%;
  min-height: 40px;
  border: 0;
  padding-left: 0;
  padding-right: 22px;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  color: #404040;
}
.ui-select--inline .ui-select-chevron {
  right: 0;
  background-image: url(/static/images/ir/icon-chevron.svg);
}
.ui-select--inline .ui-select-trigger:hover,
.ui-select--inline.is-open .ui-select-trigger {
  background: transparent;
  color: #404040;
  padding-left: 0;
}
.ui-select--inline.is-placeholder .ui-select-label {
  color: #999;
  font-weight: 400;
}
.ir-filter-select .ui-select.is-open,
.ui-select--filter.is-open {
  z-index: 220;
}
.ui-select--filter .ui-select-list {
  z-index: 230;
}
.ui-select--search .ui-select-trigger {
  height: 35px;
  color: #919191;
  border-color: #afafaf;
}

/* 隐藏旧 select 装饰箭头（已由自定义触发器接管） */
.ir-filter-select:after,
.contact-select-wrap:after {
  display: none !important;
}
.ir-filter-select .ui-select,
.ir-filter-select .ui-select-trigger {
  background: #fff;
  color: #333;
}

/* —— 语义标题兜底 —— */
h1,
h2,
h3,
h4 {
  font-weight: var(--fw-bold);
  line-height: var(--lh-snug);
  color: var(--color-text-title);
}
h1 {
  font-size: var(--fs-2xl);
  line-height: var(--lh-tight);
}

/* —— 内页主内容区上下边距（banner 下统一） —— */
.pad60,
.container.box,
.container.wx_public {
  padding-top: var(--space-section-y) !important;
  padding-bottom: var(--space-section-y) !important;
}

/* —— 顶栏导航 —— */
.nav > li {
  font-size: var(--fs-lg);
}
.nav > li div a {
  font-size: var(--fs-sm);
  line-height: var(--lh-snug);
}

/* —— 面包屑（全站一套，覆盖各页单独写的 .xx-page .site） —— */
.site,
.about-page .site,
.biz-page .site,
.product-page .site,
.talent-page .site,
.ir-page .site,
.contact-page .site,
.wiki-page .site,
.faq-page .site {
  margin-top: 17px;
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text-muted) !important;
  font-size: var(--fs-sm) !important;
  line-height: var(--lh-snug);
  position: relative;
  text-align: left !important;
}
.site a,
.about-page .site a,
.biz-page .site a,
.product-page .site a,
.talent-page .site a,
.ir-page .site a,
.contact-page .site a,
.wiki-page .site a,
.faq-page .site a {
  color: var(--color-text-muted) !important;
}
.site a:hover,
.about-page .site a:hover,
.biz-page .site a:hover,
.product-page .site a:hover,
.talent-page .site a:hover,
.ir-page .site a:hover,
.contact-page .site a:hover,
.wiki-page .site a:hover,
.faq-page .site a:hover {
  color: var(--color-brand) !important;
}
.site:after,
.about-page .site:after,
.biz-page .site:after,
.product-page .site:after,
.talent-page .site:after,
.ir-page .site:after,
.contact-page .site:after,
.wiki-page .site:after,
.faq-page .site:after {
  content: "";
  display: inline-block;
  width: 30px;
  height: var(--breadcrumb-bar);
  background-color: var(--color-brand);
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
}

/* —— 侧栏 / 首页区块栏目名 —— */
.left-box .title,
.left-box h1.title,
.left-box h2.title,
h1.title,
h2.title,
p.title,
div.title {
  font-size: var(--fs-3xl) !important;
  line-height: var(--lh-tight);
  font-weight: var(--fw-bold) !important;
  color: var(--color-text-title) !important;
}
.title > a {
  color: var(--color-text-title) !important;
  font-weight: inherit;
}
.title > a:hover {
  color: var(--color-brand) !important;
}

/* —— 内容区主标题 —— */
.about-intro-head h1,
.biz-head h1,
.talent-head h1,
.talent-join-block h1,
.talent-join-block h2 {
  font-size: var(--fs-5xl) !important;
  line-height: var(--lh-tight) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--color-text-title) !important;
}
.product-list-title,
.privacy-doc h1,
.biz-article h1 {
  font-size: var(--fs-4xl) !important;
  line-height: var(--lh-tight) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--color-text-title) !important;
}
.product-detail-info h1 {
  font-size: var(--fs-5xl) !important;
  line-height: var(--lh-tight) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--color-text-title) !important;
}
.news-info > h1,
.right-box.news-info > h1,
.ir-main h1,
.right-box > h1,
.contact-page .right-box > h1 {
  font-size: var(--fs-2xl) !important;
  line-height: var(--lh-tight);
  font-weight: var(--fw-bold) !important;
  color: var(--color-text-title) !important;
}

/* —— 列表 / 卡片标题（含新闻置顶与列表） —— */
.privacy-doc h2,
.biz-article h2,
.about-info h3,
.gsjj h3,
.culturetitle,
.h_jianzheng h2,
.h_newcontent h3,
.h_productcontent h2,
.news-list h2,
.news-list h2 a,
.said-box h2,
.staff-list h2,
.news-content h2,
.news-content h2 a,
.news-content-item .info h2,
.news-content-item .info h2 a,
.news-content dl dt,
.h_newcontentlist .left h5,
.product-card .product-list-name,
.footer dl dt {
  font-weight: var(--fw-bold) !important;
  color: var(--color-text-title) !important;
}
.privacy-doc h2,
.biz-article h2,
.h_newcontent h3,
.h_productcontent h2,
.news-list h2,
.news-list h2 a,
.said-box h2,
.staff-list h2,
.news-content-item .info h2,
.news-content dl dt,
.h_newcontentlist .left h5 {
  font-size: var(--fs-lg) !important;
  line-height: var(--lh-snug) !important;
}

/* 产品详情：字重统一（避免标题 Bold、正文 Regular 混用显得粗细不一）
 * H1 产品名 700；卖点/推荐理由小标题 500；slogan / 列表 / 规格 400 */
.product-detail-sells h2,
.product-detail-reasons h2 {
  font-size: var(--fs-md) !important;
  line-height: var(--lh-snug) !important;
  font-weight: var(--fw-medium) !important;
  color: var(--color-text-title) !important;
}
.product-detail-slogan,
.product-detail-panel-col li,
.product-spec-label,
.product-spec-value {
  font-weight: var(--fw-regular) !important;
}
.news-content dl a:hover dt,
.news-content-item .info h2 a:hover {
  color: var(--color-brand) !important;
}

/* —— 正文 / 描述 —— */
.about-page .gsjj,
.biz-article,
.privacy-doc,
.news-info .content,
.news-info .detail-content,
.ir-main .content,
.right-box .content,
.inside-box,
.about-info,
.about-info .summary,
.h_newcontentlist .left p,
.h_newcontentlist .left time,
.h_newcontentlist .right p,
.productlist dd,
.news-list .summary,
.news-content dd,
.news-content-item .info p,
.product-detail-sells,
.product-detail-reasons,
.product-spec-value,
.faq-item,
.faq-a-body,
.wiki-card p,
.wiki-card-body p,
.honor-card p,
.honor-card-body p,
.honor dl dd,
.cultureword,
.gsjj,
.ir-main,
.contact-form-desc,
.talent-join-desc,
.talent-lead,
.talent-sub,
.talent-welfare-card p,
.biz-sub,
.news-headline p {
  color: var(--color-text) !important;
  line-height: var(--lh-body) !important;
}
.about-page .gsjj,
.biz-article,
.news-info .content,
.news-info .detail-content,
.ir-main .content,
.right-box .content,
.inside-box {
  font-size: var(--fs-md);
}
.about-info .summary,
.h_newcontentlist .left p,
.productlist dd,
.news-list .summary,
.news-content dd,
.news-content-item .info p,
.honor-card-body p,
.talent-welfare-card p,
.biz-sub,
.talent-sub,
.privacy-doc,
.faq-a-body {
  font-size: var(--fs-sm) !important;
}

/* 正文内小标题仍用标题色 */
.about-page .gsjj h1,
.about-page .gsjj h3,
.biz-article h1,
.biz-article h2,
.biz-article h3,
.privacy-doc h1,
.privacy-doc h2,
.news-info h1,
.news-info h2,
.ir-main h1,
.ir-main h2 {
  color: var(--color-text-title) !important;
}

.about-page .gsjj h2 {
  color: var(--color-brand) !important;
}

/* —— 按钮 / 分页 / 筛选 Tab（公共控件） —— */
.more-btn {
  margin-top: var(--space-10);
  text-align: center;
  line-height: var(--btn-h);
  height: var(--btn-h);
  display: block;
  width: 130px;
  border: 1px solid #afafaf;
  border-radius: var(--radius-none);
  font-size: var(--fs-sm);
  color: var(--color-text-title);
  box-sizing: border-box;
}
.more-btn:hover {
  color: var(--color-brand);
  border-color: var(--color-brand);
}

.pagelist {
  margin: var(--space-10) 0 0;
}
.pagelist li {
  display: inline-block;
  margin: 0 3px;
}
.pagelist li a,
.pagelist li span {
  display: block;
  padding: 0 var(--space-4);
  height: var(--control-h);
  line-height: var(--control-h);
  border: 1px solid #696969;
  font-size: var(--fs-sm);
  color: var(--color-text-title);
  box-sizing: border-box;
}
.pagelist li a:hover,
.pagelist li a.cur,
.pagelist li.active span {
  border-color: var(--color-brand-dark);
  background-color: var(--color-brand-dark);
  color: #fff;
}

.product-channel-tab {
  display: inline-block;
  min-width: 72px;
  height: 32px;
  line-height: 30px;
  padding: 0 var(--space-4);
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  text-decoration: none;
  box-sizing: border-box;
}
.product-channel-tab:hover {
  color: var(--color-brand);
  border-color: var(--color-brand);
}
.product-channel-tab.is-active {
  color: #fff;
  background: var(--color-brand);
  border-color: var(--color-brand);
}

/* —— 页脚 —— */
.footer dl dt {
  font-size: var(--fs-xl);
  line-height: var(--lh-snug);
  font-weight: var(--fw-bold) !important;
  color: var(--color-text-title) !important;
}
.footer dl dd,
.footer dl dd a {
  font-size: var(--fs-sm);
  line-height: 1.75;
  color: var(--color-text) !important;
}
.footer dl dd a:hover {
  color: var(--color-brand) !important;
}
.copy {
  font-size: var(--fs-xs);
  line-height: 1.5;
}

/* —— 产品卡片名 —— */
.product-card .product-list-name,
.productlist-grid .product-card dd,
.productlist dt + dd {
  font-size: var(--fs-md);
  line-height: var(--lh-snug);
}

/* 列表标题内链接：仅文字可点 */
.news-content h2 a,
.right-box h2 a,
.said-box h2 a,
.staff-list h2 a {
  display: inline;
}

/* —— 内容区列表网格：产品 / 百科 / FAQ / 荣誉 顶距统一 —— */
.productlist-grid,
.wiki-grid,
.faq-list,
.honor-awards {
  margin-top: var(--space-5) !important;
}

/* —— 产品中心：百科 / 常见问题 —— */
/* 百科标题与新闻一致：列表卡 / 详情 H1 均 Bold；FAQ 问题仍 Medium */
.wiki-page .wiki-card-body h3 {
  color: var(--color-text-title) !important;
  font-weight: var(--fw-bold) !important;
  line-height: var(--lh-snug) !important;
  font-size: var(--fs-lg) !important; /* 与 .news-list h2 同级 */
}
.faq-page .faq-q-text {
  color: var(--color-text-title) !important;
  font-weight: var(--fw-medium) !important;
  line-height: var(--lh-snug) !important;
  font-size: var(--fs-md) !important;
}
.wiki-page .wiki-card-body p,
.faq-page .faq-a-body,
.faq-page .faq-a-body p {
  color: var(--color-text) !important;
  line-height: var(--lh-body) !important;
  font-size: var(--fs-sm) !important;
  font-weight: var(--fw-regular) !important;
}
/* 百科详情主标题：与新闻详情 .news-info > h1 同字重/字号 */
.wiki-page .news-info > h1,
.wiki-page .right-box.news-info > h1 {
  font-size: var(--fs-2xl) !important;
  line-height: var(--lh-tight) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--color-text-title) !important;
}
.wiki-page .specific-content {
  color: var(--color-text) !important;
  line-height: var(--lh-body) !important;
  font-size: var(--fs-md);
}

/* —— 关于桃李：标题 / 描述统一（简介·历程·文化·荣誉·分布） —— */
.about-page .about-intro-head h1,
.about-page .history-toolbar h1,
.about-page .culturetitle,
.about-page .about-panel-main h2,
.about-page .about-card h2,
.about-page .gsjj h3 {
  color: var(--color-text-title) !important;
  font-weight: var(--fw-bold) !important;
}
.about-page .honor-card-body h3 {
  color: var(--color-text-title) !important;
  font-weight: var(--fw-medium) !important; /* Figma：Medium，避免 Bold 下「圆」等字显得偏粗 */
}
.about-page .about-intro-head h1,
.about-page .history-toolbar h1 {
  font-size: var(--fs-5xl) !important;
  line-height: var(--lh-tight) !important;
}
.about-page .about-panel-main h2,
.about-page .about-card h2,
.about-page .culturetitle {
  font-size: var(--fs-2xl) !important;
  line-height: var(--lh-tight) !important;
}
.about-page .honor-card-body h3 {
  font-size: var(--fs-md) !important;
  line-height: var(--lh-snug) !important;
}
.about-page .about-copy,
.about-page .about-copy-fixed,
.about-page .cultureword,
.about-page .culturetitle p,
.about-page .gsjj,
.about-page .honor-card-body p,
.about-page .history-card-body > p,
.about-page .history-hint,
.about-page .inside-box {
  color: var(--color-text) !important;
  line-height: var(--lh-body) !important;
}
.about-page .about-copy,
.about-page .about-copy-fixed {
  color: var(--color-text-title) !important;
}
.about-page .about-copy,
.about-page .cultureword,
.about-page .gsjj {
  font-size: var(--fs-md) !important;
}
.about-page .honor-card-body p,
.about-page .history-card-body > p,
.about-page .culturetitle p {
  font-size: var(--fs-sm) !important;
}

/* —— 商业合作 / 人才 / 投资者：区块小标题 Medium，正文 Regular —— */
.biz-page .biz-block h3,
.biz-page .biz-step-title,
.biz-page .biz-table dt,
.biz-page .biz-qc dt,
.talent-page .talent-welfare-title h3,
.talent-page .talent-photo-title,
.ir-page .ir-survey-h {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: var(--fw-medium) !important;
  color: var(--color-text-title) !important;
}
/* 投资者联络：「联系我们 / 调研会议预约」区块标题 */
.ir-page .ir-section-title {
  font-size: 24px !important;
  line-height: 32px !important;
  font-weight: var(--fw-medium) !important;
  color: var(--color-text-title) !important;
}
.biz-page .biz-block p,
.talent-page .talent-welfare-card p,
.talent-page .talent-join-desc,
.talent-page .talent-lead,
.talent-page .talent-sub,
.talent-page .talent-cta-desc,
.ir-page .ir-contact-card dd,
.ir-page .ir-main .content {
  font-weight: var(--fw-regular) !important;
}

/* 表单控件统一 Regular + #404040；强制思源黑体，避免 input 回退系统字体显得偏粗 */
.contact-page .contact-form,
.contact-page .contact-form input,
.contact-page .contact-form select,
.contact-page .contact-form textarea,
.contact-page .contact-form label,
.contact-page .contact-form button:not(.contact-submit),
.contact-page .ui-select-trigger,
.contact-page .ui-select-label,
.contact-page .ui-select-option,
.ir-page .ir-survey,
.ir-page .ir-survey input,
.ir-page .ir-survey select,
.ir-page .ir-survey textarea,
.ir-page .ir-survey label:not(.ir-upload-btn),
.ir-page .ir-survey button:not(.ir-survey-submit),
.ir-page .ir-survey em,
.ir-page .ir-survey .ui-select-trigger,
.ir-page .ir-survey .ui-select-label,
.ir-page .ir-survey .ui-select-option {
  font-family: "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #404040 !important;
}
.contact-page .contact-form input,
.contact-page .contact-form select,
.contact-page .contact-form textarea,
.contact-page .ui-select-trigger,
.contact-page .ui-select-option,
.ir-page .ir-survey input,
.ir-page .ir-survey select,
.ir-page .ir-survey textarea,
.ir-page .ir-survey .ui-select-trigger,
.ir-page .ir-survey .ui-select-option {
  /* 覆盖 UA 对 form control 的 font 简写，防止看起来像加粗 */
  font-size: 14px !important;
  line-height: 20px !important;
}
.contact-page .contact-form input::placeholder,
.contact-page .contact-form textarea::placeholder,
.ir-page .ir-survey input::placeholder,
.ir-page .ir-survey textarea::placeholder,
.contact-page .contact-form input::-webkit-input-placeholder,
.contact-page .contact-form textarea::-webkit-input-placeholder,
.ir-page .ir-survey input::-webkit-input-placeholder,
.ir-page .ir-survey textarea::-webkit-input-placeholder {
  color: #999 !important;
  font-weight: 400 !important;
  opacity: 1;
}
/* 未选下拉 = placeholder #999；已选/已输入 = #404040 */
.contact-page .ui-select.is-placeholder .ui-select-label,
.ir-page .ir-survey .ui-select.is-placeholder .ui-select-label {
  color: #999 !important;
}
.contact-page .ui-select:not(.is-placeholder) .ui-select-label,
.ir-page .ir-survey .ui-select:not(.is-placeholder) .ui-select-label {
  color: #404040 !important;
}
.contact-page .contact-select:invalid,
.ir-page .ir-survey select:invalid {
  color: #999 !important;
}
.contact-page .contact-radio input:checked ~ span:last-child,
.ir-page .ir-survey .ir-boxcheck input:checked ~ em {
  color: #df0010 !important;
}
.contact-page .contact-form button.contact-submit,
.contact-page button.contact-submit,
.ir-page .ir-survey button.ir-survey-submit,
.ir-page .ir-survey button.ir-survey-submit span,
.ir-page button.ir-survey-submit,
.ir-page button.ir-survey-submit span,
.ir-page .ir-survey label.ir-upload-btn,
.ir-page label.ir-upload-btn {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
/* 下拉选项 hover（未选）：白底 + 红字，避免被表单 #404040 盖成红底黑字 */
.contact-page .ui-select-option:hover,
.contact-page .ui-select-option:focus,
.ir-page .ui-select-option:hover,
.ir-page .ui-select-option:focus,
.ui-select-option:hover:not(.is-selected),
.ui-select-option:focus:not(.is-selected) {
  background: #fff !important;
  color: #df0011 !important;
}
.contact-page .ui-select-option.is-selected,
.ir-page .ui-select-option.is-selected,
.contact-page .ui-select-option.is-selected:hover,
.ir-page .ui-select-option.is-selected:hover {
  background: rgba(223, 0, 17, 0.08) !important;
  color: #df0011 !important;
}
/* 日期/时间分段选中：压过表单字色规则，避免仍显示系统蓝 */
.ir-page .ir-survey input[type=date]::-webkit-datetime-edit-year-field:focus,
.ir-page .ir-survey input[type=date]::-webkit-datetime-edit-month-field:focus,
.ir-page .ir-survey input[type=date]::-webkit-datetime-edit-day-field:focus,
.ir-page .ir-survey input[type=time]::-webkit-datetime-edit-hour-field:focus,
.ir-page .ir-survey input[type=time]::-webkit-datetime-edit-minute-field:focus,
.ir-page .ir-survey input[type=time]::-webkit-datetime-edit-second-field:focus,
.ir-page .ir-survey input[type=time]::-webkit-datetime-edit-ampm-field:focus {
  background: #df0011 !important;
  background-color: #df0011 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* —— 平板 / 手机：大标题阶梯降一档 —— */
@media (max-width: 991px) {
  :root {
    --fs-5xl: 28px;
    --fs-4xl: 24px;
    --fs-3xl: 22px;
    --fs-2xl: 22px;
  }
}
@media (max-width: 767px) {
  :root {
    --fs-5xl: 24px;
    --fs-4xl: 22px;
    --fs-3xl: 20px;
    --fs-2xl: 20px;
    --fs-lg: 16px;
    --fs-xl: 18px;
    --control-h: 32px;
    --space-section-y: 40px;
  }
  .pad60,
  .container.box,
  .container.wx_public {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .nav > li {
    font-size: var(--fs-md);
  }
  .pagelist li a,
  .pagelist li span {
    padding: 0 7px;
    font-size: var(--fs-xs);
  }
}
