/**
 * 润通 / Uni-app 页面迁移样式：750 设计稿 rpx → calc(100vw/750*r)。
 * 桌面端限制最大宽度，近似小程序可视区域。
 */
:root {
  --rpx: calc(100vw / 750);
  --page-max: 480px;
  --c-ink: #212529;
  --c-muted: #6c757d;
  --c-line: #dee2e6;
  --c-info: #17a2b8;
  --c-success: #28a745;
  --c-warning: #ffc107;
  --c-brand: #0f4c81;
  --c-brand-deep: #0a2e57;
  --c-slate: #1e2430;
  --c-slate-2: #475569;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  color: var(--c-ink);
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

.page-shell {
  width: 100%;
  max-width: var(--page-max);
  margin: 0 auto;
  min-height: 100vh;
  background: #fff;
}

/* —— 首页 index —— */
.rt-page {
  min-height: 100vh;
  background: #fff;
}

.rt-hero {
  position: relative;
  height: calc(360 * var(--rpx));
}

.rt-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rt-hero__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.32);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 calc(36 * var(--rpx));
}

.rt-hero__title {
  color: #fff;
  font-size: calc(42 * var(--rpx));
  font-weight: 700;
  margin: 0;
}

.rt-hero__subtitle {
  color: #f8fafc;
  font-size: calc(24 * var(--rpx));
  margin: calc(8 * var(--rpx)) 0 0;
}

.rt-section {
  padding: calc(36 * var(--rpx)) calc(24 * var(--rpx));
}

.rt-section--light {
  background: #f8f9fa;
}

.rt-section__title {
  display: block;
  text-align: center;
  font-size: calc(38 * var(--rpx));
  font-weight: 700;
  margin: 0;
}

.rt-section__title--success {
  color: var(--c-success);
}

.rt-section__title--info {
  color: var(--c-info);
}

.rt-section__title--warning {
  color: var(--c-warning);
}

.rt-section__sub {
  display: block;
  text-align: center;
  font-size: calc(24 * var(--rpx));
  color: var(--c-muted);
  margin: calc(8 * var(--rpx)) 0 calc(26 * var(--rpx));
}

.rt-card-list {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--rpx));
}

.rt-card {
  border: 1px solid var(--c-line);
  border-radius: calc(10 * var(--rpx));
  overflow: hidden;
  background: #fff;
}

.rt-card__image {
  width: 100%;
  height: calc(260 * var(--rpx));
  object-fit: cover;
}

.rt-card__body {
  padding: calc(16 * var(--rpx));
}

.rt-card__title {
  font-size: calc(30 * var(--rpx));
  font-weight: 600;
  color: var(--c-ink);
  margin: 0;
}

.rt-card__desc {
  margin: calc(8 * var(--rpx)) 0 0;
  font-size: calc(23 * var(--rpx));
  line-height: 1.7;
  color: var(--c-muted);
}

.rt-more {
  display: block;
  text-align: center;
  font-size: calc(24 * var(--rpx));
  color: var(--c-muted);
  margin-top: calc(20 * var(--rpx));
}

.rt-about__text {
  color: var(--c-muted);
  font-size: calc(24 * var(--rpx));
  line-height: 1.9;
  text-indent: 2em;
  margin: 0;
}

.rt-news-list {
  display: flex;
  flex-direction: column;
  gap: calc(18 * var(--rpx));
}

.rt-news-item {
  border-bottom: 1px dashed var(--c-line);
  padding-bottom: calc(12 * var(--rpx));
}

.rt-news-item__title {
  font-size: calc(28 * var(--rpx));
  color: var(--c-ink);
  margin: 0;
}

.rt-news-item__desc {
  display: block;
  margin-top: calc(6 * var(--rpx));
  font-size: calc(23 * var(--rpx));
  color: var(--c-muted);
  line-height: 1.7;
}

/* —— about 顶栏 —— */
.rt-top-banner {
  position: relative;
  height: calc(220 * var(--rpx));
}

.rt-top-banner__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rt-top-banner__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 calc(28 * var(--rpx));
}

.rt-top-banner__title {
  color: #fff;
  font-size: calc(36 * var(--rpx));
  font-weight: 700;
  margin: 0;
}

