
.sos-ps{
    --sos-ps-gap:18px;
    --sos-card-bg:#fff;
    --sos-text:#222;
    --sos-price:#111;
    --sos-btn-bg:#111;
    --sos-btn-text:#fff;
    --sos-btn-hover-bg:#333;
    --sos-btn-hover-text:#fff;
    --sos-btn-font-size:16px;
    --sos-btn-radius:10px;
    --sos-btn-height:42px;
    --sos-radius:16px;
    --sos-img-radius:12px;
    --sos-padding:12px;
    --sos-ratio:1/1;
    position:relative;
    width:100%;
    box-sizing:border-box;
}
.sos-ps *{box-sizing:border-box}
.sos-ps__viewport{overflow:hidden;width:100%;touch-action:pan-y}
.sos-ps__track{
    display:flex;
    gap:var(--sos-ps-gap);
    transition:transform .45s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}
.sos-ps__slide{flex:0 0 auto;min-width:0}
.sos-ps__card{
    height:100%;
    background:var(--sos-card-bg);
    border-radius:var(--sos-radius);
    padding:var(--sos-padding);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.sos-ps--shadow .sos-ps__card{
    box-shadow:0 8px 28px rgba(0,0,0,.08);
}
.sos-ps__image{
    display:block;
    width:100%;
    aspect-ratio:var(--sos-ratio);
    overflow:hidden;
    border-radius:var(--sos-img-radius);
    background:#f6f6f6;
}
.sos-ps[style*="--sos-ratio:auto"] .sos-ps__image{aspect-ratio:auto}
.sos-ps__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    margin:0;
}
.sos-ps[style*="--sos-ratio:auto"] .sos-ps__image img{height:auto}
.sos-ps__content{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding-top:12px;
    flex:1;
}
.sos-ps__title{
    font-size:16px;
    line-height:1.35;
    margin:0;
    font-weight:600;
}
.sos-ps__title a{color:var(--sos-text);text-decoration:none}
.sos-ps__title a:hover{text-decoration:underline}
.sos-ps__price{
    color:var(--sos-price);
    font-size:16px;
    line-height:1.3;
    margin-top:auto;
}
.sos-ps__price del{opacity:.55}
.sos-ps__price ins{text-decoration:none}
.sos-ps__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:var(--sos-btn-height);
    padding:10px 14px;
    border-radius:var(--sos-btn-radius);
    background:var(--sos-btn-bg);
    color:var(--sos-btn-text)!important;
    text-decoration:none!important;
    font-weight:600;
    font-size:var(--sos-btn-font-size);
    transition:transform .15s ease,opacity .15s ease;
}
.sos-ps__button:hover{
    opacity:1;
    transform:translateY(-1px);
    background:var(--sos-btn-hover-bg);
    color:var(--sos-btn-hover-text)!important;
}
.sos-ps__arrow{
    position:absolute;
    top:50%;
    z-index:3;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border:0;
    border-radius:999px;
    background:#fff;
    color:#222;
    box-shadow:0 4px 20px rgba(0,0,0,.14);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:23px;
    line-height:1;
}
.sos-ps__arrow--prev{left:8px}
.sos-ps__arrow--next{right:8px}
.sos-ps__arrow[hidden]{display:none!important}
.sos-ps__arrow:disabled{opacity:.35;cursor:default}
.sos-ps__dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:7px;
    padding-top:14px;
}
.sos-ps__dots:empty{display:none}
.sos-ps__dot{
    width:8px;height:8px;border:0;border-radius:99px;padding:0;
    background:#c7c7c7;cursor:pointer;transition:all .2s ease;
}
.sos-ps__dot.is-active{width:22px;background:#444}
.sos-ps-empty,.sos-ps-warning{
    padding:12px 14px;border:1px solid #ddd;border-radius:8px;background:#fff;
}
@media (max-width:767px){
    .sos-ps__arrow{width:36px;height:36px;font-size:20px}
    .sos-ps__arrow--prev{left:4px}
    .sos-ps__arrow--next{right:4px}
}
@media (prefers-reduced-motion:reduce){
    .sos-ps__track,.sos-ps__button{transition:none}
}
