/*================================
  Snaps Image Box (Dynamic)
  - Photo-frame look (different from services cards)
  - No stretch, images stay centered
================================*/

.snaps-image-box {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 232px;
  padding: 12px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(145deg, rgba(1, 158, 218, 0.35), rgba(10, 61, 82, 0.12), rgba(0, 180, 228, 0.28)) border-box;
  border: 1.5px solid transparent;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(10, 61, 82, 0.07);
  overflow: visible;
  text-decoration: none;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  transition: box-shadow 0.35s ease, transform 0.35s ease, background 0.35s ease;
}

/* Top-right frame corner — outer border pe fit */
.snaps-image-box::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  width: 28px;
  height: 28px;
  border-top: 3px solid #019eda;
  border-right: 3px solid #019eda;
  border-radius: 0 10px 0 0;
  z-index: 3;
  pointer-events: none;
  transition: width 0.3s ease, height 0.3s ease, border-color 0.3s ease;
}

/* Bottom-left frame corner — outer border pe fit */
.snaps-image-box::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 28px;
  height: 28px;
  border-bottom: 3px solid #0077a8;
  border-left: 3px solid #0077a8;
  border-radius: 0 0 0 10px;
  z-index: 3;
  pointer-events: none;
  transition: width 0.3s ease, height 0.3s ease, border-color 0.3s ease;
}

.snaps-image-box:hover {
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(145deg, #019eda, #00b4e4, #0077a8) border-box;
  box-shadow: 0 16px 34px rgba(1, 158, 218, 0.18);
  transform: translateY(-5px);
  text-decoration: none;
}

.snaps-image-box:hover::before,
.snaps-image-box:hover::after {
  width: 34px;
  height: 34px;
  border-color: #00b4e4;
}

.snaps-image-box:focus,
.snaps-image-box:active,
.snaps-image-box:focus-visible {
  outline: none !important;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(10, 61, 82, 0.07);
}

.snaps-image-box img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  border: 0;
  border-radius: 6px;
  outline: none;
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .snaps-image-box {
    height: 250px;
  }
}

@media (max-width: 420px) {
  .snaps-image-box {
    height: 292px;
  }
}

@media (max-width: 375px) {
  .snaps-image-box {
    height:126px;
    padding: 4px;
  }

 .snaps-image-box::before { 
    width: 20px;
    height: 20px;}
.snaps-image-box::after { 
    width: 20px;
    height: 20px;}

}

/* Fancybox lightbox - no bottom border / caption bar */
.fancybox-caption-wrap,
.fancybox-caption {
  display: none !important;
}
.fancybox-slide--image .fancybox-content,
.fancybox-image-wrap,
.fancybox-image {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
