.skeleton-card{background:#fff;border-radius:12px;animation:1.5s ease-in-out infinite pulse;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000014}.skeleton-card-vertical{flex-direction:column}.skeleton-card-horizontal{flex-direction:row}.skeleton-image{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;width:100%;height:280px;animation:1.5s infinite shimmer}.skeleton-card-vertical .skeleton-image{width:100%}.skeleton-card-horizontal .skeleton-image{flex:1;min-width:150px;height:auto}.skeleton-content{flex-direction:column;flex:1;justify-content:space-between;padding:1rem;display:flex}.skeleton-card-horizontal .skeleton-content{flex:1.5}.skeleton-title{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;height:16px;margin-bottom:8px;animation:1.5s infinite shimmer}.skeleton-title-short{width:70%}.skeleton-rating{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;width:100px;height:12px;margin-bottom:12px;animation:1.5s infinite shimmer}.skeleton-price-row{gap:8px;margin-bottom:12px;display:flex}.skeleton-price{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;width:80px;height:20px;animation:1.5s infinite shimmer}.skeleton-price-small{width:60px}.skeleton-button{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:8px;width:100%;height:40px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.95}}
