/* ============================================================
   case-travel.html 独有样式 —— 居中卡片骨架
   居中 hero + 居中对称四段式
   ============================================================ */

/* ---------- Hero：居中 ---------- */
.tv-hero {
  position: relative;
  padding: calc(var(--header-h) + var(--topbar-h) + 48px) 0 72px;
  background:
    radial-gradient(circle at 50% -10%, rgba(191,216,178,.5) 0, rgba(191,216,178,0) 45%),
    linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);
  overflow: hidden;
  text-align: center;
}
.tv-hero-inner { position: relative; z-index: 2; }
.tv-bread { font-size: .86rem; color: var(--ink-3); margin-bottom: 22px; }
.tv-hero-img {
  width: min(640px, 90%); margin: 0 auto 26px;
  box-shadow: var(--clay-shadow-lg); border: 8px solid #fff;
}
.tv-hero h1 { margin-bottom: 14px; }
.tv-hero-sub { max-width: 620px; margin: 0 auto 28px; }
.tv-hero-cta { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ---------- 四段式居中卡 ---------- */
.tv-center { margin-left: auto; margin-right: auto; text-align: center; }
.tv-center p { margin-left: auto; margin-right: auto; }
.tv-cols {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 26px; max-width: 980px; margin: 0 auto;
}
.tv-card { padding: 30px 32px; }
.tv-card h3 {
  display: inline-block; margin-bottom: 12px; padding: 4px 18px;
  border-radius: 999px; background: var(--green); color: #3F5238;
  font-size: 1rem;
}
.tv-card p { font-size: .95rem; text-align: left; }

/* ---------- 数据圆卡 ---------- */
.tv-metrics {
  background: linear-gradient(160deg, var(--green) 0%, var(--cream) 100%);
  padding: clamp(50px,6vw,80px) 0;
}
.tv-metric-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.tv-metric {
  aspect-ratio: 1/1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center;
  border-radius: 50%;
}
.tv-metric b { font-size: clamp(1.5rem,3vw,2.2rem); color: var(--green-3); }
.tv-metric span { font-size: .84rem; color: var(--ink-2); margin-top: 8px; }

/* ---------- 设计拉片 ---------- */
.tv-shots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tv-shot img {
  width: 100%; aspect-ratio: 16/10; object-fit: cover;
  border-radius: var(--radius); box-shadow: var(--clay-shadow-sm);
  margin-bottom: 14px;
}
.tv-shot figcaption { font-size: .93rem; color: var(--ink-2); }
.tv-shot figcaption b { color: var(--ink); display: block; margin-bottom: 6px; }

/* ---------- 客户评价 ---------- */
.tv-quote { padding: clamp(40px,5vw,64px) 0; }
.tv-quote-card {
  max-width: 800px; margin: 0 auto; padding: 44px 48px;
  border-radius: var(--radius); text-align: center;
  background: linear-gradient(160deg, #FFFDF6, var(--green) 160%);
}
.tv-quote-card p { font-size: 1.08rem; color: var(--ink); margin-bottom: 16px; }
.tv-quote-card cite { font-style: normal; font-size: .88rem; color: var(--ink-3); }

/* ---------- 相关案例 ---------- */
.tv-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tv-case-card { overflow: hidden; border-radius: var(--radius); }
.tv-case-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.tv-case-card span { display: block; padding: 16px 20px; font-weight: 700; color: var(--ink); text-align: center; }
.tv-case-card:hover span { color: var(--green-3); }

/* ---------- 行业 + 服务 ---------- */
.tv-links-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.tv-links-grid > div { padding: 34px 36px; border-radius: var(--radius); box-shadow: var(--clay-shadow-sm); }
.tv-links-grid h3 { margin-bottom: 12px; }
.tv-links-grid p { margin-bottom: 18px; font-size: .95rem; }

/* ---------- CTA ---------- */
.tv-cta {
  background: linear-gradient(150deg, var(--green) 0%, var(--cream-2) 110%);
  padding: clamp(56px,7vw,88px) 0; text-align: center;
}
.tv-cta h2 { margin-bottom: 14px; }
.tv-cta p { margin-bottom: 26px; }
.tv-cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 900px) {
  .tv-cols { grid-template-columns: 1fr; }
  .tv-metric-row { grid-template-columns: repeat(2, 1fr); }
  .tv-shots, .tv-cases { grid-template-columns: 1fr; }
  .tv-links-grid { grid-template-columns: 1fr; }
}

/* ---------- 补充：三句话模块 ---------- */
.lg-extra, .tv-extra, .wd-extra, .bt-extra, .dc-extra, .lw-extra, .rt-extra, .re-extra {
  background: linear-gradient(160deg, var(--cream-2), var(--cream));
  padding: clamp(50px,6vw,80px) 0;
}
.lg-extra-list, .tv-extra-list, .wd-extra-list, .bt-extra-list, .dc-extra-list, .lw-extra-list, .rt-extra-list, .re-extra-list {
  max-width: 860px; margin: 0 auto; padding: 36px 40px;
}
.lg-extra-list p, .tv-extra-list p, .wd-extra-list p, .bt-extra-list p, .dc-extra-list p, .lw-extra-list p, .rt-extra-list p, .re-extra-list p {
  font-size: .97rem; margin-bottom: 16px; color: var(--ink-2);
}
.lg-extra-list p:last-child, .tv-extra-list p:last-child, .wd-extra-list p:last-child, .bt-extra-list p:last-child, .dc-extra-list p:last-child, .lw-extra-list p:last-child, .rt-extra-list p:last-child, .re-extra-list p:last-child { margin-bottom: 0; }
.lg-extra-list b, .tv-extra-list b, .wd-extra-list b, .bt-extra-list b, .dc-extra-list b, .lw-extra-list b, .rt-extra-list b, .re-extra-list b { color: var(--ink); }
