/* ============================================================
   henan.html 河南省考试批次总览独有样式（命名空间 .hn-）
   ============================================================ */

/* ---------- Hero ---------- */
.hn-hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:var(--c1);padding-top:var(--header-h)}
.hn-hero__bg{position:absolute;inset:0}
.hn-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.28}
.hn-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,24,27,.94) 36%,rgba(21,24,27,.5) 75%,rgba(21,24,27,.3))}
.hn-hero__inner{position:relative;z-index:2;padding-block:56px 80px}
.hn-hero .crumbs{padding:0 0 20px}
.hn-hero__kick{display:inline-block;font-family:var(--font-en);font-size:12px;letter-spacing:.24em;color:var(--o1);border:1px solid rgba(224,91,32,.4);padding:5px 14px}
.hn-hero h1{font-size:clamp(34px,5vw,60px);font-weight:900;line-height:1.18;margin-top:18px}
.hn-hero__stroke{color:transparent;-webkit-text-stroke:1.5px var(--o1)}
.hn-hero__desc{max-width:580px;color:var(--g4);margin-top:20px;font-size:15.5px}
.hn-hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}

/* ---------- 政策三卡 ---------- */
.hn-policy{background:var(--c1)}
.hn-policy__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.hn-policy .card{height:100%}
.hn-policy .card .tag{margin-bottom:16px}

/* ---------- 地市表格（米白） ---------- */
.hn-city__note{margin-top:22px;font-size:13.5px;color:#5A6158;max-width:720px}

/* ---------- 报名窗口数据带 ---------- */
.hn-window{background:var(--c2)}
.hn-window__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.hn-window__cell{padding:30px 24px;background:var(--c1);border:1px solid var(--line-d);border-bottom:3px solid var(--o1);transition:transform .3s}
.hn-window__cell:hover{transform:translateY(-6px)}
.hn-window__num{font-size:52px;display:block;margin-bottom:14px}
.hn-window__cell h3{font-size:17px;margin-bottom:8px}
.hn-window__cell p{font-size:13.5px;color:var(--g4)}

/* ---------- 多地市联动 ---------- */
.hn-link__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hn-link__media img{width:100%;height:380px;object-fit:cover;border:1px solid var(--line-d)}
.hn-link__list{margin:22px 0 6px;display:grid;gap:12px}
.hn-link__list li{padding-left:20px;position:relative;color:var(--g4);font-size:14.5px}
.hn-link__list li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;background:var(--o1)}

/* ---------- FAQ 手风琴 ---------- */
.hn-faq{background:var(--c1)}
.acc{max-width:860px;margin:0 auto}
.acc__item{border:1px solid var(--line-d);margin-bottom:14px;background:var(--c2)}
.acc__head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:20px 24px;font-size:16px;font-weight:700;color:var(--white)}
.acc__plus{flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;color:var(--o1);border:1px solid rgba(224,91,32,.4);font-size:18px;transition:transform .3s}
.acc__item.is-open .acc__plus{transform:rotate(45deg)}
.acc__body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.acc__item.is-open .acc__body{max-height:260px}
.acc__body p{padding:0 24px 22px;color:var(--g4);font-size:14px;max-width:720px}
.acc__body a{color:var(--o2);border-bottom:1px dashed rgba(224,91,32,.5)}

/* ---------- CTA ---------- */
.hn-cta{background:var(--g1)}
.hn-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.hn-cta h2{font-size:clamp(26px,3.4vw,40px);font-weight:900;margin:10px 0 12px}
.hn-cta p{color:var(--g4);max-width:480px}

