/* Base skeleton effect */
.skeleton {
  background: linear-gradient(90deg, #eeeeee 25%, #dddddd 50%, #eeeeee 75%);
  background-size: 200% 100%;
  animation: loading 1.4s infinite;
  border-radius: 4px;
}

/* Animation keyframes */
@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Card layout */
.card-skeleton {
  display: flex;
  align-items: flex-start;
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  padding: 20px;
  max-width: 850px;
  margin: 20px auto;
}

/* Image skeleton */
.card-image-skeleton {
  width: 120px;
  height: 150px;
  border-radius: 10px;
  flex-shrink: 0;
}

/* Content layout */
.card-content-skeleton {
  margin-left: 20px;
  flex-grow: 1;
}

/* Title skeleton */
.card-title-skeleton {
  width: 60%;
  height: 20px;
  margin-bottom: 10px;
}

/* Author skeleton */
.card-author-skeleton {
  width: 30%;
  height: 14px;
  margin-bottom: 10px;
}

/* Description skeleton */
.card-desc-skeleton {
  width: 90%;
  height: 14px;
  margin-bottom: 20px;
}

/* Date badge skeleton */
.card-date-skeleton {
  width: 100px;
  height: 28px;
  border-radius: 20px;
}