/* SwiftServe premium product cards v7.4.2
 * Presentation-only layer: keeps existing card markup, links, variation forms and cart actions intact.
 */
.ss-shop-wrap .ss-product-grid{align-items:stretch;gap:clamp(12px,1.35vw,22px)}
.ss-shop-wrap .ss-product-grid>.ss-product-card,
.ss-shop-wrap .ss-product-card{
    position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;height:100%;
    overflow:hidden;border:1px solid #e8edf3!important;border-radius:22px!important;
    background:linear-gradient(180deg,#fff 0%,#fff 72%,#fbfcfe 100%)!important;
    box-shadow:0 5px 16px rgba(16,24,40,.045),0 1px 3px rgba(16,24,40,.035)!important;
    transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .28s ease,border-color .28s ease!important;
}
.ss-shop-wrap .ss-product-card:before{
    content:"";position:absolute;z-index:3;inset:0 0 auto;height:3px;
    background:linear-gradient(90deg,#ff7a00,#ffc078 52%,#ff7a00);
    transform:scaleX(0);transform-origin:left;transition:transform .3s ease;pointer-events:none;
}
.ss-shop-wrap .ss-product-card:hover,
.ss-shop-wrap .ss-product-card:focus-within{
    transform:translateY(-6px);border-color:rgba(255,122,0,.42)!important;
    box-shadow:0 18px 38px rgba(16,24,40,.11),0 5px 12px rgba(255,122,0,.07)!important;
}
.ss-shop-wrap .ss-product-card:hover:before,
.ss-shop-wrap .ss-product-card:focus-within:before{transform:scaleX(1)}

/* A calm product stage. Contain is intentional: never crop the product photo. */
.ss-shop-wrap .ss-product-image{
    position:relative;display:flex!important;align-items:center;justify-content:center;
    width:100%;height:auto!important;min-height:0!important;aspect-ratio:4/3;
    padding:clamp(12px,1.4vw,20px)!important;overflow:hidden;
    background:radial-gradient(ellipse at 50% 38%,#fff 0%,#f8fafc 66%,#f1f4f8 100%)!important;
    border-bottom:1px solid #eef1f5;text-decoration:none;
}
.ss-shop-wrap .ss-product-image:after{
    content:"";position:absolute;inset:auto 12% 9px;height:13px;border-radius:50%;
    background:rgba(22,34,51,.07);filter:blur(11px);opacity:0;transform:scale(.8);
    transition:opacity .28s ease,transform .28s ease;pointer-events:none;
}
.ss-shop-wrap .ss-product-image img{
    position:relative;z-index:1;display:block;width:100%!important;height:100%!important;
    max-width:100%;max-height:100%;object-fit:contain!important;object-position:center!important;
    margin:0!important;padding:0!important;border:0!important;
    transition:filter .25s ease,transform .3s ease;transform:translateZ(0);
}
.ss-shop-wrap .ss-product-card:hover .ss-product-image img,
.ss-shop-wrap .ss-product-card:focus-within .ss-product-image img{filter:saturate(1.06) contrast(1.015);transform:translateY(-2px)}
.ss-shop-wrap .ss-product-card:hover .ss-product-image:after{opacity:1;transform:scale(1)}
.ss-shop-wrap .ss-no-image{width:100%;min-height:150px;border:1px dashed #d8dee8;border-radius:14px;background:#fff;color:#98a2b3;font-size:12px}

.ss-shop-wrap .ss-product-card .ss-sale-badge,
.ss-shop-wrap .ss-product-card .ss-product-promo-note b{
    box-shadow:0 5px 14px rgba(17,24,39,.13);letter-spacing:.035em
}
.ss-shop-wrap .ss-product-card .ss-sale-badge{top:12px!important;right:12px!important;left:auto!important;padding:7px 11px;border-radius:999px;background:#f05b25;font-size:10px;font-weight:900}
.ss-shop-wrap .ss-product-card .ss-product-promo-note{top:12px!important;left:12px!important;max-width:calc(100% - 90px)!important}
.ss-shop-wrap .ss-product-card .ss-product-promo-note b{padding:7px 10px!important;border-radius:9px!important;font-size:9px!important}
.ss-shop-wrap .ss-product-card .ss-product-promo-note small{font-size:8px!important}

.ss-shop-wrap .ss-product-body{
    display:flex;flex:1;flex-direction:column;align-items:stretch;min-width:0;
    padding:15px 16px 16px!important;gap:0;background:transparent;
}
.ss-shop-wrap .ss-vendor-line{
    display:block;max-width:100%;margin:0 0 7px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    color:#f07816!important;font-size:10px!important;font-weight:850!important;letter-spacing:.075em;text-transform:uppercase;
}
.ss-shop-wrap .ss-product-title{
    display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
    min-height:2.75em!important;margin:0!important;color:#182334!important;
    font-size:14px!important;font-weight:850!important;line-height:1.38!important;letter-spacing:-.015em;
    text-decoration:none!important;transition:color .2s ease;
}
.ss-shop-wrap .ss-product-title:hover{color:#ed710b!important}
.ss-shop-wrap .ss-rating{display:flex;align-items:center;gap:6px;margin:9px 0 0!important;color:#f59a23!important;font-size:11px!important;line-height:1.2}
.ss-shop-wrap .ss-rating small{color:#8993a2!important;font-size:10px!important;font-weight:600}
.ss-shop-wrap .ss-price{
    display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;margin:11px 0 14px!important;
    color:#152033!important;font-size:17px!important;font-weight:950!important;line-height:1.25;
}
.ss-shop-wrap .ss-price ins{color:#ed710b!important;text-decoration:none!important;font-weight:950!important}
.ss-shop-wrap .ss-price del{color:#98a2b3!important;font-size:.78em;font-weight:600;opacity:1}
.ss-shop-wrap .ss-product-actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:8px;margin-top:auto;align-items:stretch}
.ss-shop-wrap .ss-cart-btn,
.ss-shop-wrap .ss-view-btn{
    display:inline-flex!important;align-items:center;justify-content:center;min-width:0;min-height:42px;
    padding:10px 12px!important;border-radius:12px!important;font-size:11px!important;font-weight:900!important;
    line-height:1.2!important;text-align:center;text-decoration:none!important;white-space:normal;
    transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
.ss-shop-wrap .ss-cart-btn{background:#172235!important;border:1px solid #172235!important;color:#fff!important;box-shadow:0 5px 12px rgba(23,34,53,.12)}
.ss-shop-wrap .ss-cart-btn:hover,.ss-shop-wrap .ss-cart-btn.added{background:#f07816!important;border-color:#f07816!important;color:#fff!important;box-shadow:0 7px 16px rgba(240,120,22,.22);transform:translateY(-1px)}
.ss-shop-wrap .ss-view-btn{background:#fff!important;border:1px solid #e2e7ee!important;color:#344054!important}
.ss-shop-wrap .ss-view-btn:hover{background:#fff5eb!important;border-color:#ffbd87!important;color:#df690b!important;transform:translateY(-1px)}
.ss-shop-wrap .ss-product-card a:focus-visible,
.ss-shop-wrap .ss-product-card button:focus-visible,
.ss-shop-wrap .ss-product-card select:focus-visible{outline:3px solid rgba(255,122,0,.35)!important;outline-offset:2px!important}
.ss-shop-wrap .ss-card-variation-form{margin-top:auto}

/* Compact but still touch-friendly cards on smaller screens. */
@media(max-width:900px){
    .ss-shop-wrap .ss-product-grid{gap:13px}
    .ss-shop-wrap .ss-product-image{aspect-ratio:1/1;padding:12px!important}
    .ss-shop-wrap .ss-product-body{padding:12px!important}
    .ss-shop-wrap .ss-product-title{font-size:13px!important}
    .ss-shop-wrap .ss-price{font-size:15px!important;margin:9px 0 11px!important}
    .ss-shop-wrap .ss-product-actions{gap:7px}
    .ss-shop-wrap .ss-cart-btn,.ss-shop-wrap .ss-view-btn{min-height:40px;padding:9px 8px!important;font-size:10px!important}
}
@media(max-width:560px){
    .ss-shop-wrap .ss-product-grid{gap:10px!important}
    .ss-shop-wrap .ss-product-card{border-radius:16px!important}
    .ss-shop-wrap .ss-product-image{aspect-ratio:1/1;padding:9px!important}
    .ss-shop-wrap .ss-product-body{padding:10px!important}
    .ss-shop-wrap .ss-vendor-line{font-size:9px!important;margin-bottom:5px!important}
    .ss-shop-wrap .ss-product-title{font-size:12px!important;min-height:2.75em!important}
    .ss-shop-wrap .ss-rating{margin-top:7px!important;font-size:10px!important}
    .ss-shop-wrap .ss-price{font-size:14px!important;margin:8px 0 10px!important}
    .ss-shop-wrap .ss-product-actions{grid-template-columns:1fr;gap:6px}
    .ss-shop-wrap .ss-cart-btn,.ss-shop-wrap .ss-view-btn{min-height:37px;padding:8px 7px!important;font-size:10px!important;border-radius:10px!important}
    .ss-shop-wrap .ss-product-card .ss-sale-badge{top:7px!important;right:7px!important;padding:5px 8px;font-size:9px}
    .ss-shop-wrap .ss-product-card .ss-product-promo-note{top:7px!important;left:7px!important}
}

/* The header mega-menu uses the same card markup but needs its compact footprint. */
@media(min-width:901px){
    .ss-pro-mega-panel .ss-mega-full-product-grid .ss-product-card{border-radius:15px!important}
    .ss-pro-mega-panel .ss-mega-full-product-grid .ss-product-image{height:150px!important;aspect-ratio:auto;padding:10px!important}
    .ss-pro-mega-panel .ss-mega-full-product-grid .ss-product-body{padding:10px!important}
    .ss-pro-mega-panel .ss-mega-full-product-grid .ss-product-title{font-size:12px!important}
    .ss-pro-mega-panel .ss-mega-full-product-grid .ss-product-actions{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
}
@media(prefers-reduced-motion:reduce){
    .ss-shop-wrap .ss-product-card,.ss-shop-wrap .ss-product-card:before,
    .ss-shop-wrap .ss-product-image img,.ss-shop-wrap .ss-cart-btn,.ss-shop-wrap .ss-view-btn{transition:none!important}
}
