/* ============================================================
   IDEEDA Interactions — 全站鼠标交互统一规范 v1.0（2026-11-10）
   ------------------------------------------------------------
   问题背景：
   1) style.css 里曾有一条全局 `a:hover { background: var(--color-hover-soft) }`，
      任何 <a> 在 hover 时整块被 10% 浅橙底覆盖。深色封面卡（首页头条）、导航项、
      按钮、图片卡的原有背景被压掉，深色卡片变成浅底 + 白字，直接不可读。
      该规则已删除，本文件在此之上重建一套统一的交互语言。
   2) 各页面卡片此前各自为政：位移 -1/-2/-3/-4/-6/-8px、图片缩放 1.05/1.06/1.08/1.1、
      阴影与描边色不统一，鼠标划过的手感跳来跳去。

   统一后的 4 类交互原型（只允许这 4 种）：
     A. 文字链  —— 只变色 + 下划线展开，不位移、不换底
     B. 按钮    —— 抬升 2px（见 unified-ui.css，本文件不重复）
     C. 卡片    —— 抬升 4px + 阴影加深 + 描边着色 + 内部图片放大 1.03，不换底
     D. 行/条目 —— 底色轻微提亮 + 箭头右移 4px，整行不位移

   铁律：卡片与按钮 hover 一律不改变 background（深色卡会失去文字对比度）。
   ============================================================ */

:root {
  --ix-dur-fast: .18s;
  --ix-dur: .25s;
  --ix-ease: cubic-bezier(.16, 1, .3, 1);
  --ix-lift-card: -4px;
  --ix-shadow-hover: 0 22px 44px -20px rgba(17, 24, 39, .28);
  --ix-border-hover: rgba(0, 149, 218, .45);
}

/* ------------------------------------------------------------
   C. 卡片族：统一抬升 4px + 统一阴影 + 统一描边
   ------------------------------------------------------------ */
.card,
.product-card,
.product-card-v3,
.product-card-hover,
.product-list-card,
.prod-cat-card,
.solution-card,
.sol-card,
.sol-cat-card,
.sol-feature,
.cs-image-card,
.cs-video-card,
.blog-card,
.video-card,
.video-card-horizontal,
.video-card-modal,
.video-gallery-card,
.acc-card,
.acc-filter__card,
.acc-single-related__card,
.pd-related-acc-card,
.pd-case-card,
.related-accessory,
.cert-card,
.cert-showcase__card,
.team-member,
.category-card-v2,
.featured-card-v2,
.accessory-card,
.accessory-card-v2,
.hp-card,
.wcu-card,
.wcu-card--clickable,
.mfg-v3-card,
.type-card-v2,
.sample-item-enhanced,
.sitemap-card,
.prevnext-card,
.as-service-card,
.warranty-card,
.cs-image-card,
.stat-card {
  transition: transform var(--ix-dur) var(--ix-ease),
              box-shadow var(--ix-dur) ease,
              border-color var(--ix-dur) ease;
}

.card:hover,
.product-card:hover,
.product-card-v3:hover,
.product-card-hover:hover,
.product-list-card:hover,
.prod-cat-card:hover,
.solution-card:hover,
.sol-card:hover,
.sol-cat-card:hover,
.sol-feature:hover,
.cs-image-card:hover,
.cs-video-card:hover,
.blog-card:hover,
.video-card:hover,
.video-card-horizontal:hover,
.video-card-modal:hover,
.video-gallery-card:hover,
.acc-card:hover,
.acc-filter__card:hover,
.acc-single-related__card:hover,
.pd-related-acc-card:hover,
.pd-case-card:hover,
.related-accessory:hover,
.cert-card:hover,
.cert-showcase__card:hover,
.team-member:hover,
.category-card-v2:hover,
.featured-card-v2:hover,
.accessory-card:hover,
.accessory-card-v2:hover,
.hp-card:hover,
.wcu-card:hover,
.wcu-card--clickable:hover,
.mfg-v3-card:hover,
.type-card-v2:hover,
.sample-item-enhanced:hover,
.sitemap-card:hover,
.prevnext-card:hover,
.as-service-card:hover,
.warranty-card:hover,
.stat-card:hover {
  transform: translateY(var(--ix-lift-card));
  box-shadow: var(--ix-shadow-hover);
  border-color: var(--ix-border-hover);
  /* 不设置 background：卡片底色在悬停时保持不变 */
}

