/* =========================================================
   GFA Tools — 清新自然·生命感品牌样式
   调色板：米白 #FAF8F1 / 墨绿字 #25302A / 草绿 #4E9D5B
   ========================================================= */
:root{
  --gfa-bg:#FAF8F1; --gfa-ink:#25302A; --gfa-accent:#4E9D5B;
  --gfa-accent-2:#3C7E47; --gfa-accent-soft:#EAF4EC; --gfa-line:#E4E7DD;
  --gfa-muted:#5E6B62; --gfa-risk:#C2603F; --gfa-law:#4E9D5B;
  --gfa-radius:22px; --gfa-radius-sm:14px; --gfa-shadow:0 12px 32px rgba(78,157,91,.12);
  --gfa-font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}
.gg-wrap, .gfa-countries,.gfa-calc,.gfa-brief,.gfa-assistant,.gfa-lead-form{max-width:1080px;margin:0 auto;color:var(--gfa-ink);}
.gfa-countries,.gfa-calc,.gfa-brief,.gfa-assistant,.gfa-lead-form{font-family:var(--gfa-font);}

/* ---------- 图例 ---------- */
.gfa-legend{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px;}
.gfa-legend-chip{font-size:13px;padding:6px 14px;border-radius:999px;border:1px solid var(--gfa-line);background:#fff;}
.gfa-legend-surro{color:var(--gfa-accent);border-color:var(--gfa-accent);background:var(--gfa-accent-soft);}
.gfa-legend-ivf_transport,.gfa-legend-ivf_only{color:var(--gfa-accent-2);border-color:#CFE4D2;background:var(--gfa-accent-soft);}
.gfa-legend-knowledge{color:var(--gfa-muted);}

/* ---------- 分组 ---------- */
.gfa-group{margin:34px 0;}
.gfa-group-title{font-size:22px;display:flex;align-items:center;gap:10px;margin:0 0 4px;font-family:var(--gfa-font);font-weight:700;}
.gfa-dot{width:11px;height:11px;border-radius:50%;display:inline-block;}
.gfa-dot-surro{background:var(--gfa-accent);}
.gfa-dot-ivf_transport,.gfa-dot-ivf_only{background:var(--gfa-accent-2);}
.gfa-dot-knowledge{background:#b8b3a8;}
.gfa-group-sub{color:var(--gfa-muted);margin:0 0 18px;font-size:14px;}

/* ---------- 卡片网格 ---------- */
.gfa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
.gfa-card{background:#fff;border:1px solid var(--gfa-line);border-radius:var(--gfa-radius);padding:22px;box-shadow:0 4px 18px rgba(78,157,91,.08);display:flex;flex-direction:column;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.gfa-card:hover{transform:translateY(-3px);box-shadow:var(--gfa-shadow);border-color:#CFE3D2;}
.gfa-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.gfa-flag{font-size:30px;line-height:1;}
.gfa-name{font-size:18px;font-weight:600;}
.gfa-tier{font-size:12px;color:var(--gfa-muted);}
.gfa-svc{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--gfa-ink);margin-bottom:10px;padding:10px 12px;background:var(--gfa-bg);border-radius:12px;}
.gfa-svc span{display:block;}
.gfa-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.gfa-tag{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--gfa-accent-soft);color:var(--gfa-accent);}
.gfa-note{font-size:13px;line-height:1.6;color:var(--gfa-muted);margin:0 0 12px;}
.gfa-detail-toggle{margin-top:auto;align-self:flex-start;background:none;border:1px solid var(--gfa-accent);color:var(--gfa-accent);border-radius:999px;padding:7px 16px;font-size:13px;cursor:pointer;transition:.2s;}
.gfa-detail-toggle:hover{background:var(--gfa-accent);color:#fff;}
.gfa-detail{margin-top:14px;border-top:1px dashed var(--gfa-line);padding-top:14px;}
.gfa-detail-block{margin-bottom:12px;}
.gfa-detail-h{font-size:13px;font-weight:600;color:var(--gfa-accent);margin-bottom:6px;}
.gfa-svclist{list-style:none;margin:0;padding:0;font-size:13px;}
.gfa-svclist li{padding:3px 0;border-bottom:1px solid var(--gfa-bg);}
.gfa-notes{margin:0;padding-left:18px;font-size:13px;line-height:1.7;color:var(--gfa-muted);}

.gfa-disclaimer{font-size:12.5px;color:var(--gfa-muted);line-height:1.7;margin-top:28px;padding:14px 16px;background:var(--gfa-bg);border-left:3px solid var(--gfa-accent);border-radius:0 12px 12px 0;}

/* ---------- 计算器 ---------- */
.gfa-calc{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start;}
.gfa-panel{background:#fff;border:1px solid var(--gfa-line);border-radius:var(--gfa-radius);padding:22px;box-shadow:0 4px 18px rgba(78,157,91,.08);}
.gfa-panel h3{margin:0 0 14px;font-size:16px;font-family:var(--gfa-font);font-weight:700;}
.gfa-field{margin-bottom:14px;display:flex;flex-direction:column;gap:7px;}
.gfa-field label{font-size:13px;color:var(--gfa-muted);}
.gfa-field select,.gfa-field input,.gfa-field textarea{font:inherit;padding:10px 12px;border:1px solid var(--gfa-line);border-radius:12px;background:#fff;color:var(--gfa-ink);}
.gfa-field select:focus,.gfa-field input:focus,.gfa-field textarea:focus{outline:none;border-color:var(--gfa-accent);}
.gfa-check{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:5px 0;color:var(--gfa-ink);}
.gfa-seg{display:flex;gap:8px;}
.gfa-seg button{border:1px solid var(--gfa-line);background:#fff;border-radius:10px;padding:8px 14px;cursor:pointer;font:inherit;color:var(--gfa-ink);}
.gfa-seg button.on{background:var(--gfa-accent);color:#fff;border-color:var(--gfa-accent);}
.gfa-result-total{background:linear-gradient(135deg,var(--gfa-accent),var(--gfa-accent-2));color:#fff;border-radius:var(--gfa-radius);padding:22px;box-shadow:var(--gfa-shadow);}
.gfa-result-total .sub{font-size:13px;opacity:.85;}
.gfa-result-total .big{font-size:30px;font-weight:700;margin:6px 0;}
.gfa-warn-box{background:#FBEFE7;color:var(--gfa-risk);border:1px solid #F0D2C2;border-radius:14px;padding:14px 16px;font-size:14px;margin-bottom:16px;}
.gfa-break{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:6px;}
.gfa-break th,.gfa-break td{padding:9px 10px;border-bottom:1px solid var(--gfa-line);text-align:left;}
.gfa-break th{color:var(--gfa-muted);font-weight:500;}
.gfa-pkg-card{border:1px solid var(--gfa-accent);border-radius:14px;padding:16px;background:var(--gfa-accent-soft);margin-bottom:16px;}
.gfa-pkg-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;}
.gfa-pkg-tag{font-size:12px;background:var(--gfa-accent);color:#fff;padding:3px 10px;border-radius:999px;}
.gfa-pkg-name{font-weight:600;}
.gfa-pkg-price{font-size:22px;font-weight:700;color:var(--gfa-accent);}
.gfa-pkg-note{font-size:12.5px;color:var(--gfa-muted);margin:6px 0;}
.gfa-pkg-sched-title{font-size:13px;font-weight:600;margin:10px 0 4px;}
.gfa-pkg-inc{margin:8px 0;padding-left:18px;font-size:13px;color:var(--gfa-muted);}
.gfa-pkg-src{font-size:12px;color:var(--gfa-muted);margin-top:8px;}
.gfa-btn{display:inline-block;border-radius:999px;padding:11px 20px;font:inherit;font-size:14px;cursor:pointer;text-decoration:none;border:1px solid transparent;}
.gfa-btn-primary{background:var(--gfa-accent);color:#fff;}
.gfa-btn-primary:hover{background:var(--gfa-accent-2);}
.gfa-btn-ghost{background:#fff;color:var(--gfa-accent);border-color:var(--gfa-accent);}
.gfa-btn-ghost:hover{background:var(--gfa-accent-soft);}
.gfa-timeline{margin-top:8px;}
.tl-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--gfa-line);}
.tl-item .phase{font-weight:600;font-size:14px;}
.tl-item .dates{font-size:12.5px;color:var(--gfa-muted);}
.tl-item .bar{height:7px;background:var(--gfa-accent-soft);border-radius:999px;margin-top:6px;overflow:hidden;}
.tl-item .bar span{display:block;height:100%;background:var(--gfa-accent);border-radius:999px;}
.time-note{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--gfa-accent);margin:12px 0;}
.gfa-loading{color:var(--gfa-muted);font-size:13px;padding:8px 0;}

/* ---------- 速览 ---------- */
.gfa-brief-cat{margin:30px 0;}
.gfa-brief-cat-title{font-size:20px;padding-left:12px;border-left:4px solid var(--gfa-accent);font-family:var(--gfa-font);font-weight:700;}
.gfa-brief-risk{border-left-color:var(--gfa-risk);}
.gfa-brief-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:16px;}
.gfa-brief-item{background:#fff;border:1px solid var(--gfa-line);border-radius:var(--gfa-radius);padding:18px;box-shadow:0 4px 18px rgba(78,157,91,.08);border-top:3px solid var(--gfa-accent);}
.gfa-brief-item.gfa-brief-risk{border-top-color:var(--gfa-risk);}
.gfa-brief-meta{display:flex;gap:10px;font-size:12px;color:var(--gfa-muted);margin-bottom:6px;}
.gfa-brief-region{color:var(--gfa-accent);}
.gfa-brief-title{font-size:15.5px;margin:0 0 8px;line-height:1.4;}
.gfa-brief-sum{font-size:13px;line-height:1.7;color:var(--gfa-muted);margin:0 0 12px;}
.gfa-brief-src{font-size:12px;color:var(--gfa-accent);text-decoration:none;}
.gfa-brief-src:hover{text-decoration:underline;}

/* ---------- AI 助手 ---------- */
.gfa-assistant{border:1px solid var(--gfa-line);border-radius:var(--gfa-radius);box-shadow:var(--gfa-shadow);overflow:hidden;background:#fff;}
.gfa-assistant-head{background:linear-gradient(135deg,var(--gfa-accent),var(--gfa-accent-2));color:#fff;padding:14px 18px;font-weight:600;display:flex;align-items:center;gap:10px;}
.gfa-assistant-dot{width:9px;height:9px;border-radius:50%;background:#bff3c4;box-shadow:0 0 0 4px rgba(191,243,196,.3);}
.gfa-assistant-locked{padding:22px;color:var(--gfa-muted);font-size:14px;text-align:center;}
.gfa-chat{height:380px;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--gfa-bg);}
.gfa-msg{max-width:82%;padding:11px 14px;border-radius:14px;font-size:14px;line-height:1.6;white-space:pre-wrap;}
.gfa-msg-user{align-self:flex-end;background:var(--gfa-accent);color:#fff;border-bottom-right-radius:4px;}
.gfa-msg-bot{align-self:flex-start;background:#fff;border:1px solid var(--gfa-line);border-bottom-left-radius:4px;}
.gfa-input-row{display:flex;gap:10px;padding:14px;border-top:1px solid var(--gfa-line);background:#fff;}
.gfa-input{flex:1;border:1px solid var(--gfa-line);border-radius:999px;padding:11px 16px;font:inherit;}
.gfa-input:focus{outline:none;border-color:var(--gfa-accent);}

/* ---------- 线索表单 ---------- */
.gfa-lead-form{max-width:560px;}
.gfa-lead-form .gfa-field{margin-bottom:16px;}
.gfa-lead-form label{font-size:13px;color:var(--gfa-muted);display:block;margin-bottom:6px;}
.gfa-lead-form input,.gfa-lead-form select,.gfa-lead-form textarea{width:100%;font:inherit;padding:11px 14px;border:1px solid var(--gfa-line);border-radius:12px;background:#fff;}
.gfa-lead-form input:focus,.gfa-lead-form textarea:focus,.gfa-lead-form select:focus{outline:none;border-color:var(--gfa-accent);}
.gfa-form-note{font-size:12px;color:var(--gfa-muted);margin-top:10px;}

/* ---------- 响应式 ---------- */
@media (max-width:780px){
  .gfa-calc{grid-template-columns:1fr;}
  .gfa-grid{grid-template-columns:1fr;}
  .gfa-brief-list{grid-template-columns:1fr;}
}
