/**
 * PC 端 2027 新视觉主题
 * 切图：images/ui/page-bg-*.jpg、slogan.png、landmark-*.png、emblem.png、images/ui/*
 * 无切图时用 CSS 占位，切图到位自动显示
 */
:root {
  --pc-teal: #00a8a8;
  --pc-teal-dark: #009090;
  --pc-orange: #ff5f09;
  --pc-sky: #bee4fb;
  --pc-sky-2: #e8f6ff;
  --pc-text: #333333;
  --pc-muted: #666666;
  --pc-card: rgba(255, 255, 255, 0.92);
  --pc-radius: 24px;
  --pc-content-w: 1200px;
}

html,
body {
  min-width: 1280px;
  background: var(--pc-sky) !important;
  color: var(--pc-text);
  font-family: "syht", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
}

body.pc-theme #wrap,
#wrap,
#wrap.company-bg,
#wrap.company-detail-bg,
#wrap.job-bg {
  width: 100%;
  min-width: 1280px;
  margin: 0 auto;
  overflow: hidden;
  min-height: 100vh;
  background-color: var(--pc-sky) !important;
  /* 默认不铺整图（旧 page-bg.jpg 本就不存在）；有 LAYOUT_PAGE_BG 的页由 .pc-page-skin 承接 */
  background-image: none;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}

/* 有页面底图：wrap 只铺衔接色，真正的底图在 .pc-page-skin */
#wrap.pc-has-page-bg {
  background-color: #a4daf4 !important;
  background-image: none !important;
}

body.pc-theme.pc-skin-about,
body.pc-theme.pc-skin-culture,
body.pc-theme.pc-skin-into,
body.pc-theme.pc-skin-info,
body.pc-theme.pc-skin-unit,
body.pc-theme.pc-skin-job {
  background-color: #a4daf4 !important;
}

/* 各页 min-height 跟「当前宽度下底图像素高」走，避免固定 px 比缩放后的图更高而底部露色 */
body.pc-theme.pc-skin-culture .pc-page-skin {
  min-height: calc(100vw * 3883 / 1920);
}

body.pc-theme.pc-skin-into .pc-page-skin {
  min-height: calc(100vw * 1117 / 1920);
}

body.pc-theme.pc-skin-info .pc-page-skin {
  min-height: calc(100vw * 2632 / 1920);
}

/* 招聘单位：上下分层 + 底边/顶边渐隐，中间色衔接，消断层 */
body.pc-theme.pc-skin-unit .pc-page-skin,
body.pc-theme.pc-skin-unit .pc-page-skin.pc-page-skin--layered {
  position: relative;
  min-height: 0;
  /* 与切图渐隐区天空色对齐 */
  background-color: #cbeaf3;
  background-image: linear-gradient(180deg, #cbeaf3 0%, #d8f0f4 50%, #cbeaf3 100%);
  /* 不能 overflow:hidden：导航有 top:-114px 上叠 banner，会被裁掉 */
  background-size: auto;
  background-position: center top;
}

/* 上层云：贴顶，底边 mask 渐隐到透明 */
body.pc-theme.pc-skin-unit .pc-page-skin::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  aspect-ratio: 1920 / 1100;
  background: url(../images/ui/page-bg-unit-top.jpg) center top / 100% auto no-repeat;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 58%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 58%, transparent 100%);
}

/* 下层地标：贴底，顶边 mask 渐隐到透明 */
body.pc-theme.pc-skin-unit .pc-page-skin::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 100%;
  aspect-ratio: 1920 / 720;
  background: url(../images/ui/page-bg-unit-bottom.jpg) center bottom / 100% auto no-repeat;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(0deg, #000 0%, #000 58%, transparent 100%);
  mask-image: linear-gradient(0deg, #000 0%, #000 58%, transparent 100%);
}

/* 内容压在分层背景之上；导航需更高，避免被云层伪元素影响 */
body.pc-theme.pc-skin-unit .pc-page-skin > * {
  position: relative;
  z-index: 1;
}

body.pc-theme.pc-skin-unit .pc-page-skin > .pc-navs {
  z-index: 3;
}

/* 招聘岗位：页面底图 page-bg-job.jpg 1920×1517 */
body.pc-theme.pc-skin-job .pc-page-skin {
  min-height: calc(100vw * 1517 / 1920);
}

/**
 * 页面底图区域（banner 下方）
 * cover 铺满容器：内容变高或窄屏时不再底部露衔接色；地标贴底保留
 */
.pc-page-skin {
  width: 100%;
  box-sizing: border-box;
  background-color: #a4daf4;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  min-height: calc(100vw * 1571 / 1920);
}

/* ========== 顶栏 Hero ========== */
.pc-chrome {
  position: relative;
  width: 100%;
  z-index: 2;
}

/**
 * 顶栏 banner（banner-about.jpg 1920×880）
 * 100% 铺满对齐 2026（img width:100%）：按比例随宽变化，缩放不露侧边
 * Logo 单独叠在左上角，不依赖切图里的 Logo
 */
.pc-hero-img,
.pc-hero.pc-hero-img {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1920 / 880;
  padding: 0 !important;
  margin: 0;
  min-height: 0 !important;
  line-height: 0;
  text-align: left;
  overflow: hidden;
  background-color: #68bceb;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
}

.pc-banner-img {
  display: none;
  /* 改用背景图 100% 铺满 */
}

/* 左上角独立 Logo */
.pc-logo {
  position: absolute;
  left: 48px;
  top: 28px;
  z-index: 6;
  display: block;
  line-height: 0;
}

.pc-logo img {
  height: 66px;
  width: auto;
  display: block;
}

/* 兼容旧热区类名，不再使用 */
.pc-logo-hotspot {
  display: none;
}

.pc-hero-main {
  position: relative;
  z-index: 2;
  padding-top: 10px;
}

/* 无整幅切图时的 CSS 拼装顶栏 */
.pc-hero:not(.pc-hero-img) {
  position: relative;
  width: 100%;
  padding: 0;
  text-align: center;
  min-height: 280px;
}

.pc-slogan {
  margin: 0 auto;
  max-width: 720px;
  position: relative;
  min-height: 72px;
}

.pc-slogan-img {
  max-width: 640px;
  width: 72%;
  height: auto;
  display: none;
  /* 加载成功后再显示，见 onload */
  margin: 0 auto;
}

.pc-slogan-img.is-ready {
  display: block;
}

.pc-slogan-text {
  font-family: "youshe", "fy", "PingFang SC", sans-serif;
  font-size: 56px;
  line-height: 1.25;
  letter-spacing: 4px;
  background: linear-gradient(90deg, #1a8fd4 0%, #00b4a6 55%, #3ecf7a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: bold;
  padding: 8px 0;
}

.pc-sub {
  margin: 12px auto 0;
  display: inline-block;
  padding: 0 28px;
  font-size: 22px;
  color: #1a6fa8;
  font-weight: bold;
  position: relative;
}

.pc-sub::before,
.pc-sub::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ff8a3d);
}

