/* ===== 鑱旂郴鎴戜滑椤甸潰鏍峰紡 ===== */

/* 鍏ㄥ眬閲嶇疆 */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif; background:#fff; color:#1a2a3a; }

/* 瀹瑰櫒 */
.page-wrap { max-width:1200px; margin:0 auto; padding:0 15px; }

/* ===== Banner ===== */
.banner-wrap { max-width:2537px; margin:0 auto; }
.banner-wrap img { width:100%; height:auto; display:block; }

/* ===== 椤甸潰鏍囬 ===== */
.page-title {
  text-align:center;
  font-size:28px;
  color:#1a2a3a;
  letter-spacing:3px;
  margin:0 0 8px 0;
}
.page-subtitle {
  text-align:center;
  color:#64748b;
  font-size:14px;
  letter-spacing:1px;
  margin:0 0 30px 0;
}

/* ===== 鍥涘垪淇℃伅鍗＄墖 ===== */
.info-grid { display:flex; flex-wrap:wrap; gap:15px; margin:0 auto 30px; }
.info-card {
  flex:1; min-width:200px;
  padding:28px 15px;
  text-align:center;
  border-radius:12px;
  border:1px solid;
}
.info-card.-phone { background:linear-gradient(135deg,#eff6ff,#dbeafe); border-color:#bfdbfe; }
.info-card.-address { background:linear-gradient(135deg,#f0fdf4,#dcfce7); border-color:#bbf7d0; }
.info-card.-email { background:linear-gradient(135deg,#fefce8,#fef9c3); border-color:#fef08a; }
.info-card.-hours { background:linear-gradient(135deg,#f5f3ff,#ede9fe); border-color:#ddd6fe; }

.info-card .icon { font-size:36px; margin-bottom:8px; }
.info-card h3 { font-size:15px; color:#1e3a5f; margin:0 0 4px 0; }
.info-card .value {
  font-size:20px; font-weight:700; margin:0; letter-spacing:1px;
}
.info-card.-phone .value { color:#2563eb; }
.info-card.-address .value { color:#16a34a; font-size:14px; line-height:1.5; }
.info-card.-email .value { color:#ca8a04; font-size:16px; font-weight:700; }
.info-card.-hours .value { color:#7c3aed; font-size:14px; }

.info-card .meta { font-size:12px; color:#64748b; margin-top:6px; }

/* ===== 鐣欒█ + 寰俊QQ 涓ゆ爮 ===== */
.two-col { display:flex; flex-wrap:wrap; gap:30px; margin:0 auto 30px; }
.col-form { flex:1.2; min-width:320px; }
.col-contact { flex:0.8; min-width:260px; }

.section-title { font-size:20px; color:#1a2a3a; margin:0 0 6px 0; }
.section-desc { color:#64748b; font-size:13px; margin:0 0 20px 0; }

/* 琛ㄥ崟 */
.contact-form .row { display:flex; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.contact-form .field {
  flex:1; min-width:140px;
  padding:12px 14px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  font-size:14px;
  background:#f8fafc;
  color:#1a2a3a;
  outline:none;
  transition:border-color 0.2s;
}
.contact-form .field:focus { border-color:#a855f7; }
.contact-form .field::placeholder { color:#94a3b8; }
.contact-form textarea.field { width:100%; resize:vertical; box-sizing:border-box; }
.contact-form select.field { color:#64748b; cursor:pointer; }
.contact-form select.field option { color:#1a2a3a; }

.btn-submit {
  padding:13px 36px;
  background:linear-gradient(135deg,#a855f7,#7c3aed);
  color:#fff;
  border:none;
  border-radius:8px;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  letter-spacing:1px;
  transition:opacity 0.2s;
}
.btn-submit:hover { opacity:0.9; }
.btn-submit:disabled { opacity:0.6; cursor:not-allowed; }

.form-status { font-size:13px; margin-top:10px; display:none; }
.form-status.-success { color:#16a34a; }
.form-status.-error { color:#dc2626; }

/* 寰俊QQ鍗＄墖 */
.social-grid { display:flex; gap:15px; flex-wrap:wrap; }
.social-card {
  flex:1; min-width:110px;
  text-align:center;
  padding:15px 12px;
  border-radius:12px;
  border:1px solid #e2e8f0;
  background:#fafafa;
}
.social-card .qr { width:120px; height:120px; border-radius:8px; display:block; margin:0 auto 8px; }
.social-card .label { font-size:14px; color:#1e3a5f; font-weight:600; margin:0 0 4px 0; }
.social-card .info { font-size:14px; color:#2563eb; font-weight:700; margin:0; letter-spacing:1px; }
.social-card .hint { font-size:11px; color:#94a3b8; margin-top:4px; }

/* ===== 鍦板浘 ===== */
.map-title {
  text-align:center;
  font-size:22px;
  color:#1a2a3a;
  letter-spacing:2px;
  margin:0 0 6px 0;
}
.map-wrap {
  max-width:1200px;
  margin:0 auto;
  border-radius:12px;
  overflow:hidden;
  border:1px solid #e2e8f0;
}
.map-wrap iframe { width:100%; height:350px; border:none; }

/* ===== 到厂路线 ===== */
.route-title {
  text-align:center;
  font-size:24px;
  color:#1a2a3a;
  letter-spacing:2px;
  margin:0 0 6px 0;
}
.route-subtitle {
  text-align:center;
  color:#64748b;
  font-size:14px;
  margin:0 0 25px 0;
}
.route-grid { 
  display:flex; 
  flex-wrap:wrap; 
  gap:15px; 
  max-width:900px; 
  margin:0 auto; 
  justify-content:center;
}

@keyframes cardFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-4px); }
}

/* 前三张卡片 */
.route-card {
  flex:0 0 260px;
  padding:26px 18px 22px;
  text-align:center;
  border-radius:12px;
  transition:all 0.35s cubic-bezier(.25,.8,.25,1);
  cursor:default;
  position:relative;
  overflow:hidden;
}
.route-card:hover {
  transform:translateY(-6px);
  box-shadow:0 10px 30px rgba(0,0,0,0.1);
}
.route-card .icon { 
  display:inline-block; 
  font-size:34px; 
  margin-bottom:6px;
  transition:transform 0.35s ease;
}
.route-card:hover .icon { transform:scale(1.15) rotate(-5deg); }
.route-card h4 { 
  font-size:15px; 
  margin:0 0 8px 0; 
  font-weight:700; 
  letter-spacing:1px;
}
.route-card p { 
  font-size:13px; 
  color:#4b5563; 
  margin:0; 
  line-height:1.7; 
}

.route-card.-train {
  background:linear-gradient(180deg,#f0fdf4,#dcfce7);
  border:1px solid #bbf7d0;
  animation:cardFloat 3s ease-in-out infinite;
}
.route-card.-train h4 { color:#166534; }
.route-card.-plane {
  background:linear-gradient(180deg,#eff6ff,#dbeafe);
  border:1px solid #bfdbfe;
  animation:cardFloat 3s ease-in-out 0.5s infinite;
}
.route-card.-plane h4 { color:#1e40af; }
.route-card.-drive {
  background:linear-gradient(180deg,#fefce8,#fef9c3);
  border:1px solid #fef08a;
  animation:cardFloat 3s ease-in-out 1s infinite;
}
.route-card.-drive h4 { color:#854d0e; }

/* ===== 接站服务：独占一行，居中大卡 ===== */
.route-card.-pickup {
  flex:0 0 100%;
  max-width:800px;
  margin:10px auto 0;
  padding:28px 24px;
  background:linear-gradient(135deg,#f5f3ff,#ede9fe);
  border:2px solid #c4b5fd;
  border-radius:14px;
  box-shadow:0 4px 15px rgba(124,58,237,0.12);
  animation:cardFloat 3s ease-in-out 1.5s infinite;
}
.route-card.-pickup h4 { 
  color:#5b21b6; 
  font-size:16px;
}
.route-card.-pickup p { 
  font-size:14px; 
  color:#4c1d95;
  font-weight:500;
}
.route-card.-pickup .icon { font-size:38px; }

.route-tip {
  text-align:center;
  font-size:13px;
  color:#94a3b8;
  margin-top:20px;
}
/* ===== FAQ ===== */
.faq-title {
  text-align:center;
  font-size:22px;
  color:#1a2a3a;
  letter-spacing:2px;
  margin:0 0 6px 0;
}
.faq-subtitle {
  text-align:center;
  color:#64748b;
  font-size:13px;
  margin:0 0 20px 0;
}
.faq-list { max-width:800px; margin:0 auto; }
.faq-item {
  border-radius:8px;
  background:#f8fafc;
  padding:4px 20px 12px;
  border:1px solid #e2e8f0;
  margin-bottom:10px;
}
.faq-item h4 { font-size:15px; color:#1e3a5f; margin:12px 0 8px 0; }
.faq-item p { color:#475569; font-size:13px; margin:0; line-height:1.7; }

/* ===== 閫氱敤闂磋窛 ===== */
.spacer-sm { height:20px; }
.spacer-md { height:30px; }
.spacer-lg { height:40px; }

/* ===== 閾炬帴鏍峰紡 ===== */
a.tel { color:inherit; text-decoration:none; }