/* css/skeletons.css */
.skeleton {
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite linear;
    border-radius: 8px;
}

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

/* Table Row Skeleton */
.skeleton-row td {
    padding: 1.5rem 1rem;
}

.skeleton-avatar { width: 45px; height: 45px; border-radius: 12px; }
.skeleton-text { height: 14px; margin-bottom: 8px; border-radius: 4px; }
.skeleton-item { height: 20px; border-radius: 6px; }

/* Lecture Card Skeleton */
.skeleton-card-new {
    background: white;
    border-radius: 24px;
    padding: 1.5rem;
    height: 440px;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    border: 1px solid #f1f5f9;
}

.skeleton-img { width: 100%; height: 220px; border-radius: 18px; }
.skeleton-title { width: 85%; height: 24px; }
.skeleton-desc { width: 65%; height: 16px; }
.skeleton-footer { width: 100%; height: 45px; margin-top: auto; border-radius: 12px; }

[data-theme="dark"] .skeleton {
    background: linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.03) 75%);
    background-size: 200% 100%;
}
[data-theme="dark"] .skeleton-card-new {
    background: rgba(255,255,255,0.02);
    border-color: rgba(255, 255, 255, 0.05);
}

/* Skeleton Hero */
.skeleton-hero {
    padding: 4rem 0;
}
.skeleton-hero .skeleton-breadcrumb {
    width: 250px; height: 14px; margin-bottom: 1.5rem;
}
.skeleton-hero .skeleton-title-lg {
    width: 70%; height: 2.8rem; margin-bottom: 1rem;
}
.skeleton-hero .skeleton-desc {
    width: 50%; height: 1.2rem; margin-bottom: 2rem;
}
.skeleton-hero .skeleton-meta-row {
    display: flex; gap: 2rem;
}
.skeleton-hero .skeleton-meta-badge {
    width: 180px; height: 20px;
}

/* Skeleton Content */
.skeleton-content {
    display: flex; flex-direction: column; gap: 2rem;
}
.skeleton-content .skeleton-heading {
    width: 250px; height: 1.8rem; margin-bottom: 1rem;
}
.skeleton-content .skeleton-curriculum-item {
    display: flex; align-items: center; gap: 1rem; padding: 1rem;
    height: 56px; margin-bottom: 0.75rem; border-radius: 10px;
    background: var(--bg-soft);
}
.skeleton-content .skeleton-curriculum-item .skeleton-icon {
    width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
}
.skeleton-content .skeleton-curriculum-item .skeleton-text {
    flex: 1; height: 16px; margin: 0;
}
.skeleton-content .skeleton-curriculum-item .skeleton-duration {
    width: 70px; height: 14px; flex-shrink: 0;
}

/* Skeleton Sidebar */
/* visual styling delegated to parent .course-sidebar */
.skeleton-sidebar .skeleton-cover {
    width: 100%; height: 200px; border-radius: 12px; margin-bottom: 1.5rem;
}
.skeleton-sidebar .skeleton-price {
    width: 120px; height: 2.5rem; margin-bottom: 1.5rem;
}
.skeleton-sidebar .skeleton-btn {
    width: 100%; height: 48px; border-radius: 12px; margin-bottom: 0.75rem;
}
.skeleton-sidebar .skeleton-meta-item {
    display: flex; justify-content: space-between; padding: 0.75rem 0;
    border-bottom: 1px solid #f1f5f9;
}
[data-theme="dark"] .skeleton-sidebar .skeleton-meta-item {
    border-bottom-color: #334155;
}

@media (max-width: 600px) {
    .skeleton-card-new {
        height: auto;
    }
    .skeleton-hero .skeleton-title-lg {
        width: 90%;
    }
    .skeleton-hero .skeleton-desc {
        width: 80%;
    }
}
.skeleton-sidebar .skeleton-meta-item .skeleton-label {
    width: 80px; height: 14px;
}
.skeleton-sidebar .skeleton-meta-item .skeleton-value {
    width: 100px; height: 14px;
}
#btn-skeleton {
    display: block;
}
[data-theme="dark"] #btn-skeleton {
    background: linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.03) 75%);
    background-size: 200% 100%;
}
