/* ============================================
   App 触控体验：关闭 hover 视觉反馈
   保留 :active 按压反馈与 :focus-visible 焦点环
   ============================================ */

:root {
  --bg-tint-hover: var(--bg-tint);
}

/* 禁止 hover 位移/缩放（不影响 :active 按压）
   排除固定底栏：子项 hover 会冒泡到父级，否则会覆盖 translateX(-50%) 居中 */
*:not(:active):not(.mobile-bottom-nav):not(.ct-run-footer):not(.ct-result-footer):hover {
  transform: none !important;
}

/* ---- 按钮 ---- */
.btn-primary:hover,
.btn-hero-primary:hover,
.btn-hero-secondary:hover,
.btn-test-primary:hover,
.btn-test-secondary:hover,
.th-btn-primary:hover,
.th-btn-secondary:hover,
.dse-btn--calc:hover,
.dse-btn--primary:hover,
.dse-btn--ghost:hover,
.theme-fintech .btn-primary:hover,
.theme-fintech .btn-hero-primary:hover,
.theme-fintech .dse-btn--calc:hover,
.home-rec-cta:hover,
.home-recs__unlock-btn:hover {
  transform: none !important;
  filter: none !important;
}

.btn-primary:hover {
  background: var(--primary) !important;
}

.btn-hero-primary:hover {
  background: var(--primary) !important;
  box-shadow: 0 4px 14px rgba(var(--primary-rgb), 0.25) !important;
}

.btn-hero-secondary:hover {
  background: white !important;
  border-color: var(--border) !important;
  color: var(--primary) !important;
}

.btn-accent:hover {
  filter: none !important;
  box-shadow: none !important;
}

.btn-outline:hover {
  background: transparent !important;
  color: var(--primary) !important;
}

.theme-fintech .btn-primary:hover,
.theme-fintech .btn-hero-primary:hover,
.theme-fintech .dse-btn--calc:hover {
  background: linear-gradient(135deg, var(--primary), var(--primary-light)) !important;
}

.dse-btn--primary:hover {
  background: var(--cta-bg) !important;
}

.dse-btn--ghost:hover {
  background: transparent !important;
}

.dse-btn--link:hover {
  color: var(--primary) !important;
  text-decoration: none !important;
}

.navbar-cta:hover {
  background: var(--cta-bg) !important;
  transform: none !important;
}

/* ---- 导航 / 顶栏 ---- */
.navbar-nav a:hover {
  color: var(--text-mid) !important;
  background: transparent !important;
}

.navbar-brand:hover .brand-logo__mark {
  transform: none !important;
}

.page-home .navbar-fav-link:hover,
.page-home .dse-hero-toggle-btn:hover,
.page-home .dse-hero-card__edit-btn:hover,
.page-home .dse-compact-panel__edit:hover {
  background: var(--bg-tint) !important;
  color: var(--text-mid) !important;
}

.theme-fintech .app-top-bar__back:hover {
  color: var(--text-dark) !important;
  background: transparent !important;
}

/* ---- 卡片 ---- */
.course-card:hover,
.qc-feat-card:hover,
.expert-card:hover,
.policy-card:hover,
.th-subj-card:hover,
.prog-card:hover,
.home-rec-card:hover {
  border-color: var(--border) !important;
  box-shadow: var(--shadow-card, var(--shadow-sm)) !important;
}

.home-rec-card:hover {
  box-shadow: var(--shadow-sm) !important;
}

.dse-hero-card--compact:hover,
.theme-fintech .dse-hero-card--compact:hover,
.dse-hero-card__compact-main:hover {
  box-shadow: var(--shadow-sm) !important;
  border-color: var(--border) !important;
}

.accordion-item:hover {
  border-color: var(--border) !important;
}

/* ---- 快捷入口 ---- */
.home-quick-item:hover .home-quick-icon--edu,
.home-quick-item:hover .home-quick-icon--edu i,
.home-quick-item:hover .home-quick-icon--edu img,
.home-quick-item:hover .home-quick-svg {
  transform: none !important;
  filter: drop-shadow(0 8px 10px rgba(15, 23, 42, 0.1)) !important;
  color: inherit !important;
}

.home-quick-item[href="career-outlook.html"]:hover .home-quick-icon--edu img {
  filter: none !important;
}

.home-rec-card:hover .home-rec-card__cta i {
  transform: none !important;
}

/* ---- DSE 面板 / 选择器 ---- */
.dse-row:hover,
.dse-card--modal .dse-row:hover {
  background: var(--bg-tint) !important;
}

.dse-card--modal .dse-stepper-btn:hover,
.dse-stepper-btn:hover {
  background: var(--bg-tint) !important;
  color: var(--text-dark) !important;
}

.dse-modal-close-btn:hover,
.dse-picker-close:hover,
.pd-close:hover,
.theme-fintech .pd-close:hover,
.modal-close:hover,
.career-modal__close:hover {
  background: transparent !important;
}

