/**
 * Subtle image hover / reveal effects (home, blog, posts, Instagram).
 */

.elementor-widget-image img,
.elementor-widget-image a,
.nv-post-thumbnail-wrap,
.nv-post-thumbnail-wrap a,
.wp-block-gallery .blocks-gallery-item,
.wp-block-gallery figure,
.wp-block-image,
#sb_instagram .sbi_photo_wrap,
.posts-grid .post-card__media,
.entry-content img {
  overflow: hidden;
}

.elementor-widget-image img,
.nv-post-thumbnail-wrap img,
.wp-block-gallery img,
.wp-block-image img,
#sb_instagram .sbi_photo img,
.posts-grid .post-card__media img,
.entry-content > p > img,
.entry-content .wp-block-image img {
  /* keep subtle defaults without abrupt hover jumps on project pages */
  transition: opacity 0.45s ease;
  will-change: auto;
}

/* Soft hover only on listing cards / IG — not abrupt scale snaps */
.nv-post-thumbnail-wrap:hover img,
#sb_instagram .sbi_item:hover .sbi_photo img,
.posts-grid .post-card:hover .post-card__media img {
  opacity: 0.92;
}

/* Do not interrupt gallery motion with hover transforms */
body.single-post .entry-content a:hover img,
body.page-post .entry-content a:hover img,
body.single-post .wp-block-gallery .blocks-gallery-item:hover img,
body.page-post .wp-block-gallery .blocks-gallery-item:hover img {
  filter: none;
}


/* Soft fade-in when images enter view (progressive enhancement) */
@keyframes vesta-img-in {
  from {
    opacity: 0.72;
    transform: scale(1.02);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.elementor-widget-image img,
.nv-post-thumbnail-wrap img,
.wp-block-gallery img {
  animation: vesta-img-in 0.7s ease both;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-widget-image img,
  .nv-post-thumbnail-wrap img,
  .wp-block-gallery img,
  .wp-block-image img,
  #sb_instagram .sbi_photo img,
  .posts-grid .post-card__media img {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }
}
