/* ============================================================
   报考指南 / 证书服务 页专属样式（侧栏锚点 + 清单表格体系）
   ============================================================ */

/* ---- 指南页头：左主标 + 右侧大数字 ---- */
.gd-hero{
  position:relative; background:var(--white); padding:128px 0 0;
  border-bottom:1px solid var(--line-soft); overflow:hidden;
}
.gd-hero::after{
  content:""; position:absolute; right:-160px; top:-160px; width:420px; height:420px;
  border:1px solid var(--line); border-radius:50%; opacity:.6;
}
.gd-hero .gd-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1fr auto; gap:48px; align-items:end; }
.gd-hero .crumb{ margin-bottom:20px; }
.gd-hero h1{ font-size:36px; font-weight:800; letter-spacing:1px; line-height:1.3; }
.gd-hero p{ margin-top:14px; color:var(--muted); max-width:700px; font-size:15px; line-height:1.9; }
.gd-hero .gd-cta{ display:flex; gap:12px; margin-top:26px; flex-wrap:wrap; }
.gd-hero .gd-mark{
  font-size:110px; font-weight:800; line-height:1; color:var(--line-soft);
  letter-spacing:-4px; user-select:none; text-align:right;
}
.gd-hero .gd-mark em{ font-style:normal; color:var(--bg-soft); display:block; font-size:26px; letter-spacing:4px; margin-bottom:8px; }

