/* ============================================================
   UNT 站点按钮交互统一补丁  ·  2026-11-02
   ------------------------------------------------------------
   1) 主按钮 / 次按钮：悬停上浮、按下压深回弹、禁用与加载中
   2) 图标按钮：语言切换、汉堡菜单、回到顶部、移动菜单可点项
   3) 列表类按钮：分页、资质标签、文件删除
   加载中用法：给按钮加 class="is-loading" + disabled，
   内部放 <span class="btn-spinner" aria-hidden="true"></span>
   本文件必须在页面内嵌 <style> 之后加载（同特异性后置覆盖旧规则）。
   ============================================================ */

/* ---------- 1. 主按钮 / 次按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 30px;border-radius:9px;font-size:15px;font-weight:600;cursor:pointer;border:none;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease;-webkit-tap-highlight-color:transparent;user-select:none;touch-action:manipulation}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 22px rgba(47,127,224,.4)}
.btn-primary:hover:not(:disabled){background:#2a72d0;color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(47,127,224,.48)}
.btn-primary:active:not(:disabled){background:#215fae;transform:translateY(0) scale(.985);box-shadow:0 3px 10px rgba(47,127,224,.35);transition-duration:.06s}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn-outline:hover:not(:disabled){background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px)}
.btn-outline:active:not(:disabled){background:rgba(255,255,255,.2);transform:translateY(0) scale(.985);transition-duration:.06s}
.btn:focus-visible{outline:3px solid rgba(47,127,224,.45);outline-offset:2px}
.btn:disabled{cursor:not-allowed;transform:none;box-shadow:none}

/* 提交中（防重复点击的表现层） */
.btn.is-loading,.btn.is-loading:disabled{cursor:progress;background:#4a8ce0;color:#fff;opacity:.92;transform:none;box-shadow:0 5px 14px rgba(47,127,224,.3)}
.btn-spinner{display:none;flex:0 0 auto;width:16px;height:16px;box-sizing:border-box;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:untBtnSpin .65s linear infinite}
.btn.is-loading .btn-spinner{display:inline-block}
@keyframes untBtnSpin{to{transform:rotate(360deg)}}

/* 深色主按钮（首页「查看全部资讯」）：原为内联 background:var(--primary)，
   改成类，悬停/按下才有反馈而不是被内联样式钉死 */
.btn-primary.btn-deep{background:var(--primary)}
.btn-primary.btn-deep:hover:not(:disabled){background:#16407a;box-shadow:0 12px 28px rgba(26,86,160,.42)}
.btn-primary.btn-deep:active:not(:disabled){background:#123566;box-shadow:0 3px 10px rgba(26,86,160,.35)}

/* ---------- 2. 图标按钮 ---------- */
#hamburger{transition:background-color .18s ease,transform .12s ease}
@media (hover:hover){#hamburger:hover{background:#e6eefb}}
#hamburger:active{transform:scale(.94)}
#hamburger:focus-visible{outline:3px solid rgba(47,127,224,.45);outline-offset:2px}

.lang-toggle{transition:opacity .18s ease,background-color .18s ease,transform .12s ease}
@media (hover:hover){.lang-toggle:hover{opacity:1;background:rgba(47,127,224,.16)}}
.lang-toggle:active{transform:scale(.95)}
.lang-toggle:focus-visible{outline:3px solid rgba(47,127,224,.45);outline-offset:2px}

@media (hover:hover){#backTop.show:hover{background:#2a72d0;box-shadow:0 12px 26px rgba(12,47,92,.42)}}
#backTop.show:active{transform:translateY(0) scale(.93)}
#backTop:focus-visible{outline:3px solid rgba(47,127,224,.5);outline-offset:3px}

/* 移动菜单可点项：白底菜单，悬停/展开用主色，绝不能用白字（2026-11-02 手机端
   点过后 :hover 粘住，白字白底看不见）。触屏用 @media(hover:hover) 隔离。 */
#mobileMenu .m-toggle{transition:color .18s ease,background-color .18s ease}
@media (hover:hover){#mobileMenu .m-toggle:hover{color:var(--primary)}}
#mobileMenu .m-toggle.open{color:var(--primary)}
#mobileMenu .m-toggle:active{opacity:.75}
#mobileMenu .m-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* 客服跳转按钮（.btn.btn-primary 已含主按钮态，这里补外部链接的按压感） */
.kf-go-btn:active{transform:translateY(0) scale(.985)}

/* ---------- 3. 列表 / 标签类按钮 ---------- */
.biz-pager button:active:not(:disabled){transform:scale(.94)}
.biz-pager button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.cert-chip{transition:box-shadow .18s ease,border-color .18s ease,transform .12s ease}
.cert-chip:hover{border-color:rgba(47,127,224,.45);box-shadow:0 10px 26px rgba(15,40,80,.12)}
.cert-chip:active{transform:scale(.985)}
.cert-chip-link:active{opacity:.85}

.cert-tab{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .12s ease}
.cert-tab:active{transform:scale(.97)}
.cert-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* 验证页：已选文件的删除按钮 / 上传区 */
#pdfDel:active{transform:scale(.94)}
#pdfDel:focus-visible{outline:2px solid #b33a3a;outline-offset:2px}

/* ---------- 4. 动效降级 ---------- */
@media (prefers-reduced-motion:reduce){
  .btn,#hamburger,.lang-toggle,#backTop,.cert-chip,.cert-tab,.biz-pager button{transition:none}
  .btn:hover:not(:disabled),.btn-outline:hover:not(:disabled){transform:none}
  .btn:active:not(:disabled),.btn-outline:active:not(:disabled){transform:none}
  .btn-spinner{animation-duration:1.8s}
}
