/* Skeleton loading - site ve admin ortak */
@keyframes skeleton-wave {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.skeleton {
  background: linear-gradient(90deg, #e5e7eb 0%, #f3f4f6 50%, #e5e7eb 100%);
  background-size: 200% 100%;
  animation: skeleton-wave 1.4s ease-in-out infinite;
  border-radius: 4px;
}

.skeleton-text {
  height: 0.875rem;
  margin-bottom: 6px;
}
.skeleton-text:last-child { margin-bottom: 0; }
.skeleton-title { height: 1rem; width: 70%; margin-bottom: 8px; }
.skeleton-block { min-height: 1px; }
.skeleton-image,
.skeleton-img {
  width: 100%;
  aspect-ratio: 16/10;
  border-radius: 6px;
}
.skeleton-avatar { width: 40px; height: 40px; border-radius: 50%; }
.skeleton-table-row td { padding: 12px 18px; vertical-align: middle; }
.skeleton-table-row .skeleton { height: 14px; }
.skeleton-card { padding: 16px; }
.skeleton-card .skeleton-title { margin-bottom: 12px; }
.skeleton-card .skeleton-text { width: 100%; }
.skeleton-list-item { padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,.06); display: flex; gap: 12px; align-items: center; }
.skeleton-list-item .skeleton { flex: 1; height: 14px; }

/* Admin skeleton overrides */
.admin-table-wrap .skeleton { background: linear-gradient(90deg, #e2e8f0 0%, #f1f5f9 50%, #e2e8f0 100%); background-size: 200% 100%; animation: skeleton-wave 1.4s ease-in-out infinite; }

/* Site skeleton image wrapper - skeleton görünür, img yüklenince kaybolur */
.skeleton-img-wrap { position: relative; overflow: hidden; background: #e5e7eb; }
.skeleton-img-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.4) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: skeleton-wave 1.4s ease-in-out infinite;
  z-index: 0;
}
.skeleton-img-wrap img { position: relative; z-index: 1; opacity: 0; transition: opacity .25s ease; }
.skeleton-img-wrap.loaded img { opacity: 1; }
.skeleton-img-wrap.loaded::before { display: none; }