/* ---------- 查分补考横条 ---------- */
.hn-score__inner{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.hn-score__facts{display:flex;gap:30px;flex-wrap:wrap}
.hn-score__facts b{font-family:var(--font-en);font-size:38px;font-weight:900;color:var(--o1);display:block}
.hn-score__facts span{font-size:12.5px;color:#5A6158}

/* ---------- 响应式 ---------- */
@media (max-width:900px){
  .hn-policy__grid{grid-template-columns:1fr;gap:18px}
  .hn-window__grid{grid-template-columns:1fr 1fr;gap:16px}
  .hn-link__inner{grid-template-columns:1fr;gap:32px}
  .hn-score__inner{grid-template-columns:1fr;gap:28px}
}
@media (max-width:640px){
  .hn-window__grid{grid-template-columns:1fr}
}

/* ---------- 内联样式迁出 ---------- */
.hn-cols col:nth-child(1){width:18%}
.hn-cols col:nth-child(2){width:24%}
.hn-cols col:nth-child(3){width:30%}
.hn-cols col:nth-child(4){width:28%}
.hn-link__title{font-size:clamp(24px,3vw,36px);font-weight:900}
.hn-link__desc{color:var(--g4);margin-top:14px}
.hn-link__btn{margin-top:16px}
.hn-score__title{font-size:clamp(24px,3vw,36px);font-weight:900}
.hn-score__desc{color:#4C5449;margin-top:14px;max-width:520px}

/* ---------- Hero 两栏 + 考点地图 ---------- */
.hn-hero__inner{display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:center;padding-block:64px 84px}
.hn-map{background:rgba(28,32,36,.93);border:1px solid var(--line-d);border-top:3px solid var(--o1);padding:22px 22px 18px}
.hn-map__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.hn-map__title{font-size:15px;font-weight:700;color:var(--white)}
.hn-map__sub{font-size:11.5px;color:var(--g3)}
.hn-map__svg{width:100%;height:auto;display:block}
.hn-map__dots circle{fill:var(--g3);opacity:.5}
.hn-map__hot circle{fill:var(--o1)}
.hn-map__hot text{fill:var(--o2);font-size:11px}
.hn-map__legend{display:flex;gap:18px;margin-top:12px;font-size:12px;color:var(--g4)}
.hn-map__dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--g3);margin-right:6px;vertical-align:middle}
.hn-map__dot--hot{background:var(--o1)}

/* ---------- 城市表 + 批次日历 ---------- */
.hn-city__main{display:grid;grid-template-columns:1.5fr .9fr;gap:28px;align-items:start}
.hn-cal{background:#fff;border:1px solid var(--line-l);padding:20px}
.hn-cal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.hn-cal__month{font-size:15px;font-weight:700;color:#2A2E29}
.hn-cal__tag{font-size:11px;color:var(--o1);border:1px solid rgba(224,91,32,.4);padding:2px 8px}
.hn-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.hn-cal__grid span{font-size:11px;color:#8A9087;padding-bottom:6px}
.hn-cal__grid i{font-style:normal;font-size:12.5px;color:#4C5449;padding:6px 0;background:#fff;border:1px solid var(--line-l)}
.hn-cal__grid i.is-exam{background:var(--o1);color:#fff;font-weight:700;border-color:var(--o1)}
.hn-cal__foot{margin-top:12px;font-size:12px;color:#5A6158;display:flex;gap:8px;align-items:center}
.hn-cal__dot{width:9px;height:9px;background:var(--o1);display:inline-block}

/* ---------- 全省覆盖数据带 ---------- */
.hn-stats{background:var(--c2)}
.hn-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.hn-stats__cell{text-align:center;padding:28px 16px;border:1px dashed var(--line-d)}
.hn-stats__cell b{font-family:var(--font-en);font-size:46px;font-weight:900;color:var(--o1);display:block;line-height:1}
.hn-stats__cell span{display:block;margin-top:10px;font-size:13px;color:var(--g4)}

/* ---------- 考场实景机房视觉区 ---------- */
.hn-room__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hn-room__media img{width:100%;height:380px;object-fit:cover;border:1px solid var(--line-l)}
.hn-room__list{margin:20px 0 6px;display:grid;gap:12px}
.hn-room__list li{padding-left:20px;position:relative;font-size:14.5px;color:#3C433B}
.hn-room__list li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--o1)}
.hn-room__title{font-size:clamp(24px,3vw,36px);font-weight:900}
.hn-room__desc{color:#4C5449;margin-top:14px}
.hn-room__btn{margin-top:16px}

/* ---------- 新组件响应式 ---------- */
@media (max-width:900px){
  .hn-hero__inner{grid-template-columns:1fr;gap:36px;padding-block:48px 64px}
  .hn-city__main{grid-template-columns:1fr;gap:22px}
  .hn-stats__grid{grid-template-columns:1fr 1fr;gap:16px}
  .hn-room__inner{grid-template-columns:1fr;gap:32px}
}
@media (max-width:640px){
  .hn-stats__grid{grid-template-columns:1fr 1fr;gap:14px}
  .hn-room__media img{height:260px}
}