.pc-sub::before {
  right: 100%;
  margin-right: 12px;
  background: linear-gradient(90deg, transparent, #ff8a3d);
}

.pc-sub::after {
  left: 100%;
  margin-left: 12px;
  background: linear-gradient(90deg, #ff8a3d, transparent);
}

.pc-emblem {
  margin: 16px auto 0;
  width: 88px;
  height: 88px;
}

.pc-emblem img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.pc-landmark {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  line-height: 0;
  pointer-events: none;
}

.pc-landmark img {
  width: 100%;
  height: auto;
  display: block;
}

.pc-landmark.is-empty {
  height: 72px;
  background: linear-gradient(180deg,
      transparent 0%,
      rgba(180, 220, 245, 0.45) 100%);
  position: relative;
}

.pc-landmark.is-empty::after {
  content: "";
  position: absolute;
  left: 5%;
  right: 5%;
  bottom: 0;
  height: 48px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
  border-radius: 50% 50% 0 0;
  opacity: 0.6;
}

.pc-landmark-top {
  margin-top: -20px;
}

/* ========== 主导航 ========== */
.pc-navs {
  width: 100%;
  padding: 4px 0 20px;
  position: relative;
  z-index: 3;
  margin-top: -8px;
}

/* 导航在 page-skin 里，坐在底图天空上 */
/* 导航上移叠到 banner 下沿：用 top 偏移，不用负 margin-top，避免把 page-skin 底图一起拽上去 */
.pc-chrome.has-banner-img .pc-navs,
.pc-page-skin .pc-navs {
  position: relative;
  top: -114px;
  margin-top: 0;
  /* 抵消 top 占位，让下面内容跟着贴上来 */
  margin-bottom: -114px;
  padding-top: 12px;
  padding-bottom: 20px;
  z-index: 3;
}

.pc-navs-inner {
  width: 1280px;
  max-width: 96%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: nowrap;
}

/* 一级导航：nav-bg / nav-bg-active 切图（244×98） */
.pc-nav-item {
  flex: 0 0 244px;
  width: 244px;
  height: 98px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 图标与文字间距 */
  gap: 25px;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
  color: #00a59f;
  font-size: 24px;
  line-height: 1;
  /* 阿里妈妈方圆体 VF，不用优设标题黑 */
  font-family: "fy", "Microsoft YaHei", sans-serif;
  font-weight: 500;
  background: url(../images/ui/nav-bg.png) no-repeat center center;
  background-size: 100% 100%;
  transition: color 0.2s;
}

.pc-nav-item:hover,
.pc-nav-item.active {
  color: #e05020;
  background-image: url(../images/ui/nav-bg-active.png);
  background-color: transparent;
  border: 0;
  box-shadow: none;
}

.pc-nav-ico {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pc-nav-txt {
  line-height: 1;
  display: inline-block;
}

.pc-nav-ico img {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

/* ========== 页脚 ========== */
.pc-footer {
  width: 100%;
  padding: 0 0 24px;
  text-align: center;
}

.pc-landmark-bottom {
  margin-bottom: 8px;
}

.pc-copy {
  color: #5a7a90;
  font-size: 13px;
  line-height: 40px;
}

/* ========== 内容区玻璃卡片 ========== */
.mains {
  width: 100%;
  overflow: hidden;
  padding: 10px 0 40px;
  position: relative;
}

.mains .c-content {
  width: var(--pc-content-w);
  max-width: 94%;
  margin: 0 auto;
  position: relative;
  min-height: 420px;
  box-sizing: border-box;
  background-color: var(--pc-card);
  border: 2px solid rgba(120, 190, 230, 0.55);
  border-radius: var(--pc-radius);
  box-shadow: 0 12px 40px rgba(40, 120, 180, 0.12);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 36px 48px 48px !important;
}

/* 内容框切图：宽高锁定切图像素，禁止 100% 100% 拉伸变形 */
.mains .c-content.pc-has-content-bg {
  width: 1262px !important;
  max-width: 1262px !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  /* 默认按宽铺、高度跟切图，具体尺寸由各 Tab skin 覆盖 */
  background-size: 1262px auto !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  /* 内边距只占框内，不把盒子撑破切图尺寸 */
  padding: 48px 56px 40px !important;
  box-sizing: border-box !important;
  overflow: auto;
  min-height: 0;
}

/* 简介 content-bg-about.png：1262×1256 */
body.pc-skin-about .mains .c-content.pc-has-content-bg {
  height: 1256px;
  max-height: 1256px;
  background-size: 1262px 1256px !important;
}

/* 招聘公告 content-bg-info.png：1262×2403 */
body.pc-skin-info .mains .c-content.pc-has-content-bg {
  height: 2403px;
  max-height: 2403px;
  background-size: 1262px 2403px !important;
  padding-top: 80px !important;
  /* 内容区顶部内边距 */
}

/* 招聘岗位 content-bg-job.png：1262×1291，框高锁定切图，内部滚动 */
body.pc-skin-job .mains .c-content.pc-has-content-bg {
  height: 1291px;
  max-height: 1291px;
  background-size: 1262px 1291px !important;
  padding: 72px 48px 48px !important;
  overflow: hidden;
}

/* 招聘单位：内容框上/中/下三段贴齐；总高跟视口走 = 100vh - 100，避免一屏看不完还要整页上下滑 */
body.pc-skin-unit .mains {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  /* 预留约 100px 给顶栏等，内容框落在一屏内 */
  height: 1500px;
  max-height: 1500px;
  padding: 0 0 10px;
  overflow: hidden;
}

body.pc-skin-unit .pc-unit-cap {
  display: block;
  width: 1262px;
  max-width: 94%;
  margin: 0 auto;
  padding: 0;
  font-size: 0;
  line-height: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* 上盖：content-bg-unit-top.png 1262×100 */
body.pc-skin-unit .pc-unit-cap-top {
  height: 100px;
  background-image: url(../images/ui/content-bg-unit-top.png);
}

/* 下盖：content-bg-unit-bottom.png 1262×100，与中段贴齐不叠 */
body.pc-skin-unit .pc-unit-cap-bottom {
  height: 100px;
  background-image: url(../images/ui/content-bg-unit-bottom.png);
}

/* 中段：平铺 mid，高度 = 总高 - 上盖 - 下盖；内部 flex 撑满，滚动条贴底 */
body.pc-skin-unit .mains .c-content.unit-wrap {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column !important;
  width: 1262px !important;
  max-width: 94% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background-color: transparent !important;
  background-image: url(../images/ui/content-bg-unit-mid.png) !important;
  background-repeat: repeat-y !important;
  background-position: center top !important;
  background-size: 100% auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.pc-skin-unit .pc-unit-scroll {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow: hidden;
  /* 外层不滚，搜索固定，左右各自滚；底边少留空，滚动条贴近下盖 */
  box-sizing: border-box;
  padding: 8px 48px 0;
  width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

/* 单位页滚动条：轨道背景 #86a4c3，滑块青绿，宽 2px
   Chrome 121+ 若写了 scrollbar-color/width 会覆盖 ::-webkit-scrollbar，故标准属性只给 Firefox */
body.pc-skin-unit .pc-unit-side::-webkit-scrollbar,
body.pc-skin-unit .pc-unit-main::-webkit-scrollbar {
  width: 2px;
  height: 2px;
}

body.pc-skin-unit .pc-unit-side::-webkit-scrollbar-button,
body.pc-skin-unit .pc-unit-main::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}

/* 轨道背景 */
body.pc-skin-unit .pc-unit-side::-webkit-scrollbar-track,
body.pc-skin-unit .pc-unit-main::-webkit-scrollbar-track {
  background: #86a4c3;
}

/* 滑块颜色 */
body.pc-skin-unit .pc-unit-side::-webkit-scrollbar-thumb,
body.pc-skin-unit .pc-unit-main::-webkit-scrollbar-thumb {
  background: #00a59f;
  border-radius: 0;
  border: 0;
}

body.pc-skin-unit .pc-unit-side::-webkit-scrollbar-thumb:hover,
body.pc-skin-unit .pc-unit-main::-webkit-scrollbar-thumb:hover {
  background: #008f8a;
}

@supports not selector(::-webkit-scrollbar) {
  body.pc-skin-unit .pc-unit-side,
  body.pc-skin-unit .pc-unit-main {
    scrollbar-width: thin;
    scrollbar-color: #00a59f #86a4c3;
  }
}

/* 搜索栏固定在内容区顶部，不参与左右栏滚动 */
body.pc-skin-unit .pc-unit-scroll>.searchbox {
  flex-shrink: 0;
}

body.pc-skin-unit .pc-unit-layout {
  flex: 1 1 auto;
  min-height: 0 !important;
  width: 100%;
  display: flex;
  align-items: stretch !important;
  overflow: hidden;
}

/* 感受文化 content-bg-culture.png：1262×3567 */
body.pc-skin-culture .mains .c-content.pc-has-content-bg {
  height: 3567px;
  max-height: 3567px;
  background-size: 1262px 3567px !important;
}

/* 走进城建：切图原尺寸 1262×791（含光晕），禁止拉伸；视频 1100×619 居中 */
body.pc-skin-into .mains .c-content.pc-has-content-bg {
  width: 1262px !important;
  max-width: 1262px !important;
  height: 791px !important;
  max-height: 791px !important;
  background-size: 1262px 791px !important;
  background-position: center center !important;
  padding: 0 !important;
  overflow: hidden;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

body.pc-skin-into .mains .c-content .citem.active {
  display: flex !important;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
}

body.pc-skin-into .mains .c-content .citem .cont3 {
  display: flex !important;
  width: 1100px !important;
  height: 619px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
}

body.pc-skin-into .pc-video-frame {
  position: relative;
  width: 1100px !important;
  height: 619px !important;
  margin: 0 !important;
  flex-shrink: 0;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
}

body.pc-skin-into .pc-video-frame video,
body.pc-skin-into .mains .c-content .citem .vvv,
body.pc-skin-into .vvv {
  width: 1100px !important;
  height: 619px !important;
  max-width: 1100px !important;
  max-height: 619px !important;
  object-fit: contain !important;
  cursor: pointer;
}

.mains .c-content::before {
  display: none !important;
}

/* 有页面底图时底栏地标已画在底图上 */
.pc-footer.has-page-bg {
  padding-top: 80px;
  background: transparent;
}

.mains .c-content>* {
  position: relative;
  z-index: 2;
}

/* 旧 banner 样式兼容：layout 不再输出 .banner 整图 */
.banner {
  display: none;
}

/* ========== 集团介绍子 Tab ========== */
.mains .choose-nav {
  width: var(--pc-content-w);
  max-width: 94%;
  margin: 0 auto 0px;
  display: flex;
  justify-content: center;
  gap: 28px;
}

/* 二级导航：sub-nav-bg / sub-nav-active 切图（242×73） */
.mains .choose-nav .citem {
  width: 242px;
  height: 73px;
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
  /* 切图 242×73：实体色块约 y=4–57（中心 30.5），整图中心 36，底光晕约 15px。
     下边距 11px 让 flex 中心落到色块里，而不是整张含阴影的图 */
  padding: 0 20px 11px !important;
  text-align: center;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 22px;
  font-weight: bold;
  color: #1a7a9a;
  cursor: pointer;
  text-decoration: none;
  /* 二级导航改为 a 跳转后去掉下划线 */
  background: url(../images/ui/sub-nav-bg.png) no-repeat center center !important;
  background-size: 100% 100% !important;
}

.mains .choose-nav .citem.active {
  color: #fff !important;
  background: url(../images/ui/sub-nav-active.png) no-repeat center center !important;
  background-size: 100% 100% !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 「城」字角标：左右都用右下实心块，左上旋转 180° 对位（PC 用 px） */
.pc-cheng-mark {
  position: relative;
  display: inline-block;
  /* 左侧多留一点；相对「新」再多 2px */
  padding: 2px 4px 2px 8px;
  margin: 0 1px 0 5px;
  line-height: 1;
  vertical-align: baseline;
  color: inherit;
}

.pc-cheng-mark::before,
.pc-cheng-mark::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-image: url(../images/ui/cheng-br-teal.png);
}

/* 左上角：同一套符号转 180°，开口朝向「城」 */
.pc-cheng-mark::before {
  left: -3px;
  top: 3px;
  transform: rotate(180deg);
}

/* 右下角：往右 2px，再往上回 2px */
.pc-cheng-mark::after {
  right: -6px;
  bottom: 2px;
}

/* 选中 Tab 白字时换白色角标 */
.mains .choose-nav .citem.active .pc-cheng-mark::before,
.mains .choose-nav .citem.active .pc-cheng-mark::after {
  background-image: url(../images/ui/cheng-br-white.png);
}

.mains .c-content .citem {
  display: none;
  width: 100%;
  padding: 0;
}

.mains .c-content .citem.active {
  display: block;
}

.mains .c-content.bg-company-content>.citem {
  padding: 0;
}

/* ========== 通用文案 ========== */
.p {
  font-size: 16px;
  /* 正文用思源黑体 */
  font-family: "syht", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
  color: #333333;
  line-height: 36px;
  text-indent: 2em;
  padding: 0;
  text-align: justify;
  margin-bottom: 20px;
  font-weight: 400;
}

.p span,
.p .hl,
.p .hl-num {
  font-family: "syht", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
  color: var(--pc-teal);
  font-weight: 700;
}

/* 一级标题：title-bg.png（378×64） */
.titles,
.pc-sec-title,
.detail-title {
  width: 378px !important;
  min-width: 378px;
  max-width: 560px;
  height: 64px !important;
  line-height: 64px !important;
  text-align: center;
  font-size: 24px;
  font-family: "fy", "Microsoft YaHei", sans-serif;
  color: #fff;
  background: url(../images/ui/title-bg.png) no-repeat center center !important;
  background-size: 100% 100% !important;
  margin: 28px auto 12px;
  position: relative;
  border-radius: 0;
  clip-path: none;
  padding: 0 36px;
  box-sizing: border-box;
}

.titles.xl,
.titles.lg {
  width: auto !important;
  min-width: 378px;
  height: 64px !important;
  line-height: 64px !important;
  background: url(../images/ui/title-bg.png) no-repeat center center !important;
  background-size: 100% 100% !important;
  padding: 0 48px;
}

.detail-title span {
  display: inline-block;
}

.detail-title-level2 {
  text-align: center;
  margin: 12px auto 16px;
}

.detail-title-level2 span {
  display: inline-block;
  padding: 6px 28px;
  background: #fff;
  border: 2px solid var(--pc-orange);
  border-radius: 20px;
  color: var(--pc-orange);
  font-size: 18px;
  font-weight: bold;
}

/* 二级标题：sub-title-bg.png（455×88） */
.tips {
  font-family: "fy", "Microsoft YaHei", sans-serif;
  width: 449px !important;
  min-width: 449px;
  height: 80px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ff5f09 !important;
  font-size: 24px !important;
  line-height: 1.3 !important;
  background: url(../images/ui/sub-title-bg.png) no-repeat center center !important;
  background-size: 100% 100% !important;
  border: 0;
  border-radius: 0;
  margin: -6px auto 16px !important;
  font-weight: bold;
  position: relative;
  top: 0 !important;
  padding: 0 48px;
  box-sizing: border-box;
}

.tips span {
  display: block;
  text-align: center;
}

.tips.xl,
.tips.lg,
.tips.sm {
  width: auto;
  min-width: 455px;
  height: 88px;
  background: url(../images/ui/sub-title-bg.png) no-repeat center center !important;
  background-size: 100% 100% !important;
}

/* 感受文化：一级标题在上，二级标题叠在其下沿 */
.cont2 .titles {
  width: auto !important;
  display: table;
  padding: 0 48px;
  margin: 36px auto 0;
  position: relative;
  z-index: 4;
}

.cont2 .tips {
  width: auto;
  min-width: 455px;
  padding: 0 14px;
  /* 上移叠住一级标题底部 */
  margin: -3px auto 18px !important;
  position: relative;

}

/* 文案底：对齐 text-bg.png
   填充 rgba(255,250,248,0.5)；描边为 #1198a6 柔光，不是实心粗线 */
.cont2 .cont-fff,
.mains .c-content .citem .cont2 .cont-fff {
  width: 100%;
  max-width: 1118px;
  margin: 20px auto 60px !important;
  padding: 28px 36px 28px !important;
  box-sizing: border-box;
  background: rgba(255, 250, 248, 0.5) !important;
  border: 1px solid rgba(17, 152, 166, 0.35);
  border-radius: 20px;
  /* 内外光晕模拟切图青绿描边 */
  box-shadow:
    0 0 0 1px rgba(193, 227, 229, 0.55),
    0 0 10px 2px rgba(17, 152, 166, 0.45),
    inset 0 0 0 1px rgba(193, 227, 229, 0.35);
}

.cont2 .cont-fff .p {
  color: #373737;
  margin-bottom: 16px;
}

.cont2 .cont-fff .p:last-child {
  margin-bottom: 0;
}

.cont-fff {
  background: transparent;
  border-radius: 0;
  padding: 8px 28px 8px;
  margin-bottom: 16px;
}

/* ========== 荣誉徽章 ========== */
/* 内容框内边距后可用宽约 1070，525×2+间距会撑成单列，故用 50% 保证两列 */
.clist,
.pc-honor-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin: 24px auto 20px;
  box-sizing: border-box;
}

.clist-item,
.pc-honor-item {
  /* 两列：各占一半，中间留缝 */
  flex: 0 0 calc(50% - 12px);
  width: calc(50% - 12px);
  max-width: 525px;
  min-height: 94px;
  display: flex;
  align-items: center;
  padding: 12px 16px 12px 60px;
  background: url(../images/ui/honor-item-bg.png) no-repeat center;
  background-size: 100% 100%;
  border-radius: 12px;
  font-size: 20px;
  color: #e94518;
  font-weight: bold;
  line-height: 1.35;
  text-align: left;
  box-sizing: border-box;
  margin: 0 0 20px !important;
}

.pc-honor-icon {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  margin-right: 12px;
}

.pc-honor-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 第 7 条（奇数末项）整行居中 */
.pc-honor-list .pc-honor-item:last-child:nth-child(odd) {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ========== 走进城建视频：播放器 1100×619 ========== */
.pc-video-frame,
.video-wrap {
  display: block;
  position: relative;
  margin: 0 auto;
  width: 1100px;
  height: 619px;
  max-width: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-sizing: border-box;
  cursor: pointer;
}

.pc-video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  width: 88px;
  height: 88px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(0, 168, 168, 0.88);
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.pc-video-play::after {
  content: "";
  position: absolute;
  left: 55%;
  top: 50%;
  border-style: solid;
  border-width: 16px 0 16px 26px;
  border-color: transparent transparent transparent #fff;
  transform: translate(-50%, -50%);
}

.pc-video-frame.is-playing .pc-video-play {
  display: none;
}

.pc-video-frame video,
.video-wrap video,
.vvv {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  display: block;
  object-fit: contain;
  background: #000;
  cursor: pointer;
}

.cont3,
.mains .c-content .citem .cont3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/* ========== 招聘公告 ========== */
.pc-major-list {
  display: grid;
  grid-template-columns: 508px 508px;
  justify-content: center;
  gap: 20px 40px;
  margin: 10px 0 30px;
}

/* 专业卡片：zy-item-bg.png 原尺寸 508×243；图标+标题同行，介绍另起一行 */
.pc-major-item {
  width: 508px;
  height: 243px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: 28px 36px 32px;
  background: url(../images/ui/zy-item-bg.png) no-repeat center center;
  background-size: 508px 243px;
}

.pc-major-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.pc-major-ico {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #e6f8f8;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.pc-major-ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pc-major-item h4 {
  margin: 0;
  color: var(--pc-teal);
  font-size: 20px;
  line-height: 1.2;
}

.pc-major-item p {
  margin: 0;
  color: #666;
  font-size: 15px;
  line-height: 1.55;
}

.pc-benefit-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px 16px;
  margin: 10px 0 36px;
  text-align: center;
}

/* 第二行 4 个居中：第 6 项起偏移半格 */
.pc-benefit-grid .item:nth-child(6) {
  grid-column: 1;
}

.pc-benefit-grid .item:nth-child(n + 6) {
  /* 用空列实现视觉居中：整体包一层不够时，改为 flex 兜底 */
}

@supports (display: flex) {
  .pc-benefit-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .pc-benefit-grid .item {
    width: 18%;
    min-width: 140px;
  }
}

.pc-benefit-grid .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.pc-benefit-grid .ico {
  width: 118px;
  height: 118px;
  border-radius: 50%;
  /* background: #e6f4ff; */
  display: flex;
  align-items: center;
  justify-content: center;
}

.pc-benefit-grid .ico img {
  width: 118px;
  height: 118px;
  object-fit: contain;
}

.pc-benefit-grid span {
  color: var(--pc-teal);
  font-size: 15px;
  line-height: 1.4;
  font-weight: bold;
}

.pc-process {
  text-align: center;
  margin: 10px 0 36px;
}

.pc-process img {
  max-width: 100%;
  height: auto;
}

.pc-apply-wrap,
.apply-wrap {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 10px 0 20px;
  flex-wrap: wrap;
}

.pc-apply-box {
  flex: 1;
  min-width: 320px;
  max-width: 460px;
  text-align: center;
}

.pc-apply-box img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* 招聘公告：板块间距加大（专业 / 福利 / 流程 / 网申） */
body.pc-skin-info .pc-major-list,
body.pc-skin-info .pc-benefit-grid,
body.pc-skin-info .pc-process {
  margin-bottom: 64px;
}

body.pc-skin-info .titles {
  margin-top: 48px;
  margin-bottom: 20px;
}

/* 第一个标题贴顶，顶部留白交给内容框 padding-top */
body.pc-skin-info .citem>.titles:first-child {
  margin-top: 0;
}

/* 旧公告整图隐藏兼容 */
.img-item,
.info-list,
.info-lc,
.zylists {
  display: none !important;
}

/* ========== 搜索框 ========== */
.searchbox,
.pc-search {
  width: 520px;
  max-width: 100%;
  margin: 0 auto 24px;
  height: 52px;
  display: flex;
  align-items: center;
  background: #fff;
  border: 2px solid #9ed4e8;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(40, 120, 180, 0.1);
}

.searchbox .inp,
.pc-search .inp {
  flex: 1;
  height: 100%;
  border: 0;
  outline: none;
  padding: 0 20px;
  font-size: 16px;
  background: transparent;
}

.searchbox .s-right,
.pc-search-btn,
.pc-search .s-right {
  height: 100%;
  min-width: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #2ec4b6 0%, #00a8a8 100%);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  border: 0;
}

.searchbox .search-img {
  display: none;
}

.search-tips {
  text-align: center;
  color: #888;
  margin-bottom: 16px;
  font-size: 14px;
}

/* ========== 招聘岗位 ========== */
.job-wrap {
  padding: 10px 20px 20px !important;
}

/* 岗位页：切图框固定，列表在框内滚动；align-content 避免搜索行被撑高 */
body.pc-skin-job .mains .c-content.pc-has-content-bg {
  display: flex;
  flex-direction: column;
}

body.pc-skin-job .job-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: visible;
  box-sizing: border-box;
  align-content: flex-start;
}

/* 去掉旧版 search-box-wrap 的 60px 底边距 */
body.pc-skin-job .search-box-wrap {
  width: 100%;
  flex: 0 0 auto;
  height: auto;
  margin-bottom: 16px;
}

.unit-content {
  display: flex;
  flex-wrap: wrap;
}

.search-box-wrap {
  width: 100%;
}

.unit-content .search-wrap {
  width: 240px;
  padding-right: 28px;
}

.unit-content .search-wrap .select-title {
  color: var(--pc-teal);
  font-weight: bold;
  font-size: 18px;
  margin: 16px 0 8px;
}

.unit-content .search-wrap .select-wrap {
  position: relative;
  background: #fff;
  border: 1px solid #b8dcec;
  border-radius: 8px;
  padding: 10px 12px;
  cursor: pointer;
  color: #1a7a9a;
}

.unit-content .job-list-wrap {
  flex: 1;
  width: 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #d0e8f4;
}

.unit-content .job-list-wrap .job-list .positions-header .recruitment-positions-item {
  background-image: none;
  background: linear-gradient(90deg, #dff6f4 0%, #c8ebe8 100%);
  border-bottom: 0;
  height: 52px;
}

.unit-content .job-list-wrap .job-list .positions-header .recruitment-positions-item>div {
  color: #0a6a78 !important;
  font-weight: bold;
  font-size: 18px;
}

.unit-content .job-list-wrap .job-list .recruitment-positions-item .gw {
  color: #1a8fd4;
}

.unit-content .job-list-wrap .job-list .recruitment-positions-item .xl {
  color: #e05050;
}

/* 岗位页右侧列表：表头透明，行用白底圆角卡片 */
body.pc-skin-job .unit-content .job-list-wrap {
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

body.pc-skin-job .positions-header .td {
  display: none;
}

body.pc-skin-job .unit-content .job-list-wrap .job-list .positions-header .recruitment-positions-item {
  background: none;
  height: auto;
  padding: 0 22px 12px;
  border: 0;
  border-radius: 0;
}

body.pc-skin-job .unit-content .job-list-wrap .job-list .positions-header .recruitment-positions-item>div {
  color: #333 !important;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
}

body.pc-skin-job .positions-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.pc-skin-job .unit-content .job-list-wrap .job-list .recruitment-positions-item {
  display: flex;
  align-items: center;
  padding: 16px 22px;
  line-height: 1.4;
  border: 0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(40, 120, 160, 0.08);
}

body.pc-skin-job .unit-content .job-list-wrap .job-list .recruitment-positions-item .gw {
  flex-shrink: 0;
  width: 38%;
  padding-left: 0;
  text-align: left;
  font-size: 16px;
  color: #1196a0;
  text-decoration: none;
}

body.pc-skin-job .unit-content .job-list-wrap .job-list .recruitment-positions-item .qy {
  flex-shrink: 0;
  width: 46%;
  padding: 0 8px;
  text-align: left;
  font-size: 15px;
  color: #333;
}

body.pc-skin-job .unit-content .job-list-wrap .job-list .recruitment-positions-item .xl {
  flex-shrink: 0;
  width: 16%;
  text-align: left;
  font-size: 15px;
  color: #e85d58;
}

/* 招录企业：分类标题字号大于一级企业 */
body.pc-skin-job .select-wrap.company .select-options-wrap .select-options > .select-option-group {
  display: block;
  width: 260px;
  padding: 10px 12px 6px;
  font-size: 16px;
  font-weight: 600;
  color: #0b9a91;
  background: #f3fafa;
  cursor: default;
  pointer-events: none;
  text-align: left;
}

body.pc-skin-job .select-wrap.company .select-options-wrap .select-options > .select-option-item {
  font-size: 13px;
}

/* 招录企业一级：固定高度超出滚动；覆盖通用 overflow:visible */
body.pc-skin-job .select-wrap.company .select-options-wrap > .select-options {
  max-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* 招录企业：有二级时一级右侧显示箭头；二级向右展开，不能相对定位在行内否则会被裁切 */
body.pc-skin-job .select-option-item .option-name {
  flex: 1;
  min-width: 0;
  padding-right: 8px;
}

body.pc-skin-job .select-option-item .has-sub-arrow {
  width: 10px;
  height: 16px;
  flex-shrink: 0;
  margin-left: auto;
  object-fit: contain;
  pointer-events: none;
}

body.pc-skin-job .select-wrap .select-options-wrap,
body.pc-skin-job .select-wrap .select-options-wrap > .select-options {
  overflow: visible;
}

body.pc-skin-job .select-option-item.has-children > .select-options {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  height: auto;
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 40;
}

body.pc-skin-job .select-option-item.has-children:hover > .select-options {
  display: block;
}

/* 岗位页分页：圆角按钮 + 青绿主题，去掉旧版灰线和符号 */
body.pc-skin-job .unit-content .job-list-wrap .paginator-container {
  margin-top: 18px;
  padding-top: 4px;
}

body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap {
  gap: 8px;
}

body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .start,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .end,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .prev,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .next {
  height: 32px;
  padding: 0 14px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  color: #1196a0;
  font-size: 14px;
  line-height: 32px;
  box-shadow: 0 1px 6px rgba(17, 150, 160, 0.12);
  user-select: none;
}

body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .start:hover,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .end:hover,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .prev:hover,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .next:hover {
  background: #1196a0;
  color: #fff;
}

body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .start span,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .end span,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .prev span,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .next span {
  display: none;
}

body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .page {
  height: 32px;
  padding: 0 6px;
  border: 0;
  color: #666;
  font-size: 14px;
  font-weight: normal;
  gap: 6px;
}

body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .page input {
  width: 42px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid #1196a0;
  border-radius: 8px;
  color: #1196a0;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  background: #fff;
}

body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .page input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(17, 150, 160, 0.15);
}

body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .page i,
body.pc-skin-job .unit-content .job-list-wrap .paginator-wrap .page span {
  padding: 0;
  color: #888;
  font-style: normal;
  font-weight: normal;
}

/* ========== 招聘单位：左树右详情 ========== */
.unit-wrap {
  padding: 20px 24px 28px !important;
}

.pc-unit-layout {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  min-height: 560px;
}

.pc-unit-side {
  width: 260px;
  flex-shrink: 0;
  background: #f3fbff;
  border-radius: 16px;
  border: 1px solid #c8e4f4;
  padding: 12px 0;
  max-height: 720px;
  overflow-y: auto;
}

.pc-unit-cat {
  border-bottom: 1px solid #dceef8;
}

.pc-unit-cat-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  cursor: pointer;
  color: #1a6a88;
  font-size: 17px;
  font-weight: bold;
}

.pc-unit-cat-hd:hover,
.pc-unit-cat.open .pc-unit-cat-hd {
  color: var(--pc-teal);
  background: rgba(0, 168, 168, 0.06);
}

.pc-unit-cat-arrow {
  width: 12px;
  height: 12px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: 0.2s;
  margin-right: 4px;
}

.pc-unit-cat.open .pc-unit-cat-arrow {
  transform: rotate(-135deg);
  margin-top: 6px;
}

.pc-unit-cat-list {
  display: none;
  padding: 0 8px 10px;
}

.pc-unit-cat.open .pc-unit-cat-list {
  display: block;
}

.pc-unit-item {
  padding: 10px 12px;
  margin: 4px 0;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.4;
  color: #444;
  cursor: pointer;
}

.pc-unit-item:hover {
  background: #e8f6ff;
  color: var(--pc-teal);
}

.pc-unit-item.active {
  background: #fff;
  color: #e05050;
  font-weight: bold;
  box-shadow: inset 3px 0 0 #e05050;
}

.pc-unit-main {
  flex: 1;
  min-width: 0;
}

.pc-unit-name {
  color: #e05050;
  font-size: 28px;
  text-align: center;
  margin: 8px 0 20px;
  font-weight: bold;
}

.pc-unit-empty {
  text-align: center;
  color: #999;
  padding: 60px 20px;
  font-size: 16px;
}

/* —— 单位页按设计稿切图还原（仅 pc-skin-unit） —— */
body.pc-skin-unit .unit-wrap {
  box-sizing: border-box !important;
}

/* 搜索框：search-bg.png 598×68；右侧绿色搜索按钮、白字（单位页 / 岗位页共用） */
body.pc-skin-unit .mains .c-content .searchbox,
body.pc-skin-unit .searchbox,
body.pc-skin-job .mains .c-content .searchbox,
body.pc-skin-job .searchbox {
  width: 598px !important;
  height: 68px !important;
  max-width: 100%;
  margin: 0 auto 28px !important;
  margin-top: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: url(../images/ui/search-bg.png) no-repeat center center !important;
  background-size: 598px 68px !important;
  overflow: visible;
  display: flex !important;
  align-items: center;
  padding: 0 8px 0 0 !important;
  box-sizing: border-box !important;
}

body.pc-skin-unit .mains .c-content .searchbox .inp,
body.pc-skin-unit .searchbox .inp,
body.pc-skin-job .mains .c-content .searchbox .inp,
body.pc-skin-job .searchbox .inp {
  width: auto !important;
  flex: 1;
  height: 100%;
  line-height: normal !important;
  margin-left: 0 !important;
  padding: 0 16px 0 28px !important;
  font-size: 16px !important;
  color: #333;
  background: transparent;
}

body.pc-skin-unit .mains .c-content .searchbox .s-right,
body.pc-skin-unit .searchbox .s-right,
body.pc-skin-job .mains .c-content .searchbox .s-right,
body.pc-skin-job .searchbox .s-right {
  width: 110px !important;
  min-width: 110px;
  height: 48px !important;
  margin-right: 10px;
  border-radius: 24px;
  background: #00a59f !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: bold;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* 侧栏：独立竖向滚动，高度跟中段拉满（盖过基础样式 max-height:720） */
body.pc-skin-unit .pc-unit-side {
  width: 363px;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0 20px;
  height: auto !important;
  max-height: none !important;
  min-height: 0;
  align-self: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* 右侧公司内容：独立竖向滚动，高度跟中段拉满 */
body.pc-skin-unit .pc-unit-main {
  flex: 1;
  min-width: 0;
  min-height: 0;
  height: auto !important;
  max-height: none !important;
  align-self: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  padding-right: 4px;
}

/* 单位详情视频：16:9 播放器 */
body.pc-skin-unit .company-detail .video-wrap {
  width: 100%;
  max-width: 800px;
  height: auto !important;
  aspect-ratio: 16 / 9;
  margin: 20px auto;
}

body.pc-skin-unit .company-detail .video-wrap video,
body.pc-skin-unit .company-detail .vvv {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
}

body.pc-skin-unit .pc-unit-cat {
  border-bottom: 0;
  margin-bottom: 8px;
}

body.pc-skin-unit .pc-unit-cat-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #00a59f;
  font-size: 20px;
  font-weight: bold;
  padding: 10px 8px;
  background: transparent;
  cursor: pointer;
}

body.pc-skin-unit .pc-unit-cat-hd:hover,
body.pc-skin-unit .pc-unit-cat.open .pc-unit-cat-hd {
  color: #00a59f;
  background: transparent;
}

/* 分类右侧：收起 right.png(8×14) / 展开 down.png(14×8) */
body.pc-skin-unit .pc-unit-cat-icon {
  width: 14px;
  height: 14px;
  object-fit: contain;
  object-position: center;
  flex-shrink: 0;
  display: block;
  margin-left: auto;
}

body.pc-skin-unit .pc-unit-cat-list {
  display: none;
  padding: 0 0 8px 8px;
}

body.pc-skin-unit .pc-unit-cat.open .pc-unit-cat-list {
  display: block;
}

body.pc-skin-unit .pc-unit-node {
  margin: 2px 0;
}

body.pc-skin-unit .pc-unit-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  /* 预留右侧箭头位，避免选中后文字跳动 */
  padding: 8px 24px 8px 4px;
  margin: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  color: #444;
  line-height: 1.45;
  cursor: pointer;
  position: relative;
}

body.pc-skin-unit .pc-unit-item-name {
  flex: 1;
  min-width: 0;
}

body.pc-skin-unit .pc-unit-item:hover {
  background: transparent;
  color: #00a59f;
}

body.pc-skin-unit .pc-unit-item.active {
  background: transparent;
  color: #ff5f09;
  font-weight: bold;
  box-shadow: none;
}

/* 当前选中单位右侧橙色箭头 */
body.pc-skin-unit .pc-unit-active-arrow {
  width: 16px;
  height: 16px;
  position: absolute;
  right: 0;
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  display: block;
}

body.pc-skin-unit .pc-unit-name {
  color: #ff5f09;
  font-size: 30px;
  text-align: center;
  margin: 0 0 28px;
}
.company-detail{
  padding: 0 20px;
}
/* 小节标题：unit-title-bg / unit-sub-title-bg */
/* 一级标题宽度随文字自适应，短文案保最小宽 */
body.pc-skin-unit .detail-title,
body.pc-skin-unit .company-detail .detail-title {
  display: block !important;
  width: fit-content !important;
  min-width: 250px;
  max-width: none;
  height: 42px !important;
  line-height: 42px !important;
  font-size: 20px;
  margin: 36px auto 18px;
  background: url(../images/ui/unit-title-bg.png) no-repeat center center !important;
  background-size: 100% 100% !important;
  padding: 0 28px;
  white-space: nowrap;
  box-sizing: border-box;
}

body.pc-skin-unit .company-detail>.detail-title:first-child {
  margin-top: 0;
}

/* 福利框内二级标题：必须 block 才能 margin:auto 水平居中，负 margin 才能上浮到框顶 */
body.pc-skin-unit .pc-fuli-wrap .detail-title-level2,
body.pc-skin-unit .detail-title-level2 {
  display: block !important;
  width: fit-content;
  min-width: 144px;
  max-width: calc(100% - 40px);
  height: 48px;
  line-height: 48px;
  box-sizing: border-box;
  text-align: center;
  color: #ff5f09;
  font-size: 20px;
  font-weight: bold;
  margin: -54px auto 14px !important;
  background: url(../images/ui/unit-sub-title-bg.png) no-repeat center center;
  background-size: 100% 100%;
  padding: 0 20px;
  position: relative;
  z-index: 2;
  left: auto;
  top: auto;
}

body.pc-skin-unit .detail-title-level2 span {
  display: inline-block;
  line-height: 48px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ff5f09;
  font-size: 20px;
}

/* 福利分组框：用 CSS 还原 fuli-wrap-bg 的白边 + 青绿外发光（不再依赖切图） */
body.pc-skin-unit .pc-fuli-wrap {
  width: 740px;
  max-width: 100%;
  box-sizing: border-box;
  margin: 50px auto 28px;
  padding: 30px 30px;
  background: rgba(255, 250, 248, 0.5);
  border: 1px solid #fff;
  border-radius: 18px;
  /* 对齐设计稿：内阴影 大小10/不透明41% + 投影 大小10/不透明50%，距离均为0 */
  box-shadow:
    inset 0 0 10px rgba(17, 152, 166, 0.41),
    0 0 10px rgba(17, 152, 166, 0.5);
  overflow: visible;
  /* 允许福利标签悬停浮层露出 */
}

/* 三列/四列短标签都居中，最后一行不足时也居中 */
body.pc-skin-unit .pc-fuli-wrap .company-common {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  justify-content: center;
  gap: 12px 14px;
  padding: 0;
  background: none;
  overflow: visible;
}

/* 薪酬结构等短标签：外层定位浮层，内层 .item-txt 负责截断 */
body.pc-skin-unit .mains .c-content .pc-fuli-wrap .company-common:not(.fw) .item:not(.fluid),
body.pc-skin-unit .pc-fuli-wrap .company-common:not(.fw) .item:not(.fluid) {
  width: 156px !important;
  height: 64px !important;
  min-width: 156px;
  max-width: 156px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 156px !important;
  display: block !important;
  text-align: center;
  line-height: normal !important;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 12px;
  color: var(--pc-teal);
  font-size: 14px;
  /* 外层保持 visible，浮层才能露出；截断交给内层 */
  overflow: visible;
  position: relative;
  cursor: default;
}

body.pc-skin-unit .pc-fuli-wrap .company-common:not(.fw) .item:not(.fluid) .item-txt {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 64px;
  padding: 0 10px;
  line-height: 64px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: center;
}

body.pc-skin-unit .mains .c-content .pc-fuli-wrap .company-common:not(.fw) .item:not(.fluid):hover,
body.pc-skin-unit .pc-fuli-wrap .company-common:not(.fw) .item:not(.fluid):hover {
  z-index: 30;
}

/* 悬停浮层：默认向右展开，避免第一个被左侧裁切；每行第 4 个向左展开 */
body.pc-skin-unit .pc-fuli-wrap .company-common:not(.fw) .item:not(.fluid)[data-tip]:hover::after {
  content: attr(data-tip);
  position: absolute;
  left: 0;
  right: auto;
  bottom: calc(100% + 8px);
  transform: none;
  z-index: 31;
  box-sizing: border-box;
  min-width: 156px;
  max-width: 280px;
  width: max-content;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 12px;
  color: var(--pc-teal);
  font-size: 14px;
  font-weight: normal;
  line-height: 1.45;
  white-space: normal;
  text-align: center;
  word-break: break-word;
  box-shadow:
    inset 0 0 8px rgba(17, 152, 166, 0.25),
    0 4px 14px rgba(17, 152, 166, 0.28);
  pointer-events: none;
}

/* 一行四个时，末列贴右展开，避免右侧被裁切 */
body.pc-skin-unit .pc-fuli-wrap .company-common:not(.fw) .item:not(.fluid)[data-tip]:nth-child(4n):hover::after {
  left: auto;
  right: 0;
}

/* fluid 通栏：完整展示长文案，不截断、无浮层 */
body.pc-skin-unit .mains .c-content .pc-fuli-wrap .item.fluid,
body.pc-skin-unit .pc-fuli-wrap .item.fluid {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  flex: 1 1 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 14px 20px !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  text-overflow: clip;
  overflow: visible;
  text-align: center;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 12px;
  color: var(--pc-teal);
  font-size: 15px;
  word-break: break-word;
}

body.pc-skin-unit .pc-fuli-wrap .item.fluid .item-txt {
  display: inline;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  line-height: inherit;
  height: auto;
  padding: 0;
}

/* 招聘单位全称：一行两个，完整换行，压过短标签 156 截断 */
body.pc-skin-unit .mains .c-content .pc-fuli-wrap .company-common.pc-branch-list.pair .item,
body.pc-skin-unit .pc-fuli-wrap .company-common.pc-branch-list.pair .item,
body.pc-skin-unit .pc-fuli-wrap .company-common.pc-branch-list.pair .item.fluid {
  width: calc((100% - 14px) / 2) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  flex: 0 0 calc((100% - 14px) / 2) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 14px 16px !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  overflow: visible;
  text-align: center;
}

body.pc-skin-unit .pc-fuli-wrap .company-common.pc-branch-list.pair .item .item-txt {
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  line-height: 1.5;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  word-break: break-word;
}

body.pc-skin-unit .pc-fuli-wrap .company-common.fw .item,
body.pc-skin-unit .pc-fuli-wrap .item.xxl,
body.pc-skin-unit .pc-fuli-wrap .item.f33 {
  width: auto;
  height: auto;
  flex: initial;
  line-height: 1.4;
  white-space: normal;
  text-overflow: clip;
}

/* kv 福利：一行一项（标签 + 内容），对齐单位页青绿风格 */
body.pc-skin-unit .pc-fuli-wrap .pc-fuli-kv,
body.pc-skin-unit .pc-fuli-kv {
  display: flex !important;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 14px;
  width: 100%;
  margin: 0 !important;
  margin-top: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0;
  justify-content: flex-start;
}

body.pc-skin-unit .pc-fuli-kv-row {
  display: flex;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}

body.pc-skin-unit .pc-fuli-kv-label {
  flex: 0 0 148px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 12px;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 12px;
  color: var(--pc-teal);
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

body.pc-skin-unit .pc-fuli-kv-value {
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 14px 20px;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 12px;
  color: #333;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  word-break: break-word;
}

body.pc-skin-unit .pc-fuli-kv-fluid {
  width: 100%;
  box-sizing: border-box;
  padding: 14px 20px;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 12px;
  color: var(--pc-teal);
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
}

/* 热招岗位：与福利框同风格卡片 */
body.pc-skin-unit .pc-hot-job {
  width: 740px;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 auto 20px;
  padding: 28px 30px 24px;
  background: rgba(255, 250, 248, 0.5);
  border: 1px solid #fff;
  border-radius: 18px;
  box-shadow:
    inset 0 0 10px rgba(17, 152, 166, 0.41),
    0 0 10px rgba(17, 152, 166, 0.5);
}

body.pc-skin-unit .pc-hot-job-title {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 18px;
  padding: 10px 28px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 999px;
  color: var(--pc-teal);
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}

body.pc-skin-unit .pc-hot-job-majors {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 14px;
}

body.pc-skin-unit .pc-hot-job-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 20px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 999px;
  color: var(--pc-teal);
  font-size: 14px;
  line-height: 1.3;
}

/* 联系方式：纯 CSS 圆角卡片（对齐设计稿内阴影+投影），标题/内容对半垂直居中，支持换行 */
body.pc-skin-unit .mains .c-content .us-cont,
body.pc-skin-unit .us-cont {
  display: flex !important;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 28px;
  margin: 12px 0 24px;
  width: 100%;
}

body.pc-skin-unit .mains .c-content .us-cont .us-item,
body.pc-skin-unit .us-item {
  width: 508px !important;
  height: 188px !important;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0 !important;
  /* 半透明浅蓝底 + 白边，替代 contact-item-bg.png */
  background: rgba(222, 244, 253, 0.5) !important;
  border: 1px solid #fff !important;
  border-radius: 18px;
  /* 设计稿：内阴影 大小10/41% + 投影 大小10/50%，距离均为 0 */
  box-shadow:
    inset 0 0 10px rgba(17, 152, 166, 0.41),
    0 0 10px rgba(17, 152, 166, 0.5);
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  text-align: center;
  overflow: hidden;
  white-space: normal;
}

body.pc-skin-unit .mains .c-content .us-cont .us-item.address,
body.pc-skin-unit .us-item.address {
  background: rgba(222, 244, 253, 0.5) !important;
}

/* 上半区：与下半区对半，底部分隔线带内阴影+投影，文字居中 */
body.pc-skin-unit .mains .c-content .us-cont .us-item .title,
body.pc-skin-unit .us-item .title {
  flex: 1 1 50% !important;
  height: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 28px !important;
  box-sizing: border-box;
  display: grid !important;
  place-items: center;
  text-align: center;
  font-size: 20px !important;
  font-weight: bold;
  font-family: inherit !important;
  color: #00a59f !important;
  line-height: 1.35 !important;
  background: none !important;
  border-bottom: 0;
  overflow: visible;
  position: relative;
}

/* 中间分隔线：白线 + 与卡片同款内阴影/投影 */
body.pc-skin-unit .mains .c-content .us-cont .us-item .title::after,
body.pc-skin-unit .us-item .title::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #fff;
  box-shadow:
    inset 0 0 10px rgba(17, 152, 166, 0.41),
    0 0 10px rgba(17, 152, 166, 0.5);
  pointer-events: none;
  z-index: 1;
}

/* 下半区：对半高度，多行文字整体垂直居中 */
body.pc-skin-unit .mains .c-content .us-cont .us-item .f1,
body.pc-skin-unit .mains .c-content .us-cont .us-item p.f1,
body.pc-skin-unit .us-item .f1 {
  flex: 1 1 50% !important;
  height: auto !important;
  min-height: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 36px !important;
  box-sizing: border-box;
  display: grid !important;
  place-items: center;
  text-align: center !important;
  font-size: 16px !important;
  font-family: inherit !important;
  font-weight: bold;
  color: #333 !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  overflow: hidden;
}

body.pc-skin-unit .code-wrap,
body.pc-skin-unit .qrcode-wrap {
  text-align: center;
  margin: 28px 0 10px;
}

body.pc-skin-unit .company-detail .p {
  margin-bottom: 16px;
}

/* 单位详情内样式沿用 + 微调 */
.company-detail .p {
  padding: 0;
}

.company-common {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 20px;
  justify-content: flex-start;
}

.company-common .item {
  padding: 8px 16px;
  border: 1px solid var(--pc-teal);
  border-radius: 20px;
  color: var(--pc-teal);
  font-size: 15px;
  background: #fff;
}

.company-common .item.active {
  background: var(--pc-teal);
  color: #fff;
  border-color: var(--pc-teal);
}

.company-common .item.fluid,
.company-common .item.xxl,
.company-common .item.flx1 {
  flex: 1 1 100%;
  border-radius: 12px;
}

.us-cont {
  margin: 12px 0;
}

.us-item {
  background: #f3fbff;
  border-radius: 12px;
  padding: 14px 20px;
  margin-bottom: 12px;
  border: 1px solid #c8e4f4;
}

.us-item .title {
  font-size: 16px;
  color: var(--pc-teal);
  margin-bottom: 6px;
}

.us-item .f1 {
  font-size: 15px;
  color: #444;
  word-break: break-all;
}

.code-wrap,
.qrcode-wrap {
  text-align: center;
  margin: 20px 0;
}

.code-wrap .ewm,
.qrcode-item .ewm {
  width: 160px;
  height: auto;
}

.qrcode-wrap {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.lb {
  margin: 16px 0;
}

/* 单位页轮播完整显示，避免 cover 裁切画面 */
body.pc-skin-unit .lb .swiper .swiper-slide img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* 轮播标题用系统黑体，避免特殊字体缺字显示不一致 */
.lb-p {
  text-align: center;
  color: var(--pc-teal);
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  font-family: "Microsoft YaHei", "微软雅黑", "PingFang SC", -apple-system, sans-serif;
}

/* 工程图不足 3 张：1 张通栏，2 张并排 */
.pc-proj-grid {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  width: 800px;
  max-width: 100%;
  margin: 16px auto 8px;
  box-sizing: border-box;
}
.pc-proj-grid.one {
  display: block;
}
.pc-proj-item {
  flex: 1;
  min-width: 0;
}
.pc-proj-item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}
.pc-proj-grid.one img {
  height: auto;
}

.require-cont {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.require-cont .r-item {
  padding: 8px 16px;
  border: 1px solid var(--pc-teal);
  border-radius: 20px;
  color: var(--pc-teal);
}

/* 招聘要求：与热招岗位同风格——外框 + 内标签列表 */
body.pc-skin-unit .pc-require-box {
  width: 740px;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 auto 28px;
  padding: 28px 30px 24px;
  background: rgba(255, 250, 248, 0.5);
  border: 1px solid #fff;
  border-radius: 18px;
  box-shadow:
    inset 0 0 10px rgba(17, 152, 166, 0.41),
    0 0 10px rgba(17, 152, 166, 0.5);
}

body.pc-skin-unit .pc-require-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
}

body.pc-skin-unit .pc-require-tag {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 52px;
  padding: 12px 24px;
  background: #fff;
  border: 1px solid var(--pc-teal);
  border-radius: 12px;
  color: var(--pc-teal);
  font-size: 16px;
  font-weight: bold;
  line-height: 1.45;
  text-align: center;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.unit-detail-header {
  display: none;
}

.return {
  display: none;
}

/* 回顶 */
#goToTop a {
  border-radius: 50%;
}

/* 隐藏旧 copyright 冲突 */
.copyright {
  text-align: center;
  color: #5a7a90;
  font-size: 13px;
}