:root{
    --bg:#0e1013; --muted:#6b7280; --card:#ffffff; --text:#111827; --brand:#2563eb; --brand-2:#1e40af; --alt:#f8fafc; --ring:#93c5fd;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;color:var(--text);background:#fff;line-height:1.6}
  
  .container{max-width:1140px;margin:0 auto;padding:0 20px}
  .muted{color:var(--muted)} .small{font-size:.9rem}
  
  .topbar{background:#0f172a;color:#e5e7eb;text-align:center;padding:8px 12px;font-size:.95rem}
  
  .site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e7eb;z-index:20}
  .nav{display:flex;align-items:center;justify-content:space-between;height:64px}
  .brand{font-weight:700;text-decoration:none;color:#111827;font-size:1.2rem}
  .site-header nav a{margin-left:16px;text-decoration:none;color:#111827}
  .site-header nav a.btn{margin-left:24px}
  
  .hero{padding:56px 0;background:linear-gradient(180deg,#f0f6ff, #fff)}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
  .hero-copy h1{font-size:2.4rem;line-height:1.2;margin:0 0 12px}
  .hero-copy p{margin:0 0 16px}
  .hero-media img{width:100%;border-radius:12px;display:block;box-shadow:0 10px 30px rgba(0,0,0,.12)}
  .hero-badges{padding:0;margin:12px 0 0;display:flex;gap:16px;flex-wrap:wrap}
  .hero-badges li{list-style:none;background:#eef2ff;color:#1e3a8a;border:1px solid #c7d2fe;padding:6px 10px;border-radius:999px;font-size:.95rem}
  
  .section{padding:60px 0}
  .section h2{font-size:1.8rem;margin:0 0 20px}
  .alt{background:var(--alt)}
  
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .card{background:var(--card);border:1px solid #e5e7eb;border-radius:12px;padding:18px}
  .card h3{margin:0 0 8px}
  .card p{margin:0 0 8px}
  .card ul{margin:0;padding-left:18px;color:var(--muted)}
  
  .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .price-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px}
  .price-card .price{font-size:1.6rem;font-weight:700;margin:10px 0 12px}
  .price-card.featured{border:2px solid var(--brand);box-shadow:0 10px 24px rgba(37,99,235,.12)}
  
  .chips{display:flex;gap:10px;flex-wrap:wrap}
  .chip{border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px;background:#fff}
  
  .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  blockquote{margin:0;padding:16px;border-radius:12px;background:#fff;border:1px solid #e5e7eb}
  cite{display:block;margin-top:8px;color:var(--muted);font-style:normal}
  
  .form{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px}
  .form .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  label{display:flex;flex-direction:column;gap:6px;font-weight:600}
  input,select,textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;font:inherit}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}
  .form-actions{display:flex;align-items:center;gap:12px;margin-top:12px}
  .form-status{font-size:.95rem;color:var(--muted)}
  
  .site-footer{background:#0f172a;color:#cbd5e1;padding:40px 0;margin-top:40px}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
  .footer-grid a{color:#cbd5e1;text-decoration:none}
  .list{padding:0;margin:0;list-style:none}
  .list li{margin:6px 0}
  
  .trust{background:#fff;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
  .trust-flex{display:flex;justify-content:space-between;align-items:center;padding:10px 0;color:#111827}
  
  .btn{display:inline-block;border:1px solid #111827;padding:10px 14px;border-radius:10px;text-decoration:none}
  .btn-small{padding:8px 12px}
  .btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}
  .btn-primary:hover{background:var(--brand-2);border-color:var(--brand-2)}
  .btn-ghost{background:#fff}
  
  .btn-block{display:block;text-align:center}
  
/* 悬浮拨号按钮（蓝白主题 | PC/移动一致） */
.floating-cta{
  position: fixed;
  right: calc(16px + env(safe-area-inset-right));
  bottom: calc(16px + env(safe-area-inset-bottom));
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: var(--brand);       /* #2563eb */
  color: #fff;                    /* 图标白色 */
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;         /* 白色描边更醒目 */
  box-shadow: 0 12px 28px rgba(37,99,235,.35);
  z-index: 1000;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
}

/* 悬停/按下（桌面端） */
.floating-cta:hover { 
  background: var(--brand-2);     /* #1e40af */
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 16px 34px rgba(30,64,175,.45);
}

/* 键盘可达性 */
.floating-cta:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px var(--ring), 0 12px 28px rgba(37,99,235,.35);
}

/* 图标统一大小；若用 <svg> 或 <i> 都生效 */
.floating-cta svg,
.floating-cta i{
  width: 28px;
  height: 28px;
  color: #fff;
}

/* 若用图片做图标，强制变白（可删） */
.floating-cta img{
  width: 28px;
  height: 28px;
  filter: brightness(0) invert(1);
}

/* 响应式：在中/小屏略缩小按钮，保持一致体验 */
@media (max-width: 980px){
  .floating-cta{ width: 56px; height: 56px; }
  .floating-cta svg, .floating-cta i, .floating-cta img{ width: 24px; height: 24px; }
}
@media (max-width: 640px){
  .floating-cta{ width: 52px; height: 52px; }
}

/* 服务范围地图样式 */
.map-wrapper {
    margin-top: 20px;
    text-align: center;
  }
  
  .map-wrapper img {
    max-width: 100%;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  }
  .brand {
  display: flex;
  align-items: center;
  font-weight: 700;
  text-decoration: none;
  color: #111827;
  font-size: 1.2rem;
}

.brand-logo {
  height: 60px;         /* logo 高度，可以根据实际图片大小调整 */
  margin-right: 8px;    /* logo 与文字之间的间距 */
}

/* 小屏(<768px) 隐藏导航链接，仅保留“在线预约”按钮 */
@media (max-width: 768px) {
  .site-header .nav { 
    flex-wrap: nowrap; 
    justify-content: space-between; 
    gap: 8px;
  }

  /* 先隐藏全部链接 */
  .site-header nav a { 
    display: none; 
  }

  /* 只显示按钮 */
  .site-header nav a.btn { 
    display: inline-block; 
    margin-left: 8px; 
    padding: 8px 12px;       /* 按钮点按更舒服 */
    font-size: 0.95rem;
  }
}
/* FAQ 折叠样式 */
.faq-item {
  border: 1px solid #e7e7e9;
  border-radius: 12px;
  background: #fff;
  margin-bottom: 14px;
  padding: 10px 14px;
}
.faq-item > summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 1.05rem;
  list-style: none;
  position: relative;
  padding-right: 22px;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
  content: "＋";
  position: absolute; right: 0; top: 0;
  color: #666;
}
.faq-item[open] > summary::after { content: "－"; }
.faq-ol { margin: 8px 0 0 18px; padding: 0; }
.faq-ol h4 { margin: 6px 0 4px; font-size: 1rem; }

/* 表格 */
.faq-table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0;
  font-size: 0.95rem;
}
.faq-table th, .faq-table td {
  border: 1px solid #e5e7eb;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
.faq-table thead th {
  background: #f6f7fb;
  font-weight: 700;
}
.mt-2 { margin-top: 12px; }

/* 口碑顶栏 + 评分 */
.review-actions{
  display:flex; justify-content:space-between; align-items:center;
  background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:10px 14px; margin-bottom:14px;
}
.summary-left{display:flex; align-items:center; gap:10px;}
.stars{color:#f59e0b; letter-spacing:1px; font-size:20px; line-height:1;}
.stars .half{position:relative;}
.stars .half::after{content:"☆"; color:#e5e7eb; position:absolute; left:0; top:0; width:50%; overflow:hidden;}
.score{display:flex; flex-direction:column;}
.score-num{font-size:1.15rem;}

@media (max-width:640px){
  .review-actions{flex-direction:column; align-items:flex-start; gap:8px;}
}

/* 口碑卡片 */
.review-meta{color:var(--muted); font-size:.9rem; margin-top:6px;}
.badge-inline{
  display:inline-block; padding:2px 8px; border:1px solid #e5e7eb; border-radius:999px; font-size:.82rem; margin-left:6px; background:#fff;
}

/* === 修复移动端显示：卡片/价格/口碑自适应列数 === */
.cards, .price-grid, .reviews {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); /* 自动分列 */
  gap: 18px;
}

/* 保持单卡片样式 */
.card {
  background: var(--card);
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px;
}

/* 保持价格卡片样式 */
.price-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 20px;
}
.price-card .price {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 10px 0 12px;
}
.price-card.featured {
  border: 2px solid var(--brand);
  box-shadow: 0 10px 24px rgba(37, 99, 235, .12);
}

/* === 修复移动端预约表单：输入框占满宽度 === */
.form .grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); /* 自动列宽 */
  gap: 12px;
}

input, select, textarea {
  width: 100%;       /* 强制控件占满可用宽度 */
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font: inherit;
}
