.ctn-ajax-product-slider { min-height: 360px; }

.ctn-product-skeletons {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 24px 20px;
    width: 100%;
}

.ctn-product-skeleton {
    min-width: 0;
    padding: 10px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
}

.ctn-skeleton-image,
.ctn-skeleton-line {
    position: relative;
    overflow: hidden;
    background: #eceff1;
}

.ctn-skeleton-image::after,
.ctn-skeleton-line::after {
    position: absolute;
    inset: 0;
    content: "";
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .75), transparent);
    animation: ctn-skeleton-shimmer 1.35s infinite;
}

.ctn-skeleton-image {
    width: 100%;
    aspect-ratio: 300 / 223;
    margin-bottom: 14px;
    border-radius: 3px;
}

.ctn-skeleton-line {
    height: 12px;
    margin: 0 6px 9px;
    border-radius: 8px;
}

.ctn-skeleton-title { width: calc(100% - 12px); }
.ctn-skeleton-title-short { width: 68%; }
.ctn-skeleton-price { width: 42%; height: 14px; margin-top: 15px; }

.ctn-product-message,
.ctn-product-error {
    display: flex;
    min-height: 360px;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@keyframes ctn-skeleton-shimmer {
    100% { transform: translateX(100%); }
}

@media (max-width: 991px) {
    .ctn-product-skeletons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
    .ctn-product-skeletons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ctn-skeleton-image::after,
    .ctn-skeleton-line::after { animation: none; }
}