.rt-top-banner__sub {
  color: #f8fafc;
  font-size: calc(24 * var(--rpx));
  margin: calc(8 * var(--rpx)) 0 0;
}

.rt-wrap {
  padding: calc(24 * var(--rpx));
  min-height: calc(900 * var(--rpx));
}

.rt-position {
  font-size: calc(22 * var(--rpx));
  color: #999;
  text-align: right;
  margin: 0 0 calc(8 * var(--rpx));
}

.rt-page-title {
  display: block;
  text-align: center;
  font-size: calc(40 * var(--rpx));
  color: var(--c-ink);
  margin: calc(20 * var(--rpx)) 0 calc(24 * var(--rpx));
}

.rt-content {
  color: #666;
  line-height: 1.9;
  font-size: calc(25 * var(--rpx));
}

.rt-content p {
  margin: 0 0 calc(14 * var(--rpx));
  text-indent: 2em;
}

/* —— 产品列表 —— */
.rt-wrap--stack {
  padding: calc(24 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--rpx));
}

.rt-filter {
  display: flex;
  align-items: flex-start;
  gap: calc(10 * var(--rpx));
}

.rt-filter__label {
  width: calc(84 * var(--rpx));
  font-size: calc(24 * var(--rpx));
  color: var(--c-ink);
  flex-shrink: 0;
}

.rt-filter__group {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--rpx));
}

.rt-chip {
  padding: calc(8 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(8 * var(--rpx));
  background: #f8f9fa;
  font-size: calc(22 * var(--rpx));
  color: #495057;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

a.rt-chip {
  display: inline-block;
}

.rt-chip--active {
  background: var(--c-info);
  color: #fff;
}

.rt-list {
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--rpx));
}

.rt-plist-card__image {
  width: 100%;
  height: calc(220 * var(--rpx));
  object-fit: cover;
}

.rt-plist-card__body {
  padding: calc(18 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--rpx));
}

.rt-plist-card__title {
  font-size: calc(28 * var(--rpx));
  font-weight: 600;
  color: var(--c-ink);
  margin: 0;
}

.rt-plist-card__spec {
  font-size: calc(22 * var(--rpx));
  color: var(--c-muted);
}

.rt-plist-card__desc {
  font-size: calc(23 * var(--rpx));
  color: var(--c-muted);
  line-height: 1.6;
  margin: 0;
}

.rt-pager {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8 * var(--rpx));
}

.rt-pager__btn {
  padding: calc(10 * var(--rpx)) calc(14 * var(--rpx));
  border: 1px solid var(--c-line);
  color: var(--c-info);
  font-size: calc(22 * var(--rpx));
  background: #fff;
  font-family: inherit;
  cursor: pointer;
  border-radius: calc(4 * var(--rpx));
}

.rt-pager__btn--active {
  background: var(--c-info);
  color: #fff;
}

.rt-search {
  display: flex;
  gap: calc(12 * var(--rpx));
  margin-bottom: calc(20 * var(--rpx));
}

.rt-search__input {
  flex: 1;
  height: calc(74 * var(--rpx));
  border: 1px solid #ced4da;
  border-radius: calc(8 * var(--rpx));
  padding: 0 calc(14 * var(--rpx));
  font-size: calc(24 * var(--rpx));
}

.rt-search__btn {
  border-radius: calc(8 * var(--rpx));
  background: var(--c-info);
  color: #fff;
  font-size: calc(24 * var(--rpx));
  border: none;
  padding: 0 calc(20 * var(--rpx));
  cursor: pointer;
  font-family: inherit;
}

/* —— 产品详情 —— */
.rt-detail-wrap {
  padding: calc(24 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--rpx));
  padding-bottom: calc(140 * var(--rpx));
}

.rt-cover {
  width: 100%;
  height: calc(320 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  object-fit: cover;
}

.rt-detail-hero {
  border-radius: calc(14 * var(--rpx));
  background: #fff;
  border: 1px solid #e2e8f0;
  padding: calc(18 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--rpx));
}

.rt-detail-hero__title {
  font-size: calc(34 * var(--rpx));
  font-weight: 700;
  color: var(--c-slate);
  margin: 0;
}

