/* Prakriti Product Slider v1.6.0 */
.psbs-root,
.psbs-root *{
    box-sizing:border-box;
}

.psbs-root{
    width:100%;
    max-width:100%;
    overflow:hidden;
    background:#fff;
    color:#201b18;
}

.psbs-wrap{
    width:100%;
    max-width:1320px;
    margin:0 auto;
    padding:30px 20px 34px;
}

.psbs-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}

.psbs-kicker{
    margin-bottom:6px;
    color:#b84a34;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.psbs-heading{
    margin:0;
    color:#201b18;
    font-size:26px;
    line-height:1.08;
    font-weight:800;
}

.psbs-arrows{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}

.psbs-arrows-only{
    justify-content:flex-end;
    margin-bottom:12px;
}

.psbs-arrow{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid #e5d8d1;
    border-radius:999px;
    background:#fff;
    color:#201b18;
    font-size:24px;
    line-height:1;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
    cursor:pointer;
}

.psbs-track{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - (16px * (var(--psbs-desktop-visible) - 1))) / var(--psbs-desktop-visible));
    gap:16px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:2px;
}

.psbs-track::-webkit-scrollbar{
    display:none;
}

.psbs-card{
    min-width:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    scroll-snap-align:start;
    border:1px solid #eaded6;
    border-radius:14px;
    background:#fffaf6;
    padding:8px;
    box-shadow:0 8px 22px rgba(0,0,0,.035);
}

.psbs-media{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
    border-radius:12px;
    background:#f6eee9;
    text-decoration:none !important;
}

.psbs-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .22s ease;
}

.psbs-card:hover .psbs-media img{
    transform:scale(1.025);
}

.psbs-badge{
    position:absolute;
    z-index:2;
    top:8px;
    left:8px;
    padding:5px 8px;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:800;
}

.psbs-body{
    display:flex;
    flex:1;
    flex-direction:column;
    min-width:0;
    padding:11px 3px 2px;
}

.psbs-title{
    display:-webkit-box;
    overflow:hidden;
    min-height:36px;
    margin:0;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    color:#201b18;
    font-size:13px;
    line-height:1.35;
    font-weight:500;
    text-decoration:none !important;
    word-break:normal;
}

.psbs-price{
    margin-top:8px;
    color:#111;
    font-size:16px;
    line-height:1.2;
    font-weight:800;
}

.psbs-price ins{
    color:inherit;
    text-decoration:none !important;
}

.psbs-price del{
    margin-right:5px;
    color:#777;
    opacity:.55;
    font-size:.78em;
    font-weight:500;
    text-decoration:line-through !important;
}

.psbs-bottom{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:8px;
    margin-top:14px;
}

.psbs-rating{
    display:flex;
    align-items:center;
    min-width:0;
    gap:4px;
    padding-bottom:2px;
    line-height:1;
    white-space:nowrap;
}

.psbs-stars{
    color:#f3a000;
    font-size:10px;
    letter-spacing:.3px;
}

.psbs-rating small{
    color:#777;
    font-size:9px;
    line-height:1;
}

.psbs-cart{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 36px;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #b84a34 !important;
    border-radius:50% !important;
    background:transparent !important;
    color:#b84a34 !important;
    text-decoration:none !important;
    box-shadow:none !important;
    min-height:0 !important;
}

.psbs-cart:hover,
.psbs-cart:focus{
    background:rgba(184,74,52,.06) !important;
}

.psbs-cart svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:#b84a34;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.psbs-cart.added::after{
    display:none !important;
}

.psbs-root a,
.psbs-root a:hover,
.psbs-root a:focus{
    text-decoration:none !important;
}

@media(max-width:767px){
    .psbs-wrap{
        padding:24px 10px;
    }

    .psbs-head{
        align-items:center;
        gap:10px;
        margin-bottom:13px;
    }

    .psbs-kicker{
        margin-bottom:4px;
        font-size:8px;
    }

    .psbs-heading{
        font-size:21px;
    }

    .psbs-arrow{
        width:32px;
        height:32px;
        font-size:20px;
    }

    .psbs-track{
        grid-auto-columns:calc((100% - (8px * (var(--psbs-mobile-visible) - 1))) / var(--psbs-mobile-visible));
        gap:8px;
    }

    /* Card hierarchy intentionally stays the same as desktop */
    .psbs-card{
        border-radius:14px;
        padding:6px;
    }

    .psbs-media{
        border-radius:12px;
    }

    .psbs-body{
        padding:10px 3px 2px;
    }

    .psbs-title{
        min-height:36px;
        font-size:12px;
    }

    .psbs-price{
        margin-top:8px;
        font-size:15px;
    }

    .psbs-bottom{
        margin-top:13px;
    }

    .psbs-stars{
        font-size:9px;
    }

    .psbs-rating small{
        font-size:8px;
    }

    .psbs-cart{
        width:34px;
        height:34px;
        flex-basis:34px;
    }
}

@media(prefers-reduced-motion:reduce){
    .psbs-media img{
        transition:none;
    }
}

/* Unavailable items use readable text in place of the cart control. */
.psbs-unavailable{display:block;flex:0 1 110px;min-width:0;max-width:100%;font-size:11px;font-weight:500;line-height:1.4;color:#75645b;text-align:right;white-space:normal;overflow-wrap:anywhere}
