/*
 * 首页非关键 CSS（异步加载，任务 11.11）。
 * 移动优先，所有媒体查询向上扩展。
 */

/* ── 通用区块 ── */
.pk-section {
  padding: 3rem 0;
}

.pk-section--alt {
  background: #f5f5f5;
}

.pk-section__title {
  font-size: clamp(1.3rem, 3vw, 1.9rem);
  font-weight: 800;
  color: #111;
  margin: 0 0 1.5rem;
  text-align: center;
}

.pk-section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

.pk-section__header .pk-section__title { margin: 0; }

.pk-section__more {
  color: #1a6e3c;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.pk-empty { color: #999; text-align: center; padding: 2rem; }

/* ── 核心服务（任务 11.3）── */
.pk-services {
  background: #fff;
}

.pk-service-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 1rem;
  border-radius: 14px;
  background: #fff;
  border: 2px solid #eee;
  text-decoration: none;
  color: #111;
  text-align: center;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  -webkit-tap-highlight-color: transparent;
}

.pk-service-card:hover,
.pk-service-card:focus {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  border-color: var(--accent, #1a6e3c);
}

.pk-service-card__icon {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: var(--accent, #1a6e3c);
  margin-bottom: .75rem;
  display: flex; align-items: center; justify-content: center;
}

.pk-service-card__label {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 .35rem;
  color: var(--accent, #1a6e3c);
}

.pk-service-card__desc {
  font-size: .82rem;
  color: #555;
  margin: 0;
  line-height: 1.5;
}

/* ── 球馆分布（任务 11.4、11.10）── */
.pk-venues {
  background: #f9f9f9;
}

.pk-venues__scroll {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  padding-bottom: .5rem;
}

@media (min-width: 700px) {
  .pk-venues__scroll {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: visible;
  }
}

@media (min-width: 1000px) {
  .pk-venues__scroll { grid-template-columns: repeat(4, 1fr); }
}

.pk-venue-card {
  flex: 0 0 260px;
  scroll-snap-align: start;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transition: transform .2s, box-shadow .2s;
}

@media (min-width: 700px) {
  .pk-venue-card { flex: none; }
}

.pk-venue-card:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.14); }

.pk-venue-card__link { display: block; text-decoration: none; color: inherit; }

.pk-venue-card__img-wrap {
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #eee;
}

.pk-venue-card__img { width: 100%; height: 100%; object-fit: cover; }
.pk-venue-card__img-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #c8e6c9, #a5d6a7); }

.pk-venue-card__body { padding: .85rem 1rem; }
.pk-venue-card__name { font-size: .98rem; font-weight: 700; margin: 0 0 .25rem; }
.pk-venue-card__city { font-size: .82rem; color: #555; margin: 0 0 .4rem; }
.pk-venue-card__cta  { font-size: .8rem; color: #1a6e3c; font-weight: 600; }

/* ── 最新动态（任务 11.5）── */
.pk-news__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 600px) { .pk-news__list { grid-template-columns: repeat(3, 1fr); } }

.pk-news-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
}

.pk-news-card__link { display: block; padding: 1rem; text-decoration: none; color: #111; }

.pk-news-card__type {
  display: inline-block;
  padding: .2rem .6rem;
  border-radius: 4px;
  font-size: .75rem;
  font-weight: 700;
  margin-bottom: .5rem;
  color: #fff;
}

.pk-news-card__type--tournament { background: #0277bd; }
.pk-news-card__type--course     { background: #1a6e3c; }
.pk-news-card__type--announcement { background: #e65100; }

.pk-news-card__title   { font-size: .95rem; font-weight: 700; margin: 0 0 .4rem; }
.pk-news-card__excerpt { font-size: .82rem; color: #666; margin: 0 0 .5rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pk-news-card__date    { font-size: .78rem; color: #999; }

/* ── 教练团队（任务 11.6）── */
.pk-coaches { background: #f9f9f9; }

.pk-coaches__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

@media (min-width: 600px) { .pk-coaches__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .pk-coaches__grid { grid-template-columns: repeat(6, 1fr); } }

.pk-coach-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.25rem .75rem;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
}

.pk-coach-card__avatar-wrap { margin-bottom: .75rem; }

.pk-coach-card__avatar,
.pk-coach-card__avatar-ph {
  width: 80px; height: 80px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto;
}

.pk-coach-card__avatar-ph { background: #c8e6c9; }
.pk-coach-card__name { font-size: .92rem; font-weight: 700; margin: 0 0 .25rem; }
.pk-coach-card__bio  { font-size: .78rem; color: #666; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pk-coach-card__rate { font-size: .78rem; color: #e65100; font-weight: 600; margin: .25rem 0 0; }

/* ── 学员评价（任务 11.7）── */
.pk-testimonials { background: #1a6e3c; color: #fff; }
.pk-testimonials .pk-section__title { color: #fff; }

.pk-testimonials__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 600px) { .pk-testimonials__list { grid-template-columns: repeat(3, 1fr); } }

.pk-testimonial {
  background: rgba(255,255,255,.12);
  border-radius: 12px;
  padding: 1.25rem;
  margin: 0;
}

.pk-testimonial__content { font-size: .95rem; font-style: italic; margin: 0 0 .75rem; line-height: 1.6; }
.pk-testimonial__footer  { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; font-size: .82rem; opacity: .85; }
.pk-testimonial__name    { font-weight: 700; }
.star--filled { color: #ffca28; }
.star--empty  { color: rgba(255,255,255,.4); }

/* ── 品牌数据（任务 11.8）── */
.pk-stats { background: #0a3d1e; color: #fff; }

.pk-stats__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  text-align: center;
}

@media (min-width: 600px) { .pk-stats__grid { grid-template-columns: repeat(4, 1fr); } }

.pk-stat-item__value {
  display: block;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 900;
  color: #69f0ae;
  line-height: 1;
}

.pk-stat-item__suffix { font-size: 1.1rem; color: #a5d6a7; }
.pk-stat-item__label  { display: block; font-size: .85rem; margin-top: .35rem; opacity: .8; }

/* ── Footer（任务 11.9）── */
.pk-footer {
  background: #0d0d0d;
  color: #ccc;
  padding: 2.5rem 0 1.5rem;
}

.pk-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

@media (min-width: 600px) { .pk-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .pk-footer__grid { grid-template-columns: repeat(4, 1fr); } }

.pk-footer__col-title { font-size: .9rem; font-weight: 700; color: #fff; margin: 0 0 .75rem; }

.pk-footer__links { list-style: none; margin: 0; padding: 0; }
.pk-footer__links li { margin-bottom: .35rem; }
.pk-footer__links a  { color: #aaa; text-decoration: none; font-size: .85rem; transition: color .2s; }
.pk-footer__links a:hover { color: #fff; }

.pk-footer__contact { font-size: .85rem; margin: .35rem 0; }
.pk-footer__contact a { color: #aaa; text-decoration: none; }

.pk-footer__qr { border-radius: 6px; }

.pk-footer__bottom {
  border-top: 1px solid #222;
  padding-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: center;
  font-size: .78rem;
  color: #666;
  text-align: center;
}

.pk-footer__icp a { color: #666; text-decoration: none; }
.pk-footer__icp a:hover { color: #aaa; }

/* ── 微信浏览器隐藏视频（任务 11.13，JS 添加此类）── */
.wechat-browser .pk-hero__video { display: none !important; }
