.ws-pc-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px 18px;
}

.ws-pc-card{
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    min-width:0;
    overflow:hidden;
    background:#fffefb;
    border:1px solid rgba(45,47,37,.09);
    border-radius:14px;
    box-shadow:0 8px 24px rgba(32,35,28,.04);
    transition-property:transform,box-shadow,border-color;
    transition-timing-function:cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}

.ws-pc-media{
    position:relative;
    overflow:hidden;
}

.ws-pc-image{
    --ws-pc-image-ratio:124%;
    position:relative;
    display:block;
    width:100%;
    padding-top:var(--ws-pc-image-ratio);
    overflow:hidden;
    background:#f4efe5;
}

.ws-pc-image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition-property:transform,filter;
    transition-timing-function:cubic-bezier(.22,.61,.36,1);
}

.ws-pc-badge{
    position:absolute;
    z-index:4;
    top:18px;
    left:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    white-space:nowrap;
    background:#5b633a;
    color:#fff;
    border-radius:999px;
    padding:6px 15px;
    font-size:13px;
    font-weight:600;
    letter-spacing:.01em;
    box-shadow:0 4px 14px rgba(29,33,22,.12);
}

.ws-pc-wishlist{
    position:absolute;
    z-index:7;
    top:14px;
    right:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#27312c;
    cursor:pointer;
    transition-property:transform,background-color,color,box-shadow;
    transition-timing-function:cubic-bezier(.22,.61,.36,1);
}

.ws-pc-wishlist:hover{transform:scale(1.08)}
.ws-pc-wishlist svg{width:24px;height:24px;fill:transparent;stroke:currentColor;stroke-width:1.8;transition:fill .25s ease,transform .25s ease}
.ws-pc-wishlist.is-active svg{fill:currentColor;transform:scale(1.03)}
.ws-pc-theme-wishlist-proxy{display:none!important}

.ws-pc-content{
    --ws-pc-content-gap:9px;
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:var(--ws-pc-content-gap);
    padding:18px 18px 20px;
    background:#fffefb;
}

.ws-pc-category{
    margin:0;
    color:#8d8b84;
    font-size:12px;
    font-weight:500;
    letter-spacing:.14em;
    line-height:1.4;
    text-transform:uppercase;
}

/* Typography is intentionally inherited by the link so theme link rules cannot
   override the font selected in Elementor's Product Title typography control. */
.ws-pc-title{
    margin:0;
    font-family:inherit;
    font-size:20px;
    line-height:1.25;
    font-weight:500;
    letter-spacing:-.02em;
    color:#27281f;
}

.ws-pc-title a{
    color:inherit;
    text-decoration:none !important;
    font-family:inherit !important;
    font-size:inherit !important;
    font-style:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
    letter-spacing:inherit !important;
    text-transform:inherit !important;
    transition:color .25s ease;
}

.ws-pc-title--clamp a{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:var(--ws-pc-title-lines,2);
    overflow:hidden;
}

.ws-pc-rating{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:20px;
}

.ws-pc-stars{
    --ws-pc-empty-star:#d9d7cd;
    display:inline-flex;
    gap:1px;
    color:#5b633a;
    font-size:15px;
    letter-spacing:.01em;
}

