@media (min-width: 901px) {
    .catalog-wrap {
        max-width: none;
        width: 100%;
        grid-template-columns: 250px minmax(0, 1fr);
        gap: 30px;
        padding: 33px clamp(20px, 4vw, 80px) 60px;
    }

    .catalog-grid {
        grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
        gap: 22px;
    }
}

.catalog-skeleton__card {
    min-width: 0;
    min-height: 380px;
    padding: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
}

.catalog-skeleton__image,
.catalog-skeleton__line,
.catalog-skeleton__price {
    background: linear-gradient(100deg, #ececec 35%, #f6f6f6 50%, #ececec 65%);
    background-size: 200% 100%;
    animation: catalog-skeleton-shimmer 1.4s ease-in-out infinite;
}

.catalog-skeleton__image {
    height: 180px;
    margin-bottom: 20px;
    border-radius: 5px;
}

.catalog-skeleton__line {
    height: 14px;
    margin-bottom: 10px;
    border-radius: 4px;
}

.catalog-skeleton__line--short { width: 70%; }

.catalog-skeleton__price {
    width: 45%;
    height: 24px;
    margin-top: 34px;
    border-radius: 4px;
}

@keyframes catalog-skeleton-shimmer {
    to { background-position-x: -200%; }
}

@media (max-width: 640px) {
    .catalog-skeleton__card { min-height: 335px; padding: 10px; }
    .catalog-skeleton__image { height: 135px; }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-skeleton__image,
    .catalog-skeleton__line,
    .catalog-skeleton__price { animation: none; }
}