/* 卡片内的图片：统一 1.03，超出部分由卡片自己的 overflow:hidden 裁切 */
.card:hover [class*="thumb"] img,
.card:hover [class*="image"] img,
.card:hover [class*="media"] img,
.product-card:hover [class*="thumb"] img,
.product-card:hover [class*="image"] img,
.solution-card:hover [class*="thumb"] img,
.solution-card:hover [class*="image"] img,
.acc-card:hover [class*="image"] img,
.acc-card:hover [class*="thumb"] img,
.blog-card:hover [class*="thumb"] img,
.blog-card:hover [class*="image"] img,
.video-card:hover [class*="thumb"] img,
.video-gallery-card:hover [class*="thumb"] img,
.cs-image-card:hover img,
.cert-card:hover img,
.cert-showcase__card:hover img {
  transform: scale(1.03);
}

/* ------------------------------------------------------------
   D. 行/条目：底色提亮 + 箭头右移，不整体位移
   ------------------------------------------------------------ */
.nd-item,
.mm-acc-item,
.search-suggestion-item,
.solutions-mega .solutions-card,
.sidebar-post-item__link,
.file-item > *,
.faq-item .faq-q,
.article-item__link {
  transition: background-color var(--ix-dur-fast) ease,
              color var(--ix-dur-fast) ease,
              padding-left var(--ix-dur) var(--ix-ease);
}

/* 行内箭头统一右移 4px */
.nd-item:hover svg,
.mm-acc-item:hover svg,
.article-item__link:hover svg,
.file-item:hover svg,
.hb-row:hover .hb-row__arrow,
.link-more:hover .btn-arrow {
  transform: translateX(4px);
}

/* ------------------------------------------------------------
   A. 正文内文字链：只变色 + 下划线展开
   ------------------------------------------------------------ */
.entry-content p a:not(.btn):not([class*="btn"]),
.article-body p a:not(.btn),
.post-content p a:not(.btn),
.legal-content p a:not(.btn),
.legal-content li a:not(.btn) {
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-color: rgba(0, 149, 218, .35);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color var(--ix-dur-fast) ease, text-decoration-color var(--ix-dur-fast) ease;
}
.entry-content p a:not(.btn):hover,
.article-body p a:not(.btn):hover,
.post-content p a:not(.btn):hover,
.legal-content p a:not(.btn):hover,
.legal-content li a:not(.btn):hover {
  color: var(--color-accent-dark);
  text-decoration-color: currentColor;
}

/* ------------------------------------------------------------
   导航：只变色 + 下划线生长，不加底色
   ------------------------------------------------------------ */
.nav-desktop > a,
.nav-desktop .nav-item > a {
  position: relative;
  transition: color var(--ix-dur-fast) ease;
}
.nav-desktop > a::after,
.nav-desktop .nav-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--ix-dur) var(--ix-ease);
}
.nav-desktop > a:hover::after,
.nav-desktop > a.active::after,
.nav-desktop .nav-item > a:hover::after {
  transform: scaleX(1);
}

/* ------------------------------------------------------------
   芯片 / 筛选标签 / 分页：描边着色 + 底色保留
   ------------------------------------------------------------ */
.hb-chip,
.filter-pill,
.acc-filter-tab,
.acc-pagination a,
.acc-pagination__link,
.acc-cat-nav__pill,
.blog-cat-tab {
  transition: border-color var(--ix-dur-fast) ease,
              color var(--ix-dur-fast) ease,
              background-color var(--ix-dur-fast) ease;
}

/* ------------------------------------------------------------
   焦点态统一（键盘可达性）：所有可点卡片同一套 outline
   ------------------------------------------------------------ */
.card:focus-visible,
.product-card:focus-visible,
.product-card-v3:focus-visible,
.solution-card:focus-visible,
.sol-card:focus-visible,
.blog-card:focus-visible,
.video-card:focus-visible,
.video-gallery-card:focus-visible,
.acc-card:focus-visible,
.cert-card:focus-visible,
.cs-image-card:focus-visible,
.cs-video-card:focus-visible,
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--color-primary, #0095DA);
  outline-offset: 3px;
}

/* ------------------------------------------------------------
   尊重系统「减少动态效果」
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .card,
  .product-card,
  .product-card-v3,
  .product-list-card,
  .solution-card,
  .sol-card,
  .blog-card,
  .video-card,
  .video-gallery-card,
  .acc-card,
  .cert-card,
  .cs-image-card,
  .cs-video-card,
  .hb-row,
  .nav-desktop > a,
  .nav-desktop .nav-item > a {
    transition: none !important;
  }
  .card:hover,
  .product-card:hover,
  .product-card-v3:hover,
  .product-list-card:hover,
  .solution-card:hover,
  .sol-card:hover,
  .blog-card:hover,
  .video-card:hover,
  .video-gallery-card:hover,
  .acc-card:hover,
  .cert-card:hover,
  .cs-image-card:hover,
  .cs-video-card:hover {
    transform: none;
  }
}
