/* ========== 联系我们页面样式 ========== */
.contact-page-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 20px 60px;
  background: #f9faff;
}

/* 标题区 */
.contact-hero {
  text-align: center; margin-bottom: 40px;
}
.contact-badge {
  display: inline-block; padding: 6px 20px;
  background: rgba(45,125,252,0.08); color: #2d7dfc;
  border-radius: 30px; font-size: 13px; font-weight: 600;
  letter-spacing: 1px; margin-bottom: 16px;
}
.contact-hero h1 {
  font-size: 36px; font-weight: 700; color: #1a1f2e; margin-bottom: 10px;
}
.contact-hero p {
  font-size: 15px; color: #666; max-width: 600px; margin: 0 auto; line-height: 1.6;
}

/* 联系方式卡片网格 */
.contact-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px;
  margin-bottom: 40px;
}
.contact-card {
  background: #fff; border-radius: 20px; padding: 30px 20px;
  text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03);
  transition: 0.3s ease;
}
.contact-card:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(45,125,252,0.08); }
.card-icon-wrap {
  width: 56px; height: 56px; margin: 0 auto 16px;
  background: rgba(45,125,252,0.08); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #2d7dfc;
}
.card-icon-wrap svg { width: 26px; height: 26px; }
.contact-card h3 {
  font-size: 18px; font-weight: 700; color: #1a1f2e; margin-bottom: 10px;
}
.card-value {
  font-size: 16px; font-weight: 600; color: #2d7dfc; margin-bottom: 6px;
}
.card-sub {
  font-size: 13px; color: #888; margin-bottom: 18px;
}
.card-btn {
  display: inline-block; padding: 10px 24px;
  background: #f0f4ff; color: #2d7dfc;
  border-radius: 30px; font-weight: 600; font-size: 14px;
  text-decoration: none; transition: 0.3s;
}
.card-btn:hover { background: #2d7dfc; color: #fff; }

/* 城市覆盖 */
.contact-cities {
  background: #fff; border-radius: 20px; padding: 30px;
  text-align: center; margin-bottom: 30px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.03);
}
.contact-cities h2 {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  font-size: 22px; font-weight: 700; color: #1a1f2e; margin-bottom: 20px;
}
.contact-cities h2 svg { stroke: #2d7dfc; }
.city-tags {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
  margin-bottom: 16px;
}
.city-tags span {
  padding: 6px 18px; background: #f5f7fb; color: #555;
  border-radius: 20px; font-size: 14px; transition: 0.2s;
}
.city-tags span:hover { background: #2d7dfc; color: #fff; }
.contact-cities > p {
  font-size: 13px; color: #999;
}

/* 服务承诺 + 工作时间 */
.contact-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 25px;
  margin-bottom: 30px;
}
.contact-promise, .contact-hours {
  background: #fff; border-radius: 20px; padding: 30px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.03);
}
.contact-promise h2, .contact-hours h2 {
  display: flex; align-items: center; gap: 8px;
  font-size: 20px; font-weight: 700; color: #1a1f2e; margin-bottom: 20px;
  padding-bottom: 14px; border-bottom: 2px solid #eef2f8;
}
.contact-promise h2 svg, .contact-hours h2 svg { stroke: #2d7dfc; }

.promise-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.promise-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px; background: #f9faff; border-radius: 14px;
}
.promise-item svg {
  width: 20px; height: 20px; stroke: #2d7dfc; flex-shrink: 0; margin-top: 2px;
}
.promise-item strong { display: block; font-size: 15px; color: #1a1f2e; margin-bottom: 2px; }
.promise-item p { font-size: 13px; color: #888; margin: 0; }

.hours-list { display: flex; flex-direction: column; gap: 14px; }
.hours-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 18px; background: #f9faff; border-radius: 14px;
}
.hours-label { font-weight: 600; color: #1a1f2e; font-size: 14px; }
.hours-time { color: #2d7dfc; font-weight: 600; font-size: 14px; }

/* 社交直达 */
.contact-social {
  background: #fff; border-radius: 20px; padding: 25px 30px;
  text-align: center; margin-bottom: 30px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.03);
}
.contact-social h2 {
  font-size: 20px; font-weight: 700; color: #1a1f2e; margin-bottom: 20px;
}
.social-links {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
}
.social-link {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 22px; background: #f5f7fb;
  border-radius: 30px; color: #555; font-weight: 500;
  text-decoration: none; font-size: 14px; transition: 0.2s;
}
.social-link:hover { background: #2d7dfc; color: #fff; }
.social-link svg { width: 18px; height: 18px; }

/* FAQ */
.contact-faq {
  background: #fff; border-radius: 20px; padding: 30px;
  margin-bottom: 30px; box-shadow: 0 8px 20px rgba(0,0,0,0.03);
}
.contact-faq h2 {
  font-size: 22px; font-weight: 700; color: #1a1f2e;
  margin-bottom: 20px; padding-bottom: 14px; border-bottom: 2px solid #eef2f8;
}
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item { border-radius: 14px; overflow: hidden; border: 1px solid #eef2f8; }
.faq-btn {
  width: 100%; display: flex; justify-content: space-between; align-items: center;
  padding: 16px 20px; background: #fafbfc; border: none;
  font-size: 15px; font-weight: 600; color: #1a1f2e; cursor: pointer; transition: 0.2s;
}
.faq-btn:hover { background: #f0f4ff; }
.faq-btn svg { width: 18px; height: 18px; transition: 0.3s; }
.faq-item.active .faq-btn svg { transform: rotate(180deg); }
.faq-panel {
  max-height: 0; overflow: hidden; transition: max-height 0.3s ease;
}
.faq-item.active .faq-panel { max-height: 600px; }
.faq-panel p {
  padding: 0 20px 16px; font-size: 14px; color: #666; line-height: 1.7;
}

/* 底部SEO */
.contact-seo-bar {
  text-align: center; padding: 16px;
  font-size: 12px; color: #a0aec0;
  border-top: 1px solid #eef2f8; margin-top: 20px;
}

/* 响应式 */
@media (max-width: 992px) {
  .contact-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-row { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .contact-grid { grid-template-columns: 1fr; }
  .promise-grid { grid-template-columns: 1fr; }
  .contact-hero h1 { font-size: 28px; }
}
