/* ============================================================
   认证服务商查询页样式
   ============================================================ */
.pt-hero {
  padding: 56px 0 8px;
  text-align: center
}

.pt-hero h1 {
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 500;
  letter-spacing: -.03em;
  margin: 14px 0 10px
}

.pt-hero p {
  color: #646464;
  font-weight: 300;
  max-width: 640px;
  margin: 0 auto
}

.pt-search {
  max-width: 720px;
  margin: 30px auto 0;
  display: flex;
  gap: 10px;
  background: #fff;
  border: 1px solid #e7eeec;
  border-radius: 999px;
  padding: 8px 8px 8px 22px;
  box-shadow: 0 10px 34px rgba(29, 62, 70, .08)
}

.pt-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  font: inherit;
  font-size: 15px;
  color: #1a1a1a;
  background: transparent
}

.pt-search input::placeholder {
  color: #a3a3a3
}

.pt-search .btn {
  border-radius: 999px;
  padding: 11px 26px;
  font-size: 14px
}

.pt-count {
  text-align: center;
  color: #646464;
  font-size: 13px;
  font-weight: 300;
  margin: 22px 0 0
}

.pt-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 26px 0 0
}

.pt-card {
  background: #fff;
  border: 1px solid #eef1f4;
  border-radius: 18px;
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform .25s, box-shadow .25s
}

.pt-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(29, 62, 70, .08)
}

.pt-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px
}

.pt-card h3 {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.01em;
  margin: 0;
  color: #1a1a1a
}

.pt-badge {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 999px;
  background: #f1f7f4;
  color: #1b9668;
  border: 1px solid #ddf0ec
}

.pt-badge.off {
  background: #f6f6f6;
  color: #8a8f94;
  border-color: #ececec
}

.pt-rows {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 13.5px;
  color: #3a3f45
}

.pt-rows div {
  display: flex;
  gap: 10px
}

.pt-rows span {
  flex: 0 0 76px;
  color: #a3a3a3;
  font-weight: 300
}

.pt-rows b {
  font-weight: 500;
  color: #1a1a1a
}

.pt-empty {
  grid-column: 1 / -1;
  text-align: center;
  color: #a3a3a3;
  font-weight: 300;
  padding: 60px 0;
  background: #fff;
  border: 1px dashed #e7eeec;
  border-radius: 18px
}

.pt-note {
  margin: 34px auto 0;
  max-width: 720px;
  text-align: center;
  color: #a3a3a3;
  font-size: 12.5px;
  font-weight: 300;
  line-height: 1.9
}

@media(max-width:860px) {
  .pt-list {
    grid-template-columns: 1fr
  }

  /* 手机版：输入框与查询按钮各自独立 */
  .pt-search {
    flex-direction: column;
    gap: 12px;
    background: none;
    border: 0;
    box-shadow: none;
    padding: 0
  }

  .pt-search input {
    background: #fff;
    border: 1px solid #e7eeec;
    border-radius: 999px;
    padding: 14px 22px;
    box-shadow: 0 10px 34px rgba(29, 62, 70, .08)
  }

  .pt-search .btn {
    width: 100%;
    padding: 14px 20px;
    border-radius: 999px
  }
}

/* ===== 认证服务商保障体系 ===== */
.pt-guarantee {
  margin-top: 70px;
  padding: 64px 0 70px
}

.pt-g-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 40px
}

.pt-g-head h2 {
  font-size: clamp(26px, 3.4vw, 38px);
  font-weight: 500;
  letter-spacing: -.02em;
  margin: 12px 0 10px
}

.pt-g-head .sub {
  color: #646464;
  font-weight: 300
}

.pt-g-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px
}

.pt-g-card {
  position: relative;
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 18px;
  padding: 26px 22px 24px;
  overflow: hidden;
  transition: transform .25s, box-shadow .25s
}

.pt-g-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(29, 62, 70, .1)
}

.pt-g-num {
  position: absolute;
  top: 14px;
  right: 18px;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -.04em;
  color: rgba(27, 150, 104, .12);
  line-height: 1
}

