/* fm_hehun_01 八字合婚 — 青绿国风 × 轻玻璃 · 1400 双栏 */
fss,acronym,time,sdu,tcenter,stysle,ssmall,areass,abbr,sadw,dfn,noscripta,ecode,is,font,tyyt,sup{display:none!important;width:0!important;height:0!important;overflow:hidden!important;line-height:0!important;font-size:0!important;margin:0!important;padding:0!important;border:0!important}

/* ===== CSS 变量 (celadon + glass_soft) ===== */
.fm-hehun{
  --fm-max-w:1400px;
  --fm-sidebar:320px;
  --fm-radius:16px;
  --fm-bg:#eef5f0;
  --fm-surface:rgba(255,255,255,.82);
  --fm-primary:#2e6b4f;
  --fm-accent:#7cb342;
  --fm-text:#1b3a2f;
  --fm-muted:#5a7d6a;
  --fm-border:#c5ddd0;
  --fm-hero-from:#1b4332;
  --fm-hero-to:#40916c;
  font-family:"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--fm-bg);
  color:var(--fm-text);
  min-height:100vh;
  line-height:1.5;
}
.fm-hehun *{box-sizing:border-box}
.fm-hehun a{color:var(--fm-primary);text-decoration:none}
.fm-hehun a:hover{color:var(--fm-accent)}
.fm-hehun-wrap{max-width:var(--fm-max-w);margin:0 auto;padding:0 24px 56px}
#fm-calc-result{scroll-margin-top:16px;outline:none}

/* ===== 面包屑 ===== */
.fm-hehun-crumb{padding:16px 0 0;font-size:13px;color:var(--fm-muted)}
.fm-hehun-crumb span{margin:0 8px;color:var(--fm-border)}
.fm-hehun-crumb em{font-style:normal;color:var(--fm-text);opacity:.7}