.rt-detail-hero__spec {
  font-size: calc(23 * var(--rpx));
  color: var(--c-brand);
  margin: 0;
}

.rt-detail-hero__desc {
  font-size: calc(24 * var(--rpx));
  color: var(--c-slate-2);
  line-height: 1.6;
  margin: 0;
}

.rt-detail-card {
  border-radius: calc(14 * var(--rpx));
  background: #fff;
  border: 1px solid #e2e8f0;
  padding: calc(18 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rpx));
}

.rt-detail-card__title {
  font-size: calc(27 * var(--rpx));
  font-weight: 700;
  color: var(--c-slate);
  margin: 0;
}

.rt-detail-card__text {
  font-size: calc(23 * var(--rpx));
  color: var(--c-slate-2);
  margin: 0;
}

.rt-actions {
  display: flex;
  gap: calc(12 * var(--rpx));
}

.rt-btn {
  flex: 1;
  border-radius: calc(12 * var(--rpx));
  background: var(--c-brand);
  color: #fff;
  font-size: calc(24 * var(--rpx));
  border: none;
  padding: calc(20 * var(--rpx)) 0;
  cursor: pointer;
  font-family: inherit;
  text-align: center;
}

.rt-btn--secondary {
  background: #e9f0f7;
  color: var(--c-brand);
}

/* —— 应用领域 / 新闻 hero —— */
.rt-block-hero {
  border-radius: calc(16 * var(--rpx));
  background: linear-gradient(135deg, var(--c-brand-deep), var(--c-brand));
  padding: calc(24 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rpx));
}

.rt-block-hero--slate {
  background: linear-gradient(135deg, #1e2430, #334155);
}

.rt-block-hero--cert {
  background: linear-gradient(135deg, #1e2430, #3a475d);
}

.rt-block-hero__title {
  color: #fff;
  font-size: calc(36 * var(--rpx));
  font-weight: 700;
  margin: 0;
}

.rt-block-hero__desc {
  color: rgba(255, 255, 255, 0.92);
  font-size: calc(24 * var(--rpx));
  line-height: 1.6;
  margin: 0;
}

.rt-app-card {
  border-radius: calc(14 * var(--rpx));
  border: 1px solid #dbe5f0;
  background: #fff;
  padding: calc(18 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--rpx));
}

.rt-app-card__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: calc(10 * var(--rpx));
}

.rt-app-card__title {
  font-size: calc(28 * var(--rpx));
  font-weight: 700;
  color: var(--c-slate);
  margin: 0;
}

.rt-app-card__tag {
  padding: calc(4 * var(--rpx)) calc(12 * var(--rpx));
  border-radius: 999px;
  font-size: calc(20 * var(--rpx));
  color: var(--c-brand);
  background: #eaf2fa;
}

.rt-app-card__desc {
  font-size: calc(23 * var(--rpx));
  color: #4b5568;
  line-height: 1.65;
  margin: 0;
}

.rt-app-card__products {
  display: flex;
  gap: calc(6 * var(--rpx));
  flex-wrap: wrap;
  font-size: calc(22 * var(--rpx));
}

.rt-app-card__products-label {
  color: #64748b;
}

.rt-app-card__products-text a {
  color: var(--c-brand);
}

/* —— 资质 —— */
.rt-cert-grid {
  display: flex;
  flex-direction: column;
  gap: calc(12 * var(--rpx));
}

.rt-cert-card {
  border-radius: calc(14 * var(--rpx));
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #fff;
}

.rt-cert-card__image {
  width: 100%;
  height: calc(230 * var(--rpx));
  object-fit: cover;
}

.rt-cert-card__body {
  padding: calc(16 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--rpx));
}

.rt-cert-card__title {
  font-size: calc(26 * var(--rpx));
  font-weight: 600;
  color: var(--c-slate);
  margin: 0;
}

.rt-cert-card__meta {
  font-size: calc(22 * var(--rpx));
  color: #64748b;
}

.rt-cta {
  border-radius: calc(12 * var(--rpx));
  background: var(--c-brand);
  color: #fff;
  font-size: calc(24 * var(--rpx));
  border: none;
  padding: calc(20 * var(--rpx));
  cursor: pointer;
  font-family: inherit;
  width: 100%;
}

