:root {
  --skeleton: #ebebeb; }

/* Skeleton bits */
.sk-card {
  margin-bottom: 20px; }
  .sk-card .card-body {
    row-gap: 18px; }

.sk {
  position: relative;
  background: var(--skeleton);
  overflow: hidden; }

.sk::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  animation: shimmer 7s linear infinite; }

@keyframes shimmer {
  100% {
    transform: translateX(120%); } }

.sk-img {
  aspect-ratio: 1 / 1; }

.sk-line {
  height: 12px;
  margin-top: 10px; }

.w-90 {
  width: 90%; }

.w-70 {
  width: 70%; }

.w-55 {
  width: 55%; }

.w-40 {
  width: 40%; }

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce) {
  .sk::after {
    animation: none; } }
