.carpets-section {
    width: 100%;
    padding: 90px 0;
    overflow: hidden;
    background: #fff;
    text-align: center;
}

.carpets-container {
    width: min(1170px, calc(100% - 40px));
    margin: 0 auto;
}

.carpets-title {
    margin: 0 auto;
}

.carpets-title::after {
    display: none !important;
    content: none !important;
}

.home-test-page .carpets-container {
    width: min(1672px, calc(100vw - 48px));
}

.carpets-slider {
    position: relative;
    width: 100%;
    margin-top: 36px;
    overflow: hidden;
}

.carpets-slider::before,
.carpets-slider::after {
    position: absolute;
    z-index: 2;
    top: 0;
    width: 80px;
    height: 100%;
    pointer-events: none;
    content: '';
}

.carpets-slider::before {
    left: 0;
    background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0));
}

.carpets-slider::after {
    right: 0;
    background: linear-gradient(to left, #fff, rgba(255, 255, 255, 0));
}

.carpets-track {
    display: flex;
    align-items: stretch;
    width: max-content;
    animation: carpets-marquee 70s linear infinite;
}

.carpets-slider:hover .carpets-track,
.carpets-slider:focus-within .carpets-track {
    animation-play-state: paused;
}

.home-test-page .carpets-slider {
    margin-top: 60px;
}

.carpets-slide {
    display: block;
    width: 260px;
    height: 190px;
    margin-right: 20px;
    overflow: hidden;
    border-radius: 18px;
    background: #eef1f6;
    box-sizing: border-box;
    cursor: zoom-in;
}

.carpets-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.carpets-slide:hover img,
.carpets-slide:focus img {
    transform: scale(1.04);
}

@keyframes carpets-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 767px) {
    .carpets-section {
        padding: 60px 0;
    }

    .carpets-container {
        width: min(100% - 24px, 1170px);
    }

    .carpets-slider {
        margin-top: 35px;
    }

    .home-test-page .carpets-container {
        width: min(100% - 28px, 520px);
    }

    .home-test-page .carpets-slider {
        margin-top: 30px;
    }

    .carpets-slider::before,
    .carpets-slider::after {
        width: 35px;
    }

    .carpets-slide {
        width: 220px;
        height: 160px;
        margin-right: 14px;
        border-radius: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .carpets-track {
        animation-play-state: paused;
    }
}

/* PrettyPhoto is already used by the site, but its legacy button images are absent. */
.pp_pic_holder .pp_close {
    top: -16px !important;
    right: -16px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50%;
    background: #263145 !important;
    color: #fff;
    text-indent: -9999px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
}

.pp_pic_holder .pp_close::after {
    position: absolute;
    inset: 0;
    color: #fff;
    font: 30px/34px Arial, sans-serif;
    text-align: center;
    text-indent: 0;
    content: '\00d7';
}

.pp_pic_holder .pp_hoverContainer .pp_previous,
.pp_pic_holder .pp_hoverContainer .pp_next {
    position: relative;
    background: none !important;
}

.pp_pic_holder .pp_hoverContainer .pp_previous::after,
.pp_pic_holder .pp_hoverContainer .pp_next::after {
    position: absolute;
    top: 50%;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    border-radius: 50%;
    background: rgba(38, 49, 69, .8);
    color: #fff;
    font: 30px/39px Arial, sans-serif;
    text-align: center;
    text-indent: 0;
}

.pp_pic_holder .pp_hoverContainer .pp_previous::after {
    left: 14px;
    content: '\2039';
}

.pp_pic_holder .pp_hoverContainer .pp_next::after {
    right: 14px;
    content: '\203a';
}

.pp_pic_holder .pp_loaderIcon {
    background: none !important;
}
