/* Welcomeju: image hover effects (desktop / fine pointer only, reduced-motion aware). */
:root{ --wj-ease:cubic-bezier(.22,.61,.36,1); --wj-hover-ms:260ms; --wj-ring:rgba(91,141,184,.35); }

/* base transitions (harmless on touch) */
.wj-card,.wj-section{ transition:transform var(--wj-hover-ms) var(--wj-ease), box-shadow var(--wj-hover-ms) var(--wj-ease), border-color var(--wj-hover-ms) var(--wj-ease); }
.wj-card__media{ position:relative; overflow:hidden; }
.wj-card__media img{ transition:transform 450ms var(--wj-ease), filter var(--wj-hover-ms) var(--wj-ease); will-change:transform; }
.wj-card__media::after{ content:''; position:absolute; inset:0; pointer-events:none; opacity:0;
  background:linear-gradient(180deg,rgba(91,141,184,0) 45%,rgba(63,110,152,.28) 100%); transition:opacity var(--wj-hover-ms) var(--wj-ease); }
#kboard-thumbnail-list .kboard-list-thumbnail a,
#kboard-thumbnail-list .kboard-mobile-contents{ display:block; overflow:hidden; border-radius:10px; }
#kboard-thumbnail-list .kboard-list-thumbnail img,
#kboard-thumbnail-list .contents-thumbnail{ transition:transform 400ms var(--wj-ease), filter var(--wj-hover-ms) var(--wj-ease), box-shadow var(--wj-hover-ms) var(--wj-ease); }
#kboard-thumbnail-list .kboard-list tbody tr td{ transition:background-color var(--wj-hover-ms) var(--wj-ease); }
img.avatar{ transition:box-shadow 200ms var(--wj-ease), opacity 200ms var(--wj-ease), transform 200ms var(--wj-ease); }
.kboard-content img{ transition:box-shadow var(--wj-hover-ms) var(--wj-ease), filter var(--wj-hover-ms) var(--wj-ease); }

@media (hover:hover) and (pointer:fine){
  /* home cards + section rows */
  .wj-card:hover{ transform:translateY(-4px); box-shadow:0 14px 34px rgba(63,110,152,.16); border-color:#C9DBEA; }
  .wj-card:hover .wj-card__media img{ transform:scale(1.03); filter:brightness(1.04) saturate(1.05); }
  .wj-card:hover .wj-card__title{ color:var(--wj-accent-dark,#3F6E98); }
  /* photo gallery: deeper zoom inside the clipped square + soft blue veil */
  .wj-cards--gallery .wj-card:hover .wj-card__media img{ transform:scale(1.07); }
  .wj-cards--gallery .wj-card:hover .wj-card__media::after{ opacity:1; }
  /* section tiles */
  .wj-section:hover{ transform:translateY(-3px); box-shadow:0 12px 30px rgba(63,110,152,.14); border-color:#C9DBEA; }
  /* KBoard thumbnail list: whole row reacts, thumbnail zooms */
  #kboard-thumbnail-list .kboard-list tbody tr:hover td{ background:#F2F7FC!important; }
  #kboard-thumbnail-list .kboard-list tbody tr:hover .kboard-list-thumbnail img{ transform:scale(1.05); filter:brightness(1.04) saturate(1.05); box-shadow:0 6px 16px rgba(63,110,152,.18); }
  #kboard-thumbnail-list .kboard-list tbody tr:hover .kboard-list-title a{ color:#3F6E98!important; }
  /* avatars next to names: soft ring */
  img.avatar:hover, a:hover > img.avatar, td:hover > img.avatar{ box-shadow:0 0 0 3px var(--wj-ring)!important; transform:scale(1.06); }
  /* images inside posts: gentle lift */
  .kboard-content a:hover img{ box-shadow:0 8px 24px rgba(63,110,152,.2); filter:brightness(1.03); }
}

/* touch devices: very light tap feedback only */
@media (hover:none){
  .wj-card:active{ transform:scale(.99); }
  #kboard-thumbnail-list .kboard-list tbody tr:active td{ background:#F2F7FC!important; }
}

@media (prefers-reduced-motion:reduce){
  .wj-card,.wj-section,.wj-card__media img,.wj-card__media::after,
  #kboard-thumbnail-list .kboard-list-thumbnail img,#kboard-thumbnail-list .contents-thumbnail,img.avatar,.kboard-content img{ transition:none!important; }
  .wj-card:hover,.wj-section:hover,.wj-card:active{ transform:none!important; }
  .wj-card:hover .wj-card__media img,#kboard-thumbnail-list .kboard-list tbody tr:hover .kboard-list-thumbnail img,img.avatar:hover{ transform:none!important; }
}
