*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


header{
    position:relative;
    display:flex;
justify-content:flex-start;
gap:20px;
align-items:center;
   background:linear-gradient(135deg,#4A0717,#5C0A1D,#7A1E33);
    color:#fff;
    padding:20px 40px;
   border-bottom:4px solid #FFD700;
    box-shadow:0 8px 25px rgba(0,0,0,.35);
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
}.logo{
    display:flex;
    align-items:center;
    gap:20px;
}

.logo img{
    width:90px;
    height:90px;
    border-radius:50%;
    border:2px solid #FFD700;
    box-shadow:0 0 15px rgba(255,215,0,.4);
}
.logo h1{
    font-family:'Cinzel', serif;
    font-size:42px;
    font-weight:900;
    letter-spacing:2px;
    margin:0;
    color:#FFD700;
    text-shadow:
        2px 2px 0 #8B6508,
        4px 4px 10px rgba(0,0,0,.45),
        0 0 15px rgba(255,215,0,.6);
}
.logo p{
    color:#ff7d8b;
    font-size:16px;
    font-weight:600;
    letter-spacing:1px;
    margin-top:6px;
}
.top-links{
    position:absolute;
    top:35px;
    right:30px;
    display:flex;
    align-items:center;
    gap:25px;
}

.top-links a{
    color:white;
    font-size:22px;
    font-weight:bold;
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:8px;
}

.top-links a:hover{
    color:#d4af37;
}
 

nav a{
    color:white;
    margin:0 20px;
    font-weight:bold;
    transition:0.3s;
}

nav a:hover{
    color:gold;

}
.search-box{
    width:350px;
    padding:12px 20px;
   background:linear-gradient(90deg,#4A0717,#5C0A1D,#4A0717);
border:2px solid #d4af37;
    
border:2px solid #FFD700;
    font-size:16px;
    outline:none;
    box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.search-bar-wrap{
    text-align:center;
    padding:20px;
    background:#111;
}
.cart-btn{
    display:inline-block;
    margin-top:10px;
    margin-left:10px;
    background:#0b7a33;
    color:white;
    padding:10px 18px;
    border-radius:8px;
    text-decoration:none;
    font-weight:bold;
}

.cart-btn:hover{
    background:#086328;
}
.addCart{
    width:90%;
    margin:15px;
    padding:15px;
    border:none;
    border-radius:50px;
    background:linear-gradient(90deg,#FFD700,#FFB300,#FFD700);
    color:#5C0A1D;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    transition:.35s;
    box-shadow:0 8px 20px rgba(255,215,0,.45);
    position:relative;
    overflow:hidden;
}

.addCart:hover{
    transform:translateY(-4px) scale(1.03);
    background:linear-gradient(90deg,#FFE55C,#FFD700,#FFC107);
    color:#4A0717;
    box-shadow:0 12px 30px rgba(255,215,0,.7);
}
.product-card{
   background:linear-gradient(135deg,#7A1E33,#8B233A);
    width:300px;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,.15);
    text-align:center;
    margin:20px;
    transition:0.3s;
}

.product-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.25);
}

.product-card img{
    width:100%;
    height:300px;
    object-fit:cover;
}

.product-card h2{
    font-family:'Cinzel', serif;
    font-size:36px;
    font-weight:700;
    background:linear-gradient(90deg,#fff6b7,#ffd700,#b8860b,#ffd700,#fff6b7);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    text-shadow:2px 2px 8px rgba(0,0,0,.35);
    letter-spacing:1px;
    margin:18px 0 10px;
}
.product-card h3{
    font-size:34px;
    font-weight:800;
    color:#FFD700;
    text-shadow:0 0 10px rgba(255,215,0,.5);
    margin-bottom:18px;
}

.product-card:hover{
    transform:translateY(-8px);
    box-shadow:0 12px 30px rgba(0,0,0,.30);
}
nav{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:30px;
    flex-wrap: wrap;
  background:#5C0A1D;
    padding:15px 0;
    border-top:2px solid #d4af37;
    border-bottom:2px solid #d4af37;
}

nav a{
    color:#fff;
    text-decoration:none;
    font-size:18px;
    font-weight:bold;
    padding:10px 18px;
    border-radius:8px;
    transition:0.3s;
}

nav a:hover{
    background:linear-gradient(135deg,#FFD700,#E6B800);
    color:#0b5d2a;
    box-shadow:0 0 15px rgba(255,215,0,.6);
    transform:translateY(-2px);
}
.cart-back-button{
    width:100%;
    margin:0 0 14px;
    padding:12px 16px;
    border:1px solid #D4AF37;
    border-radius:12px;
    background:#fff8dc;
    color:#7A1E33;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
    text-align:left;
    transition:transform .2s ease,background .2s ease;
}
.cart-back-button:hover{
    background:#fff1b8;
    transform:translateY(-1px);
}
.cart{
    position:fixed;
    display: none;
    top:170px;
    right:20px;
    width:340px;
    background:#ffffff;
    border:2px solid #D4AF37;
    border-radius:18px;
    padding:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.25);
    z-index:9999;
    overflow-y:auto;
    max-height:80vh;
}
.cart h2{
    background:linear-gradient(135deg,#7A1E33,#A63D52,#7A1E33);
    color:#fff;
    margin:-20px -20px 20px;
    padding:15px;
    border-bottom:2px solid #FFD700;
    border-radius:15px 15px 0 0;
    text-align:center;
    font-size:24px;
    font-weight:bold;
    letter-spacing:1px;
}

.cart input,
.cart textarea{
    width:100%;
    padding:12px;
    margin:8px 0;
    border:2px solid #D4AF37;
    border-radius:10px;
    box-sizing:border-box;
    outline:none;
    font-size:15px;
    transition:.3s;
}

.cart input:focus,
.cart textarea:focus{
    border-color:#FFD700;
    box-shadow:0 0 12px rgba(255,215,0,.45);
}
#whatsappOrder{
    width:100%;
    margin-top:15px;
    padding:15px 20px;
    border:none;
    border-radius:50px;
    cursor:pointer;

    background:linear-gradient(135deg,#25D366,#128C7E);
    color:#fff;

    font-size:18px;
    font-weight:700;
    letter-spacing:.5px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    box-shadow:0 8px 20px rgba(37,211,102,.35);
    transition:.3s;
}

#whatsappOrder::before{
    content:"📲";
    font-size:22px;
}

#whatsappOrder:hover{
    background:linear-gradient(135deg,#2EEA73,#1AAE87);
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(37,211,102,.55);
}

#whatsappOrder:active{
    transform:scale(.98);
}



#whatsappOrder:hover{
    background:linear-gradient(135deg,#2AE66A,#1AAE5F);
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(37,211,102,.55);
}
.qty-btn,
.minus-btn,
.remove-btn{
    width:30px;
    height:30px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    font-size:18px;
    font-weight:bold;
    margin:0 3px;
    transition:.3s;
    box-shadow:0 4px 10px rgba(0,0,0,.2);
}

.qty-btn{
    background:linear-gradient(135deg,#FFD700,#D4AF37);
    color:#5C0A1D;
}

.minus-btn{
    background:linear-gradient(135deg,#FFF4B0,#FFD700);
    color:#5C0A1D;
}

.remove-btn{
    background:linear-gradient(135deg,#ff5b5b,#c4002f);
    color:#fff;
}

.qty-btn:hover,
.minus-btn:hover,
.remove-btn:hover{
    transform:scale(1.15);
}
.menu-btn{
    background:#d4af37;
    color:#000;
    border:none;
    padding:10px 14px;
    font-size:22px;
    cursor:pointer;
    border-radius:6px;
    margin:10px;
}

.side-menu{
    position:fixed;
    top:0;
    left:-320px;
    width:300px;
    height:100%;
    background:#fff;
    z-index:9999;
    transition:.3s;
    overflow-y:auto;
    box-shadow:2px 0 10px rgba(0,0,0,.3);
}

.side-menu-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px;
    background:#111;
    color:#fff;
}

.menu-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
    z-index:9998;
}
#menuBtn{
    width:50px;
    height:50px;
    border:none;
    border-radius:8px;
    background:#d4af37;
    color:#111;
    font-size:24px;
    cursor:pointer;
    flex-shrink:0;
}
#menuBtn{
    margin-right:20px;
    margin-left:15px;
}

.logo{
    flex:1;
}
#sideMenu{
    position: fixed;
    top: 0;
    left: -320px;
    width: 300px;
    height: 100%;
background: linear-gradient(
    to bottom,
    #fffdf7 0%,
    #fdf6e3 40%,
    #f8ecd1 100%
);
    box-shadow: 5px 0 20px rgba(0,0,0,.30);
    transition: .35s;
    z-index: 9999;
    overflow-y: auto;
}

#sideMenu h3{
    margin:0;
    padding:18px;
    background: linear-gradient(90deg,#6d0f2a,#d4af37);
    color:#fff;
    font-size:22px;
    font-weight:bold;
}

.menu-item{
    padding:15px 20px;
    border-bottom:1px solid #ececec;
    cursor:pointer;
    font-size:17px;
    font-weight:600;
    color:#333;
    transition:.3s;
}

.menu-item:hover{
    background:#6d0f2a;
    color:#fff;
    padding-left:30px;
    border-left:5px solid #d4af37;
}

#closeMenu{
    position:absolute;
    top:15px;
    right:18px;
    color:#fff;
    font-size:24px;
    cursor:pointer;
}

#menuOverlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    display:none;
    z-index:9998;
}

/* Side menu open state — toggled by JS classList.add("show") */
#sideMenu.show{
    left:0;
}

#menuOverlay.show{
    display:block;
}

/* Category links inside the side menu */
#categoryMenu a{
    display:block;
    padding:15px 20px;
    border-bottom:1px solid #ececec;
    cursor:pointer;
    font-size:17px;
    font-weight:600;
    color:#333;
    text-decoration:none;
    transition:.3s;
}

#categoryMenu a:hover{
    background:#6d0f2a;
    color:#fff;
    padding-left:30px;
    border-left:5px solid #d4af37;
}

/* "All Categories" reset link at top of menu */
#categoryMenu a.all-categories{
    background:linear-gradient(90deg,#6d0f2a,#d4af37);
    color:#fff;
    font-weight:700;
}

#categoryMenu a.all-categories:hover{
    opacity:.85;
    padding-left:20px;
    border-left:none;
}

/* Refer & Earn — premium Green + Gold CTA */
nav a.refer-earn-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin:0;
    padding:10px 22px;
    border-radius:30px;
    border:2px solid #FFD700;
    background:linear-gradient(135deg,#0b5d3b 0%,#0d7a45 50%,#0b5d3b 100%);
    color:#FFD700;
    font-size:16px;
    font-weight:800;
    letter-spacing:0.4px;
    white-space:nowrap;
    box-shadow:
        0 4px 14px rgba(11,93,59,.4),
        inset 0 1px 0 rgba(255,215,0,.25);
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}

