/**
 * 骨架屏样式
 * 用于商品卡片加载时的占位显示
 */

/* 骨架屏动画 */
@keyframes skeleton-loading {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

/* 骨架屏容器 */
.skeleton-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    padding: 20px 0;
}

/* 骨架屏卡片 */
.skeleton-card {
    background: var(--card-bg, #fff);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 骨架屏元素基础样式 */
.skeleton {
    background: linear-gradient(
        90deg,
        #f0f0f0 25%,
        #e0e0e0 50%,
        #f0f0f0 75%
    );
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s ease-in-out infinite;
    border-radius: 4px;
}

/* 暗色模式支持 */
[data-theme="dark"] .skeleton {
    background: linear-gradient(
        90deg,
        #2a2a2a 25%,
        #3a3a3a 50%,
        #2a2a2a 75%
    );
    background-size: 200% 100%;
}

/* 骨架屏图片 */
.skeleton-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: linear-gradient(
        90deg,
        #f0f0f0 25%,
        #e0e0e0 50%,
        #f0f0f0 75%
    );
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s ease-in-out infinite;
}

[data-theme="dark"] .skeleton-image {
    background: linear-gradient(
        90deg,
        #2a2a2a 25%,
        #3a3a3a 50%,
        #2a2a2a 75%
    );
    background-size: 200% 100%;
}

/* 骨架屏内容区 */
.skeleton-content {
    padding: 8px;
    padding-top: 0;
}

/* 骨架屏标题 */
.skeleton-title {
    height: 16px;
    margin-bottom: 12px;
    border-radius: 4px;
}

.skeleton-title-short {
    width: 60%;
}

/* 骨架屏价格区 */
.skeleton-price {
    height: 20px;
    width: 40%;
    margin-bottom: 12px;
    border-radius: 4px;
}

/* 骨架屏按钮区 */
.skeleton-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.skeleton-button {
    flex: 1;
    height: 34px;
    border-radius: 4px;
}

.skeleton-button-small {
    width: 60px;
    height: 34px;
    border-radius: 4px;
}

/* 骨架屏文本行 */
.skeleton-text {
    height: 16px;
    margin-bottom: 8px;
    border-radius: 4px;
}

.skeleton-text-full {
    width: 100%;
}

.skeleton-text-medium {
    width: 80%;
}

.skeleton-text-short {
    width: 60%;
}

/* 骨架屏网格布局适配 */
@media (max-width: 1200px) {
    .skeleton-wrapper {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 16px;
    }
}

@media (max-width: 768px) {
    .skeleton-wrapper {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 12px;
    }
    
    .skeleton-content {
        padding: 12px;
    }
}

@media (max-width: 480px) {
    .skeleton-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .skeleton-content {
        padding: 10px;
    }
    
    .skeleton-title {
        height: 16px;
        margin-bottom: 8px;
    }
    
    .skeleton-price {
        height: 20px;
        margin-bottom: 8px;
    }
    
    .skeleton-button {
        height: 36px;
    }
}
