.skeleton,
.sk-line {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
  border-radius: 4px;
}

/* Reusable single shimmer line placeholder. */
.sk-line {
  height: 12px;
  margin-bottom: 6px;
}

.skeleton-title {
    height: 16px;
    width: 200px;
}

.skeleton-line {
    height: 12px;
    margin-bottom: 6px;
}


.skeleton-text {
  height: 12px;
  margin: 8px 0;
}

.skeleton-button {
  height: 32px;
  width: 32px;
  min-width: 32px;
  border-radius: 50%;
}

.skeleton-button-2 {
  height: 32px;
  width: 120px;
  min-width: 120px;
}
.skeleton-button-3 {
  height: 26px;
  width: 53px;
  min-width: 53px;
}

.skeleton-star-mask {
  width: 20px;
  height: 20px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
  border-radius: 4px;
  /* Use the star SVG as a mask */
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.2L12.1 7.7L18 8.5L13.5 12.4L14.8 18L10 15.2L5.2 18L6.5 12.4L2 8.5L7.9 7.7L10 2.2Z'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.2L12.1 7.7L18 8.5L13.5 12.4L14.8 18L10 15.2L5.2 18L6.5 12.4L2 8.5L7.9 7.7L10 2.2Z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

@keyframes loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.skeleton-checkbox {
  height: 15px;
  width: 15px;
  border-radius: 2px;
}

.skeleton-radio {
  height: 12px;
  width: 32px;
  border-radius: 9px;
}

.skeleton-dashboard-box {
  height: 136px;
  border-radius: 8px;
}

.skeleton-dashboard-box-two {
  height: 64px;
  border-radius: 8px;
}

.skeleton-dashboard-box-three {
  height: 80px;
  border-radius: 8px;
}

.skeleton-home-img {
  height: 172px;
  border-radius: 8px;
}

.skeleton-home-btn {
  border-radius: 8px;
  height: 56px;
  width: 240px;
}

.skeleton-find-card {
  min-height: 270px;
  border-radius: 8px;
}

.tender-downloads-skeleton-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tender-downloads-skeleton-container > * {
  display: none;
}

.tender-downloads-skeleton-container::before,
.tender-downloads-skeleton-container::after {
  content: '';
  display: block;
  height: 16px;
  border-radius: 4px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

.tender-downloads-skeleton-container::before {
  width: 85%;
}

.tender-downloads-skeleton-container::after {
  width: 75%;
}

/* Supplier profile skeleton states */
.supplier-skeleton-timeline {
  padding: 16px 0;
}

.supplier-skeleton-timeline .skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
  border-radius: 4px;
}

.supplier-profile-loaded .skeleton {
  display: none;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

.w-5{
  width: 5%;
}

.w-10{
  width: 10%;
}

.w-15{
  width: 15%;
}

.w-20{
  width: 20%;
}

.w-25{
  width: 25%;
}

.w-30{
  width: 30%;
}

.w-35{
  width: 35%;
}

.w-40{
  width: 40%;
}

.w-45{
  width: 45%;
}

.w-50{
  width: 50%;
}

.w-55{
  width: 55%;
}

.w-60{
  width: 60%;
}

.w-65{
  width: 65%;
}

.w-70{
  width: 70%;
}

.w-75{
  width: 75%;
}

.w-80{
  width: 80%;
}

.w-85{
  width: 85%;
}

.w-90{
  width: 90%;
}

.w-95{
  width: 95%;
}

.w-100{
  width: 100%;
}

.pie-skeleton {
  width: 144px;
  height: 144px;
  border-radius: 50%;
  background: conic-gradient(
    #d8d8d8 0deg 120deg,
    #efefef 120deg 240deg,
    #e2e2e2 240deg 360deg
  );
  -webkit-mask: radial-gradient(circle, transparent 58%, #000 59%);
  mask: radial-gradient(circle, transparent 58%, #000 59%);
  animation: pie-skeleton-pulse 1.5s ease-in-out infinite;
}

@keyframes pie-skeleton-pulse {
  0%,
  100% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
}