/* ============================================
   Skeleton Loading States - SchoolSelect
   ============================================ */

.skeleton {
    background: linear-gradient(90deg, var(--color-gray-200) 25%, var(--color-gray-100) 50%, var(--color-gray-200) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s ease-in-out infinite;
    border-radius: var(--radius);
}

.skeleton-text {
    height: 14px;
    margin-bottom: var(--space-2);
    border-radius: var(--radius-sm);
}

.skeleton-text--lg {
    height: 20px;
    width: 60%;
}

.skeleton-text--sm {
    height: 12px;
    width: 40%;
}

.skeleton-circle {
    border-radius: var(--radius-full);
}

.skeleton-card {
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    background: var(--color-surface);
}

.skeleton-card__image {
    width: 100%;
    height: 160px;
    border-radius: var(--radius);
    margin-bottom: var(--space-4);
}

.skeleton-card__title {
    height: 20px;
    width: 75%;
    margin-bottom: var(--space-3);
}

.skeleton-card__text {
    height: 14px;
    width: 100%;
    margin-bottom: var(--space-2);
}

.skeleton-card__text:last-child {
    width: 60%;
}

.skeleton-avatar {
    width: 40px;
    height: 40px;
}

.skeleton-button {
    height: 40px;
    width: 120px;
    border-radius: var(--radius);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .skeleton {
        animation: none;
    }
}