.pt-g-card h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 0 0 10px;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 8px
}

.pt-g-card h3:before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: linear-gradient(135deg, #4cc39a, #1b9668);
  flex: 0 0 auto
}

.pt-g-card p {
  margin: 0;
  font-size: 13px;
  font-weight: 300;
  color: #646464;
  line-height: 1.85
}

.pt-g-flow {
  margin: 34px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap
}

.pt-g-flow span {
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .35);
  color: #1b9668;
  font-size: 13px;
  font-weight: 500;
  border-radius: 999px;
  padding: 8px 18px
}

.pt-g-flow i {
  font-style: normal;
  color: #b9d8cd;
  font-size: 14px
}

@media(max-width:960px) {
  .pt-g-grid {
    grid-template-columns: 1fr 1fr
  }
}

@media(max-width:640px) {
  .pt-g-grid {
    grid-template-columns: 1fr
  }
}

/* 深色模式适配 */
[data-theme="dark"] .pt-guarantee {
  background: linear-gradient(180deg, #101613 0%, #0e1210 100%)
}

[data-theme="dark"] .pt-g-card {
  background: #141a17;
  border-color: #243129
}

[data-theme="dark"] .pt-g-card h3 {
  color: #e6e9e7
}

[data-theme="dark"] .pt-g-card p {
  color: #9fb3aa
}

[data-theme="dark"] .pt-g-num {
  color: rgba(76, 195, 154, .16)
}

[data-theme="dark"] .pt-g-flow span {
  background: #141a17;
  border-color: #243129;
  color: #4cc39a
}

/* 等级徽章 */
.pt-lv {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  border-radius: 999px;
  padding: 4px 12px;
  letter-spacing: .02em
}

.pt-lv.lv-bronze {
  background: linear-gradient(135deg, #c98a4b, #8c5a2b);
  box-shadow: 0 3px 10px rgba(140, 90, 43, .35)
}

.pt-lv.lv-silver {
  background: linear-gradient(135deg, #c8d2dc, #8f9aa5);
  box-shadow: 0 3px 10px rgba(143, 154, 165, .35)
}

.pt-lv.lv-gold {
  background: linear-gradient(135deg, #f7cf5a, #c99a1e);
  box-shadow: 0 3px 10px rgba(201, 154, 30, .35)
}

.pt-lv.lv-diamond {
  background: linear-gradient(135deg, #8fe3f7, #3f8fd0);
  box-shadow: 0 3px 10px rgba(63, 143, 208, .35)
}

.pt-card-head {
  align-items: center;
  flex-wrap: wrap
}

/* ===== 认证服务商常见问题（独立板块，样式同首页常见问题） ===== */
.pt-faq {
  padding: 60px 0 80px
}

.pt-faq-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 30px
}

.pt-faq-head h2 {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 500;
  letter-spacing: -.02em;
  margin: 10px 0 8px
}

.pt-faq-head p {
  color: #646464;
  font-weight: 300
}

.pt-faq-list {
  max-width: 760px;
  margin: 0 auto
}

.pt-faq-list details {
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 14px;
  background: rgba(255, 255, 255, .15);
  margin-bottom: 12px;
  overflow: hidden
}

.pt-faq-list summary {
  cursor: pointer;
  padding: 18px 22px;
  font-weight: 500;
  font-size: 15px;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  color: #1a1a1a
}

.pt-faq-list summary::-webkit-details-marker {
  display: none
}

.pt-faq-list summary:after {
  content: "+";
  color: #1b9668;
  font-size: 18px;
  font-weight: 500
}

.pt-faq-list details[open] summary:after {
  content: "–"
}

.pt-faq-list details p {
  padding: 0 22px 18px;
  color: #646464;
  font-weight: 300;
  line-height: 1.8;
  margin: 0
}

/* 单条查询结果整页居中 */
.pt-list.single {
  grid-template-columns: 1fr;
  justify-items: center
}

.pt-list.single .pt-card {
  width: min(560px, 100%);
  margin: 0 auto
}
