.img-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 142%; /* giữ tỉ lệ khung */
  overflow: hidden;
}

.img-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.spinner {
  position: absolute;        /* nằm trong khung */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* căn giữa */
  width: 30px;
  height: 30px;
  border: 4px solid #ccc;
  border-top: 4px solid #333;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  z-index: 2;
}

/* Khi ảnh đã load xong thì ẩn spinner */
img.lazyloaded ~ .spinner {
  display: none;
}

@keyframes spin {
  100% { transform: rotate(360deg); }
}