.dse-picker-tab-btn:hover,
.dse-picker-opt:hover:not(:disabled),
.dse-picker-opt--subject:hover:not(:disabled):not(.is-selected) {
  background: var(--bg-tint) !important;
  color: var(--text-mid) !important;
}

.dse-remove-btn:hover {
  background: transparent !important;
}

/* ---- 课程 / 侧边栏 ---- */
.sidebar-item:hover {
  background: transparent !important;
  color: var(--text-mid) !important;
}

.tb-search-box:hover,
.tb-search-box:hover .tb-search-icon {
  border-color: var(--border) !important;
  color: inherit !important;
}

.faculty-info-toggle:hover {
  background: transparent !important;
}

.faculty-info-link:hover,
.pd-section-title--row .faculty-info-link:hover,
.disclaimer-text a:hover {
  text-decoration: none !important;
  color: inherit !important;
}

.pd-tab:hover:not([aria-selected="true"]),
.theme-fintech .pd-tab:hover:not([aria-selected="true"]) {
  background: transparent !important;
}

.pd-score-card__info:hover {
  color: inherit !important;
}

/* ---- 标签 / 选项 / 表格 ---- */
.qc-tab:hover,
.tab-btn:hover {
  color: var(--text-mid) !important;
  background: transparent !important;
}

.option-btn:hover,
.uni-btn:hover {
  border-color: var(--border) !important;
  color: var(--text-mid) !important;
  background: var(--bg-card) !important;
}

.data-table tr:hover td {
  background: transparent !important;
}

/* ---- JUPAS 排名 ---- */
.choice-content.empty:hover,
.search-result-item:hover {
  background: transparent !important;
}

.remove-btn:hover,
.replace-btn:hover,
.view-detail-btn:hover,
.export-btn:hover,
.export-close-btn:hover,
.download-img-btn:hover {
  background: transparent !important;
  color: inherit !important;
  border-color: var(--border) !important;
}

.page-jupas-ranking .export-btn:hover {
  background: var(--primary) !important;
}

/* ---- 页脚 / 其他 ---- */
.footer-col ul li a:hover {
  color: var(--text-light) !important;
}

.back-to-top:hover {
  background: var(--accent) !important;
}

.jupas-countdown-banner:hover {
  transform: none !important;
  box-shadow: var(--shadow-sm) !important;
}

#careerModal .guide-topic-row:hover .guide-topic-icon {
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
}

/* ---- 指南 / 职业展望 ---- */
.page-guide-hub .guide-topic-row:hover,
.page-career-test .guide-topic-row:hover,
#careerModal .guide-topic-row:hover {
  border-color: var(--border) !important;
  box-shadow: var(--shadow-sm) !important;
}

.page-guide-hub .guide-topic-row:hover .guide-topic-icon,
.page-career-test .guide-topic-row:hover .guide-topic-icon,
#careerModal .guide-topic-row:hover .guide-topic-icon {
  background: inherit !important;
  box-shadow: none !important;
}

.page-guide-hub .guide-topic-row:hover .guide-topic-icon-img,
.page-career-test .guide-topic-row:hover .guide-topic-icon-img,
#careerModal .guide-topic-row:hover .guide-topic-icon-img {
  transform: none !important;
}

.page-guide-hub .guide-topic-row:hover .guide-topic-arrow,
.page-career-test .guide-topic-row:hover .guide-topic-arrow,
#careerModal .guide-topic-row:hover .guide-topic-arrow {
  color: var(--text-light) !important;
  transform: none !important;
}

.scenario-card:hover,
.strategy-card:hover,
.cf-card:hover {
  box-shadow: var(--shadow-sm) !important;
  border-color: var(--border) !important;
}

.guide-toc-item:hover {
  background: transparent !important;
  color: inherit !important;
}

.tf-item:hover .tf-card {
  box-shadow: none !important;
}

.faq-section .accordion-item:hover,
.faq-section .accordion-item:hover .accordion-icon {
  border-color: var(--border) !important;
  color: inherit !important;
}

.priority-table tr:hover td {
  background: transparent !important;
}

.guide-resources .resource-card:hover {
  border-color: var(--border) !important;
  box-shadow: var(--shadow-sm) !important;
}

.co-news-more:hover,
.co-news-card--scroll:hover,
.co-news-card:hover,
.co-news-list-item:hover,
.co-rank-item:hover,
.co-article-banner:hover {
  transform: none !important;
  box-shadow: var(--shadow-sm) !important;
  border-color: var(--border) !important;
  background: var(--bg-card) !important;
}

/* ---- 收藏 ---- */
.pd-fav-btn:hover {
  background: transparent !important;
  transform: none !important;
}

/* ---- 专家页 ---- */
.news-card:hover {
  box-shadow: var(--shadow-sm) !important;
  border-color: var(--border) !important;
}

.expert-sheet-close:hover {
  background: transparent !important;
}
