/* ===== 禾佳站点动效层 v1（2026-10-31）=====
   纯加法：不改结构、不改业务逻辑。JS 没加载/报错时，元素不会被加 .hj-rv，
   所以内容照常显示——动效只是"锦上添花"，不做成"没它就白屏"。
   想整体关掉：删掉页面里的两行引用即可（/<css>/<js>），或给 <html> 加 class="hj-noanim"。
*/
:root{ --hj-ease: cubic-bezier(.22,.61,.36,1); }

/* ① 入场：淡入 + 上移 14px */
.hj-rv{ opacity:0; transform:translate3d(0,14px,0);
        transition:opacity .45s var(--hj-ease), transform .45s var(--hj-ease); will-change:opacity,transform; }
.hj-rv.hj-in{ opacity:1; transform:none; }

/* ② 卡片悬停：抬起 + 阴影加深（只动 transform/box-shadow，不碰配色） */
.hf-card, .p-card, .prop-card, .news-featured-card, .hf-cat-mod, .qr-item{
  transition: transform .28s var(--hj-ease), box-shadow .28s var(--hj-ease);
}
.hf-card:hover, .p-card:hover, .prop-card:hover,
.news-featured-card:hover, .hf-cat-mod:hover, .qr-item:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(16,42,74,.10);
}
/* 卡内图片轻微放大，像"活"的 */
.hf-card img, .p-card img, .prop-card img, .hf-cat-mod img{
  transition: transform .55s var(--hj-ease);
}
.hf-card:hover img, .p-card:hover img, .prop-card:hover img, .hf-cat-mod:hover img{ transform: scale(1.04); }

/* ③ 按钮/筛选/链接的按压反馈（点了有回应，不是死的） */
.area-btn, .bar-btn, .hf-link, .more, .cat-item, button, .btn{
  transition: transform .12s ease, background-color .18s ease;
}
.area-btn:active, .bar-btn:active, .hf-link:active, .more:active,
.cat-item:active, button:active, .btn:active{ transform: scale(.97); }

/* ④ 顶部导航滚过之后加阴影，页面有"层次感" */
.main-nav{ transition: box-shadow .25s ease; }
.main-nav.hj-nav-scrolled{ box-shadow: 0 6px 18px rgba(16,42,74,.08); }

/* ⑤ 尊重系统"减少动态效果"设置；也给一个总开关 */
@media (prefers-reduced-motion: reduce){
  .hj-rv{ opacity:1 !important; transform:none !important; transition:none !important; }
  .hf-card, .p-card, .prop-card, .news-featured-card, .hf-cat-mod, .qr-item, img{ transition:none !important; }
  .hf-card:hover, .p-card:hover, .prop-card:hover, .news-featured-card:hover, .hf-cat-mod:hover, .qr-item:hover{ transform:none; }
}
html.hj-noanim .hj-rv{ opacity:1 !important; transform:none !important; transition:none !important; }
html.hj-noanim *{ transition:none !important; }