nav a.refer-earn-btn:hover{
    background:linear-gradient(135deg,#FFD700 0%,#E6B800 50%,#FFD700 100%);
    color:#0b5d2a;
    border-color:#fff6b7;
    box-shadow:
        0 6px 20px rgba(255,215,0,.55),
        0 0 12px rgba(11,93,59,.25);
    transform:translateY(-2px) scale(1.03);
}

@media (max-width:768px){
    nav a.refer-earn-btn{
        padding:8px 16px;
        font-size:14px;
        border-radius:24px;
    }
}

@media (max-width:480px){
    nav a.refer-earn-btn{
        padding:8px 14px;
        font-size:13px;
        width:100%;
        max-width:260px;
        justify-content:center;
    }
}

/* —— Mobile: prevent horizontal overflow (Capacitor WebView / phones) —— */
@media (max-width: 768px){
    html,
    body{
        max-width:100%;
        overflow-x:hidden;
    }

    header{
        flex-wrap:wrap;
        align-items:center;
        justify-content:flex-start;
        gap:10px;
        padding:12px 14px;
    }

    #menuBtn{
        width:42px;
        height:42px;
        margin:0;
        margin-right:8px;
        margin-left:0;
        font-size:20px;
        flex-shrink:0;
    }

    .logo{
        flex:1 1 0;
        min-width:0;
        max-width:calc(100% - 54px);
        gap:10px;
    }

    .logo img{
        width:52px;
        height:52px;
        flex-shrink:0;
    }

    .logo-text{
        min-width:0;
        overflow:hidden;
    }

    .logo h1,
    .premium-title{
        font-size:clamp(14px, 4.2vw, 18px);
        letter-spacing:0.4px;
        line-height:1.2;
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:break-word;
    }

    .logo p{
        font-size:11px;
        letter-spacing:0.3px;
        margin-top:2px;
    }

    .top-links{
        position:static;
        top:auto;
        right:auto;
        width:100%;
        flex-wrap:wrap;
        justify-content:flex-start;
        align-items:center;
        gap:8px 12px;
        padding-top:4px;
    }

    .top-links a{
        font-size:13px;
        font-weight:700;
        gap:4px;
        line-height:1.2;
        white-space:nowrap;
    }

    nav{
        gap:8px;
        padding:10px 8px;
        justify-content:center;
    }

    nav a{
        margin:0;
        font-size:14px;
        padding:8px 12px;
    }

    nav a.reseller-btn{
        white-space:nowrap;
    }

    .search-bar-wrap{
        padding:12px;
        max-width:100%;
        width:100%;
        box-sizing:border-box;
        overflow:hidden;
    }

    .search-bar-wrap .search-box,
    .search-box{
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box;
        font-size:15px;
        padding:12px 14px;
    }

    .products{
        max-width:100%;
        overflow-x:hidden;
        padding:0 4px 20px;
        box-sizing:border-box;
    }

    .products h2{
        font-size:24px !important;
        margin-bottom:20px !important;
        padding:0 10px;
        line-height:1.25;
    }

    #products{
        gap:12px !important;
        max-width:100%;
        box-sizing:border-box;
    }

    .product-card{
        width:min(300px, calc(100% - 20px));
        max-width:100%;
        margin:10px;
        box-sizing:border-box;
    }

    .product-card h2{
        font-size:24px;
    }

    .product-card h3{
        font-size:26px;
    }

    .cart{
        width:auto;
        left:12px;
        right:12px;
        max-width:calc(100vw - 24px);
        box-sizing:border-box;
    }

    .home-special-offers,
    .so-carousel-wrap,
    .offers-carousel{
        max-width:100%;
        box-sizing:border-box;
    }
}


/* ============================================================
   PRODUCT IMAGE ZOOM — desktop hover + mobile lightbox
   ============================================================ */

/* ---- Desktop: zoom lens that floats near cursor ---- */
.img-zoom-lens{
    position:fixed;
    pointer-events:none;
    z-index:99999;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 12px 40px rgba(0,0,0,.55);
    border:2px solid #d4af37;
    width:320px;
    height:320px;
    display:none;
    background-repeat:no-repeat;
    background-color:#111;
}

/* ---- Mobile: full-screen lightbox overlay ---- */
#imgZoomOverlay{
    display:none;
    position:fixed;
    inset:0;
    z-index:99999;
    background:rgba(0,0,0,.92);
    touch-action:none;
    align-items:center;
    justify-content:center;
}

#imgZoomOverlay.active{
    display:flex;
}

#imgZoomOverlay img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    user-select:none;
    -webkit-user-drag:none;
    transform-origin:center center;
    will-change:transform;
    transition:none;
    border-radius:6px;
}

#imgZoomClose{
    position:fixed;
    top:14px;
    right:18px;
    z-index:100000;
    background:rgba(0,0,0,.6);
    color:#fff;
    border:none;
    border-radius:50%;
    width:38px;
    height:38px;
    font-size:22px;
    line-height:36px;
    text-align:center;
    cursor:pointer;
    padding:0;
}

/* Make product-card image show a pointer so users know it's interactive */
.product-card img{
    cursor:zoom-in;
}


/* RSW mobile navigation safeguard: keep the existing A-Z link visible */
@media (max-width:768px){
  nav a.rsw-az-btn{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center}
}