/* ===== Hero ===== */
.fm-hehun-hero{
  background:linear-gradient(135deg,var(--fm-hero-from) 0%,var(--fm-hero-to) 100%);
  color:#fff;
  border-radius:var(--fm-radius);
  padding:40px 44px;
  margin-top:12px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.fm-hehun-hero-inner{position:relative;z-index:1;flex:1;min-width:0}
.fm-hehun-hero h1{font-size:28px;font-weight:700;margin:0 0 8px;letter-spacing:.02em}
.fm-hehun-hero-sub{font-size:15px;opacity:.88;margin:0}
.fm-hehun-hero-deco{
  position:relative;z-index:1;
  font-size:140px;font-weight:900;
  opacity:.08;
  font-family:KaiTi,serif;
  line-height:1;
  flex-shrink:0;
  margin-left:24px;
  user-select:none;
}

/* ===== 双栏布局 ===== */
.fm-hehun-layout{display:grid;grid-template-columns:1fr var(--fm-sidebar);gap:24px;margin-top:24px;align-items:start}
.fm-hehun-main{min-width:0}

/* ===== 表单卡片 (glass) ===== */
.fm-hehun-form-card{
  background:var(--fm-surface);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-radius:var(--fm-radius);
  padding:28px 32px;
  box-shadow:0 8px 32px rgba(0,0,0,.06);
  border:1px solid rgba(255,255,255,.6);
}
.fm-hehun-form-hd{margin-bottom:20px}
.fm-hehun-form-hd h2{font-size:20px;color:var(--fm-primary);margin:0 0 6px;font-weight:700}
.fm-hehun-form-tip{font-size:13px;color:var(--fm-muted);margin:0}

.fm-hehun-form-dual{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fm-hehun-person{
  border:1px solid var(--fm-border);
  border-radius:12px;
  padding:20px 22px;
  background:rgba(255,255,255,.6);
  transition:border-color .2s;
}
.fm-hehun-person:hover{border-color:var(--fm-accent)}
.fm-hehun-person--male{border-top:3px solid #2e6b4f}
.fm-hehun-person--female{border-top:3px solid #c2185b}
.fm-hehun-person-hd{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.fm-hehun-person-hd b{font-size:16px;color:var(--fm-text)}
.fm-hehun-tag{font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600}
.fm-hehun-tag--male{background:#e8f5e9;color:#2e7d32}
.fm-hehun-tag--female{background:#fce4ec;color:#c2185b}

.fm-hehun-field{margin-bottom:14px}
.fm-hehun-field>label{display:block;font-size:13px;font-weight:600;color:var(--fm-muted);margin-bottom:6px}
.fm-hehun-field input[type=text],
.fm-hehun-field input[type=number],
.fm-hehun-field select{
  width:100%;padding:10px 12px;
  border:1px solid var(--fm-border);
  border-radius:8px;
  font-size:16px;color:var(--fm-text);
  background:rgba(255,255,255,.7);
  transition:border-color .15s,box-shadow .15s;
}
.fm-hehun-field input:focus,
.fm-hehun-field select:focus{
  outline:none;
  border-color:var(--fm-accent);
  box-shadow:0 0 0 3px rgba(124,179,66,.15);
  background:#fff;
}
.fm-hehun-date-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.fm-hehun-time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fm-hehun-submit-wrap{margin-top:8px;text-align:center}
.fm-hehun-submit{
  display:inline-block;min-width:280px;padding:14px 48px;
  border:0;border-radius:10px;
  background:linear-gradient(135deg,var(--fm-primary),var(--fm-accent));
  color:#fff;font-size:16px;font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(46,107,79,.25);
  transition:transform .15s,box-shadow .15s;
}
.fm-hehun-submit:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(46,107,79,.32)}

/* ===== 错误提示 ===== */
.fm-hehun-error{
  margin-top:24px;
  background:#fef2f2;border:1px solid #fecaca;
  border-radius:12px;padding:16px 20px;
  color:#b91c1c;font-size:14px;
}

/* ===== 结果区 ===== */
.fm-hehun-result{
  margin-top:24px;
  background:var(--fm-surface);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-radius:var(--fm-radius);
  padding:28px 32px;
  box-shadow:0 8px 32px rgba(0,0,0,.06);
  border:1px solid rgba(255,255,255,.6);
}
.fm-hehun-result-hd{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;
  margin-bottom:24px;padding-bottom:20px;
  border-bottom:1px solid var(--fm-border);
}
.fm-hehun-result-hd h2{font-size:20px;color:var(--fm-primary);margin:0;font-weight:700}
.fm-hehun-result-sub{font-size:13px;color:var(--fm-muted)}

/* 评分环 */
.fm-hehun-score-panel{
  display:flex;align-items:center;gap:32px;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(232,245,233,.5),rgba(200,230,201,.3));
  border-radius:14px;padding:24px 28px;
  margin-bottom:28px;
}
.fm-hehun-score-ring{
  flex-shrink:0;width:120px;height:120px;border-radius:50%;
  background:conic-gradient(var(--fm-accent) calc(var(--pct,55) * 1%),var(--fm-border) 0);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.fm-hehun-score-ring::before{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}
.fm-hehun-score-ring .fm-hehun-score-inner{position:relative;z-index:1;text-align:center}
.fm-hehun-score-ring b{position:relative;font-size:32px;font-weight:800;color:var(--fm-primary);line-height:1}
.fm-hehun-score-ring span{position:relative;display:block;font-size:12px;color:var(--fm-muted);text-align:center;margin-top:2px}
.fm-hehun-score-meta{flex:1;min-width:200px}
.fm-hehun-level{display:inline-block;font-size:14px;font-weight:700;color:var(--fm-primary);background:#e8f5e9;padding:4px 14px;border-radius:20px;margin-bottom:8px}
.fm-hehun-summary{font-size:16px;color:var(--fm-text);margin:0 0 8px;font-weight:600}
.fm-hehun-seo-text{font-size:13px;color:var(--fm-muted);margin:0;line-height:1.65}

/* 双人八字卡 */
.fm-hehun-couple{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin-bottom:28px}
.fm-hehun-couple-vs{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:var(--fm-accent);padding:0 4px}
.fm-hehun-bazi-card{
  border:1px solid var(--fm-border);border-radius:14px;
  padding:18px 20px;background:rgba(255,255,255,.6);
}
.fm-hehun-bazi-card--male{border-color:#a5d6a7;background:linear-gradient(180deg,rgba(232,245,233,.4),rgba(255,255,255,.6))}
.fm-hehun-bazi-card--female{border-color:#f8bbd0;background:linear-gradient(180deg,rgba(252,228,236,.4),rgba(255,255,255,.6))}
.fm-hehun-bazi-card h3{font-size:15px;margin:0 0 4px;font-weight:700}
.fm-hehun-bazi-card--male h3{color:#2e7d32}
.fm-hehun-bazi-card--female h3{color:#c2185b}
.fm-hehun-bazi-birth{font-size:12px;color:var(--fm-muted);margin:0 0 12px}
.fm-hehun-bazi-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:12px}
.fm-hehun-bazi-meta span{background:rgba(255,255,255,.7);border:1px solid var(--fm-border);border-radius:6px;padding:4px 10px;color:var(--fm-text)}
.fm-hehun-pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.fm-hehun-pillar{text-align:center;background:rgba(255,255,255,.7);border:1px solid var(--fm-border);border-radius:10px;padding:10px 4px}
.fm-hehun-pillar label{display:block;font-size:11px;color:var(--fm-muted);margin-bottom:4px}
.fm-hehun-pillar-gz{display:block;font-family:KaiTi,serif;font-size:18px;font-weight:700;color:var(--fm-text);letter-spacing:.08em}
.fm-hehun-pillar-wx{display:block;font-size:11px;color:var(--fm-muted);margin-top:4px}

/* 维度分析 */
.fm-hehun-details h3{font-size:17px;color:var(--fm-text);margin:0 0 16px;font-weight:700}
.fm-hehun-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.fm-hehun-detail-item{
  border:1px solid var(--fm-border);border-radius:12px;
  padding:16px 18px;background:rgba(255,255,255,.5);
}
.fm-hehun-detail-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.fm-hehun-detail-hd b{font-size:15px;color:var(--fm-text)}
.fm-hehun-detail-score{font-size:12px;font-weight:700;padding:3px 10px;border-radius:6px;flex-shrink:0;background:#e8f5e9;color:#2e7d32}
.fm-hehun-detail-result{font-size:13px;color:var(--fm-primary);font-weight:600;margin-bottom:8px}
.fm-hehun-detail-desc{font-size:13px;color:var(--fm-text);line-height:1.7;opacity:.85}

/* ===== 广告位（#fm-calc-result 之后） ===== */
.fm-hehun-ad-script{margin:24px 0;padding:22px 26px;background:var(--fm-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(255,255,255,.6);text-align:center}
.fm-hehun-ad-script iframe,.fm-hehun-ad-script img{max-width:100%}

.fm-hehun-ad-icons{
  background:var(--fm-surface);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:var(--fm-radius);
  padding:20px 18px;
  margin-bottom:24px;
  box-shadow:0 4px 20px rgba(0,0,0,.04);
}
.fm-hehun-ad-icons-tit{
  text-align:center;font-size:13px;font-weight:700;
  color:var(--fm-primary);line-height:1.65;
  margin:0 0 14px;padding-bottom:12px;
  border-bottom:1px dashed var(--fm-border);
}
.fm-hehun-ad-icons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fm-hehun-ad-icons-grid a{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:10px 6px;
  background:rgba(232,245,233,.4);
  border:1px solid var(--fm-border);
  border-radius:10px;
  text-decoration:none;
  transition:border-color .15s,box-shadow .15s;
}
.fm-hehun-ad-icons-grid a:hover{border-color:var(--fm-accent);box-shadow:0 4px 14px rgba(124,179,66,.12)}
.fm-hehun-ad-icons-grid a:hover span{color:var(--fm-primary)}
.fm-hehun-ad-icons-grid img{width:46px;height:46px;object-fit:contain}
.fm-hehun-ad-icons-grid span{font-size:12px;color:var(--fm-muted);text-align:center;line-height:1.35}

/* ===== 黄历侧栏 (sticky) ===== */
.fm-hehun-aside{position:sticky;top:16px}
.fm-hehun-hl{
  background:var(--fm-surface);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-radius:var(--fm-radius);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 8px 32px rgba(0,0,0,.06);
  overflow:hidden;
}
.fm-hehun-hl-head{
  display:flex;gap:14px;align-items:center;
  padding:18px 18px 14px;
  background:linear-gradient(135deg,var(--fm-hero-from),var(--fm-hero-to));
  color:#fff;
}
.fm-hehun-hl-date-badge{
  flex-shrink:0;width:54px;text-align:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;padding:8px 6px;
}
.fm-hehun-hl-date-badge b{display:block;font-size:26px;font-weight:800;line-height:1;color:#ffe8a3}
.fm-hehun-hl-date-badge span{display:block;font-size:11px;margin-top:4px;opacity:.88}
.fm-hehun-hl-head-text{min-width:0}
.fm-hehun-hl-head h2{margin:0 0 6px;font-size:17px;font-weight:800;letter-spacing:.04em}
.fm-hehun-hl-ts{margin:0;font-size:11px;line-height:1.45;color:rgba(255,255,255,.88);font-weight:600}

.fm-hehun-hl-solar{padding:14px 18px 10px;border-bottom:1px dashed var(--fm-border)}
.fm-hehun-hl-gongli{margin:0 0 4px;font-size:15px;color:var(--fm-text)}
.fm-hehun-hl-gongli strong{font-weight:800}
.fm-hehun-hl-week{margin:0;font-size:12px;color:var(--fm-muted);line-height:1.5}

.fm-hehun-hl-pillars{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px 0}
.fm-hehun-hl-pillars span{
  font-size:11px;font-weight:700;font-family:KaiTi,serif;color:var(--fm-primary);
  background:rgba(232,245,233,.5);border:1px solid var(--fm-border);
  border-radius:999px;padding:4px 10px;
}
.fm-hehun-hl-extra{margin:8px 18px 0;font-size:11px;color:var(--fm-muted);line-height:1.5}

.fm-hehun-hl-yiji{padding:14px 18px;border-bottom:1px dashed var(--fm-border)}
.fm-hehun-hl-yi,.fm-hehun-hl-ji{margin-bottom:12px}
.fm-hehun-hl-ji{margin-bottom:0}
.fm-hehun-hl-yi label,.fm-hehun-hl-ji label{
  display:inline-block;font-size:11px;font-weight:800;color:#fff;
  padding:2px 8px;border-radius:4px;margin-bottom:8px;
}
.fm-hehun-hl-yi label{background:#2e7d32}
.fm-hehun-hl-ji label{background:#c62828}
.fm-hehun-hl-tags{font-size:12px;line-height:1.55;color:var(--fm-text);word-break:break-all}
.fm-hehun-hl-tags span{
  display:inline-block;margin:0 4px 4px 0;padding:3px 8px;
  border-radius:6px;font-size:11px;
  background:#e8f5e9;color:#2e7d32;
}
.fm-hehun-hl-ji .fm-hehun-hl-tags span{background:#ffebee;color:#c62828}

.fm-hehun-hl-gods{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  padding:14px 18px;border-bottom:1px dashed var(--fm-border);
}
.fm-hehun-hl-god{
  text-align:center;background:rgba(232,245,233,.4);
  border:1px solid var(--fm-border);border-radius:10px;padding:10px 6px;
}
.fm-hehun-hl-god--wide{grid-column:1/-1}
.fm-hehun-hl-god i{
  display:block;width:22px;height:22px;line-height:22px;
  margin:0 auto 6px;border-radius:50%;
  font-style:normal;font-size:11px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,var(--fm-primary),var(--fm-accent));
}
.fm-hehun-hl-god b{display:block;font-size:11px;font-weight:600;color:var(--fm-text);line-height:1.4;word-break:break-all}

.fm-hehun-hl-detail{margin:0;padding:12px 18px 16px}
.fm-hehun-hl-row{
  display:grid;grid-template-columns:4.2em 1fr;gap:8px;
  padding:9px 0;border-top:1px solid rgba(200,221,208,.4);
}
.fm-hehun-hl-row:first-child{border-top:0;padding-top:0}
.fm-hehun-hl-row dt{margin:0;font-size:11px;font-weight:800;color:var(--fm-primary);line-height:1.45}
.fm-hehun-hl-row dd{margin:0;font-size:11px;color:var(--fm-text);line-height:1.55;word-break:break-all}
.fm-hehun-hl-row dd em{display:block;margin-top:4px;font-style:normal;color:var(--fm-muted);font-size:10px;line-height:1.45}
.fm-hehun-hl-row--ji dd{color:#2e7d32}
.fm-hehun-hl-row--xiong dd{color:#c62828}

/* ===== 正文区通用 ===== */
.fm-hehun-intro{
  margin-top:24px;padding:18px 22px;
  background:var(--fm-surface);
  backdrop-filter:blur(12px);
  border-radius:14px;
  border-left:4px solid var(--fm-accent);
  font-size:15px;color:var(--fm-text);line-height:1.75;
}
.fm-hehun-block{
  margin-top:20px;
  background:var(--fm-surface);
  backdrop-filter:blur(12px);
  border-radius:14px;padding:22px 26px;
  border:1px solid rgba(255,255,255,.6);
}
.fm-hehun-block h3{font-size:16px;color:var(--fm-text);margin:0 0 12px;font-weight:700}
.fm-hehun-block p,.fm-hehun-block li{font-size:14px;color:var(--fm-text);line-height:1.7;opacity:.88}
.fm-hehun-article p{margin:0 0 12px}
.fm-hehun-article p:last-child{margin-bottom:0}
.fm-hehun-knowledge{
  margin-top:24px;
  background:var(--fm-surface);
  backdrop-filter:blur(12px);
  border-radius:var(--fm-radius);padding:28px 32px;
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 2px 16px rgba(0,0,0,.04);
}
.fm-hehun-knowledge-hd{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--fm-border)}
.fm-hehun-knowledge-hd h2{font-size:22px;color:var(--fm-primary);margin:0 0 8px;font-weight:700}
.fm-hehun-knowledge-hd p{font-size:14px;color:var(--fm-muted);margin:0;line-height:1.65}
.fm-hehun-knowledge-item{padding:20px 0;border-top:1px dashed var(--fm-border)}
.fm-hehun-knowledge-item:first-of-type{border-top:0;padding-top:0}
.fm-hehun-knowledge-item h3{font-size:17px;color:var(--fm-text);margin:0 0 6px;font-weight:700}
.fm-hehun-knowledge-sub{font-size:13px;color:var(--fm-primary);margin:0 0 12px;font-weight:500}
.fm-hehun-knowledge-item p{font-size:14px;color:var(--fm-text);line-height:1.8;margin:0 0 12px;text-align:justify;opacity:.88}
.fm-hehun-knowledge-item p:last-child{margin-bottom:0}
.fm-hehun-block ul{margin:0;padding-left:20px}
.fm-hehun-block li{margin-bottom:6px}

/* FAQ */
.fm-hehun-faq-item{border-top:1px solid var(--fm-border);padding:12px 0}
.fm-hehun-faq-item:first-of-type{border-top:0;padding-top:0}
.fm-hehun-faq-item summary{font-size:14px;font-weight:600;cursor:pointer;list-style:none;color:var(--fm-text)}
.fm-hehun-faq-item summary::-webkit-details-marker{display:none}
.fm-hehun-faq-item summary::before{content:"+ ";color:var(--fm-accent);font-weight:800}
.fm-hehun-faq-item[open] summary::before{content:"- "}
.fm-hehun-faq-item p{margin:8px 0 0;font-size:13px;color:var(--fm-muted);line-height:1.65}

/* 链轮 */
.fm-hehun-wheel{display:flex;flex-wrap:wrap;gap:10px}
.fm-hehun-wheel a{
  font-size:13px;padding:8px 14px;
  background:rgba(232,245,233,.4);
  border:1px solid var(--fm-border);
  border-radius:8px;color:var(--fm-text);
  transition:border-color .15s,color .15s;
}
.fm-hehun-wheel a:hover{border-color:var(--fm-accent);color:var(--fm-primary)}

/* 页脚 */
.fm-hehun-foot{text-align:center;padding:32px 0 0;font-size:12px;color:var(--fm-muted);line-height:1.8}

/* ===== 响应式 ===== */
@media(max-width:1100px){
  .fm-hehun-layout{grid-template-columns:1fr}
  .fm-hehun-aside{position:static}
  .fm-hehun-hl{margin-top:24px}
  .fm-hehun-hl-gods{grid-template-columns:repeat(4,1fr)}
  .fm-hehun-hl-god--wide{grid-column:auto}
}

@media(max-width:768px){
  .fm-hehun-wrap{padding:0 14px 40px}
  .fm-hehun-hero{padding:24px 20px;border-radius:12px;flex-direction:column;align-items:flex-start}
  .fm-hehun-hero h1{font-size:22px}
  .fm-hehun-hero-deco{display:none}
  .fm-hehun-form-card,.fm-hehun-result,.fm-hehun-knowledge{padding:20px 18px}
  .fm-hehun-form-dual{grid-template-columns:1fr}
  .fm-hehun-couple{grid-template-columns:1fr}
  .fm-hehun-couple-vs{padding:8px 0;font-size:16px}
  .fm-hehun-detail-grid{grid-template-columns:1fr}
  .fm-hehun-score-panel{flex-direction:column;text-align:center}
  .fm-hehun-submit{width:100%;min-width:0}
  .fm-hehun-pillar-grid{grid-template-columns:repeat(2,1fr)}
  .fm-hehun-ad-icons{padding:16px 12px}
  .fm-hehun-ad-icons-grid{grid-template-columns:repeat(4,1fr);gap:8px}
  .fm-hehun-ad-icons-grid a{padding:8px 4px}
  .fm-hehun-ad-icons-grid img{width:40px;height:40px}
  .fm-hehun-ad-icons-grid span{font-size:11px}
  .fm-hehun-hl-gods{grid-template-columns:repeat(4,1fr)}
  .fm-hehun-hl-god--wide{grid-column:auto}
}
