.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:14px;border-radius:4px}.skeleton-text-sm{height:12px;border-radius:4px}.skeleton-text-lg{height:24px;border-radius:6px}.skeleton-title{height:32px;border-radius:6px;width:60%}.skeleton-button{height:44px;border-radius:12px;width:120px}.skeleton-image{aspect-ratio:1;border-radius:12px;background:linear-gradient(90deg,#e8e8e8 25%,#d0d0d0,#e8e8e8 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.skeleton-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.skeleton-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.skeleton-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-skeleton{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.product-skeleton .skeleton-image{aspect-ratio:1;border-radius:0}.product-skeleton .skeleton-body{padding:16px;display:flex;flex-direction:column;gap:10px}@media(max-width:640px){.skeleton-grid{grid-template-columns:repeat(2,1fr);gap:12px}.skeleton-grid-2,.skeleton-grid-3,.skeleton-grid-4{grid-template-columns:1fr 1fr;gap:12px}}