.checkout-block,.checkout-summary{margin:12px 0;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fff}.checkout-inline,.checkout-help{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.checkout-inline input{flex:1;min-width:150px}.checkout-note{font-size:13px;margin-top:6px}.checkout-summary>div{display:flex;justify-content:space-between;padding:4px 0}.checkout-grand{border-top:1px solid #ddd;margin-top:5px;padding-top:8px!important}.payment-choice{display:block;margin:8px 0}.payment-choice.disabled{opacity:.6}.checkout-qr{display:block;max-width:220px;width:100%;margin:10px auto;border-radius:8px}.checkout-help a{display:inline-block;padding:8px 12px;border:1px solid #0b5d3b;border-radius:8px;text-decoration:none}@media(max-width:600px){.checkout-inline>*{width:100%}.checkout-help a{flex:1;text-align:center}}

.dynamic-upi-qr{display:flex;justify-content:center;margin:12px auto;min-height:210px;align-items:center}.dynamic-upi-qr img{width:210px;height:210px;max-width:100%;object-fit:contain;background:#fff;padding:6px;border:1px solid #ddd;border-radius:10px}.upi-pay-button{display:block;text-align:center;margin:10px 0;padding:12px;border-radius:9px;background:#0b5d3b;color:#fff!important;text-decoration:none;font-weight:700}.upi-pay-button[aria-disabled="true"]{opacity:.55;pointer-events:none}

/* ---- Checkout form validation errors ---- */
.checkout-form-error{background:#fdecea;border:2px solid #d32f2f;color:#d32f2f;font-size:16px;font-weight:700;padding:14px 16px;border-radius:10px;margin:12px 0;line-height:1.5;text-align:left}
.field-error{display:block;color:#d32f2f;font-size:13px;font-weight:600;margin:4px 0 8px;line-height:1.4}
.field-error.hidden,.checkout-form-error.hidden{display:none}
.cart input.invalid,.cart textarea.invalid{border:2px solid #d32f2f!important;background:#fff5f5}

/* ---- Order Success Confirmation Modal ---- */
.order-success-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.65);backdrop-filter:blur(3px);padding:16px;box-sizing:border-box}
.order-success-modal.show{display:flex}
.order-success-card{width:min(94vw,520px);max-height:92vh;overflow-y:auto;background:#fff;border-radius:22px;padding:34px 24px 28px;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.35);box-sizing:border-box;animation:orderSuccessPop .35s ease}
@keyframes orderSuccessPop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.order-success-icon{width:112px;height:112px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,#0b9f52,#0b5d3b);display:flex;align-items:center;justify-content:center;color:#fff;font-size:64px;font-weight:900;line-height:1;box-shadow:0 8px 24px rgba(11,159,82,.4)}
.order-success-card h2{font-size:clamp(24px,5vw,34px);font-weight:900;line-height:1.15;color:#148c4a;margin:0 0 8px;letter-spacing:.02em}
.order-success-sub{font-size:clamp(15px,3.5vw,18px);font-weight:600;color:#263238;margin:0 0 22px;line-height:1.4}
.order-success-id{padding:18px 16px;margin:0 0 24px;border:1px solid #d9e1dc;border-radius:14px;background:#f7fffa;text-align:left}
.order-success-id span{display:block;font-size:14px;font-weight:700;color:#159253;margin-bottom:6px;letter-spacing:.04em}
.order-success-id strong{display:block;font-size:clamp(20px,4.5vw,28px);font-weight:900;line-height:1.2;color:#17202a;word-break:break-word}
.order-success-actions{display:flex;flex-direction:column;gap:12px}
.order-success-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;width:100%;padding:14px 20px;box-sizing:border-box;border-radius:14px;font-size:clamp(17px,3.5vw,20px);font-weight:800;letter-spacing:.02em;text-decoration:none;cursor:pointer;border:none;transition:transform .12s ease,box-shadow .12s ease}
.order-success-btn:active{transform:scale(.98)}
.order-success-btn.primary{background:#0b9f52;color:#fff;box-shadow:0 5px 0 #087d40}
.order-success-btn.primary:hover{background:#0a8f49}
.order-success-btn.secondary{background:#fff;color:#0b5d3b;border:2px solid #0b5d3b}
.order-success-btn.secondary:hover{background:#f0faf4}
@media(max-width:600px){.order-success-card{padding:28px 18px 22px}.order-success-icon{width:96px;height:96px;font-size:54px}.order-success-actions{gap:10px}}
/* COD mode uses the existing single QR/payment display; only the normal UPI submit controls are hidden. */
.cod-active { border-color: inherit; }


/* ============================================================
   YOU MAY ALSO LIKE — lightweight responsive product carousel
   Uses the existing product data/cards/cart handler; no library needed.
   ============================================================ */
.you-may-also-like{
    width:100%;
    max-width:1400px;
    margin:10px auto 28px;
    padding:10px 18px 24px;
    box-sizing:border-box;
    overflow:hidden;
}
.you-may-also-like__heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 16px;
}
.you-may-also-like__heading h2{
    margin:0;
    font-size:clamp(24px,3vw,36px);
    line-height:1.2;
    font-weight:800;
    text-align:left;
    color:#5C0A1D;
    letter-spacing:.6px;
}
.you-may-also-like__controls{
    display:flex;
    gap:8px;
    flex:0 0 auto;
}
.you-may-also-like__arrow{
    width:42px;
    height:42px;
    border:1px solid rgba(92,10,29,.16);
    border-radius:50%;
    background:#fff;
    color:#5C0A1D;
    font-size:30px;
    line-height:1;
    display:grid;
    place-items:center;
    cursor:pointer;
    box-shadow:0 5px 16px rgba(0,0,0,.10);
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
    touch-action:manipulation;
}
.you-may-also-like__arrow:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.15);background:#fff8dc}
.you-may-also-like__arrow:disabled{opacity:.45;cursor:default;transform:none}
.you-may-also-like__viewport{
    width:100%;
    overflow:hidden;
    position:relative;
    box-sizing:border-box;
    padding:4px 2px 12px;
    touch-action:pan-y;
}
.you-may-also-like__track{
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:18px;
    width:max-content;
    transform:translate3d(0,0,0);
    will-change:transform;
    transition:transform .55s cubic-bezier(.22,.61,.36,1);
}
.you-may-also-like__card{
    flex:0 0 calc((100vw - 36px) / 2);
    width:calc((100vw - 36px) / 2);
    max-width:280px;
    min-width:0;
    margin:0;
    border-radius:16px;
    overflow:hidden;
    background:linear-gradient(135deg,#7A1E33,#8B233A);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
    text-align:center;
    box-sizing:border-box;
}
.you-may-also-like__image-wrap{
    width:100%;
    aspect-ratio:1/1;
    background:#fff;
    overflow:hidden;
}
.you-may-also-like__card img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    cursor:zoom-in;
}
.you-may-also-like__card h3{
    margin:12px 10px 7px;
    min-height:2.45em;
    font-family:'Cinzel',serif;
    font-size:18px;
    line-height:1.22;
    font-weight:700;
    color:#fff6b7;
    overflow:hidden;
}
.you-may-also-like__rating{
    min-height:20px;
    font-size:14px;
    line-height:1;
    letter-spacing:1px;
    color:#FFD700;
}
.you-may-also-like__rating-value{
    margin-left:4px;
    color:#fff;
    letter-spacing:0;
    font-size:12px;
}
.you-may-also-like__price{
    margin:9px 10px 10px;
    font-size:21px;
    font-weight:800;
    color:#FFD700;
    text-shadow:0 0 8px rgba(255,215,0,.35);
}
.you-may-also-like__card .addCart{
    width:calc(100% - 24px);
    margin:0 12px 14px;
    padding:11px 12px;
    font-size:14px;
    border-radius:999px;
}
.you-may-also-like__card .size-selector{
    width:calc(100% - 24px)!important;
    margin:0 12px 10px!important;
    box-sizing:border-box;
}
.you-may-also-like__empty{
    width:100%;
    padding:20px;
    text-align:center;
    color:#666;
    background:#fff;
    border:1px solid #eee;
    border-radius:14px;
    box-sizing:border-box;
}
@media (min-width:700px){
    .you-may-also-like__card{
        flex-basis:calc((min(100vw, 1400px) - 72px) / 3);
        width:calc((min(100vw, 1400px) - 72px) / 3);
        max-width:300px;
    }
}
@media (min-width:1050px){
    .you-may-also-like__card{
        flex-basis:calc((min(100vw, 1400px) - 90px) / 4);
        width:calc((min(100vw, 1400px) - 90px) / 4);
        max-width:300px;
    }
}
@media (max-width:699px){
    .you-may-also-like{padding-left:10px;padding-right:10px}
    .you-may-also-like__heading{margin-bottom:12px}
    .you-may-also-like__heading h2{font-size:23px}
    .you-may-also-like__arrow{width:38px;height:38px;font-size:27px}
    .you-may-also-like__track{gap:10px}
    .you-may-also-like__card{flex-basis:calc((100vw - 30px)/2);width:calc((100vw - 30px)/2);border-radius:14px}
    .you-may-also-like__card h3{font-size:14px;margin:9px 7px 5px}
    .you-may-also-like__price{font-size:17px;margin:7px 7px 8px}
    .you-may-also-like__rating{font-size:12px}
    .you-may-also-like__card .addCart{width:calc(100% - 14px);margin:0 7px 9px;padding:9px 7px;font-size:12px}
    .you-may-also-like__card .size-selector{width:calc(100% - 14px)!important;margin:0 7px 8px!important;font-size:12px}
}

/* ==========================================================
   Product listing: premium desktop category sidebar
   Scoped only to the existing product collection section.
   ========================================================== */
.products.products-layout{
    width:min(1480px, calc(100% - 48px));
    max-width:1480px;
    margin:0 auto;
    padding:10px 0 45px;
    display:grid;
    grid-template-columns:minmax(220px, 250px) minmax(0, 1fr);
    gap:28px;
    align-items:start;
}

.desktop-category-sidebar{
    position:sticky;
    top:18px;
    align-self:start;
    width:100%;
    background:#fffdf8;
    border:1px solid rgba(122,30,51,.16);
    border-radius:10px;
    box-shadow:0 8px 24px rgba(74,7,23,.08);
    overflow:hidden;
}

.category-sidebar-heading{
    padding:14px 18px 6px;
    color:#5c0a1d;
    font-family:'Cinzel',serif;
    font-size:17px;
    font-weight:900;
    letter-spacing:1.4px;
}

.category-sidebar-subheading{
    padding:0 18px 12px;
    color:#8b6508;
    font-size:12px;
    font-weight:700;
    letter-spacing:.3px;
    text-transform:none;
    border-bottom:1px solid rgba(212,175,55,.28);
}

.category-sidebar-list{
    display:flex;
    flex-direction:column;
    padding:5px 0;
    max-height:calc(100vh - 150px);
    overflow-y:auto;
    scrollbar-width:thin;
}

.category-sidebar-item{
    width:100%;
    min-height:38px;
    padding:9px 16px;
    border:0;
    border-left:3px solid transparent;
    background:transparent;
    color:#4a0717;
    text-align:left;
    font-size:13px;
    font-weight:600;
    line-height:1.25;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,border-color .2s ease,padding-left .2s ease;
}

.category-sidebar-item:hover{
    background:#fff6d7;
    color:#6d0f2a;
    border-left-color:#d4af37;
    padding-left:19px;
}

.category-sidebar-item.is-active{
    background:linear-gradient(90deg,#6d0f2a,#7a1e33);
    color:#fff;
    border-left-color:#ffd700;
    font-weight:800;
}

.category-sidebar-item.is-active:hover{
    background:linear-gradient(90deg,#6d0f2a,#7a1e33);
    color:#fff;
    padding-left:16px;
}

.product-listing-column{
    min-width:0;
}

.product-listing-heading{
    margin:0 0 22px;
    text-align:center;
}

.product-listing-heading h2{
    margin:0;
    font-size:36px;
    line-height:1.2;
}

.product-listing-column #products{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(235px,300px));
    justify-content:center;
    align-items:start;
    gap:24px;
    width:100%;
    min-width:0;
}

.product-listing-column #products .product-card{
    width:100%;
    max-width:300px;
    margin:0;
}

.mobile-category-filter{
    display:none;
}

@media (max-width: 900px) and (min-width: 769px){
    .products.products-layout{
        width:min(100% - 28px, 1180px);
        grid-template-columns:220px minmax(0,1fr);
        gap:20px;
    }

    .product-listing-column #products{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    .product-listing-column #products .product-card{
        max-width:none;
    }
}

@media (max-width: 768px){
    .products.products-layout{
        display:block;
        width:100%;
        max-width:100%;
        margin:0;
        padding:0 8px 28px;
    }

    .desktop-category-sidebar{
        display:none;
    }

    .mobile-category-filter{
        display:flex;
        align-items:center;
        gap:10px;
        width:100%;
        margin:0 0 12px;
        padding:8px 10px;
        border:1px solid rgba(122,30,51,.14);
        border-radius:10px;
        background:#fffdf8;
        box-shadow:0 4px 14px rgba(74,7,23,.06);
    }

    .mobile-category-filter label{
        flex:0 0 auto;
        color:#5c0a1d;
        font-size:12px;
        font-weight:800;
        letter-spacing:.5px;
        text-transform:uppercase;
    }

    .mobile-category-filter select{
        min-width:0;
        flex:1;
        height:36px;
        padding:5px 30px 5px 9px;
        border:1px solid #d4af37;
        border-radius:7px;
        background:#fff;
        color:#4a0717;
        font-size:12px;
        font-weight:600;
        outline:none;
    }

    .product-listing-heading{
        margin:0 0 14px;
    }

    .product-listing-heading h2{
        font-size:24px;
        line-height:1.25;
    }

    .product-listing-column #products{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        justify-content:stretch;
        gap:12px;
    }

    .product-listing-column #products .product-card{
        width:100%;
        max-width:none;
        margin:0;
    }

    .product-listing-column #products .product-card img{
        height:auto;
        aspect-ratio:1 / 1;
        object-fit:cover;
    }
}

@media (max-width: 430px){
    .products.products-layout{
        padding-left:6px;
        padding-right:6px;
    }

    .mobile-category-filter{
        gap:7px;
        padding:7px 8px;
    }

    .mobile-category-filter label{
        font-size:10px;
    }

    .mobile-category-filter select{
        height:34px;
        font-size:11px;
    }

    .product-listing-heading h2{
        font-size:21px;
    }

    .product-listing-column #products{
        gap:9px;
    }
}

/* =========================================================
   Slim rotating Special Offer announcement bar
   Kept separate from header/navigation styles.
   ========================================================= */
.rsw-announcement-bar{
    width:100%;
    height:32px;
    min-height:32px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(90deg,#4A0717,#5C0A1D,#4A0717);
    color:#FFD700;
    border-bottom:1px solid rgba(255,215,0,.55);
    position:relative;
    z-index:1001;
}

.rsw-announcement-viewport{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:0 12px;
}

.rsw-announcement-message{
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:center;
    font-size:13px;
    line-height:1;
    font-weight:700;
    letter-spacing:.15px;
    transform:translateY(0) translateZ(0);
    opacity:1;
    transition:transform .42s ease, opacity .42s ease;
    will-change:transform,opacity;
}

.rsw-announcement-message.is-leaving{
    transform:translateY(-110%) translateZ(0);
    opacity:0;
}

.rsw-announcement-message.is-entering{
    transform:translateY(110%) translateZ(0);
    opacity:0;
}

@media (max-width:600px){
    .rsw-announcement-bar{
        height:29px;
        min-height:29px;
    }
    .rsw-announcement-viewport{
        padding:0 8px;
    }
    .rsw-announcement-message{
        font-size:11px;
        letter-spacing:0;
    }
}

@media (prefers-reduced-motion:reduce){
    .rsw-announcement-message{
        transition:none;
    }
}

/* ==========================================================
   Product grid alignment hardening
   Scoped to the main product listing only. Existing cart,
   checkout and product data behaviour remain unchanged.
   ========================================================== */
.product-listing-column #products{
    align-items:stretch !important;
    grid-auto-rows:1fr;
}

.product-listing-column #products .product-card{
    width:100%;
    max-width:none;
    min-width:0;
    height:100%;
    min-height:0;
    margin:0;
    display:flex;
    flex-direction:column;
    align-self:stretch;
    overflow:hidden;
    box-sizing:border-box;
}

.product-listing-column #products .product-card__image-wrap{
    width:100%;
    aspect-ratio:1 / 1;
    flex:0 0 auto;
    overflow:hidden;
    background:#fff;
}

.product-listing-column #products .product-card__image-wrap img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    margin:0;
}

.product-listing-column #products .product-card__body{
    display:flex;
    flex:1 1 auto;
    min-height:0;
    flex-direction:column;
    padding:12px 12px 13px;
    box-sizing:border-box;
}

.product-listing-column #products .product-card__title{
    flex:0 0 auto;
    min-height:44px;
    max-height:44px;
    margin:0 0 7px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    text-overflow:ellipsis;
    font-family:'Cinzel',serif;
    font-size:18px;
    line-height:22px;
    font-weight:700;
    word-break:break-word;
}

.product-listing-column #products .product-card__rating{
    flex:0 0 20px;
    min-height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    margin:0 0 5px;
    font-size:13px;
    line-height:20px;
}

.product-listing-column #products .product-card__stars{
    letter-spacing:1px;
    white-space:nowrap;
}

