.skeleton-text {
    display: inline-block;
    background-color: var(--bs-secondary-background);
    height: 0.8rem;
    width: 3rem;
    border-radius: 0.4rem;
    position: relative;
    overflow: hidden;
}

.skeleton-photo {
    position: relative;
    overflow: hidden;
}

.btn-skeleton {
    position: relative;
    overflow: hidden;
}

/* Анимация "бегущей волны" */
.btn-skeleton::after,
.skeleton-photo::after,
.skeleton-text::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%; /* Начальная позиция */
    width: 150%;
    height: 100%;
    background: linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.5),
            transparent
    );
    will-change: left;
    animation: loading-wave 1.5s infinite;
}

[data-bs-theme=dark] {
    .btn-skeleton::after,
    .skeleton-photo::after,
    .skeleton-text::after {
        background: linear-gradient(
                90deg,
                transparent,
                rgba(255, 255, 255, 0.1), /* Светлая полоса */
                transparent
        );
    }
}

@keyframes loading-wave {
    0% {
        left: -150%;
    }
    50% {
        left: 50%;
    }
    100% {
        left: 150%;
    }
}

.skeleton-text.w-5 {
    width: 5rem;
}

.skeleton-text.w-7 {
    width: 7rem;
}

.skeleton-text.w-8 {
    width: 8rem;
}

.skeleton-text.w-10 {
    width: 10rem;
}