.ws-pc-star{color:var(--ws-pc-empty-star)}
.ws-pc-star.is-filled{color:currentColor}
.ws-pc-review-count{font-size:12px;line-height:1;color:#72716c}

.ws-pc-price{
    margin-top:1px;
    color:#27281f;
    font-size:18px;
    line-height:1.35;
    font-weight:600;
}

.ws-pc-price .amount,
.ws-pc-price ins,
.ws-pc-price del{
    font-family:inherit;
    font-size:inherit;
    line-height:inherit;
}
.ws-pc-price .amount{color:inherit}
.ws-pc-price ins{text-decoration:none;background:none}
.ws-pc-price del{margin-left:8px;font-weight:400;opacity:1;color:#a19f98}

/* Action wrapper lets the button work either in normal content flow or as an
   image overlay without duplicating styling logic. */
.ws-pc-action{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-width:0;
}

.ws-pc-action--content{
    margin-top:auto;
}

/* Mobile alternate CTA is rendered once in its requested location and is
   activated only below the mobile breakpoint. This avoids trying to move an
   image-overlay action into the content area with fragile CSS. */
.ws-pc-action--mobile-only{display:none!important}

.ws-pc-action--overlay{
    --ws-pc-overlay-inset:16px;
    --ws-pc-overlay-offset:16px;
    position:absolute;
    z-index:6;
    left:var(--ws-pc-overlay-inset);
    right:var(--ws-pc-overlay-inset);
}

.ws-pc-action--top{top:var(--ws-pc-overlay-offset)}
.ws-pc-action--bottom{bottom:var(--ws-pc-overlay-offset)}
.ws-pc-action--center{top:50%;transform:translateY(-50%)}

.ws-pc-widget a.ws-pc-button.button{
    display:inline-flex;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    margin:0;
    padding:12px 20px;
    width:auto;
    max-width:100%;
    border:1px solid #d5d1c7;
    border-radius:30px;
    background:transparent;
    color:#3e432d;
    text-align:center;
    text-decoration:none !important;
    font-size:16px;
    line-height:1.2;
    font-weight:500;
    transition-property:transform,opacity,background-color,color,border-color,box-shadow;
    transition-timing-function:cubic-bezier(.22,.61,.36,1);
}

.ws-pc-widget a.ws-pc-button.button > span{
    font-family:inherit !important;
    font-size:inherit !important;
    font-style:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
    letter-spacing:inherit !important;
    text-transform:inherit !important;
}

.ws-pc-widget a.ws-pc-button.button:hover{
    background:#5b633a;
    border-color:#5b633a;
    color:#fff;
    transform:translateY(-1px);
}

.ws-pc-widget .ws-pc-highlight-first .ws-pc-card:first-child a.ws-pc-button.button{
    background:#5b633a;
    border-color:#5b633a;
    color:#fff;
}

.ws-pc-arrow{font-size:1.1em;line-height:1;transition:transform .25s ease}
.ws-pc-widget a.ws-pc-button.button:hover .ws-pc-arrow{transform:translateX(3px)}

/* Hidden CTA -> reveal over image on hover/focus. */
.ws-pc-action--hover .ws-pc-button{
    opacity:0;
    pointer-events:none;
}
.ws-pc-action--anim-fade-up .ws-pc-button{transform:translateY(12px)}
.ws-pc-action--anim-scale .ws-pc-button{transform:scale(.94)}
.ws-pc-action--anim-slide .ws-pc-button{transform:translateY(26px)}
.ws-pc-action--anim-fade .ws-pc-button{transform:none}

.ws-pc-card:hover .ws-pc-action--hover .ws-pc-button,
.ws-pc-card:focus-within .ws-pc-action--hover .ws-pc-button{
    opacity:1;
    transform:none;
    pointer-events:auto;
}

/* Card hover presets */
.ws-pc-hover-lift:hover{transform:translateY(-7px)}
.ws-pc-hover-scale:hover{transform:scale(1.018)}
.ws-pc-hover-tilt:hover{transform:perspective(900px) rotateX(1.2deg) rotateY(-1.2deg) translateY(-4px)}

/* Image hover presets */
.ws-pc-image-hover-zoom:hover .ws-pc-image:not(.ws-pc-has-secondary) img{transform:scale(1.06)}
.ws-pc-image-hover-zoom-out .ws-pc-image:not(.ws-pc-has-secondary) img{transform:scale(1.06)}
.ws-pc-image-hover-zoom-out:hover .ws-pc-image:not(.ws-pc-has-secondary) img{transform:scale(1)}
.ws-pc-image-hover-lift:hover .ws-pc-image:not(.ws-pc-has-secondary) img{transform:scale(1.03) translateY(-5px)}
.ws-pc-image-hover-soft-tilt:hover .ws-pc-image:not(.ws-pc-has-secondary) img{transform:scale(1.035) rotate(.65deg)}

/* Reveal animation */
.ws-pc-reveal .ws-pc-card{
    opacity:0;
    transform:translateY(20px);
}
.ws-pc-reveal.is-visible .ws-pc-card{
    opacity:1;
    transform:none;
    transition-property:opacity,transform,box-shadow,border-color;
    transition-duration:.6s;
    transition-delay:calc(var(--ws-pc-index) * var(--ws-pc-stagger, 90ms));
}
.ws-pc-reveal.is-visible .ws-pc-card.ws-pc-hover-lift:hover{transform:translateY(-7px)}
.ws-pc-reveal.is-visible .ws-pc-card.ws-pc-hover-scale:hover{transform:scale(1.018)}
.ws-pc-reveal.is-visible .ws-pc-card.ws-pc-hover-tilt:hover{transform:perspective(900px) rotateX(1.2deg) rotateY(-1.2deg) translateY(-4px)}

.ws-pc-notice{
    padding:16px 18px;
    border:1px solid #e3ded3;
    border-radius:10px;
    background:#fffdf8;
    color:#403e37;
}

@media (hover:none){
    .ws-pc-action--hover .ws-pc-button{
        opacity:1;
        transform:none;
        pointer-events:auto;
    }
}

@media (max-width:1024px){
    .ws-pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:767px){
    .ws-pc-grid{grid-template-columns:1fr}
    .ws-pc-title{font-size:19px}
}

@media (prefers-reduced-motion:reduce){
    .ws-pc-card,
    .ws-pc-image img,
    .ws-pc-button,
    .ws-pc-wishlist,
    .ws-pc-reveal .ws-pc-card{
        transition:none !important;
        animation:none !important;
    }
    .ws-pc-reveal .ws-pc-card{opacity:1;transform:none}
    .ws-pc-action--hover .ws-pc-button{opacity:1;transform:none;pointer-events:auto}
}

/* ==========================================================
   v1.3 — Presets, secondary image hover and quick view
   ========================================================== */

.ws-pc-widget{position:relative}
.ws-pc-title,
.ws-pc-category,
.ws-pc-price{width:100%}

/* Presets are intentionally low-specificity starting points. Elementor's
   individual Style controls can override them per widget. */
.ws-pc-preset-1 .ws-pc-card{
    background:#fffefb;
}

.ws-pc-preset-2 .ws-pc-card{
    border-color:transparent;
    box-shadow:none;
    background:transparent;
    overflow:visible;
}
.ws-pc-preset-2 .ws-pc-media,
.ws-pc-preset-2 .ws-pc-image{
    border-radius:18px;
}
.ws-pc-preset-2 .ws-pc-content{
    padding:15px 2px 4px;
    background:transparent;
}
.ws-pc-preset-2 .ws-pc-category{
    font-size:11px;
    letter-spacing:.18em;
}
.ws-pc-preset-2 .ws-pc-title{
    font-size:19px;
}

.ws-pc-preset-3 .ws-pc-card{
    background:#f8f4ea;
    border-color:rgba(68,67,55,.08);
    box-shadow:0 14px 38px rgba(42,42,34,.06);
}
.ws-pc-preset-3 .ws-pc-content{
    text-align:center;
    padding:20px 22px 24px;
}
.ws-pc-preset-3 .ws-pc-category,
.ws-pc-preset-3 .ws-pc-title,
.ws-pc-preset-3 .ws-pc-price{
    text-align:center;
}
.ws-pc-preset-3 .ws-pc-rating{
    justify-content:center;
}
.ws-pc-preset-3 .ws-pc-action{
    align-items:stretch;
}
.ws-pc-preset-3 .ws-pc-title{
    font-size:21px;
    line-height:1.2;
}

/* Secondary product image */
.ws-pc-image-primary{z-index:1;opacity:1}
.ws-pc-image-secondary{
    z-index:2;
    opacity:0;
    pointer-events:none;
}
.ws-pc-has-secondary .ws-pc-image-primary,
.ws-pc-has-secondary .ws-pc-image-secondary{
    transition:opacity .4s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1);
}
.ws-pc-has-secondary:hover .ws-pc-image-secondary,
.ws-pc-card:focus-within .ws-pc-has-secondary .ws-pc-image-secondary{opacity:1}
.ws-pc-has-secondary:hover .ws-pc-image-primary,
.ws-pc-card:focus-within .ws-pc-has-secondary .ws-pc-image-primary{opacity:0}

.ws-pc-secondary-zoom .ws-pc-image-secondary{transform:scale(1.09)}
.ws-pc-secondary-zoom:hover .ws-pc-image-secondary,
.ws-pc-card:focus-within .ws-pc-secondary-zoom .ws-pc-image-secondary{transform:scale(1)}
.ws-pc-secondary-zoom:hover .ws-pc-image-primary,
.ws-pc-card:focus-within .ws-pc-secondary-zoom .ws-pc-image-primary{transform:scale(.985)}

.ws-pc-secondary-slide-up .ws-pc-image-secondary{transform:translateY(100%)}
.ws-pc-secondary-slide-up:hover .ws-pc-image-secondary,
.ws-pc-card:focus-within .ws-pc-secondary-slide-up .ws-pc-image-secondary{transform:translateY(0)}
.ws-pc-secondary-slide-up:hover .ws-pc-image-primary,
.ws-pc-card:focus-within .ws-pc-secondary-slide-up .ws-pc-image-primary{transform:translateY(-8%)}

.ws-pc-secondary-slide-left .ws-pc-image-secondary{transform:translateX(100%)}
.ws-pc-secondary-slide-left:hover .ws-pc-image-secondary,
.ws-pc-card:focus-within .ws-pc-secondary-slide-left .ws-pc-image-secondary{transform:translateX(0)}
.ws-pc-secondary-slide-left:hover .ws-pc-image-primary,
.ws-pc-card:focus-within .ws-pc-secondary-slide-left .ws-pc-image-primary{transform:translateX(-8%)}

/* Quick view trigger */
.ws-pc-quick-view{
    --ws-pc-qv-offset:14px;
    position:absolute;
    z-index:7;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    padding:8px 12px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#2e3323;
    box-shadow:0 7px 22px rgba(26,29,21,.11);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    cursor:pointer;
    font-size:12px;
    line-height:1;
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
    transition:opacity .25s ease,transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease;
}
.ws-pc-quick-view svg{
    width:17px;
    height:17px;
    fill:currentColor;
}
.ws-pc-qv-top-left{top:var(--ws-pc-qv-offset);left:var(--ws-pc-qv-offset)}
.ws-pc-qv-top-center{top:var(--ws-pc-qv-offset);left:50%;transform:translateX(-50%)}
.ws-pc-qv-bottom-left{bottom:var(--ws-pc-qv-offset);left:var(--ws-pc-qv-offset)}
.ws-pc-qv-bottom-center{bottom:var(--ws-pc-qv-offset);left:50%;transform:translateX(-50%)}
.ws-pc-qv-display-icon{width:38px;height:38px;padding:0}
.ws-pc-qv-display-text svg{display:none}
.ws-pc-qv-visibility-hover{opacity:0;pointer-events:none}
.ws-pc-card:hover .ws-pc-qv-visibility-hover,
.ws-pc-card:focus-within .ws-pc-qv-visibility-hover{opacity:1;pointer-events:auto}
.ws-pc-quick-view:hover{background:#5b633a;color:#fff;box-shadow:0 10px 26px rgba(26,29,21,.18)}
.ws-pc-qv-top-center:hover,
.ws-pc-qv-bottom-center:hover{transform:translateX(-50%) translateY(-1px)}
.ws-pc-qv-top-left:hover,
.ws-pc-qv-bottom-left:hover{transform:translateY(-1px)}

/* Quick view modal */
body.ws-pc-qv-open{overflow:hidden}
.ws-pc-qv-modal{
    position:fixed;
    z-index:999999;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
}
.ws-pc-qv-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.ws-pc-qv-backdrop{
    position:absolute;
    inset:0;
    background:rgba(18,19,15,.58);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}
.ws-pc-qv-panel{
    position:relative;
    z-index:2;
    width:min(920px,100%);
    max-height:min(88vh,820px);
    overflow:auto;
    background:#fffefb;
    border-radius:20px;
    box-shadow:0 30px 90px rgba(13,15,10,.24);
    transform:translateY(16px) scale(.985);
    transition:transform .28s cubic-bezier(.22,.61,.36,1);
    outline:none;
}
.ws-pc-qv-modal.is-open .ws-pc-qv-panel{transform:none}
.ws-pc-qv-close{
    position:absolute;
    z-index:4;
    top:14px;
    right:14px;
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(40,42,34,.1);
    border-radius:50%;
    background:rgba(255,255,255,.9);
    color:#2c3024;
    cursor:pointer;
    box-shadow:0 6px 18px rgba(26,29,21,.08);
}
.ws-pc-qv-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.ws-pc-qv-layout{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    min-height:470px;
}
.ws-pc-qv-media{
    min-width:0;
    background:#f3eee4;
}
.ws-pc-qv-media a{display:block;width:100%;height:100%}
.ws-pc-qv-media img{
    width:100%;
    height:100%;
    min-height:470px;
    display:block;
    object-fit:cover;
}
.ws-pc-qv-details{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:52px 46px 42px;
}
.ws-pc-qv-category{
    margin:0 0 10px;
    color:#8d8b84;
    font-size:11px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.ws-pc-qv-title{
    margin:0;
    color:#27281f;
    font-size:32px;
    line-height:1.12;
    font-weight:500;
    letter-spacing:-.025em;
}
.ws-pc-qv-title a{color:inherit;text-decoration:none!important}
.ws-pc-qv-rating{display:flex;align-items:center;gap:8px;margin-top:15px}
.ws-pc-qv-review-count{color:#77756f;font-size:12px}
.ws-pc-qv-price{
    margin-top:18px;
    color:#27281f;
    font-size:22px;
    line-height:1.3;
    font-weight:650;
}
.ws-pc-qv-price ins{background:none;text-decoration:none}
.ws-pc-qv-price del{margin-left:8px;color:#99968f;font-weight:400}
.ws-pc-qv-summary{
    margin-top:17px;
    color:#66645e;
    font-size:14px;
    line-height:1.7;
}
.ws-pc-qv-summary p{margin:0 0 10px}
.ws-pc-qv-summary p:last-child{margin-bottom:0}
.ws-pc-qv-actions{display:flex;flex-direction:column;gap:13px;margin-top:24px}
.ws-pc-qv-actions .ws-pc-button{width:100%}
.ws-pc-qv-details-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#3e432d;
    font-size:13px;
    font-weight:600;
    text-decoration:none!important;
}
.ws-pc-qv-details-link span{transition:transform .2s ease}
.ws-pc-qv-details-link:hover span{transform:translateX(3px)}

@media (max-width:767px){
    .ws-pc-qv-modal{padding:12px}
    .ws-pc-qv-panel{max-height:92vh}
    .ws-pc-qv-layout{grid-template-columns:1fr;min-height:0}
    .ws-pc-qv-media img{min-height:0;aspect-ratio:1.1/1;object-fit:cover}
    .ws-pc-qv-details{padding:28px 22px 26px}
    .ws-pc-qv-title{font-size:25px}
    .ws-pc-qv-close{top:10px;right:10px}
}

@media (hover:none){
    .ws-pc-qv-visibility-hover{opacity:1;pointer-events:auto}
}

@media (prefers-reduced-motion:reduce){
    .ws-pc-has-secondary .ws-pc-image-primary,
    .ws-pc-has-secondary .ws-pc-image-secondary,
    .ws-pc-quick-view,
    .ws-pc-qv-modal,
    .ws-pc-qv-panel{transition:none!important}
}

/* ==========================================================
   v1.4 — Commerce controls, carousel, AJAX load more, wishlist
   ========================================================== */

.ws-pc-grid{
    --ws-pc-cols:4;
    --ws-pc-col-gap:18px;
}

/* Optional image gradient overlay. It remains disabled until Elementor emits
   a non-zero opacity through the Product Image controls. */
.ws-pc-media{
    --ws-pc-overlay-start:rgba(20,20,16,0);
    --ws-pc-overlay-end:rgba(20,20,16,.38);
    --ws-pc-overlay-angle:180deg;
    --ws-pc-overlay-opacity:0;
    --ws-pc-overlay-hover-opacity:0;
}
.ws-pc-media::after{
    content:"";
    position:absolute;
    z-index:3;
    inset:0;
    pointer-events:none;
    background:linear-gradient(var(--ws-pc-overlay-angle),var(--ws-pc-overlay-start),var(--ws-pc-overlay-end));
    opacity:var(--ws-pc-overlay-opacity);
    transition:opacity .3s ease;
}
.ws-pc-card:hover .ws-pc-media::after,
.ws-pc-card:focus-within .ws-pc-media::after{opacity:var(--ws-pc-overlay-hover-opacity)}

/* Quick quantity */
.ws-pc-purchase{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    min-width:0;
}
.ws-pc-purchase--inline{flex-direction:row}
.ws-pc-purchase--stacked{flex-direction:column}
.ws-pc-purchase .ws-pc-button{flex:1;min-width:0}
.ws-pc-qty{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:42px;
    padding:0 4px;
    border:1px solid rgba(112,112,96,.22);
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:#303329;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(28,31,24,.08);
    backdrop-filter:saturate(140%) blur(6px);
    -webkit-backdrop-filter:saturate(140%) blur(6px);
}
.ws-pc-qty::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.ws-pc-qty-btn{
    width:28px;
    min-width:28px;
    height:34px;
    align-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0!important;
    border-radius:999px;
    background:transparent!important;
    color:inherit!important;
    font:inherit;
    font-size:19px;
    font-weight:500;
    line-height:1;
    cursor:pointer;
    box-shadow:none!important;
    transition:background-color .24s ease,transform .24s ease,opacity .24s ease;
}
.ws-pc-qty-btn:hover{background:rgba(40,45,32,.065)!important}
.ws-pc-qty-btn:active{transform:scale(.96)}
.ws-pc-qty-input{
    width:24px!important;
    min-width:24px!important;
    padding:0 2px!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:inherit!important;
    text-align:center!important;
    font:inherit!important;
    font-size:15px!important;
    font-weight:600!important;
    line-height:1!important;
    box-shadow:none!important;
    appearance:textfield;
    -moz-appearance:textfield;
}
.ws-pc-qty-input::-webkit-inner-spin-button,
.ws-pc-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}


/* Smart add-to-order -> live cart stepper */
.ws-pc-purchase--smart{
    display:block;
    width:100%;
}
.ws-pc-smart-add{
    width:100%;
}
.ws-pc-smart-add .ws-pc-button{
    max-width:100%;
}
.ws-pc-smart-show-plus .ws-pc-smart-add .ws-pc-button::before{
    content:"+";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1.15em;
    font-weight:500;
    line-height:1;
    transform:translateY(-.02em);
}
.ws-pc-smart-stepper{
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    min-height:52px;
    padding:5px;
    border:1px solid rgba(83,92,65,.14);
    border-radius:16px;
    background:rgba(255,255,255,.96);
    box-shadow:0 10px 30px rgba(30,34,25,.09),inset 0 1px 0 rgba(255,255,255,.82);
    backdrop-filter:blur(10px) saturate(135%);
    -webkit-backdrop-filter:blur(10px) saturate(135%);
    transition:opacity .24s ease,transform .28s cubic-bezier(.22,.61,.36,1),border-color .24s ease,box-shadow .24s ease;
}
.ws-pc-purchase--smart.is-smart-active .ws-pc-smart-add,
.ws-pc-quantity-mode-stepper .ws-pc-smart-add{display:none}
.ws-pc-purchase--smart.is-smart-active .ws-pc-smart-stepper,
.ws-pc-quantity-mode-stepper .ws-pc-smart-stepper{display:flex}
.ws-pc-smart-control{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:40px;
    min-width:40px;
    height:40px;
    padding:0;
    border:0!important;
    border-radius:12px;
    background:#6f982b;
    color:#fff;
    font:inherit;
    font-size:21px;
    font-weight:500;
    line-height:1;
    cursor:pointer;
    box-shadow:0 5px 14px rgba(88,124,34,.18)!important;
    transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.ws-pc-smart-control:hover{
    background:#5f8424;
    transform:translateY(-1px);
    box-shadow:0 7px 18px rgba(88,124,34,.24)!important;
}
.ws-pc-smart-control:active{transform:translateY(0) scale(.96)}
.ws-pc-smart-control:disabled{
    opacity:.35;
    cursor:not-allowed;
    transform:none;
    box-shadow:none!important;
}
.ws-pc-smart-status{
    display:flex;
    align-items:baseline;
    justify-content:center;
    flex:1 1 auto;
    min-width:0;
    gap:5px;
    padding:0 6px;
    color:#555a50;
    font-size:14px;
    font-weight:400;
    line-height:1.2;
    text-align:center;
    white-space:nowrap;
}
.ws-pc-smart-prefix{opacity:.78}
.ws-pc-smart-dot{opacity:.38}
.ws-pc-smart-count{
    color:inherit;
    font-size:1.1em;
    font-weight:700;
    font-variant-numeric:tabular-nums;
}
.ws-pc-smart-item{font-weight:500}
.ws-pc-purchase--smart.is-updating .ws-pc-smart-stepper{
    opacity:.72;
}
.ws-pc-purchase--smart.is-updating .ws-pc-smart-control{
    pointer-events:none;
}
.ws-pc-action--overlay .ws-pc-smart-stepper{
    background:rgba(255,255,255,.9);
    border-color:rgba(255,255,255,.42);
    box-shadow:0 12px 34px rgba(17,20,13,.16),inset 0 1px 0 rgba(255,255,255,.8);
    backdrop-filter:blur(14px) saturate(150%);
    -webkit-backdrop-filter:blur(14px) saturate(150%);
}
.ws-pc-action--overlay .ws-pc-smart-control{
    box-shadow:0 6px 18px rgba(48,67,22,.24)!important;
}
.ws-pc-purchase--stacked .ws-pc-qty,
.ws-pc-action--hover .ws-pc-qty{align-self:center}
.ws-pc-action--hover .ws-pc-purchase{
    justify-content:center;
    gap:10px;
}
.ws-pc-action--hover .ws-pc-qty{
    background:rgba(255,255,255,.82);
    border-color:rgba(255,255,255,.32);
    box-shadow:0 10px 26px rgba(19,21,16,.14);
    backdrop-filter:blur(12px) saturate(150%);
    -webkit-backdrop-filter:blur(12px) saturate(150%);
}
.ws-pc-action--hover .ws-pc-purchase--inline .ws-pc-qty{max-width:108px}

/* Quantity visual presets */
.ws-pc-qty--compact{
    background:rgba(255,255,255,.96);
    border-color:rgba(112,112,96,.22);
    box-shadow:0 8px 20px rgba(28,31,24,.08);
}
.ws-pc-qty--minimal{
    gap:5px;
    padding:0;
    overflow:visible;
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.ws-pc-qty--minimal::after{display:none}
.ws-pc-qty--minimal .ws-pc-qty-btn{
    border:1px solid rgba(105,108,92,.2)!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 4px 12px rgba(28,31,24,.06)!important;
}
.ws-pc-qty--minimal .ws-pc-qty-btn:hover{
    background:#fff!important;
    transform:translateY(-1px);
}
.ws-pc-qty--minimal .ws-pc-qty-input{
    width:22px!important;
    min-width:22px!important;
}

/* Overlay-specific quantity looks */
.ws-pc-action--overlay .ws-pc-qty-overlay--glass{
    background:rgba(255,255,255,.82);
    border-color:rgba(255,255,255,.42);
    box-shadow:0 10px 26px rgba(19,21,16,.14);
    backdrop-filter:blur(12px) saturate(150%);
    -webkit-backdrop-filter:blur(12px) saturate(150%);
}
.ws-pc-action--overlay .ws-pc-qty-overlay--solid{
    background:#fff;
    border-color:rgba(102,106,87,.18);
    box-shadow:0 7px 20px rgba(19,21,16,.10);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.ws-pc-action--overlay .ws-pc-qty-overlay--clean{
    gap:5px;
    padding:0;
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    overflow:visible;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.ws-pc-action--overlay .ws-pc-qty-overlay--clean::after{display:none}
.ws-pc-action--overlay .ws-pc-qty-overlay--clean .ws-pc-qty-btn{
    border:1px solid rgba(255,255,255,.48)!important;
    background:rgba(255,255,255,.84)!important;
    box-shadow:0 5px 16px rgba(20,22,17,.12)!important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.ws-pc-action--overlay .ws-pc-qty-overlay--clean .ws-pc-qty-input{
    width:22px!important;
    min-width:22px!important;
    color:#fff!important;
    text-shadow:0 1px 4px rgba(0,0,0,.28);
}

/* When the CTA is configured to reveal over the image, quantity and button
   behave as one unit. */
.ws-pc-action--hover .ws-pc-purchase{
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease,transform .32s cubic-bezier(.22,.61,.36,1);
}
.ws-pc-action--anim-fade-up .ws-pc-purchase{transform:translateY(12px)}
.ws-pc-action--anim-scale .ws-pc-purchase{transform:scale(.94)}
.ws-pc-action--anim-slide .ws-pc-purchase{transform:translateY(26px)}
.ws-pc-action--anim-fade .ws-pc-purchase{transform:none}
.ws-pc-card:hover .ws-pc-action--hover .ws-pc-purchase,
.ws-pc-card:focus-within .ws-pc-action--hover .ws-pc-purchase{
    opacity:1;
    transform:none;
    pointer-events:auto;
}
.ws-pc-action--hover .ws-pc-purchase .ws-pc-button{opacity:1;pointer-events:auto}

/* Variation swatches */
.ws-pc-swatches{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    min-height:28px;
    margin-top:1px;
}
.ws-pc-swatch{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d8d5cc;
    text-decoration:none!important;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ws-pc-swatch:hover{transform:translateY(-1px);border-color:#8b8d80;box-shadow:0 3px 10px rgba(34,37,28,.08)}
.ws-pc-swatch--color{
    width:26px;
    height:26px;
    padding:3px;
    border-radius:50%;
    background:#fff;
}
.ws-pc-swatch--color::after{
    content:"";
    width:100%;
    height:100%;
    border-radius:inherit;
    background:var(--ws-pc-swatch-color,#e8e5dc);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.045);
}
.ws-pc-swatch--text{
    min-height:27px;
    padding:5px 9px;
    border-radius:999px;
    background:#fff;
    color:#4c4e44;
    font-size:11px;
    line-height:1;
}
.ws-pc-swatch-more{font-size:11px;line-height:1;color:#85837c}
.ws-pc-qv-details .ws-pc-swatches{margin-top:16px}

/* Native, dependency-free scroll-snap carousel. */
.ws-pc-layout-carousel .ws-pc-grid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - (var(--ws-pc-cols,4) - 1) * var(--ws-pc-col-gap,18px)) / var(--ws-pc-cols,4));
    column-gap:var(--ws-pc-col-gap,18px);
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    padding-bottom:2px;
}
.ws-pc-layout-carousel .ws-pc-grid::-webkit-scrollbar{display:none}
.ws-pc-layout-carousel .ws-pc-card{scroll-snap-align:start}
.ws-pc-carousel-nav{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
}
.ws-pc-carousel-arrow{
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #e1ddd4;
    border-radius:50%;
    background:#fff;
    color:#34372c;
    font-size:19px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 5px 16px rgba(37,39,31,.05);
    transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.ws-pc-carousel-arrow:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(37,39,31,.09)}
.ws-pc-carousel-arrow:disabled{opacity:.35;cursor:not-allowed;transform:none}

/* AJAX Load More */
.ws-pc-load-more-wrap{display:flex;justify-content:center;margin-top:28px}
.ws-pc-load-more{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:150px;
    padding:13px 28px;
    border:0;
    border-radius:30px;
    background:#5b633a;
    color:#fff;
    font-size:14px;
    line-height:1.2;
    font-weight:600;
    cursor:pointer;
    transition:transform .2s ease,background-color .2s ease,opacity .2s ease;
}
.ws-pc-load-more:hover{background:#454c2b;transform:translateY(-1px)}
.ws-pc-load-more.is-loading{opacity:.65;pointer-events:none}

/* Wishlist shortcode/page */
.ws-pc-wishlist-page{position:relative;min-height:64px}
.ws-pc-wishlist-loading,
.ws-pc-wishlist-empty{
    padding:24px;
    border:1px solid #e5e1d8;
    border-radius:12px;
    background:#fffefb;
    color:#68665f;
    text-align:center;
}
.ws-pc-wishlist-results .ws-pc-grid{
    grid-template-columns:repeat(var(--ws-pc-cols,4),minmax(0,1fr));
}
.ws-pc-card.is-wishlist-removing{opacity:0;transform:scale(.97);transition:opacity .2s ease,transform .2s ease}

@media (hover:none){
    .ws-pc-action--hover .ws-pc-purchase{opacity:1;transform:none;pointer-events:auto}
}

@media (max-width:1024px){
    .ws-pc-wishlist-results .ws-pc-grid{grid-template-columns:repeat(min(2,var(--ws-pc-cols,4)),minmax(0,1fr))}
}

@media (max-width:767px){
    .ws-pc-layout-carousel .ws-pc-grid{
        grid-template-columns:none!important;
        grid-auto-columns:calc((100% - (var(--ws-pc-cols,1) - 1) * var(--ws-pc-col-gap,18px)) / var(--ws-pc-cols,1));
    }

    .ws-pc-mobile-hide-category .ws-pc-category{display:none!important}
    .ws-pc-mobile-hide-rating .ws-pc-rating{display:none!important}
    .ws-pc-mobile-hide-wishlist .ws-pc-wishlist{display:none!important}
    .ws-pc-mobile-hide-button .ws-pc-action{display:none!important}
    .ws-pc-mobile-button-full .ws-pc-action{align-items:stretch!important}
    .ws-pc-mobile-button-full .ws-pc-button{width:100%!important}

    /* Mobile CTA placement */
    .ws-pc-mobile-button-custom .ws-pc-action--desktop-source{display:none!important}
    .ws-pc-mobile-button-custom:not(.ws-pc-mobile-hide-button) .ws-pc-action--mobile-only{display:flex!important}
    .ws-pc-action--mobile-content{margin-top:auto!important;padding-top:4px}
    .ws-pc-action--mobile-image{
        left:10px!important;
        right:10px!important;
        bottom:10px!important;
        top:auto!important;
        transform:none!important;
    }

    /* Mobile-only product title line control. */
    .ws-pc-mobile-title-lines-0 .ws-pc-title a{
        display:block!important;
        -webkit-line-clamp:unset!important;
        -webkit-box-orient:initial!important;
        overflow:visible!important;
    }
    .ws-pc-mobile-title-lines-1 .ws-pc-title a,
    .ws-pc-mobile-title-lines-2 .ws-pc-title a,
    .ws-pc-mobile-title-lines-3 .ws-pc-title a,
    .ws-pc-mobile-title-lines-4 .ws-pc-title a,
    .ws-pc-mobile-title-lines-5 .ws-pc-title a,
    .ws-pc-mobile-title-lines-6 .ws-pc-title a{
        display:-webkit-box!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
    }
    .ws-pc-mobile-title-lines-1 .ws-pc-title a{-webkit-line-clamp:1!important}
    .ws-pc-mobile-title-lines-2 .ws-pc-title a{-webkit-line-clamp:2!important}
    .ws-pc-mobile-title-lines-3 .ws-pc-title a{-webkit-line-clamp:3!important}
    .ws-pc-mobile-title-lines-4 .ws-pc-title a{-webkit-line-clamp:4!important}
    .ws-pc-mobile-title-lines-5 .ws-pc-title a{-webkit-line-clamp:5!important}
    .ws-pc-mobile-title-lines-6 .ws-pc-title a{-webkit-line-clamp:6!important}

    .ws-pc-mobile-horizontal:not(.ws-pc-layout-carousel) .ws-pc-grid{grid-template-columns:1fr!important}
    .ws-pc-mobile-horizontal .ws-pc-card{
        display:grid;
        grid-template-columns:minmax(118px,42%) minmax(0,1fr);
        align-items:stretch;
    }
    .ws-pc-mobile-horizontal .ws-pc-media{height:100%;min-width:0}
    .ws-pc-mobile-horizontal .ws-pc-image{
        height:100%;
        min-height:170px;
        padding-top:0;
    }
    .ws-pc-mobile-horizontal .ws-pc-content{
        min-width:0;
        padding:14px 14px 15px;
        gap:7px;
    }
    .ws-pc-mobile-horizontal .ws-pc-title{font-size:17px}
    .ws-pc-mobile-horizontal .ws-pc-price{font-size:16px}
    .ws-pc-mobile-horizontal .ws-pc-action--content{margin-top:5px}
    .ws-pc-mobile-horizontal .ws-pc-purchase--inline{flex-direction:column}
    .ws-pc-mobile-horizontal .ws-pc-qty{align-self:flex-start;min-height:38px}
    .ws-pc-action--hover .ws-pc-purchase{gap:8px}
    .ws-pc-action--hover .ws-pc-purchase--inline .ws-pc-qty{max-width:96px}

    .ws-pc-qty-mobile-compact{
        min-height:34px;
        padding-left:2px;
        padding-right:2px;
    }
    .ws-pc-qty-mobile-compact .ws-pc-qty-btn{
        width:23px;
        min-width:23px;
        height:28px;
        font-size:16px;
    }
    .ws-pc-qty-mobile-compact .ws-pc-qty-input{
        width:21px!important;
        min-width:21px!important;
        font-size:12px!important;
        padding:0 1px!important;
    }
    .ws-pc-action--overlay .ws-pc-qty-mobile-compact{min-height:34px}
    .ws-pc-purchase--smart.ws-pc-qty-mobile-compact{
        display:flex;
        justify-content:center;
        width:100%;
    }
    .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-add{
        width:100%;
    }
    .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-stepper{
        width:min(100%, 172px);
        max-width:172px;
        min-height:38px;
        margin-inline:auto;
        padding:3px;
        gap:4px;
        border-radius:999px;
        box-shadow:0 8px 22px rgba(25,29,20,.12),inset 0 1px 0 rgba(255,255,255,.72);
    }
    .ws-pc-action--overlay .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-stepper{
        background:rgba(255,255,255,.88);
        border-color:rgba(255,255,255,.5);
        backdrop-filter:blur(12px) saturate(145%);
        -webkit-backdrop-filter:blur(12px) saturate(145%);
    }
    .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-control{
        width:31px!important;
        min-width:31px!important;
        height:31px!important;
        border-radius:999px;
        font-size:18px;
        box-shadow:0 4px 10px rgba(88,124,34,.16)!important;
    }
    .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-status{
        flex:1 1 auto;
        min-width:0;
        gap:3px;
        padding:0 1px;
        font-size:11.5px;
        line-height:1;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .ws-pc-smart-mobile-auto .ws-pc-smart-prefix,
    .ws-pc-smart-mobile-auto .ws-pc-smart-dot,
    .ws-pc-smart-mobile-qty-item .ws-pc-smart-prefix,
    .ws-pc-smart-mobile-qty-item .ws-pc-smart-dot,
    .ws-pc-smart-mobile-qty-only .ws-pc-smart-prefix,
    .ws-pc-smart-mobile-qty-only .ws-pc-smart-dot,
    .ws-pc-smart-mobile-qty-only .ws-pc-smart-item{display:none}
    .ws-pc-smart-mobile-auto .ws-pc-smart-count,
    .ws-pc-smart-mobile-qty-item .ws-pc-smart-count,
    .ws-pc-smart-mobile-qty-only .ws-pc-smart-count{font-size:1.08em}
    .ws-pc-mobile-horizontal .ws-pc-button{min-height:40px;padding:9px 12px;font-size:13px}
    .ws-pc-mobile-horizontal .ws-pc-badge{top:9px;left:9px;padding:5px 9px;font-size:10px}
    .ws-pc-mobile-horizontal .ws-pc-wishlist{top:7px;right:7px;width:34px;height:34px}
    .ws-pc-mobile-horizontal .ws-pc-quick-view{display:none}

    .ws-pc-wishlist-results .ws-pc-grid{grid-template-columns:1fr}
}

@media (max-width:480px){
    .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-stepper{
        width:min(100%, 124px);
        max-width:124px;
        min-height:36px;
        padding:3px;
        gap:3px;
    }
    .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-control{
        width:29px!important;
        min-width:29px!important;
        height:29px!important;
        font-size:17px;
    }
    .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-status{
        font-size:11px;
        padding:0;
    }
    .ws-pc-smart-mobile-auto .ws-pc-smart-item{display:none}
    .ws-pc-action--overlay .ws-pc-purchase--smart.ws-pc-qty-mobile-compact .ws-pc-smart-stepper{
        box-shadow:0 6px 18px rgba(25,29,20,.13),inset 0 1px 0 rgba(255,255,255,.72);
    }
}

@media (prefers-reduced-motion:reduce){
    .ws-pc-media::after,
    .ws-pc-purchase,
    .ws-pc-swatch,
    .ws-pc-carousel-arrow,
    .ws-pc-load-more{transition:none!important}
    .ws-pc-layout-carousel .ws-pc-grid{scroll-behavior:auto}
}

/* =========================================================
   Product category tabs
   ========================================================= */
.ws-pc-tabs-wrap{
    position:relative;
    margin-bottom:22px;
}
.ws-pc-tabs{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:10px;
    min-width:0;
}
.ws-pc-tab{
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:9px 16px;
    border:1px solid rgba(79,84,61,.18);
    border-radius:999px;
    background:transparent;
    color:#35372f;
    font:inherit;
    font-size:13px;
    font-weight:500;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
    box-shadow:none;
    transition:background-color .24s ease,color .24s ease,border-color .24s ease,transform .24s ease,box-shadow .24s ease;
}
.ws-pc-tab:hover{
    background:#667442;
    border-color:#667442;
    color:#fff;
    transform:translateY(-1px);
}
.ws-pc-tab.is-active{
    background:#556238;
    border-color:#556238;
    color:#fff;
    box-shadow:0 7px 18px rgba(52,61,34,.13);
}
.ws-pc-tab:focus-visible{
    outline:2px solid currentColor;
    outline-offset:3px;
}
.ws-pc-tab:disabled{
    cursor:wait;
}
.ws-pc-tabs-loader{
    display:none;
    width:17px;
    height:17px;
    flex:0 0 17px;
    border:2px solid rgba(85,98,56,.18);
    border-top-color:#556238;
    border-radius:50%;
    animation:ws-pc-tab-spin .7s linear infinite;
}
.ws-pc-tabs.is-loading .ws-pc-tabs-loader{display:inline-block}
.ws-pc-tabs-status{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
}
.ws-pc-grid.is-tab-loading{
    opacity:.42;
    transform:translateY(2px);
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;
}

/* Filtered tab product alignment. Keeps the normal card width while allowing
   short category results (1-3 products in a 4-column grid, for example) to
   sit left, centered, or right without stretching the cards. */
.ws-pc-grid.ws-pc-tab-products-aligned:not([data-ws-carousel]){
    display:flex!important;
    flex-wrap:wrap;
    justify-content:var(--ws-pc-tab-products-align,center);
    align-items:stretch;
}
.ws-pc-grid.ws-pc-tab-products-aligned:not([data-ws-carousel]) > .ws-pc-card{
    flex:0 0 var(--ws-pc-tab-card-width,auto);
    width:var(--ws-pc-tab-card-width,auto);
    max-width:var(--ws-pc-tab-card-width,100%);
}
@keyframes ws-pc-tab-spin{to{transform:rotate(360deg)}}

@media (max-width:767px){
    .ws-pc-tabs-wrap{margin-bottom:16px}
    .ws-pc-tabs-mobile-scroll .ws-pc-tabs{
        flex-wrap:nowrap;
        justify-content:flex-start!important;
        overflow-x:auto;
        overflow-y:hidden;
        max-width:100%;
        padding:2px 2px 7px;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .ws-pc-tabs-mobile-scroll .ws-pc-tabs::-webkit-scrollbar{display:none}
    .ws-pc-tabs-mobile-scroll .ws-pc-tab{
        flex:0 0 auto;
        scroll-snap-align:start;
        min-height:33px;
        padding:8px 13px;
        font-size:12px;
    }
}

@media (prefers-reduced-motion:reduce){
    .ws-pc-tab,.ws-pc-grid.is-tab-loading{transition:none!important}
    .ws-pc-tabs-loader{animation-duration:1.4s}
}