.product-listing-column #products .product-card__rating-value{
    font-size:11px;
    opacity:.9;
}

.product-listing-column #products .product-card__price{
    flex:0 0 34px;
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 6px;
    font-size:22px;
    line-height:1.15;
}

.product-listing-column #products .product-card__size-area{
    flex:0 0 48px;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    box-sizing:border-box;
    margin:0 0 7px;
}

.product-listing-column #products .product-card__size-area--empty{
    visibility:hidden;
}

.product-listing-column #products .product-card__size-area .size-selector{
    width:100% !important;
    height:38px;
    margin:0 !important;
    box-sizing:border-box;
    padding:7px 9px;
    border-radius:6px;
    border:1px solid #ddd;
}

.product-listing-column #products .product-card__actions{
    margin-top:auto;
    min-height:46px;
    display:flex;
    align-items:flex-end;
}

.product-listing-column #products .product-card__actions .addCart{
    width:100%;
    min-height:44px;
    margin:0;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}

@media (max-width:768px){
    .product-listing-column #products{
        grid-auto-rows:1fr;
        align-items:stretch !important;
    }

    .product-listing-column #products .product-card__body{
        padding:9px 8px 10px;
    }

    .product-listing-column #products .product-card__title{
        min-height:38px;
        max-height:38px;
        margin-bottom:5px;
        font-size:14px;
        line-height:19px;
    }

    .product-listing-column #products .product-card__rating{
        flex-basis:18px;
        min-height:18px;
        margin-bottom:3px;
        font-size:11px;
    }

    .product-listing-column #products .product-card__price{
        flex-basis:29px;
        min-height:29px;
        margin-bottom:4px;
        font-size:17px;
    }

    .product-listing-column #products .product-card__size-area{
        flex-basis:42px;
        min-height:42px;
        margin-bottom:5px;
    }

    .product-listing-column #products .product-card__size-area .size-selector{
        height:34px;
        font-size:12px;
    }

    .product-listing-column #products .product-card__actions{
        min-height:40px;
    }

    .product-listing-column #products .product-card__actions .addCart{
        min-height:38px;
        padding:8px 5px;
        font-size:12px;
    }
}