/* —— 新闻列表 tabs —— */
.rt-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--rpx));
}

.rt-tabs__item {
  padding: calc(10 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: 999px;
  background: #edf2f7;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.rt-tabs__item--active {
  background: var(--c-brand);
}

.rt-tabs__text {
  font-size: calc(22 * var(--rpx));
  color: #475569;
}

.rt-tabs__item--active .rt-tabs__text {
  color: #fff;
}

.rt-news-card {
  border-radius: calc(14 * var(--rpx));
  border: 1px solid #dbe5f0;
  background: #fff;
  padding: calc(18 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--rpx));
}

.rt-news-card__category {
  font-size: calc(20 * var(--rpx));
  color: var(--c-brand);
  margin: 0;
}

.rt-news-card__category::before {
  content: "◉ ";
}

.rt-news-card__title {
  font-size: calc(27 * var(--rpx));
  font-weight: 700;
  color: var(--c-slate);
  margin: 0;
}

.rt-news-card__desc {
  font-size: calc(23 * var(--rpx));
  color: #4b5568;
  line-height: 1.65;
  margin: 0;
}

.rt-news-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.rt-news-card__date {
  font-size: calc(21 * var(--rpx));
  color: #64748b;
}

.rt-news-card__more {
  font-size: calc(21 * var(--rpx));
  color: var(--c-brand);
}

/* —— 联系 —— */
.rt-contact-card__title {
  font-size: calc(28 * var(--rpx));
  font-weight: 700;
  color: var(--c-slate);
  margin: 0 0 calc(8 * var(--rpx));
}

.rt-contact-card__text {
  font-size: calc(24 * var(--rpx));
  color: var(--c-slate-2);
  margin: 0 0 calc(10 * var(--rpx));
}

/* —— 底栏（产品详情同款） —— */
.rt-tabbar {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  z-index: 30;
  width: 100%;
  max-width: var(--page-max);
  display: flex;
  padding: calc(10 * var(--rpx)) calc(12 * var(--rpx))
    calc(10 * var(--rpx) + env(safe-area-inset-bottom));
  gap: calc(8 * var(--rpx));
  background: linear-gradient(180deg, #fff, #f4f7fb);
  border-top: 1px solid #d4deea;
}

.rt-tabbar__item {
  flex: 1;
  border-radius: calc(12 * var(--rpx));
  background: #ebf1f8;
  border: 1px solid #d8e3ef;
  min-height: calc(68 * var(--rpx));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(23 * var(--rpx));
  color: #3f5268;
  text-align: center;
}

.rt-tabbar__item--active {
  background: var(--c-brand);
  border-color: var(--c-brand);
  color: #fff;
  font-weight: 600;
}

/* —— 新闻详情 —— */
.rt-news-detail__title {
  text-align: center;
  font-size: calc(34 * var(--rpx));
  font-weight: 700;
  color: var(--c-slate);
  margin: calc(16 * var(--rpx)) 0;
}

.rt-news-detail__meta {
  text-align: center;
  font-size: calc(22 * var(--rpx));
  color: var(--c-muted);
  margin-bottom: calc(20 * var(--rpx));
}

.rt-news-detail__content {
  font-size: calc(25 * var(--rpx));
  color: #4b5568;
  line-height: 1.75;
}

.rt-news-detail__content img {
  max-width: 100%;
  height: auto;
}

/* 分页数字条（内核默认 HTML） */
.rt-pager .page-numbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(8 * var(--rpx));
}

.rt-pager .page-numbar a,
.rt-pager .page-numbar span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: calc(52 * var(--rpx));
  padding: calc(10 * var(--rpx)) calc(14 * var(--rpx));
  border: 1px solid var(--c-line);
  font-size: calc(22 * var(--rpx));
  color: var(--c-info);
  background: #fff;
  text-decoration: none;
}

.rt-pager .page-numbar span.page-current,
.rt-pager .page-numbar .active {
  background: var(--c-info);
  color: #fff;
}

/* 联系我们富文本段落间距 */
.rt-detail-card .rt-contact-card__text p {
  margin: 0 0 calc(10 * var(--rpx));
  font-size: calc(24 * var(--rpx));
  color: var(--c-slate-2);
}
