/* Generic skeleton base style */
.skeleton {
  background-color: #e2e5e7;
  background-image: linear-gradient(90deg, #e2e5e7 0px, #f8f8f8 40px, #e2e5e7 80px);
  background-size: 600px;
  background-repeat: no-repeat;
  animation: shine 1.2s linear infinite;
  border-radius: 4px;
}

/* Skeleton animation */
@keyframes shine {
  0% {
    background-position: -100px;
  }
  100% {
    background-position: 600px;
  }
}

/* Use cases */

.skeleton-title {
  height: 24px;
  width: 50%;
  margin-bottom: 10px;
}

.skeleton-subtitle {
  height: 18px;
  width: 30%;
  margin-bottom: 8px;
}

.skeleton-text {
  height: 14px;
  width: 100%;
  margin-bottom: 6px;
}

.skeleton-card {
  height: 150px;
  width: 100%;
  margin-bottom: 16px;
  border-radius: 8px;
}

.skeleton-btn {
  height: 40px;
  width: 120px;
  border-radius: 20px;
  margin: 10px 0;
}

.skeleton-avatar {
  height: 60px;
  width: 60px;
  border-radius: 50%;
  margin-bottom: 8px;
}

.skeleton-banner {
  height: 250px;
  width: 100%;
  border-radius: 10px;
  margin-bottom: 20px;
}

.skeleton-form-line {
  height: 38px;
  width: 100%;
  margin-bottom: 12px;
  border-radius: 6px;
}

.skeleton-circle-icon {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  margin: 10px;
}