/* RSW professional customer features — additive UI only */
.rsw-customer-welcome,.rsw-wishlist-reminder{max-width:1180px;margin:14px auto 0;padding:15px 18px;border-radius:16px;box-sizing:border-box;background:linear-gradient(135deg,#fffaf0,#fff);border:1px solid #eadfca;box-shadow:0 8px 24px rgba(91,55,17,.07);}
.rsw-customer-welcome[hidden],.rsw-wishlist-reminder[hidden]{display:none!important}
.rsw-customer-welcome__title,.rsw-wishlist-reminder__title{font-weight:900;color:#5f0d1b;font-size:18px}.rsw-customer-welcome__text,.rsw-wishlist-reminder__text{margin-top:4px;color:#665c52;font-size:14px}.rsw-personal-discount{display:inline-flex;align-items:center;gap:7px;margin-top:9px;padding:7px 10px;border-radius:999px;background:#eefbf3;border:1px solid #9ac9ad;color:#0b6b3a;font-weight:800;font-size:13px}
.rsw-wishlist-items{display:flex;gap:10px;overflow:auto;padding-top:10px}.rsw-wishlist-item{min-width:180px;max-width:180px;background:#fff;border:1px solid #eadfca;border-radius:12px;padding:8px}.rsw-wishlist-item img{width:100%;height:110px;object-fit:cover;border-radius:9px;background:#faf7ef}.rsw-wishlist-item b{display:block;margin-top:6px;color:#4c0b16;font-size:13px}.rsw-wishlist-item small{color:#6d645b}.rsw-wishlist-remove{float:right;border:0;background:transparent;color:#8b1e2d;cursor:pointer;font-size:16px}
.rsw-category-showcase{max-width:1180px;margin:18px auto 6px;padding:0 18px;box-sizing:border-box}.rsw-category-showcase__head{text-align:left;margin-bottom:10px}.rsw-category-showcase__head span{font-size:11px;letter-spacing:2px;color:#9b7b1e;font-weight:900}.rsw-category-showcase__head h2{margin:3px 0 0;color:#5f0d1b;font-size:25px}.rsw-category-showcase__track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;scrollbar-width:none}.rsw-category-showcase__track::-webkit-scrollbar{display:none}.rsw-category-chip{flex:0 0 104px;text-align:center;text-decoration:none;color:#4c0b16;scroll-snap-align:start}.rsw-category-chip__img{width:82px;height:82px;border-radius:50%;object-fit:cover;border:2px solid #d4af37;background:#fffaf0;box-shadow:0 6px 18px rgba(91,55,17,.10);transition:transform .2s ease,box-shadow .2s ease}.rsw-category-chip:hover .rsw-category-chip__img{transform:translateY(-3px);box-shadow:0 10px 24px rgba(91,55,17,.16)}.rsw-category-chip__name{display:block;margin-top:6px;font-size:12px;font-weight:800;line-height:1.25}
.product-card__quick-actions{display:flex;gap:7px;margin-top:7px}.product-card__quick-actions button{flex:1;min-height:34px;border-radius:8px;border:1px solid #d9caa8;background:#fff;color:#5f0d1b;font-size:11px;font-weight:800;cursor:pointer}.product-card__quick-actions .wishlist-btn.is-saved{background:#fff0f2;border-color:#c98996;color:#8b1e2d}.product-card__complete{margin-top:7px;padding:7px 9px;border-radius:8px;background:#fffaf0;border:1px dashed #d4af37;color:#6b5a42;font-size:11px;font-weight:800;cursor:pointer;width:100%}
.rsw-complete-modal{position:fixed;inset:0;z-index:100001;display:none;align-items:center;justify-content:center;padding:14px;background:rgba(15,23,42,.55);backdrop-filter:blur(3px)}.rsw-complete-modal.open{display:flex}.rsw-complete-card{width:min(94vw,680px);max-height:86vh;overflow:auto;background:#fff;border-radius:18px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.rsw-complete-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.rsw-complete-head h3{margin:0;color:#5f0d1b}.rsw-complete-close{border:0;background:#f4f4f4;border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:20px}.rsw-complete-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.rsw-complete-item{border:1px solid #eadfca;border-radius:12px;padding:8px}.rsw-complete-item img{width:100%;height:120px;object-fit:cover;border-radius:9px}.rsw-complete-item b{display:block;font-size:12px;margin:6px 0;color:#4c0b16}.rsw-complete-item button{width:100%;min-height:34px;border:0;border-radius:8px;background:#0b6b3a;color:#fff;font-weight:800;cursor:pointer}
.review-submit-card{border:1px solid #eadfca;border-radius:14px;padding:14px;margin:10px 0;background:#fffdf8}.review-submit-card__product{font-weight:900;color:#5f0d1b}.review-submit-card__fields{margin-top:10px}.review-submit-card label{display:block;font-weight:700;color:#4d4742;margin:7px 0}.review-submit-card textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d9d0c2;border-radius:9px;resize:vertical}.review-submit-card .rv-photo-label{padding:10px;border:1px dashed #d4af37;border-radius:9px;background:#fffaf0}.review-submit-card .rv-photo{display:block;margin-top:6px}.rv-photo-note{display:block;color:#7a7066}.review-submit-card .rv-submit{margin-top:9px;padding:10px 14px;background:#6b1020;color:#fff;border:0;border-radius:8px;font-weight:800;cursor:pointer}
@media(max-width:700px){.rsw-customer-welcome,.rsw-wishlist-reminder{margin:10px 10px 0;padding:13px}.rsw-category-showcase{padding:0 10px}.rsw-category-showcase__head h2{font-size:22px}.rsw-category-chip{flex-basis:92px}.rsw-category-chip__img{width:72px;height:72px}.rsw-complete-grid{grid-template-columns:repeat(2,1fr)}.rsw-complete-item img{height:100px}.product-card__quick-actions button{min-height:38px}.product-card__complete{min-height:36px}}

/* RSW social icons: larger, recognizable brand-style vector icons. */
.search-social-row .rsw-social-links{gap:10px!important;align-items:center!important;}
.rsw-social-links__label{font-size:12px!important;font-weight:800!important;}
.rsw-social-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;box-shadow:0 3px 10px rgba(0,0,0,.10);}
.rsw-social-icon svg{width:23px;height:23px;display:block;}
.rsw-social-icon:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.16);}
.rsw-social-icon--facebook{background:#1877f2;color:#fff;}
.rsw-social-icon--instagram{background:linear-gradient(135deg,#feda75,#d62976 55%,#4f5bd5);color:#fff;}
.rsw-social-icon--youtube{background:#ff0000;color:#fff;}
@media(max-width:600px){.search-social-row{gap:6px!important;}.rsw-social-links__label{display:none!important;}.rsw-social-icon{width:34px;height:34px;}.rsw-social-icon svg{width:21px;height:21px;}}
/* Find Your Favourite: automatic horizontal sliding with touch/hover pause. */
.rsw-category-showcase__track{scroll-behavior:smooth;overscroll-behavior-x:contain;touch-action:pan-x;}
.rsw-category-chip{flex-basis:112px;}
.rsw-category-chip__img{width:90px;height:90px;}
@media(max-width:600px){.rsw-category-chip{flex-basis:100px;}.rsw-category-chip__img{width:82px;height:82px;}}