/* ---- 主体双栏：左侧锚点栏 ---- */
.gd-main{ padding:64px 0 90px; }
.gd-cols{ display:grid; grid-template-columns:240px 1fr; gap:56px; align-items:start; }
.gd-rail{ position:sticky; top:96px; }
.gd-rail .gd-rail-box{ background:var(--white); border:1px solid var(--line-soft); border-radius:16px; padding:20px; }
.gd-rail h4{ font-size:13px; letter-spacing:3px; color:var(--steel); margin-bottom:14px; }
.gd-rail a{
  display:flex; align-items:center; gap:10px; padding:10px 14px; border-radius:10px;
  font-size:14px; color:var(--graphite); transition:background .2s, color .2s;
}
.gd-rail a::before{ content:""; width:6px; height:6px; border:1px solid var(--steel); border-radius:50%; flex-shrink:0; }
.gd-rail a:hover{ background:var(--bg); color:var(--ink); }
.gd-rail a.on{ background:var(--ink); color:#fff; }
.gd-rail a.on::before{ border-color:#fff; background:#fff; }
.gd-body{ min-width:0; }
.gd-block{ padding:14px 0 46px; scroll-margin-top:110px; }
.gd-block h2{
  font-size:23px; font-weight:800; letter-spacing:.5px; margin-bottom:20px;
  display:flex; align-items:center; gap:14px;
}
.gd-block h2::before{ content:""; width:8px; height:26px; border-radius:4px; background:var(--ink); }
.gd-block .gd-intro{ color:var(--muted); font-size:14.5px; line-height:2; margin-bottom:22px; }

/* ---- 数字步骤 ---- */
.gd-steps{ display:flex; flex-direction:column; gap:0; }
.gd-step{ display:flex; gap:22px; padding:20px 0; position:relative; }
.gd-step:not(:last-child)::before{
  content:""; position:absolute; left:21px; top:62px; bottom:-8px; width:1px;
  background:linear-gradient(180deg,var(--steel),var(--line));
}
.gd-step .gds-no{
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:800; color:var(--ink);
}
.gd-step .gds-body{ padding-top:4px; }
.gd-step .gds-body h3{ font-size:16px; font-weight:700; }
.gd-step .gds-body p{ margin-top:6px; font-size:13.5px; color:var(--muted); line-height:1.9; }
.gd-step .gds-body .gds-tip{
  margin-top:10px; display:inline-block; font-size:12.5px; color:var(--graphite);
  background:var(--bg); border:1px dashed var(--steel); border-radius:8px; padding:7px 14px;
}

/* ---- 材料清单卡 ---- */
.gd-check{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.gd-check-item{
  display:flex; gap:14px; align-items:flex-start; background:var(--white);
  border:1px solid var(--line-soft); border-radius:14px; padding:18px 20px;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.gd-check-item:hover{ transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--steel); }
.gd-check-item .gdc-ico{
  width:40px; height:40px; border-radius:10px; background:var(--bg);
  display:flex; align-items:center; justify-content:center; color:var(--ink); flex-shrink:0;
}
.gd-check-item .gdc-ico svg{ width:20px; height:20px; }
.gd-check-item b{ font-size:14.5px; display:block; }
.gd-check-item p{ font-size:12.5px; color:var(--muted); margin-top:4px; line-height:1.7; }
.gd-check-item .gdc-note{ font-size:11.5px; color:var(--steel); margin-top:6px; display:block; }

/* ---- 参数表格 ---- */
.gd-table{
  width:100%; border-collapse:separate; border-spacing:0;
  background:var(--white); border:1px solid var(--line-soft); border-radius:14px; overflow:hidden;
}
.gd-table th{
  background:var(--bg-soft); text-align:left; padding:14px 18px;
  font-size:13.5px; font-weight:700; color:var(--graphite); letter-spacing:.5px;
  border-bottom:1px solid var(--line);
}
.gd-table td{ padding:13px 18px; border-bottom:1px dashed var(--line-soft); font-size:13.5px; color:var(--graphite); }
.gd-table tr:last-child td{ border-bottom:none; }
.gd-table td:first-child{ font-weight:600; color:var(--ink); }

/* ---- 通知公告条 ---- */
.gd-notice{ display:flex; flex-direction:column; gap:12px; }
.gd-notice-item{
  display:flex; align-items:center; gap:16px; background:var(--white);
  border:1px solid var(--line-soft); border-radius:14px; padding:16px 20px;
  transition:transform .25s, box-shadow .25s;
}
.gd-notice-item:hover{ transform:translateX(4px); box-shadow:var(--shadow); }
.gd-notice-item .gdn-date{
  font-size:12.5px; color:var(--steel); letter-spacing:1px; min-width:76px;
  font-variant-numeric:tabular-nums;
}
.gd-notice-item .gdn-tag{
  font-size:11.5px; padding:3px 12px; border-radius:999px; background:var(--ink); color:#fff; flex-shrink:0;
}
.gd-notice-item .gdn-tag--soft{ background:var(--bg); color:var(--graphite); border:1px solid var(--line); }
.gd-notice-item .gdn-text{ font-size:14.5px; font-weight:500; flex:1; }
.gd-notice-item .gdn-go{ color:var(--steel); font-size:13px; display:inline-flex; align-items:center; gap:6px; }

/* ---- 信息卡 ---- */
.gd-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gd-card{
  background:var(--white); border:1px solid var(--line-soft); border-radius:16px;
  padding:26px 24px; position:relative; overflow:hidden;
  transition:transform .25s, box-shadow .25s;
}
.gd-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.gd-card::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--steel); opacity:0; transition:opacity .3s;
}
.gd-card:hover::before{ opacity:1; }
.gd-card h3{ font-size:16px; font-weight:700; display:flex; align-items:center; gap:10px; }
.gd-card h3 svg{ width:18px; height:18px; color:var(--steel); }
.gd-card p{ margin-top:10px; font-size:13px; color:var(--muted); line-height:1.85; }

/* ---- 大字数字带 ---- */
.gd-num-band{
  background:linear-gradient(135deg,#16181b,#2a3036); color:#fff; border-radius:18px;
  padding:34px 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin:30px 0;
}
.gd-num-band .gnb-item{ text-align:center; }
.gd-num-band b{ font-size:30px; font-weight:800; display:block; letter-spacing:1px; }
.gd-num-band span{ font-size:12.5px; color:#aab1b8; letter-spacing:1px; display:block; margin-top:6px; }

/* ---------- 响应式 ---------- */
@media (max-width: 1080px){
  .gd-hero .gd-grid{ grid-template-columns:1fr; }
  .gd-hero .gd-mark{ display:none; }
  .gd-cols{ grid-template-columns:1fr; gap:0; }
  .gd-rail{ position:static; margin-bottom:10px; }
  .gd-rail .gd-rail-box{ display:flex; gap:8px; flex-wrap:wrap; }
  .gd-rail h4{ width:100%; margin-bottom:6px; }
  .gd-rail a{ padding:8px 14px; font-size:13px; }
  .gd-check{ grid-template-columns:1fr; }
  .gd-cards{ grid-template-columns:repeat(2,1fr); }
  .gd-num-band{ grid-template-columns:repeat(2,1fr); padding:26px; }
}
@media (max-width: 640px){
  .gd-hero h1{ font-size:28px; }
  .gd-cards{ grid-template-columns:1fr; }
  .gd-notice-item{ flex-wrap:wrap; gap:8px; }
  .gd-table{ overflow-x:auto; display:block; }
  .gd-num-band b{ font-size:24px; }
}
