.psw-wrap{container-type:inline-size;width:100%;max-width:100%;min-width:0}
.psc{--pv-d:4;--pv-t:3;--pv-m:2;--pv:var(--pv-m);--gap:20px;--ar:1;
 --psc-card-bg:#fff;--psc-ink:#1b1b1b;--psc-muted:#6b6b6b;--psc-btn-bg:#111;--psc-btn-text:#fff;
 --psc-sale:#e63946;--psc-new:#1f9d6b;--psc-oos:#6b6b6b;--psc-star:#f5b301;--psc-arrow-bg:#fff;--psc-arrow:#111;--psc-radius:14px;
 position:relative;color:var(--psc-ink);font-family:inherit;line-height:1.4;text-align:start}
.psc *{box-sizing:border-box}
@container (min-width:640px){.psc{--pv:var(--pv-t)}}
@container (min-width:1000px){.psc{--pv:var(--pv-d)}}
/* heading row */
.psc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.psc .psc-heading{margin:0;font-size:clamp(20px,2.6cqw,30px);font-weight:700;line-height:1.2;color:var(--psc-heading,inherit)}
.psc-tools{display:flex;align-items:center;gap:12px}
.psc .psc-link{color:inherit;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* track */
.psc-view{position:relative}
.psc-track{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;list-style:none;margin:0;padding:6px 2px 14px;overscroll-behavior-x:contain;cursor:grab;-webkit-overflow-scrolling:touch}
.psc-track::-webkit-scrollbar{display:none}
.psc-track.is-drag,.psc-track.is-anim{scroll-snap-type:none;scroll-behavior:auto}
.psc-track.is-drag{cursor:grabbing;user-select:none}
.psc-track:focus-visible{outline:2px solid var(--psc-btn-bg);outline-offset:2px}
.psc-item{flex:0 0 calc((100% - (var(--pv) - 1) * var(--gap)) / var(--pv));min-width:0;margin:0;padding:0;list-style:none;scroll-snap-align:start}
/* card */
.psc-card{position:relative;height:100%;display:flex;flex-direction:column;background:var(--psc-card-bg);color:var(--psc-card-ink,var(--psc-ink));border-radius:var(--psc-radius);overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.psc--classic .psc-card{border:1px solid var(--psc-border,rgba(0,0,0,.09))}
.psc--minimal .psc-card{background:transparent;border-radius:0;overflow:visible}
.psc--minimal .psc-media{border-radius:var(--psc-img-radius,var(--psc-radius))}
.psc-media{position:relative;overflow:hidden;background:#f3f1ed}
.psc .psc-img{display:block;position:relative;aspect-ratio:var(--ar);overflow:hidden;-webkit-user-drag:none}
.psc .psc-img img{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:var(--psc-fit,cover);transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .45s ease;-webkit-user-drag:none;user-select:none}
.psc--auto .psc-img{aspect-ratio:auto}
.psc--auto .psc-img img{height:auto}
.psc .psc-img .psc-img2{position:absolute;inset:0;opacity:0}
@media (hover:hover){
 .psc--hover-zoom .psc-card:hover .psc-img img{transform:scale(1.07)}
 .psc--hover-swap .psc-card:hover .psc-img2{opacity:1}
}
/* badges */
.psc-badges{position:absolute;top:12px;inset-inline-start:12px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}
.psc-badge{font-size:12px;font-weight:700;line-height:1;padding:6px 10px;border-radius:999px;color:var(--psc-badge-text,#fff);background:var(--psc-sale)}
.psc-badge--new{background:var(--psc-new)}
.psc-badge--oos{background:var(--psc-oos)}
/* body */
.psc-body{display:flex;flex-direction:column;gap:6px;padding:16px;flex:1}
.psc--minimal .psc-body{padding:14px 0 0;text-align:center}
.psc .psc-cat{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--psc-cat,var(--psc-muted))}
.psc .psc-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;font-size:16px;font-weight:600;line-height:1.3;color:var(--psc-title,inherit)}
.psc .psc-title a{color:inherit;text-decoration:none}
.psc .psc-title a:hover{text-decoration:underline}
.psc .psc-rating{margin:0;display:block;font-size:12px;color:var(--psc-muted)}
.psc .psc-stars{display:inline-block;margin-inline-end:6px;vertical-align:middle;font-size:15px;letter-spacing:2px;line-height:1;color:transparent;background:linear-gradient(90deg,var(--psc-star) var(--r),rgba(128,128,128,.4) var(--r));-webkit-background-clip:text;background-clip:text}
.psc .psc-price{margin:0;font-size:16px;font-weight:600;color:var(--psc-price,inherit)}
.psc .psc-price .amount,.psc .psc-price bdi{color:inherit}
.psc .psc-price del{opacity:.5;font-weight:400;margin-inline-end:6px}
.psc .psc-price ins{text-decoration:none;background:none}
.psc-act{margin-top:auto;padding-top:8px;width:100%}
.psc .psc-act a.button{display:inline-block;width:var(--psc-btn-w,100%);margin:0;border:1.5px solid var(--psc-btn-bg);border-radius:999px;padding:12px 18px;background:var(--psc-btn-bg);color:var(--psc-btn-text);font-size:14px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;box-shadow:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.psc .psc-act a.button:hover{background:var(--psc-btn-bg-h,var(--psc-btn-bg));color:var(--psc-btn-text-h,var(--psc-btn-text));filter:brightness(1.12)}
.psc--btn-outline .psc-act a.button{background:transparent;color:var(--psc-btn-bg)}
.psc--btn-outline .psc-act a.button:hover{background:var(--psc-btn-bg);color:var(--psc-btn-text);filter:none}
.psc .psc-act a.added_to_cart{display:block;margin-top:6px;text-align:center;font-size:13px;color:inherit;text-decoration:underline}
/* overlay card */
.psc--overlay .psc-card{background:#111}
.psc--overlay .psc-body{position:absolute;inset:auto 0 0 0;flex:none;padding:56px 16px 16px;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,0));color:#fff}
.psc--overlay .psc-title,.psc--overlay .psc-price,.psc--overlay .psc-cat,.psc--overlay .psc-rating{color:var(--psc-title,#fff)}
.psc--overlay .psc-price{color:var(--psc-price,#fff)}
.psc--overlay .psc-act{max-height:0;opacity:0;overflow:hidden;padding-top:0;transition:max-height .4s ease,opacity .3s ease,padding .3s}
.psc--overlay .psc-card:hover .psc-act,.psc--overlay .psc-card:focus-within .psc-act{max-height:80px;opacity:1;padding-top:8px}
@media (hover:none){.psc--overlay .psc-act{max-height:80px;opacity:1;padding-top:8px}}
/* arrows */
.psc .psc-arrow{position:absolute;top:calc((100cqw - (var(--pv) - 1) * var(--gap)) / var(--pv) / var(--ar) / 2 + 6px);transform:translateY(-50%);z-index:3;width:44px;height:44px;min-width:0;min-height:0;padding:0;margin:0;display:grid;place-items:center;border:0;border-radius:var(--psc-arrow-radius,50%);background:var(--psc-arrow-bg);color:var(--psc-arrow);box-shadow:0 4px 14px rgba(0,0,0,.18);font-size:0;line-height:1;cursor:pointer;transition:opacity .25s,background .25s,color .25s}
.psc .psc-prev{inset-inline-start:-12px}
.psc .psc-next{inset-inline-end:-12px}
.psc .psc-arrow:hover:not(:disabled){background:var(--psc-arrow-bg-h,var(--psc-btn-bg));color:var(--psc-arrow-h,var(--psc-btn-text))}
.psc .psc-arrow:disabled{opacity:.35;cursor:default}
.psc:dir(rtl) .psc-arrow svg{transform:scaleX(-1)}
.psc--arrows-top .psc-arrow{position:static;transform:none;box-shadow:none;border:1px solid rgba(0,0,0,.15);width:40px;height:40px}
.psc--arrows-none .psc-arrow{display:none}
/* dots */
.psc-dots{display:flex;justify-content:center;gap:8px;margin-top:4px}
.psc button.psc-dot{width:8px;height:8px;min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:999px;background:var(--psc-dot,rgba(0,0,0,.22));box-shadow:none;cursor:pointer;transition:width .4s cubic-bezier(.2,.8,.2,1),background .3s}
.psc button.psc-dot[aria-current="true"]{width:26px;background:var(--psc-dot-active,var(--psc-btn-bg))}
.psc button:focus{outline:0}
.psc button:focus-visible,.psc a:focus-visible{outline:2px solid var(--psc-btn-bg);outline-offset:2px}
@container (max-width:640px){
 .psc .psc-prev{inset-inline-start:4px}.psc .psc-next{inset-inline-end:4px}
 .psc .psc-arrow{width:36px;height:36px}
 .psc .psc-body{padding:12px;gap:4px}
 .psc--minimal .psc-body{padding:10px 0 0}
 .psc .psc-title{font-size:14px}
 .psc .psc-price{font-size:14px}
 .psc .psc-act a.button{padding:10px 10px;font-size:13px}
 .psc--overlay .psc-body{padding:40px 12px 12px}
 .psc-badge{font-size:11px;padding:5px 8px}
}
@media(prefers-reduced-motion:reduce){.psc *{transition-duration:.01ms!important}}

/* quick view button and sale countdown on the image */
.psc .psc-qv{position:absolute;top:12px;inset-inline-end:12px;z-index:3;width:38px;height:38px;min-width:0;min-height:0;padding:0;margin:0;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:#111;box-shadow:0 4px 14px rgba(0,0,0,.2);cursor:pointer;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s,background .25s,color .25s}
.psc .psc-card:hover .psc-qv,.psc .psc-card:focus-within .psc-qv,.psc .psc-qv:focus-visible{opacity:1;transform:none}
.psc .psc-qv:hover{background:var(--psc-btn-bg);color:var(--psc-btn-text)}
@media (hover:none){.psc .psc-qv{opacity:1;transform:none}}
.psc .psc-cd{position:absolute;inset-inline:10px;bottom:10px;z-index:2;text-align:center;font-size:12px;font-weight:700;line-height:1;padding:8px 10px;border-radius:8px;background:rgba(17,17,17,.84);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none}
.psc .psc-cd:empty{display:none}
.psc--overlay .psc-cd{top:0;bottom:auto;inset-inline:0;border-radius:0;padding:9px 10px}
.psc--overlay .psc-media:has(.psc-cd:not(:empty)) .psc-badges,.psc--overlay .psc-media:has(.psc-cd:not(:empty)) .psc-qv{top:48px}
/* lift on hover */
.psc--lift .psc-card:hover,.psc--p-fresh .psc-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(20,20,40,.14)}
/* ===== presets: they only set variables, Elementor style controls still win ===== */
.psc--p-luxe{--psc-card-bg:#17140f;--psc-card-ink:#f3ead7;--psc-muted:#b8a888;--psc-btn-bg:#c9a35a;--psc-btn-text:#17140f;--psc-border:rgba(201,163,90,.4);--psc-radius:2px;--psc-arrow-bg:#17140f;--psc-arrow:#c9a35a;--psc-star:#c9a35a;--psc-sale:#9b2c2c}
.psc--p-luxe .psc-title{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:.01em}
.psc--p-luxe .psc-cat{color:var(--psc-cat,#c9a35a)}
.psc--p-luxe .psc-media{background:#241f17}
.psc--p-fresh{--psc-radius:22px;--psc-border:transparent;--psc-btn-bg:#ff5a3c;--psc-btn-text:#fff;--psc-sale:#ff5a3c;--psc-new:#14b8a6;--psc-arrow:#ff5a3c}
.psc--p-fresh .psc-card{box-shadow:0 10px 30px rgba(20,20,40,.08)}
.psc--p-fresh .psc-title{font-weight:700}
.psc--p-boutique{--psc-radius:0;--psc-border:transparent;--psc-card-bg:transparent;--psc-btn-bg:#1a1a1a;--psc-btn-text:#fff;--psc-arrow-radius:0}
.psc--p-boutique .psc-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:17px;letter-spacing:.01em}
.psc--p-boutique .psc-badge{border-radius:0;letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.psc--p-boutique .psc-act a.button{background:transparent;color:var(--psc-btn-bg);border-width:1px;border-radius:0;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.psc--p-boutique .psc-act a.button:hover{background:var(--psc-btn-bg);color:var(--psc-btn-text);filter:none}
.psc--p-bold{--psc-radius:10px;--psc-border:#111;--psc-btn-bg:#ffd23f;--psc-btn-text:#111;--psc-sale:#ff3b5c;--psc-new:#2563eb;--psc-arrow-bg:#ffd23f;--psc-arrow:#111}
.psc--p-bold .psc-card{border:2px solid #111;box-shadow:6px 6px 0 #111}
.psc--p-bold .psc-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 #111}
.psc--p-bold .psc-title{font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:15px}
.psc--p-bold .psc-act a.button{border:2px solid #111;color:#111}
.psc--p-bold .psc-badge{border:2px solid #111;color:#111;background:#fff}
.psc--p-bold .psc-badge--sale{background:#ff3b5c;color:#fff}
.psc--p-soft{--psc-card-bg:#fbf6ee;--psc-radius:20px;--psc-border:transparent;--psc-btn-bg:#4f7a63;--psc-btn-text:#fff;--psc-sale:#d9776b;--psc-new:#4f7a63;--psc-star:#e0a030;--psc-arrow-bg:#fbf6ee;--psc-arrow:#4f7a63}
.psc--p-soft .psc-media{background:#f1e8da}
/* ===== quick view modal ===== */
.psq{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:16px;font-family:inherit}
.psq[hidden]{display:none}
.psq-back{position:absolute;inset:0;background:rgba(10,10,12,.62);backdrop-filter:blur(3px);animation:psq-fade .25s ease}
.psq-box{position:relative;width:min(920px,100%);max-height:min(92vh,740px);overflow:auto;background:#fff;color:#1b1b1b;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:psq-pop .35s cubic-bezier(.2,.8,.2,1)}
.psq-box *{box-sizing:border-box}
.psq .psq-close{position:absolute;top:10px;inset-inline-end:10px;z-index:2;width:38px;height:38px;min-width:0;min-height:0;padding:0;border:0;border-radius:50%;background:#f1f1f1;color:#111;font-size:24px;line-height:1;cursor:pointer}
.psq-grid{display:grid;grid-template-columns:1fr 1fr}
.psq-main{aspect-ratio:1;background:#f3f1ed;overflow:hidden}
.psq-main img{display:block;width:100%;height:100%;object-fit:cover}
.psq-thumbs{display:flex;gap:8px;padding:10px 12px}
.psq .psq-thumb{width:56px;height:56px;min-width:0;min-height:0;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#fff;cursor:pointer;opacity:.7;transition:opacity .2s,border-color .2s}
.psq .psq-thumb.is-on{border-color:#111;opacity:1}
.psq-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.psq-info{padding:40px 32px 32px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.psq .psq-title{margin:0;font-size:24px;line-height:1.2;color:#111}
.psq .psq-rating{margin:0;font-size:13px;color:#666}
.psq .psq-stars{display:inline-block;margin-inline-end:6px;font-size:16px;letter-spacing:2px;line-height:1;color:transparent;background:linear-gradient(90deg,#f5b301 var(--r),rgba(128,128,128,.4) var(--r));-webkit-background-clip:text;background-clip:text}
.psq .psq-price{margin:0;font-size:22px;font-weight:700;color:#111}
.psq .psq-price del{opacity:.5;font-weight:400;margin-inline-end:6px}
.psq .psq-price ins{text-decoration:none;background:none}
.psq .psq-desc{margin:0;color:#444;line-height:1.6;font-size:15px}
.psq .psq-act a.button{display:inline-block;margin:0;border:0;border-radius:999px;padding:14px 30px;background:#111;color:#fff;font-weight:600;font-size:15px;text-decoration:none;box-shadow:none}
.psq .psq-act a.added_to_cart{margin-inline-start:12px;font-size:14px;color:#111}
.psq .psq-more{color:#111;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.psq.is-loading .psq-body::before{content:"";display:block;width:36px;height:36px;margin:140px auto;border:3px solid #ddd;border-top-color:#111;border-radius:50%;animation:psq-spin .8s linear infinite}
.psq-err{padding:60px 24px;text-align:center}
html.psq-lock{overflow:hidden}
@keyframes psq-fade{from{opacity:0}}
@keyframes psq-pop{from{opacity:0;transform:translateY(18px) scale(.97)}}
@keyframes psq-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.psq-grid{grid-template-columns:1fr}.psq-main{aspect-ratio:4/3}.psq-info{padding:20px}}
@media(prefers-reduced-motion:reduce){.psq *{animation:none!important}}
