/* Image Optimization Styles */

/* Lazy loading styles */
img[data-src] {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

img[data-src].loaded {
  opacity: 1;
}

/* Image containers */
.image-container {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
}

.image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-normal);
}

.image-container:hover img {
  transform: scale(1.05);
}

/* Responsive images */
.responsive-image {
  width: 100%;
  height: auto;
  display: block;
}

/* Hero images - Removed as we're using guarantee card instead */

/* Feature card images */
.feature-card__img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  transition: transform var(--transition-normal);
  border-radius: var(--radius-md);
}

.feature-card:hover .feature-card__img {
  transform: scale(1.1);
}

/* Service flow images */
.service__flow-img {
  width: 100%;
  max-width: 600px;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  transition: transform var(--transition-normal);
}

.service__flow-img:hover {
  transform: scale(1.02);
}

/* Logo images */
.nav__logo-img,
.footer__logo-img {
  height: 40px;
  width: auto;
  object-fit: contain;
  transition: transform var(--transition-normal);
}

.nav__logo-img:hover,
.footer__logo-img:hover {
  transform: scale(1.05);
}

/* Loading placeholders */
.image-placeholder {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* WebP support detection */
.webp .image-container img {
  /* WebP specific styles if needed */
}

.no-webp .image-container img {
  /* Fallback for browsers without WebP support */
}

/* High DPI display optimization */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .hero__guarantee-img,
  .service__flow-img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* Print styles for images */
@media print {
  img {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
  }
  
  .hero__guarantee-img {
    filter: none !important;
  }
  
  .image-container:hover img {
    transform: none !important;
  }
}
