/**
 * ABHITA responsive media + layout helpers (mobile-first).
 */
.img-fluid,
.abhita-img-fluid {
  display: block;
  max-width: 100%;
  height: auto;
}

.media-cover,
.abhita-media-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.media-contain,
.abhita-media-contain {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.safe-area-bottom,
.abhita-safe-area-bottom {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.responsive-grid,
.abhita-responsive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 16px;
  width: 100%;
}

@media (max-width: 480px) {
  .responsive-grid,
  .abhita-responsive-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* Prevent horizontal overflow from wide media */
picture,
video,
.abhita-img-wrap {
  max-width: 100%;
}

.abhita-img-wrap .abhita-img-main img,
.abhita-img-wrap picture img {
  max-width: 100%;
}
