/* =============================================================
   SILVER NEEDLE — Storefront (clean minimal ethnic-wear layout)
   Navy (#152438) + Coral (#D18A7E) + cream. Manrope.
   Original design in the style of modern D2C ethnic stores.
   Loaded last — owns header / footer / home cascade.
   ============================================================= */
:root{
    --st-navy:#152438;
    --st-coral:#CC8173;
    --st-coral-deep:#b96f61;
    /* unify the whole coral accent to #CC8173 (overrides silverneedle/header tokens) */
    --sn-coral:#CC8173;
    --accent:#CC8173;
    --st-cream:#f7f3ef;
    --st-ink:#1f1f1f;
    --st-muted:#7a7a7a;
    --st-line:#ececec;
    --st-r:10px;
    --st-container:1440px;
}
.st-container{ max-width:var(--st-container); margin:0 auto; padding:0 28px; }
.shop-wide{ max-width:1600px !important; }

/* ============ ANNOUNCEMENT BAR ============ */
.st-announce{ position:relative; background:var(--cc); color:#fff; font-size:12.5px; font-weight:500; letter-spacing:.02em; text-align:center; padding:9px 44px; overflow:hidden; }
.st-announce-track{ position:relative; min-height:17px; }
.st-announce-slide{ display:none; }
.st-announce-slide.active{ display:block; animation:annFade .5s ease; }
@keyframes annFade{ from{ opacity:0; transform:translateY(5px); } to{ opacity:1; transform:none; } }
.st-announce-nav{ position:absolute; top:50%; transform:translateY(-50%); background:none; border:none; color:#fff; font-size:20px; line-height:1; cursor:pointer; opacity:.85; padding:2px 6px; display:flex; align-items:center; transition:opacity .2s; }
.st-announce-nav:hover{ opacity:1; }
.st-announce-nav.prev{ left:6px; }
.st-announce-nav.next{ right:6px; }
.st-announce .st-rot{ display:inline-block; }
.st-announce b{ color:var(--st-coral); font-weight:700; }

/* ============ HEADER ============ */
.st-header{ background:#fff; border-bottom:1px solid var(--st-line); position:sticky; top:0; z-index:55; }
.st-header-top{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; padding:8px 0; }
.st-header-social{ display:flex; align-items:center; gap:14px; }
.st-header-social a{ color:var(--st-navy); font-size:17px; transition:color .2s; }
.st-header-social a:hover{ color:var(--st-coral); }
.st-logo{ justify-self:center; display:flex; align-items:center; }
.st-logo img{ height:88px; width:auto; max-width:280px; object-fit:contain; }
.st-logo .st-logo-text{ font-size:27px; font-weight:800; color:var(--st-navy); letter-spacing:-.01em; }
.st-header-icons{ display:flex; align-items:center; justify-content:flex-end; gap:20px; }
.st-ic{ background:none; border:none; cursor:pointer; color:var(--st-navy); font-size:22px; position:relative; display:inline-flex; transition:color .2s; }
.st-ic:hover{ color:var(--st-coral); }
.st-badge{ position:absolute; top:-8px; right:-9px; background:var(--st-coral); color:#fff; font-size:10px; font-weight:700; min-width:17px; height:17px; border-radius:9px; display:flex; align-items:center; justify-content:center; padding:0 4px; }

/* Nav row */
.st-nav{ border-top:1px solid var(--st-line); }
.st-nav-inner{ display:flex; align-items:center; justify-content:center; gap:38px; }
.st-nav > .st-nav-item{ position:relative; }
.st-nav a.st-nav-link{ display:block; padding:15px 0; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.07em; color:var(--st-navy); white-space:nowrap; transition:color .2s; }
.st-nav a.st-nav-link:hover, .st-nav-item:hover > a.st-nav-link{ color:var(--st-coral); }
.st-nav-link .caret{ font-size:16px; vertical-align:middle; }
.st-nav-sale{ color:var(--st-coral-deep) !important; }
/* ===== Animated mega-dropdown ===== */
.st-has-drop{ position:relative; }
.st-nav-link .caret{ transition:transform .3s ease; }
.st-has-drop:hover .st-nav-link .caret{ transform:rotate(180deg); }
.st-dropdown{
    position:absolute; top:calc(100% + 14px); left:0;
    transform:translateY(12px) scale(.97); transform-origin:top left;
    width:392px; display:grid; grid-template-columns:1fr 1fr; gap:3px;
    background:#fff; border:1px solid var(--st-line); border-radius:16px;
    box-shadow:0 24px 52px -16px rgba(21,36,56,.30); padding:9px;
    opacity:0; visibility:hidden; z-index:70;
    transition:opacity .26s ease, transform .3s cubic-bezier(.2,.9,.25,1.12), visibility .26s;
}
.st-dropdown::before{ content:""; position:absolute; top:-16px; left:0; right:0; height:16px; } /* hover bridge */
.st-dropdown__arrow{ position:absolute; top:-7px; left:40px; transform:rotate(45deg); width:14px; height:14px; background:#fff; border-left:1px solid var(--st-line); border-top:1px solid var(--st-line); border-radius:4px 0 0 0; }
.st-has-drop:hover .st-dropdown{ opacity:1; visibility:visible; transform:translateY(0) scale(1); }

.st-drop-item{
    display:flex; align-items:center; gap:9px; padding:8px 9px; border-radius:10px;
    color:var(--st-navy); position:relative; text-transform:none; letter-spacing:0;
    opacity:0; transform:translateY(8px);
    transition:opacity .3s ease, transform .3s ease, background .2s ease;
}
.st-has-drop:hover .st-drop-item{ opacity:1; transform:translateY(0); }
.st-drop-item:hover{ background:var(--st-cream); }
.st-drop-ic{ width:32px; height:32px; border-radius:9px; background:var(--st-cream); color:var(--st-navy); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; transition:transform .25s ease, background .22s ease, color .22s ease; }
.st-drop-item:hover .st-drop-ic{ background:var(--cc); color:#fff; transform:rotate(-8deg) scale(1.08); }
.st-drop-tx{ display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.st-drop-tx strong{ font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.st-drop-tx small{ font-size:11px; color:var(--st-muted); margin-top:1px; }
.st-drop-item:hover .st-drop-tx strong{ color:var(--cc); }
.st-drop-go{ display:none; }
.st-drop-item--feat{ grid-column:1 / -1; background:linear-gradient(135deg, rgba(204,129,115,.14), rgba(204,129,115,.04)); margin-bottom:3px; padding:10px; }
.st-drop-item--feat .st-drop-ic{ background:var(--cc); color:#fff; }
.st-drop-item--feat:hover{ background:linear-gradient(135deg, rgba(204,129,115,.22), rgba(204,129,115,.08)); }

.st-drop-all{
    grid-column:1 / -1; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:3px; padding:11px;
    border-top:1px solid var(--st-line); font-size:11.5px; font-weight:700; text-transform:uppercase;
    letter-spacing:.09em; color:var(--st-navy);
    opacity:0; transform:translateY(8px); transition:opacity .3s ease, transform .3s ease, color .2s ease;
}
.st-has-drop:hover .st-drop-all{ opacity:1; transform:translateY(0); }
.st-drop-all:hover{ color:var(--cc); }
.st-drop-all i{ transition:transform .25s ease; }
.st-drop-all:hover i{ transform:translateX(5px); }

/* staggered reveal (children: arrow=1, feat=2, cats=3-10, all-link=11) */
.st-has-drop:hover .st-dropdown > a:nth-child(2){ transition-delay:.03s; }
.st-has-drop:hover .st-dropdown > a:nth-child(3){ transition-delay:.06s; }
.st-has-drop:hover .st-dropdown > a:nth-child(4){ transition-delay:.09s; }
.st-has-drop:hover .st-dropdown > a:nth-child(5){ transition-delay:.12s; }
.st-has-drop:hover .st-dropdown > a:nth-child(6){ transition-delay:.15s; }
.st-has-drop:hover .st-dropdown > a:nth-child(7){ transition-delay:.18s; }
.st-has-drop:hover .st-dropdown > a:nth-child(8){ transition-delay:.21s; }
.st-has-drop:hover .st-dropdown > a:nth-child(9){ transition-delay:.24s; }
.st-has-drop:hover .st-dropdown > a:nth-child(10){ transition-delay:.27s; }
.st-has-drop:hover .st-dropdown > a:nth-child(11){ transition-delay:.30s; }

/* Mobile */
.st-hamburger{ display:none; background:none; border:none; font-size:26px; color:var(--st-navy); cursor:pointer; }
.st-drawer-ov{ position:fixed; inset:0; background:rgba(21,36,56,.5); z-index:200; opacity:0; visibility:hidden; transition:.3s; }
.st-drawer-ov.open{ opacity:1; visibility:visible; }
.st-drawer{ position:fixed; top:0; left:0; bottom:0; width:84%; max-width:340px; background:#fff; z-index:201; transform:translateX(-105%); transition:transform .32s cubic-bezier(.25,1,.5,1); overflow-y:auto; }
.st-drawer.open{ transform:translateX(0); }
.st-drawer-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--st-line); }
.st-drawer-logo{ display:inline-flex; align-items:center; }
.st-drawer-logo img{ height:60px; width:auto; max-width:180px; object-fit:contain; display:block; }
.st-drawer-head .st-logo-text{ font-size:22px; font-weight:800; color:var(--st-navy); }
.st-drawer-head button{ background:none; border:none; font-size:26px; color:var(--st-navy); cursor:pointer; }
.st-drawer nav a{ display:block; padding:14px 20px; font-size:15px; font-weight:600; color:var(--st-navy); border-bottom:1px solid var(--st-line); }
.st-drawer nav a:hover{ background:var(--st-cream); color:var(--st-coral); }

/* ============ SECTIONS ============ */
.st-sec{ padding:64px 0; }
.st-sec--tight{ padding:34px 0; }
.st-sec-cream{ background:var(--st-cream); }
.st-shead{ text-align:center; margin-bottom:40px; }
.st-shead .kick{ color:var(--st-coral); text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:700; }
.st-shead h2{ font-size:clamp(26px,3.4vw,38px); font-weight:800; color:var(--st-navy); letter-spacing:-.02em; margin-top:10px; }
.st-shead p{ color:var(--st-muted); font-size:15px; margin-top:10px; max-width:600px; margin-left:auto; margin-right:auto; line-height:1.7; }
.st-shead-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:30px; }
.st-shead-row .l .kick{ color:var(--st-coral); text-transform:uppercase; letter-spacing:.2em; font-size:12px; font-weight:700; }
.st-shead-row .l h2{ font-size:clamp(22px,3vw,32px); font-weight:800; color:var(--st-navy); letter-spacing:-.02em; margin-top:6px; }
/* View All — animated pill (sliding fill + moving arrow) */
.st-viewall{
    position:relative; display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
    font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em;
    color:var(--st-navy); background:transparent; border:1.5px solid var(--st-navy);
    border-radius:999px; padding:11px 24px; overflow:hidden; z-index:0;
    transition:color .35s ease, border-color .35s ease;
}
.st-viewall::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--st-navy);
    transform:translateX(-101%); transition:transform .45s cubic-bezier(.65,0,.35,1); }
.st-viewall::after{ content:"\2192"; font-size:15px; line-height:1; transition:transform .35s ease; }
.st-viewall:hover{ color:#fff; border-color:var(--st-navy); }
.st-viewall:hover::before{ transform:translateX(0); }
.st-viewall:hover::after{ transform:translateX(5px); }
.st-viewall:active{ transform:scale(.97); }

/* Solid CTA button — sliding coral shine + arrow */
.st-btn{
    position:relative; display:inline-flex; align-items:center; gap:9px; overflow:hidden; z-index:0;
    background:var(--st-navy); color:#fff; font-size:13px; font-weight:700; text-transform:uppercase;
    letter-spacing:.1em; padding:15px 40px; border-radius:999px; border:none; cursor:pointer;
    transition:color .35s ease, box-shadow .35s ease, transform .2s ease;
}
.st-btn::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--st-coral);
    transform:translateY(101%); transition:transform .45s cubic-bezier(.65,0,.35,1); }
.st-btn::after{ content:"\2192"; font-size:16px; line-height:1; transition:transform .35s ease; }
.st-btn:hover{ color:#fff; box-shadow:0 14px 34px rgba(209,138,126,.4); }
.st-btn:hover::before{ transform:translateY(0); }
.st-btn:hover::after{ transform:translateX(5px); }
.st-btn:active{ transform:scale(.98); }
.st-btn-light{ background:#fff; color:var(--st-navy); }
.st-btn-light:hover{ color:#fff; }
.st-btn-light::after{ /* keep arrow */ }

/* ============ HERO ============ */
.st-hero{ position:relative; background:var(--st-navy); overflow:hidden; }
.st-hero__slide{ position:relative; height:clamp(440px,70vh,660px); }
.st-hero__slide img{ width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.st-hero__content{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:0 24px; background:linear-gradient(180deg, rgba(21,36,56,.28), rgba(21,36,56,.5)); }
.st-hero__eyebrow{ color:#fff; text-transform:uppercase; letter-spacing:.34em; font-size:12px; font-weight:600; margin-bottom:18px; }
.st-hero__title{ color:#fff; font-size:clamp(34px,5.4vw,60px); font-weight:800; line-height:1.04; letter-spacing:-.02em; margin-bottom:22px; max-width:820px; }
.st-hero__sub{ color:rgba(255,255,255,.9); font-size:16px; margin-bottom:30px; max-width:520px; }
.st-hero .swiper-pagination-bullet{ background:#fff; opacity:.5; }
.st-hero .swiper-pagination-bullet-active{ background:var(--st-coral); opacity:1; width:22px; border-radius:4px; }

/* ============ SHOP BY CATEGORY GRID (featured tile + grid) ============ */
.st-cat-heading{ font-size:clamp(28px,3.6vw,42px); font-weight:800; color:var(--st-navy); letter-spacing:-.015em; margin-bottom:26px; }
.st-catgrid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:290px; gap:16px; }
.st-cat{ position:relative; overflow:hidden; border-radius:var(--st-r); display:block; background:var(--st-cream); }
.st-cat--big{ grid-row:span 2; grid-column:1; }
.st-cat > img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.25,1,.5,1); }
.st-cat:hover > img{ transform:scale(1.05); }
.st-cat__ph{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:48px; color:var(--st-coral); }
.st-cat__ov{
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
    gap:12px; text-align:center; padding:22px 18px 22px;
    background:linear-gradient(180deg, rgba(21,36,56,0) 40%, rgba(21,36,56,.15) 68%, rgba(21,36,56,.62) 100%);
}
.st-cat__ov h3{ color:#fff; font-size:22px; font-weight:700; letter-spacing:.01em; text-shadow:0 2px 12px rgba(0,0,0,.45); }
.st-cat--big .st-cat__ov{ justify-content:flex-end; padding-bottom:32px; }
.st-cat--big .st-cat__ov h3{ font-size:30px; }
.st-cat__btn{
    background:var(--st-cream); color:var(--st-navy); font-size:12px; font-weight:700;
    text-transform:uppercase; letter-spacing:.08em; padding:11px 22px; border-radius:3px; transition:.22s;
}
.st-cat:hover .st-cat__btn{ background:var(--st-coral); color:#fff; }

/* ============ TIGHTER GAP after Shop by Categories ============ */
.st-catsec{ padding-bottom:26px; }
.st-brandsec{ padding-top:40px; }

/* ============ BEST SELLERS — premium highlighted ============ */
.st-best{ position:relative; overflow:hidden; background:linear-gradient(140deg,#101d30 0%, #152438 46%, #223650 100%); }
.st-best::before{ content:""; position:absolute; top:-28%; right:-8%; width:540px; height:540px; border-radius:50%; background:radial-gradient(circle, rgba(209,138,126,.22), transparent 68%); pointer-events:none; }
.st-best::after{ content:""; position:absolute; bottom:-32%; left:-10%; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle, rgba(184,199,226,.14), transparent 70%); pointer-events:none; }
.st-best .st-container{ position:relative; z-index:2; }
.st-best-head{ text-align:center; margin-bottom:46px; display:flex; flex-direction:column; align-items:center; }
.st-best-title{ position:relative; color:#fff; font-size:clamp(30px,4.2vw,48px); font-weight:800; letter-spacing:-.02em; padding-bottom:16px; }
.st-best-title::after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:0; height:3px; border-radius:3px; background:linear-gradient(90deg,transparent,var(--st-coral),transparent); animation:stLine 1s ease-out forwards .25s; }
.st-best-eyebrow{ display:inline-flex; align-items:center; gap:8px; color:var(--st-coral); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.24em; margin-top:18px; }
.st-best-eyebrow i{ animation:stTwinkle 2.4s ease-in-out infinite; }
.st-best-sub{ color:rgba(255,255,255,.72); font-size:15px; margin-top:14px; max-width:520px; }
.st-best-cta{ text-align:center; margin-top:44px; }
.st-best .st-pcar-nav button{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.25); color:#fff; }
.st-best .st-pcar-nav button:hover{ background:var(--st-coral); border-color:var(--st-coral); }

/* Premium product cards on the dark band */
.st-best .product-card{ background:#fff; border-radius:12px; padding:0; overflow:hidden; box-shadow:0 12px 34px rgba(0,0,0,.22); transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s; animation:stCardIn .7s cubic-bezier(.2,.8,.2,1) both; }
.st-best .product-card:hover{ transform:translateY(-8px); box-shadow:0 26px 56px rgba(0,0,0,.36); }
.st-best .product-card-image{ border-radius:0; }
.st-best .product-card-image::after{ content:""; position:absolute; inset:0; z-index:4; pointer-events:none; background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.4) 50%, transparent 70%); transform:translateX(-130%); transition:transform .85s ease; }
.st-best .product-card:hover .product-card-image::after{ transform:translateX(130%); }
.st-best .product-card-body{ padding:14px 14px 16px !important; }
.st-best .swiper-slide:nth-child(1) .product-card{ animation-delay:.05s; }
.st-best .swiper-slide:nth-child(2) .product-card{ animation-delay:.13s; }
.st-best .swiper-slide:nth-child(3) .product-card{ animation-delay:.21s; }
.st-best .swiper-slide:nth-child(4) .product-card{ animation-delay:.29s; }
.st-best .swiper-slide:nth-child(5) .product-card{ animation-delay:.37s; }
.st-best .swiper-slide:nth-child(6) .product-card{ animation-delay:.45s; }
@keyframes stCardIn{ from{ opacity:0; transform:translateY(28px); } to{ opacity:1; transform:none; } }
@keyframes stLine{ to{ width:130px; } }
@keyframes stTwinkle{ 0%,100%{ opacity:.5; transform:scale(.9) rotate(0); } 50%{ opacity:1; transform:scale(1.18) rotate(12deg); } }
@media (prefers-reduced-motion:reduce){
    .st-best .product-card, .st-best-title::after, .st-best-eyebrow i, .st-best .product-card-image::after{ animation:none !important; transition:none !important; }
    .st-best-title::after{ width:130px; }
}

/* ============ CATEGORY CAROUSEL (compact, New-Arrivals layout) ============ */
.st-catcard{ position:relative; display:block; aspect-ratio:3/4; border-radius:6px; overflow:hidden; background:var(--st-cream); }
.st-catcard img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.25,1,.5,1); }
.st-catcard:hover img{ transform:scale(1.06); }
.st-catcard__ph{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:40px; color:var(--st-coral); }
.st-catcard__ov{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:12px; padding:22px 14px; text-align:center; background:linear-gradient(to top, rgba(21,36,56,.55), rgba(21,36,56,.05) 55%); }
.st-catcard__ov h3{ color:#fff; font-size:18px; font-weight:700; letter-spacing:.01em; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.st-catcard__btn{ background:var(--st-cream); color:var(--st-navy); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; padding:9px 16px; border-radius:3px; transition:.22s; }
.st-catcard:hover .st-catcard__btn{ background:var(--st-coral); color:#fff; }

/* ============ BRAND BLOCK ============ */
.st-brand{ text-align:center; max-width:820px; margin:0 auto; }
.st-brand h2{ font-size:clamp(24px,3.2vw,34px); font-weight:800; color:var(--st-navy); letter-spacing:-.02em; margin-bottom:16px; }
.st-brand p{ color:var(--st-muted); font-size:16px; line-height:1.9; }
.st-brand .st-brand-mark{ color:var(--st-coral); font-size:26px; margin-bottom:14px; }

/* ============ PRODUCT CAROUSEL ============ */
.st-pcar{ position:relative; }
.st-pcar .swiper{ padding-bottom:6px; }
.st-pcar .swiper-slide{ height:auto; }
/* Side-positioned arrows — vertically centered on the image band, never overlap View All */
.st-pcar-nav{ position:static; }
.st-pcar-nav button{
    position:absolute; top:calc(50% - 26px); transform:translateY(-50%); z-index:6;
    width:46px; height:46px; border-radius:50%; border:1px solid var(--st-line);
    background:#fff; color:var(--st-navy); cursor:pointer; font-size:20px;
    display:flex; align-items:center; justify-content:center; transition:.2s;
    box-shadow:0 6px 20px rgba(21,36,56,.15);
}
.st-pcar-nav button:first-child{ left:-6px; }
.st-pcar-nav button:last-child{ right:-6px; }
.st-pcar-nav button:hover{ background:var(--st-navy); color:#fff; border-color:var(--st-navy); }
.st-pcar-nav button.swiper-button-disabled{ opacity:0; pointer-events:none; }

/* ===== Product cards — clean minimal portrait (dhaage-style) ===== */
.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px 20px; }
/* Clean minimal card — override legacy grocery !important rules (supgor.css) */
.product-card{ position:relative; background:transparent; border:none; padding:0; box-shadow:none; border-radius:0; overflow:visible; }
.product-card:hover{ box-shadow:none; transform:none; border-color:transparent; }
.product-card-image{
    position:relative; aspect-ratio:3/4 !important; border-radius:8px !important; overflow:hidden;
    background:var(--st-cream) !important; border:none !important; margin:0 !important;
}
.product-card-image > a{ display:block; position:absolute; inset:0; }
.product-card-image img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover !important; padding:0 !important; display:block; }
.product-card-body{ padding:12px 0 0 !important; text-align:left; }
/* Front / back image swap on hover */
.pc-img-alt{ position:absolute; inset:0; opacity:0; transition:opacity .5s ease; }
.product-card.has-alt:hover .pc-img-alt{ opacity:1; }
.product-card.has-alt:hover .pc-img-primary{ opacity:0; transition:opacity .5s ease; }
.product-card:not(.has-alt) .product-card-image img{ transition:transform .7s cubic-bezier(.25,1,.5,1); }
.product-card:not(.has-alt):hover .product-card-image img{ transform:scale(1.05); }

/* Badges — top-left, understated */
.product-badges{ position:absolute; top:12px; left:12px; z-index:3; display:flex; flex-direction:column; gap:6px; }
.badge{ display:inline-block; padding:5px 10px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; border-radius:4px; }
.badge-sale{ background:var(--st-coral); color:#fff; }
.badge-new{ background:var(--st-navy); color:#fff; }
.badge-soldout{ background:#fff; color:var(--st-navy); border:1px solid var(--st-line); }

/* Wishlist — subtle, top-right, appears on hover */
.product-wishlist-btn{
    position:absolute; top:10px; right:10px; z-index:3; width:36px; height:36px; border-radius:50%;
    background:rgba(255,255,255,.92); color:var(--st-navy); border:none; cursor:pointer; font-size:17px;
    display:flex; align-items:center; justify-content:center; opacity:0; transform:translateY(-4px); transition:.25s;
}
.product-card:hover .product-wishlist-btn{ opacity:1; transform:translateY(0); }
.product-wishlist-btn:hover{ background:var(--st-coral); color:#fff; }
.product-wishlist-btn.wishlisted{ opacity:1; transform:none; color:var(--st-coral); }

/* Add to bag — slides up on hover */
.quick-add-btn{
    position:absolute; left:12px; right:12px; bottom:12px; z-index:3; padding:12px; border:none; cursor:pointer;
    background:var(--st-navy); color:#fff; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
    border-radius:999px; display:flex; align-items:center; justify-content:center; gap:7px;
    opacity:0; transform:translateY(12px); transition:.3s cubic-bezier(.16,1,.3,1);
}
.product-card:hover .quick-add-btn{ opacity:1; transform:translateY(0); }
.quick-add-btn:hover{ background:var(--st-coral); }

/* Body — left aligned, minimal */
.product-card-body{ text-align:left; padding-top:14px; }
.product-card-category{ display:none; }
.product-card-title{ color:var(--st-navy); font-weight:500; font-size:14.5px; line-height:1.4; margin-bottom:7px; -webkit-line-clamp:2; }
.product-card-title a:hover{ color:var(--st-coral); }
.product-card-price{ display:flex; align-items:baseline; gap:9px; justify-content:flex-start; }
.price-current{ color:var(--st-navy); font-weight:700; font-size:15px; }
.price-original{ color:var(--st-muted); font-size:13px; text-decoration:line-through; }
.price-off{ color:var(--st-coral); font-size:12px; font-weight:700; }

/* ============ FEATURE / PROMO BANNER ============ */
.st-promo{ position:relative; border-radius:16px; overflow:hidden; min-height:340px; display:flex; align-items:center; }
.st-promo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.st-promo__grad{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(21,36,56,.62), rgba(21,36,56,.06)); }
.st-promo__body{ position:relative; z-index:2; padding:52px; max-width:540px; }
.st-promo__body h2{ color:#fff; font-size:clamp(28px,3.6vw,42px); font-weight:800; line-height:1.1; margin-bottom:14px; letter-spacing:-.02em; }
.st-promo__body p{ color:rgba(255,255,255,.9); font-size:15px; margin-bottom:24px; }

/* ============ TRUST STRIP ============ */
.st-trust{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.st-trust__i{ text-align:center; padding:8px; }
.st-trust__i i{ font-size:32px; color:var(--st-coral); }
.st-trust__i h4{ font-size:14px; font-weight:700; color:var(--st-navy); margin-top:10px; }
.st-trust__i p{ font-size:12.5px; color:var(--st-muted); margin-top:3px; }

/* ============ FOOTER — premium ============ */
.st-foot{ position:relative; overflow:hidden; color:rgba(255,255,255,.72);
    background:linear-gradient(160deg,#0d1725 0%, #152438 50%, #1c2c42 100%);
    border-top:3px solid transparent; border-image:linear-gradient(90deg,transparent,var(--st-coral),transparent) 1; }
.st-foot-glow{ position:absolute; top:-30%; left:50%; transform:translateX(-50%); width:900px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(209,138,126,.16), transparent 68%); pointer-events:none; }
.st-foot .st-container{ position:relative; z-index:2; }

/* USP strip */
.st-foot-usp{ position:relative; z-index:2; border-bottom:1px solid rgba(255,255,255,.08); }
.st-foot-usp-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:30px 0; }
.st-foot-usp-grid > div{ display:flex; align-items:center; gap:14px; justify-content:center; }
.st-foot-usp-grid > div + div{ border-left:1px solid rgba(255,255,255,.08); }
.st-foot-usp-grid i{ font-size:28px; color:var(--st-coral); }
.st-foot-usp-grid span{ display:flex; flex-direction:column; font-size:14px; font-weight:700; color:#fff; }
.st-foot-usp-grid small{ font-size:12px; font-weight:400; color:rgba(255,255,255,.6); margin-top:2px; }

/* Columns */
.st-foot-grid{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1.2fr; gap:44px; padding:56px 0 40px; }
.st-foot-logo{ display:inline-flex; background:#fff; padding:10px 14px; border-radius:12px; margin-bottom:18px; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.st-foot-logo img{ height:58px; width:auto; object-fit:contain; }
.st-foot-logo .st-logo-text{ color:var(--st-navy); font-size:22px; font-weight:800; }
.st-foot-brand p{ font-size:14px; line-height:1.75; margin-bottom:20px; max-width:340px; color:rgba(255,255,255,.66); }
.st-foot-social{ display:flex; gap:12px; }
.st-foot-social a{ width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; transition:.25s; }
.st-foot-social a:hover{ background:var(--st-coral); border-color:var(--st-coral); transform:translateY(-3px); }
.st-foot-col h4{ position:relative; color:#fff; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; margin-bottom:22px; padding-bottom:12px; }
.st-foot-col h4::after{ content:""; position:absolute; left:0; bottom:0; width:28px; height:2px; background:var(--st-coral); border-radius:2px; }
.st-foot-col ul li{ margin-bottom:12px; }
.st-foot-col ul a{ font-size:14px; color:rgba(255,255,255,.66); transition:.2s; display:inline-block; }
.st-foot-col ul a:hover{ color:var(--st-coral); transform:translateX(4px); }
.st-foot-contact li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; margin-bottom:13px; color:rgba(255,255,255,.66); line-height:1.55; }
.st-foot-contact li i{ color:var(--st-coral); font-size:17px; margin-top:1px; }
.st-foot-contact a{ color:rgba(255,255,255,.66); } .st-foot-contact a:hover{ color:var(--st-coral); }

/* Bottom bar */
.st-foot-bottom{ border-top:1px solid rgba(255,255,255,.09); position:relative; z-index:2; }
.st-foot-bottom-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0; flex-wrap:wrap; }
.st-foot-bottom p{ font-size:13px; color:rgba(255,255,255,.6); }
.st-foot-bottom strong{ color:#fff; }
.st-foot-bottom .heart{ color:var(--st-coral); }
.st-foot-pay{ display:flex; align-items:center; gap:9px; font-size:12px; color:rgba(255,255,255,.55); }
.st-foot-pay i{ font-size:26px; color:rgba(255,255,255,.85); }
.st-foot-pay .tag{ border:1px solid rgba(255,255,255,.22); border-radius:5px; padding:3px 9px; font-size:11px; font-weight:700; color:#fff; letter-spacing:.03em; }

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
    .st-catgrid{ grid-template-columns:repeat(3,1fr); grid-auto-rows:250px; }
    .product-grid{ grid-template-columns:repeat(3,1fr); }
    .st-foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:768px){
    /* Mobile header: menu icon left, logo centered, search + cart on the right */
    .st-header-top{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; }
    .st-header-social{ display:none; }
    .st-hamburger{ display:inline-flex; justify-self:start; margin:0; }
    .st-logo{ justify-self:center; margin:0; }
    .st-header-icons{ justify-self:end; margin:0; gap:16px; }
    .st-header-icons .st-ic[aria-label="Account"],
    .st-header-icons .st-ic[aria-label="Wishlist"]{ display:none; }
    .st-nav{ display:none; }
    .st-logo img{ height:56px; }
    .st-catgrid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:190px; gap:12px; }
    .st-cat--big{ grid-column:1 / -1; grid-row:span 2; height:auto; }
    .st-cat--big .st-cat__ov h3{ font-size:28px; }
    .st-cat__ov{ padding:16px 10px; gap:10px; }
    .st-cat__ov h3{ font-size:17px; }
    .st-cat__btn{ font-size:9.5px; padding:7px 12px; letter-spacing:.04em; white-space:nowrap; }
    .st-cat--big .st-cat__btn{ font-size:11px; padding:9px 16px; }
    .product-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
    .st-trust{ grid-template-columns:repeat(2,1fr); gap:18px; }
    .st-foot-grid{ grid-template-columns:1fr 1fr; gap:30px; }
    .st-foot-usp-grid{ grid-template-columns:1fr 1fr; gap:0; }
    .st-foot-usp-grid > div{ justify-content:flex-start; padding:16px 10px; }
    .st-foot-usp-grid > div + div{ border-left:none; }
    .st-foot-usp-grid > div:nth-child(even){ border-left:1px solid rgba(255,255,255,.08); }
    .st-sec{ padding:44px 0; }
    .st-promo__body{ padding:32px; }
    .st-pcar-nav{ display:none; }
    .st-best-cta{ margin-top:32px; }
}
@media (max-width:520px){
    .st-foot-grid{ grid-template-columns:1fr; }
    .st-foot-bottom-inner{ flex-direction:column; text-align:center; gap:12px; }
}
@media (max-width:480px){
    .st-hero__slide{ height:64vh; }
    .st-news form{ flex-direction:column; }
}

/* =============================================================
   #CC8173 — buttons, pagination & auth left panel
   ============================================================= */
:root{ --cc:#CC8173; --cc-dark:#b96f61; }

/* Solid CTA buttons (home hero/promo/best-sellers) */
.st-btn{ background:var(--cc); }
.st-btn::before{ background:var(--st-navy); }
.st-btn-light{ background:#fff; }
.st-btn-light::before{ background:var(--cc); }

/* Generic primary buttons (shop, empty states, product page) */
.btn-primary, .sn-btn-cart{ background:var(--cc) !important; border-color:var(--cc) !important; color:#fff !important; }
.btn-primary:hover, .sn-btn-cart:hover{ background:var(--st-navy) !important; border-color:var(--st-navy) !important; }
.add-to-cart-btn:hover{ background:var(--cc) !important; border-color:var(--cc) !important; }
.quick-add-btn{ background:var(--cc); color:#fff; }
.quick-add-btn:hover{ background:var(--st-navy); }

/* "View All" pill → coral */
.st-viewall{ border-color:var(--cc); color:var(--cc); }
.st-viewall::before{ background:var(--cc); }
.st-viewall:hover{ color:#fff; border-color:var(--cc); }

/* Pagination */
.pagination .page-link.active{ background:var(--cc) !important; border-color:var(--cc) !important; color:#fff !important; }
.pagination .page-link:hover{ border-color:var(--cc) !important; color:var(--cc) !important; }

/* Auth (login / register / forgot) — left brand panel */
.auth-visual{ background:var(--cc) !important; background-image:none !important; }
.auth-visual-overlay{ background:linear-gradient(155deg, rgba(204,129,115,.12), rgba(21,36,56,.30)) !important; }
.auth-brand .logo-mark{ background:rgba(255,255,255,.18) !important; color:#fff !important; }
.auth-feature i{ color:#fff !important; }
.auth-submit{ background:var(--cc) !important; }
.auth-submit:hover{ background:var(--cc-dark) !important; }
.auth-link, .auth-form-footer a{ color:var(--cc) !important; }
.auth-input-group input:focus{ border-color:var(--cc) !important; }

/* =============================================================
   PRODUCT DETAIL — refinements
   ============================================================= */
/* Product gallery column size */
.sn-pd{ grid-template-columns:minmax(0,540px) 1fr !important; gap:52px !important; align-items:start; }

/* Add to Cart / Buy Now / Wishlist in one row */
.sn-pd__actions{ flex-direction:row !important; align-items:stretch; gap:12px !important; flex-wrap:nowrap; }
.sn-btn-cart, .sn-btn-buy{ flex:1; }
.sn-wish-icon{
    flex:0 0 auto; width:56px; border:1px solid var(--st-navy); border-radius:var(--st-r);
    background:#fff; color:var(--st-navy); cursor:pointer; font-size:22px;
    display:flex; align-items:center; justify-content:center; transition:.2s;
}
.sn-wish-icon:hover{ color:var(--cc); border-color:var(--cc); }
.sn-wish-icon.is-active, .sn-wish-icon.wishlisted{ color:var(--cc); border-color:var(--cc); background:#fff; }
.sn-wish-icon.is-active i{ font-weight:900; }

/* Full-width details row below the image */
.sn-pd-details{ margin-top:52px; border-top:1px solid var(--st-line); }
.sn-pd-details .sn-acc{ max-width:none; }

/* Related products */
.sn-related{ margin-top:60px; }
.sn-related__head{ text-align:center; margin-bottom:34px; }
.sn-related__head .kick{ color:var(--cc); text-transform:uppercase; letter-spacing:.2em; font-size:12px; font-weight:700; }
.sn-related__head h2{ font-size:clamp(24px,3vw,34px); font-weight:800; color:var(--st-navy); letter-spacing:-.02em; margin-top:8px; }
.sn-related .product-grid{ grid-template-columns:repeat(4,1fr); gap:40px 16px; }

/* Zoom lightbox */
.sn-zoom-overlay{
    position:fixed; inset:0; z-index:2000; background:rgba(15,22,37,.9);
    display:flex; align-items:center; justify-content:center; padding:30px;
    opacity:0; visibility:hidden; transition:opacity .3s ease;
}
.sn-zoom-overlay.open{ opacity:1; visibility:visible; }
.sn-zoom-overlay img{ max-width:92vw; max-height:90vh; object-fit:contain; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.sn-zoom-close{
    position:absolute; top:22px; right:28px; width:46px; height:46px; border-radius:50%;
    background:rgba(255,255,255,.14); color:#fff; border:none; font-size:28px; line-height:1; cursor:pointer; transition:.2s;
}
.sn-zoom-close:hover{ background:var(--cc); }
.sn-pd__zoom{ cursor:pointer; }
.sn-pd__main{ cursor:zoom-in; }

@media (max-width:900px){
    .sn-pd{ grid-template-columns:1fr !important; }
    .sn-related .product-grid{ grid-template-columns:repeat(2,1fr); gap:30px 12px; }
}
@media (max-width:520px){
    .sn-pd__actions{ flex-wrap:wrap; }
    .sn-btn-cart, .sn-btn-buy{ flex:1 1 100%; }
    .sn-wish-icon{ width:100%; height:48px; }
}

/* =============================================================
   PRODUCT DETAIL — animated tabbed details
   ============================================================= */
.sn-pd-details{ margin-top:56px; }
.sn-tabs__nav{ position:relative; display:flex; gap:6px; border-bottom:1px solid var(--st-line); flex-wrap:wrap; }
.sn-tab{
    background:none; border:none; cursor:pointer; padding:16px 24px; font-size:13.5px; font-weight:700;
    color:var(--st-muted); text-transform:uppercase; letter-spacing:.06em;
    display:inline-flex; align-items:center; gap:9px; transition:color .3s ease; position:relative;
}
.sn-tab i{ font-size:18px; transition:transform .3s ease; }
.sn-tab:hover{ color:var(--st-navy); }
.sn-tab:hover i{ transform:translateY(-2px); }
.sn-tab.is-active{ color:var(--cc); }
.sn-tabs__ind{
    position:absolute; bottom:-1px; left:0; height:3px; width:0; background:var(--cc); border-radius:3px;
    transition:left .4s cubic-bezier(.65,0,.35,1), width .4s cubic-bezier(.65,0,.35,1);
}
.sn-tabs__panels{ padding:34px 2px 6px; }
.sn-tab-panel{ display:none; }
.sn-tab-panel.is-active{ display:block; animation:snPanelIn .5s cubic-bezier(.2,.8,.2,1) both; }
@keyframes snPanelIn{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }

.sn-rte{ color:var(--st-muted); font-size:15.5px; line-height:1.9; max-width:860px; }
.sn-rte p{ margin:0 0 14px; }
.sn-rte ul{ margin:0 0 14px; padding-left:20px; }
.sn-rte li{ margin-bottom:8px; }

.sn-detail-list{ list-style:none; margin:0; padding:0; display:grid; gap:14px; max-width:860px; }
.sn-detail-list li{ display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--st-muted); line-height:1.6; }
.sn-detail-list li i{ color:var(--cc); font-size:20px; margin-top:1px; flex-shrink:0; }

.sn-ship-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.sn-ship-grid > div{ padding:26px 20px; border:1px solid var(--st-line); border-radius:14px; text-align:center; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sn-ship-grid > div:hover{ border-color:var(--cc); transform:translateY(-6px); box-shadow:0 18px 40px rgba(21,36,56,.10); }
.sn-ship-grid i{ font-size:32px; color:var(--cc); }
.sn-ship-grid strong{ display:block; margin:12px 0 5px; color:var(--st-navy); font-size:15px; }
.sn-ship-grid p{ font-size:13px; color:var(--st-muted); line-height:1.5; }
@media (max-width:900px){ .sn-ship-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){
    .sn-ship-grid{ grid-template-columns:1fr; }
    .sn-tab{ padding:14px 16px; font-size:12.5px; }
    .sn-tab span{ display:inline; }
}

/* =============================================================
   MOBILE — keep section headings & CTA buttons on one line
   ============================================================= */
.st-btn{ white-space:nowrap; }
.st-shead-row .l h2, .st-shead h2{ white-space:nowrap; }
@media (max-width:560px){
    .st-shead-row{ margin-bottom:22px; }
    .st-shead-row .l h2{ font-size:20px; }
    .st-shead-row .l .kick{ font-size:11px; letter-spacing:.16em; }
    .st-shead h2{ font-size:22px; }
    .st-viewall{ padding:9px 16px; font-size:11px; letter-spacing:.08em; }
    .st-btn{ font-size:12px; padding:14px 26px; letter-spacing:.06em; }
    .st-hero__title{ font-size:clamp(26px,7vw,34px); }
}
@media (max-width:380px){
    .st-shead-row .l h2{ font-size:18px; }
    .st-viewall{ padding:8px 13px; }
}

/* Product detail — trust badges strip */
.sn-pd-usp{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:28px 0 8px; padding:22px 0; border-top:1px solid var(--st-line); border-bottom:1px solid var(--st-line); }
.sn-pd-usp__i{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.sn-pd-usp__i i{ font-size:30px; color:var(--st-navy); }
.sn-pd-usp__i span{ font-size:12px; font-weight:700; color:var(--st-navy); line-height:1.35; letter-spacing:.02em; }
.sn-pd-usp__i + .sn-pd-usp__i{ border-left:1px solid var(--st-line); }
@media (max-width:520px){
    .sn-pd-usp{ grid-template-columns:repeat(2,1fr); gap:0; }
    .sn-pd-usp__i{ padding:16px 8px; }
    .sn-pd-usp__i:nth-child(2){ border-left:1px solid var(--st-line); }
    .sn-pd-usp__i:nth-child(3), .sn-pd-usp__i:nth-child(4){ border-top:1px solid var(--st-line); }
    .sn-pd-usp__i:nth-child(3){ border-left:none; }
}

/* =============================================================
   MOBILE FIXES — promo heading, hero height, footer USP
   ============================================================= */
@media (max-width:768px){
    /* Promo banner heading smaller */
    .st-promo{ min-height:280px; }
    .st-promo__body{ padding:26px; }
    .st-promo__body h2{ font-size:22px; line-height:1.2; }
    .st-promo__body p{ font-size:14px; margin-bottom:18px; }

    /* Hero slider shorter (was too long on phones) */
    .st-hero__slide{ height:52vh !important; min-height:340px; max-height:520px; }
    .st-hero__slide img{ object-position:center 15%; }

    /* Footer USP → clean 2x2 grid */
    .st-foot-usp{ padding:6px 0; }
    .st-foot-usp-grid{ grid-template-columns:1fr 1fr !important; gap:0 !important; padding:8px 0 !important; }
    .st-foot-usp-grid > div{ flex-direction:column; align-items:center; text-align:center; gap:8px; padding:22px 10px; border-left:none !important; }
    .st-foot-usp-grid > div:nth-child(2n){ border-left:1px solid rgba(255,255,255,.09) !important; }
    .st-foot-usp-grid > div:nth-child(n+3){ border-top:1px solid rgba(255,255,255,.09) !important; }
    .st-foot-usp-grid i{ font-size:26px; color:var(--st-coral); }
    .st-foot-usp-grid span{ align-items:center; font-size:13px; }
    .st-foot-usp-grid small{ font-size:11px; line-height:1.4; }
}
@media (max-width:420px){
    .st-promo__body h2{ font-size:20px; }
    .st-hero__slide{ height:46vh !important; min-height:320px; }
}

/* =============================================================
   Product qty spinner off + selected size #CC8173
   ============================================================= */
/* Hide the native number-input up/down spinner (we have − / + buttons) */
.sn-qty input::-webkit-outer-spin-button,
.sn-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; appearance:none; margin:0; }
.sn-qty input{ -moz-appearance:textfield; appearance:textfield; }

/* Selected size chip = coral #CC8173 */
.sn-size.is-active{ background:#CC8173 !important; border-color:#CC8173 !important; color:#fff !important; }
.sn-size:hover:not(.is-disabled){ border-color:#CC8173 !important; }

/* =============================================================
   Remove legacy GREEN — replace all green shadows with theme colours
   ============================================================= */
/* Back to Top — theme colour */
.back-to-top{ background:var(--st-navy) !important; color:#fff !important; box-shadow:0 8px 24px rgba(21,36,56,.30) !important; }
.back-to-top:hover{ background:var(--cc) !important; }

/* Green box-shadows → navy / coral (supgor.css) */
.value-card:hover{ box-shadow:0 16px 40px rgba(21,36,56,.12) !important; }
.quick-add-btn{ box-shadow:0 6px 18px rgba(204,129,115,.35) !important; }
.auth-input-group input:focus{ box-shadow:0 0 0 4px rgba(204,129,115,.14) !important; border-color:var(--cc) !important; }
.auth-submit{ box-shadow:0 4px 16px rgba(204,129,115,.28) !important; }
.auth-submit:hover{ box-shadow:0 10px 26px rgba(204,129,115,.40) !important; }

/* Account pages green shadows (account.css) */
.ac-tab.active, .ac-btn, .ac-avatar, .ac-nav-link.active{ box-shadow:0 8px 22px rgba(21,36,56,.18) !important; }
.ac-field input:focus, .ac-field select:focus, .ac-field textarea:focus{ box-shadow:0 0 0 4px rgba(204,129,115,.14) !important; border-color:var(--cc) !important; }

/* =============================================================
   PRODUCT DETAIL — mobile refinements
   ============================================================= */
@media (max-width:600px){
    /* Smaller product name & price */
    .sn-pd__title{ font-size:20px !important; }
    .sn-pd__eyebrow{ font-size:11px; letter-spacing:.16em; }
    .sn-pd__price{ font-size:22px; }
    .sn-pd__price-old{ font-size:15px; }

    /* Add to Cart / Buy Now / Wishlist — ONE row */
    .sn-pd__actions{ flex-direction:row !important; flex-wrap:nowrap !important; gap:8px !important; }
    .sn-btn-cart, .sn-btn-buy{ flex:1 1 auto !important; padding:14px 6px !important; font-size:11px !important; letter-spacing:.05em !important; }
    .sn-wish-icon{ flex:0 0 48px !important; width:48px !important; height:auto !important; font-size:19px !important; }

    /* Trust badges — all 4 in one row */
    .sn-pd-usp{ grid-template-columns:repeat(4,1fr) !important; gap:0 !important; padding:18px 0 !important; }
    .sn-pd-usp__i{ padding:0 4px !important; gap:7px !important; border-top:none !important; }
    .sn-pd-usp__i + .sn-pd-usp__i{ border-left:1px solid var(--st-line) !important; }
    .sn-pd-usp__i i{ font-size:22px !important; }
    .sn-pd-usp__i span{ font-size:9.5px !important; line-height:1.25 !important; }

    /* Tabs — single scrollable row, first active in coral */
    .sn-tabs__nav{ flex-wrap:nowrap !important; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
    .sn-tabs__nav::-webkit-scrollbar{ display:none; }
    .sn-tab{ padding:13px 14px !important; font-size:11.5px !important; white-space:nowrap; flex-shrink:0; }
    .sn-tab i{ font-size:15px !important; }
    .sn-tabs__ind{ bottom:0 !important; }
    .sn-tabs__panels{ padding-top:26px; }
}

/* =============================================================
   SEARCH form (clean) + ZOOM mobile
   ============================================================= */
.sn-search-form{ display:flex; gap:10px; max-width:620px; margin:0 auto 34px; }
.sn-search-input{ position:relative; flex:1; }
.sn-search-input i{ position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--st-muted); font-size:18px; pointer-events:none; }
.sn-search-input input{ width:100%; height:52px; padding:0 16px 0 46px; border:1px solid var(--st-line); border-radius:10px; font-size:15px; color:var(--st-navy); background:#fff; }
.sn-search-input input::placeholder{ color:var(--st-muted); }
.sn-search-input input:focus{ outline:none; border-color:var(--cc); box-shadow:0 0 0 3px rgba(204,129,115,.15); }
.sn-search-btn{ flex:0 0 auto; padding:0 30px; height:52px; background:var(--cc); color:#fff; border:none; border-radius:10px; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; transition:background .2s; }
.sn-search-btn:hover{ background:var(--st-navy); }
@media (max-width:480px){
    .sn-search-form{ gap:8px; }
    .sn-search-input input{ height:48px; font-size:14px; padding-left:42px; }
    .sn-search-input i{ left:14px; font-size:17px; }
    .sn-search-btn{ padding:0 18px; height:48px; font-size:12px; }
}

/* Zoom lightbox — mobile */
@media (max-width:560px){
    .sn-zoom-overlay{ padding:14px; }
    .sn-zoom-overlay img{ max-width:96vw; max-height:82vh; border-radius:4px; }
    .sn-zoom-close{ top:12px; right:14px; width:40px; height:40px; font-size:24px; }
}

/* =============================================================
   AUTH pages mobile — remove blank space, form top-aligned
   ============================================================= */
@media (max-width:900px){
    .auth-page, .auth-split{ min-height:auto !important; }
    .auth-form-side{ align-items:flex-start !important; justify-content:flex-start !important; min-height:auto !important; padding:34px 22px 52px !important; }
    .auth-form-wrapper{ margin:0 auto !important; }
    .auth-form-header{ margin-bottom:24px; }
}

/* Related products — 1 per row on mobile */
@media (max-width:600px){
    .sn-related .product-grid{ grid-template-columns:1fr !important; gap:26px 0 !important; }
}

/* =============================================================
   SEARCH POPUP (AJAX, slides from top)
   ============================================================= */
.st-search-pop{ position:fixed; inset:0; z-index:120; visibility:hidden; }
.st-search-pop.open{ visibility:visible; }
.st-search-pop__backdrop{ position:absolute; inset:0; background:rgba(21,36,56,.42); opacity:0; transition:opacity .3s ease; }
.st-search-pop.open .st-search-pop__backdrop{ opacity:1; }
.st-search-pop__panel{
    position:absolute; top:0; left:0; right:0; background:#fff;
    padding:16px 0; box-shadow:0 14px 40px rgba(21,36,56,.16);
    transform:translateY(-102%); transition:transform .38s cubic-bezier(.25,1,.5,1);
}
.st-search-pop.open .st-search-pop__panel{ transform:translateY(0); }
.st-search-pop__row{ display:flex; align-items:center; gap:14px; }
.st-search-pop__field{ flex:1; display:flex; align-items:center; border:1px solid var(--st-navy); border-radius:6px; padding:0 6px 0 18px; }
.st-search-pop__field input{ flex:1; border:none; outline:none; background:none; font-size:16px; color:var(--st-navy); padding:15px 0; }
.st-search-pop__field input::placeholder{ color:var(--st-muted); }
.st-search-pop__go{ background:none; border:none; cursor:pointer; color:var(--st-navy); font-size:21px; padding:6px 10px; display:flex; }
.st-search-pop__go:hover{ color:var(--cc); }
.st-search-pop__close{ background:none; border:none; cursor:pointer; color:var(--st-navy); font-size:28px; line-height:1; display:flex; flex-shrink:0; transition:color .2s, transform .2s; }
.st-search-pop__close:hover{ color:var(--cc); transform:rotate(90deg); }

.st-search-pop__results{ margin-top:12px; max-height:64vh; overflow-y:auto; }
.st-search-pop__results.has{ border-top:1px solid var(--st-line); padding-top:10px; }
.st-search-pop__loading{ text-align:center; padding:26px; color:var(--cc); font-size:26px; }
.st-search-pop__none{ padding:26px 8px; text-align:center; color:var(--st-muted); font-size:14px; }
.st-search-item{ display:flex; gap:14px; align-items:center; padding:10px 8px; border-radius:8px; transition:background .15s; }
.st-search-item:hover{ background:var(--st-cream); }
.st-search-item img{ width:54px; height:68px; object-fit:cover; border-radius:4px; flex-shrink:0; background:var(--st-cream); }
.st-search-item .nm{ font-size:14px; font-weight:600; color:var(--st-navy); line-height:1.3; }
.st-search-item .pr{ font-size:14px; font-weight:700; color:var(--cc); margin-top:4px; }
.st-search-item__all{ display:flex; align-items:center; justify-content:center; gap:8px; padding:14px; margin-top:6px; border-top:1px solid var(--st-line); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--st-navy); }
.st-search-item__all:hover{ color:var(--cc); }
@keyframes ri-spin{ to{ transform:rotate(360deg); } }
.ri-spin{ display:inline-block; animation:ri-spin 1s linear infinite; }
@media (max-width:560px){
    .st-search-pop__field input{ font-size:15px; padding:13px 0; }
    .st-search-pop__close{ font-size:26px; }
    .st-search-item img{ width:48px; height:60px; }
}

/* =============================================================
   Account / Wishlist accents + scroll-to-top → #CC8173
   ============================================================= */
.ac-hero h1 i{ color:var(--cc) !important; }
.ac-empty .ico{ background:linear-gradient(135deg, rgba(204,129,115,.14), rgba(204,129,115,.24)) !important; color:var(--cc) !important; }
.ac-btn{ background:var(--cc) !important; box-shadow:0 8px 22px rgba(204,129,115,.30) !important; }
.ac-btn:hover{ background:var(--cc-dark) !important; }
.ac-btn-out{ color:var(--cc) !important; border-color:var(--cc) !important; }
.ac-btn-out:hover{ background:var(--cc) !important; color:#fff !important; }
.wl-cur{ color:var(--cc) !important; }
.wl-title a:hover{ color:var(--cc) !important; }

/* Scroll-to-top button → coral */
.back-to-top{ background:var(--cc) !important; color:#fff !important; box-shadow:0 8px 24px rgba(204,129,115,.35) !important; }
.back-to-top:hover{ background:var(--st-navy) !important; }

/* Fix: search panel must sit ABOVE the dim backdrop (panel bright, page dull) */
.st-search-pop__backdrop{ z-index:1; }
.st-search-pop__panel{ z-index:2; }

/* =============================================================
   CART / CHECKOUT / ORDERS — coral accent boxes & buttons (#CC8173)
   ============================================================= */
/* Cart */
.ship-banner .ic{ background:var(--cc) !important; box-shadow:0 6px 16px rgba(204,129,115,.30) !important; }
.ct-section-head h3 i{ background:var(--cc) !important; }
.ct-sum-head{ background:linear-gradient(135deg, var(--cc), var(--cc-dark)) !important; }
.coupon-box button{ background:var(--cc) !important; }
.coupon-box button:hover{ background:var(--cc-dark) !important; }

/* Checkout */
.co-section-head .icn{ background:var(--cc) !important; }
.co-summary-head{ background:linear-gradient(135deg, var(--cc), var(--cc-dark)) !important; }
.co-step.active .num, .co-step.done .num{ background:var(--cc) !important; }
.pay-opt.selected .pay-icn{ background:var(--cc) !important; }
.pay-opt.selected .pay-radio{ border-color:var(--cc) !important; background:var(--cc) !important; }

/* Orders / order detail */
.od-card-head .ic{ background:var(--cc) !important; }
.od-sum-head{ background:linear-gradient(135deg, var(--cc), var(--cc-dark)) !important; }
.od-tl-item.completed .dot{ background:var(--cc) !important; border-color:var(--cc) !important; box-shadow:0 4px 14px rgba(204,129,115,.4) !important; }
.ord-view{ background:var(--cc) !important; box-shadow:0 6px 16px rgba(204,129,115,.30) !important; }
.ord-view:hover{ background:var(--cc-dark) !important; }

/* =============================================================
   Summary headers white text + remove green shadow from CTA
   ============================================================= */
.ct-sum-head, .ct-sum-head h3, .ct-sum-head p,
.co-summary-head, .co-summary-head h3, .co-summary-head p,
.od-sum-head, .od-sum-head h3, .od-sum-head p{ color:#fff !important; }

/* Proceed to Checkout / Place Order — stay navy, no green shadow */
.btn-checkout, .btn-place{ box-shadow:none !important; }
.btn-checkout:hover, .btn-place:hover{ box-shadow:0 12px 28px rgba(21,36,56,.28) !important; }

/* Proceed to Checkout / Place Order — coral #CC8173 */
.btn-checkout, .btn-place{ background:var(--cc) !important; }
.btn-checkout:hover, .btn-place:hover{ background:var(--cc-dark) !important; }

/* =============================================================
   ADDRESSES / account — coral (#CC8173) icons, buttons, borders
   ============================================================= */
/* Solid icon boxes & badges → coral */
.addr-form-head .icn{ background:var(--cc) !important; }
.addr-card .ribbon{ background:var(--cc) !important; box-shadow:0 4px 12px rgba(204,129,115,.4) !important; }
/* Tinted icon boxes → coral tint */
.addr-toolbar h2 i, .addr-card .icon-wrap, .addr-empty .ico{ background:rgba(204,129,115,.14) !important; color:var(--cc) !important; }
.addr-card .phone-row i{ color:var(--cc) !important; }
/* Buttons → coral */
.btn-save{ background:var(--cc) !important; box-shadow:0 6px 18px rgba(204,129,115,.30) !important; }
.btn-save:hover{ background:var(--cc-dark) !important; }
/* Cards, tiles & borders → coral */
.addr-card:hover{ border-color:var(--cc) !important; box-shadow:0 14px 36px rgba(204,129,115,.18) !important; }
.addr-card.is-default{ border-color:var(--cc) !important; background:linear-gradient(180deg, rgba(204,129,115,.08) 0%, #fff 60%) !important; }
.addr-card .actions .btn:hover{ border-color:var(--cc) !important; color:var(--cc) !important; background:rgba(204,129,115,.08) !important; }
.addr-add-tile:hover{ border-color:var(--cc) !important; color:var(--cc) !important; background:rgba(204,129,115,.08) !important; }
/* Inputs, toggle → coral */
.addr-field input:focus{ border-color:var(--cc) !important; box-shadow:0 0 0 4px rgba(204,129,115,.14) !important; }
.addr-default-toggle{ background:rgba(204,129,115,.08) !important; border-color:rgba(204,129,115,.42) !important; }
.addr-default-toggle input{ accent-color:var(--cc) !important; }
.addr-default-toggle .ri-star-fill{ color:var(--cc) !important; }

/* Account section (tabs / nav / avatar) → coral for consistency */
.ac-tab.active, .ac-nav-link.active{ background:var(--cc) !important; }
.ac-avatar{ background:linear-gradient(135deg, var(--cc), var(--cc-dark)) !important; }

/* =============================================================
   CHECKOUT delivery-address card — coral border/badge, no green shadow
   ============================================================= */
.addr-pick:hover{ border-color:var(--cc) !important; background:rgba(204,129,115,.05) !important; }
.addr-pick.selected{ border-color:var(--cc) !important; background:linear-gradient(180deg, rgba(204,129,115,.10), #fff) !important; box-shadow:none !important; }
.addr-pick.selected::after{ background:var(--cc) !important; }
.addr-pick .tag{ background:var(--cc) !important; }
.addr-pick .ph i{ color:var(--cc) !important; }
/* Payment option selected — coral, no green shadow */
.pay-opt.selected{ border-color:var(--cc) !important; background:linear-gradient(135deg, rgba(204,129,115,.10), #fff) !important; box-shadow:none !important; }

/* =============================================================
   UNIFORM #CC8173 ACCENTS — all account / order / misc pages
   (page-header banners stay navy, matching the rest of the site)
   ============================================================= */
/* Order success */
.os-btn-pri{ background:var(--cc) !important; box-shadow:0 8px 22px rgba(204,129,115,.35) !important; }
.os-btn-pri:hover{ background:var(--cc-dark) !important; }
.os-btn-sec{ color:var(--cc) !important; border-color:var(--cc) !important; }
.os-btn-sec:hover{ background:var(--cc) !important; color:#fff !important; }
.os-info-card .icn{ background:rgba(204,129,115,.14) !important; color:var(--cc) !important; }
.os-info-card.total .icn{ background:linear-gradient(135deg, var(--cc), var(--cc-dark)) !important; color:#fff !important; }
.os-info-card:hover{ border-color:var(--cc) !important; background:rgba(204,129,115,.05) !important; }

/* Order tracking */
.tk-step.completed .si, .tk-step.current .si,
.tk-dot.completed, .tk-dot.current, .tk.done .dot{ background:var(--cc) !important; border-color:var(--cc) !important; color:#fff !important; }
.tk-step.current .si{ box-shadow:0 0 0 4px rgba(204,129,115,.18) !important; }

/* Order detail */
.od-track-btn{ color:var(--cc) !important; border-color:var(--cc) !important; }
.od-track-btn:hover{ background:var(--cc) !important; color:#fff !important; }
.od-addr .ic{ background:rgba(204,129,115,.14) !important; color:var(--cc) !important; }

/* Notifications */
.nt-new, .nt-pg.active, .nt-pg:hover{ background:var(--cc) !important; color:#fff !important; }
.nt-item.unread{ background:linear-gradient(90deg, rgba(204,129,115,.10) 0%, #fff 100%) !important; }
.nt-item.unread::before{ background:var(--cc) !important; }

/* =============================================================
   CHECKOUT — mobile responsive (fix right-edge overflow)
   ============================================================= */
/* Let grid/flex children shrink instead of overflowing */
.co-grid > *, .item-row, .item-row > *, .co-summary, .co-section, .s-row, .s-row > *{ min-width:0 !important; }
.co-wrap, .co-grid, .co-summary, .co-section{ max-width:100%; box-sizing:border-box; }

@media (max-width:900px){
    .co-grid{ grid-template-columns:1fr !important; }
    .co-summary{ position:static !important; }
}
@media (max-width:768px){
    .co-hero{ padding:34px 0 66px !important; }
    .co-hero h1{ font-size:22px !important; }
    .co-wrap{ padding:0 14px !important; }
    .co-steps{ gap:6px !important; }
    .co-step{ font-size:12px !important; padding:7px 11px !important; }
    .co-section-head{ padding:15px 16px !important; gap:11px !important; }
    .co-section-head .icn{ width:40px !important; height:40px !important; font-size:18px !important; }
    .co-section-head h3{ font-size:15px !important; }
    .co-section-head p{ font-size:12px !important; }
    .co-section-body{ padding:15px 16px !important; }
    .addr-pick-grid{ grid-template-columns:1fr !important; }
    .addr-pick{ padding:15px !important; }
    .pay-opt{ padding:14px !important; gap:12px !important; }
    .pay-opt .pay-icn{ width:46px !important; height:46px !important; font-size:22px !important; }
    .pay-txt strong, .pay-opt .nm{ font-size:15px !important; }
    .item-row{ grid-template-columns:52px 1fr auto !important; gap:10px !important; padding:10px !important; }
    .item-row .qt{ display:none !important; }
    .co-summary-head{ padding:18px 18px 14px !important; }
    .co-summary-head h3{ font-size:16px !important; }
    .co-summary-body{ padding:18px !important; font-size:13.5px !important; }
    .s-row{ font-size:13.5px !important; }
    .s-row.total span:first-child{ font-size:15px !important; }
    .s-row.total span:last-child{ font-size:19px !important; }
    .btn-place{ font-size:14px !important; padding:15px !important; }
}

/* Product size required — shake + prompt */
.sn-size-shake{ animation:snSizeShake .5s ease; }
.sn-size-shake .sn-pd__label{ color:var(--cc) !important; }
@keyframes snSizeShake{ 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)} }

/* Fix: outline buttons must keep white background (were coral-on-coral) */
.ac-btn-out{ background:#fff !important; color:var(--cc) !important; border:2px solid var(--cc) !important; box-shadow:none !important; }
.ac-btn-out:hover{ background:var(--cc) !important; color:#fff !important; }

/* =============================================================
   WhatsApp floating widget
   ============================================================= */
.wa-float{
    position:fixed; right:22px; bottom:84px; z-index:1200;
    width:56px; height:56px; border-radius:50%;
    background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
    font-size:30px; box-shadow:0 8px 24px rgba(37,211,102,.45);
    transition:transform .25s ease, box-shadow .25s ease;
}
.wa-float:hover{ transform:scale(1.08); box-shadow:0 12px 30px rgba(37,211,102,.55); color:#fff; }
.wa-float i{ position:relative; z-index:2; }
.wa-float__pulse{
    position:absolute; inset:0; border-radius:50%; background:#25D366;
    z-index:1; animation:waPulse 2.2s ease-out infinite;
}
@keyframes waPulse{ 0%{ transform:scale(1); opacity:.55; } 70%{ transform:scale(1.8); opacity:0; } 100%{ opacity:0; } }
@media (max-width:768px){
    .wa-float{ width:52px; height:52px; font-size:27px; right:16px; bottom:78px; }
}
@media (prefers-reduced-motion:reduce){ .wa-float__pulse{ animation:none; } }

/* Hide scroll-to-top button */
.back-to-top{ display:none !important; }

/* ============ ALL PRODUCTS (home): size tabs + pagination ============ */
.sn-allprod{ position:relative; }
.sn-sizetabs{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:6px 0 26px; }
.sn-sizetab{ border:1.5px solid #e7d7d2; background:#fff; color:#4a3f3c; font-family:inherit; font-size:13px; font-weight:600; padding:8px 20px; border-radius:999px; cursor:pointer; transition:.2s; line-height:1; }
.sn-sizetab:hover{ border-color:var(--cc); color:var(--cc); }
.sn-sizetab.active{ background:var(--cc); border-color:var(--cc); color:#fff; box-shadow:0 6px 16px rgba(204,129,115,.28); }
.sn-allprod-grid{ transition:opacity .25s ease; min-height:120px; }
.sn-allprod-grid.is-loading{ opacity:.35; pointer-events:none; }
.sn-allprod-empty{ grid-column:1/-1; text-align:center; padding:50px 20px; color:#9a8f8b; }
.sn-allprod-empty i{ font-size:40px; display:block; margin-bottom:10px; color:#d9c7c1; }
.sn-allprod-empty p{ margin:0; font-size:15px; }
/* Pagination */
.sn-pagi{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; margin-top:32px; }
.sn-pg-btn{ min-width:42px; height:42px; padding:0 12px; border:1.5px solid #e7d7d2; background:#fff; color:#4a3f3c; font-family:inherit; font-size:14px; font-weight:700; border-radius:12px; cursor:pointer; transition:.2s; display:inline-flex; align-items:center; justify-content:center; }
.sn-pg-btn:hover:not(:disabled):not(.active){ border-color:var(--cc); color:var(--cc); }
.sn-pg-btn.active{ background:var(--cc); border-color:var(--cc); color:#fff; box-shadow:0 6px 16px rgba(204,129,115,.28); }
.sn-pg-btn:disabled{ opacity:.4; cursor:not-allowed; }
.sn-pg-btn i{ font-size:20px; }
@media (max-width:768px){
    /* Keep all size tabs on a single row (scrolls horizontally if needed) */
    .sn-sizetabs{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
    .sn-sizetabs::-webkit-scrollbar{ display:none; }
    .sn-sizetab{ padding:7px 14px; font-size:12px; white-space:nowrap; flex:0 0 auto; }
    .sn-pg-btn{ min-width:38px; height:38px; font-size:13px; }
    .sn-allprod-grid{ gap:14px 10px; }
}

/* ============ FOLLOW ON INSTAGRAM ============ */
.sn-insta-head{ text-align:center; max-width:620px; margin:0 auto 26px; }
.sn-insta-head .kick{ display:inline-flex; align-items:center; gap:6px; color:var(--cc); font-weight:700; font-size:13px; letter-spacing:.5px; text-transform:uppercase; }
.sn-insta-head h2{ margin:8px 0 6px; }
.sn-insta-head p{ color:#7c6f6b; margin:0; font-size:14px; }
.sn-insta-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.sn-insta-cell{ position:relative; display:block; aspect-ratio:1/1; overflow:hidden; border-radius:14px; }
.sn-insta-cell img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.sn-insta-cell:hover img{ transform:scale(1.08); }
.sn-insta-ov{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:26px; background:rgba(204,129,115,.0); opacity:0; transition:.3s; }
.sn-insta-cell:hover .sn-insta-ov{ background:rgba(204,129,115,.55); opacity:1; }
.sn-insta-cta{ text-align:center; margin-top:22px; }
@media (max-width:768px){
    .sn-insta-grid{ grid-template-columns:repeat(3,1fr); gap:8px; }
    .sn-insta-cell{ border-radius:10px; }
    .sn-insta-ov{ font-size:20px; }
}

/* ============ FOOTER CORAL WAVE ============ */
/* Coral wave sits in normal flow just above the footer (not clipped by .st-foot overflow).
   Two layers scroll at different speeds; each layer is 2 identical tileable waves, so
   translating one full wave width (-50% of the track) loops seamlessly. */
.st-foot-wave{ position:relative; display:block; width:100%; height:90px; overflow:hidden; line-height:0; margin-bottom:-1px; pointer-events:none; }
.st-foot-wave__layer{ position:absolute; top:0; left:0; height:100%; width:200%; display:flex; will-change:transform; }
.st-foot-wave__layer svg{ flex:0 0 50%; width:50%; height:100%; display:block; }
.st-foot-wave__layer--back{ animation:snWaveRun 19s linear infinite; }
.st-foot-wave__layer--front{ animation:snWaveRun 11s linear infinite; }
@keyframes snWaveRun{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (max-width:768px){ .st-foot-wave{ height:54px; } }
@media (prefers-reduced-motion:reduce){ .st-foot-wave__layer{ animation:none; } }

/* Instagram admin embed (SnapWidget/LightWidget/official post embeds) */
.sn-insta-embed{ max-width:1000px; margin:0 auto; }
.sn-insta-embed iframe{ max-width:100%; border:0; display:block; margin:0 auto; }
.sn-insta-embed .instagram-media{ margin:0 auto !important; max-width:100% !important; }

/* Shop toolbar: keep Filter button + Sort dropdown on one row on mobile */
@media (max-width:600px){
    .shop-toolbar{ flex-wrap:nowrap !important; gap:10px; align-items:center; }
    .shop-toolbar > div:first-child{ flex:0 0 auto; }
    .shop-sort{ flex:1 1 auto; justify-content:flex-end; min-width:0; }
    .shop-sort label{ display:none; }
    .shop-sort select{ max-width:100%; }
    .sn-filter-open{ white-space:nowrap; }
}

/* SKU (product detail + cart) — lets identical-looking products be told apart */
.sn-pd__sku{ margin:-4px 0 10px; font-size:12px; letter-spacing:.06em; color:#8a7d79; text-transform:uppercase; }
.sn-pd__sku span{ color:var(--st-navy); font-weight:700; }
.cart-item .info .sku, .ci .info .sku{ font-size:11px; letter-spacing:.05em; color:#9a8f8b; text-transform:uppercase; margin-top:2px; }

/* ===== Nav: Shop by Category dropdown ===== */
.st-nav-item--drop{ position:relative; }
.st-nav-caret{ font-size:16px; margin-left:2px; vertical-align:-2px; transition:transform .2s; }
.st-nav-item--drop:hover .st-nav-caret{ transform:rotate(180deg); }
.st-nav-drop{
    position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
    min-width:230px; background:#fff; border:1px solid #eee2de; border-radius:14px;
    box-shadow:0 18px 40px rgba(21,36,56,.14); padding:8px; z-index:60;
    opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
}
.st-nav-item--drop:hover .st-nav-drop,
.st-nav-item--drop:focus-within .st-nav-drop{ opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.st-nav-drop a{
    display:block; padding:10px 14px; border-radius:9px; color:var(--st-navy);
    font-size:13.5px; font-weight:600; white-space:nowrap; transition:.15s;
}
.st-nav-drop a:hover{ background:#faf1ee; color:var(--cc); }
.st-nav-drop__all{ margin-top:4px; border-top:1px solid #f0e6e2; color:var(--cc) !important; font-weight:700 !important; }
.st-nav-drop__all i{ vertical-align:-2px; }
/* Mobile drawer sub-links (categories) */
.st-drawer-sub{ padding-left:30px !important; font-size:13.5px !important; opacity:.85; }
.st-drawer-sub::before{ content:"—"; margin-right:8px; opacity:.5; }

/* ===== All Categories page ===== */
.sn-catpage-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sn-catpage-cat{ height:300px; }
.sn-catpage-count{ display:block; color:rgba(255,255,255,.9); font-size:12px; font-weight:600; letter-spacing:.03em; margin-bottom:10px; text-shadow:0 2px 10px rgba(0,0,0,.5); }
@media (max-width:900px){ .sn-catpage-grid{ grid-template-columns:repeat(3,1fr); } .sn-catpage-cat{ height:240px; } }
@media (max-width:600px){ .sn-catpage-grid{ grid-template-columns:repeat(2,1fr); gap:12px; } .sn-catpage-cat{ height:210px; } }

/* ===== Mobile + OTP auth ===== */
.auth-otp-msg{ font-size:13px; margin-top:12px; text-align:center; min-height:18px; }
.auth-otp-msg.ok{ color:#067647; }
.auth-otp-msg.err{ color:#b42318; }
.auth-otp-sentto{ font-size:13px; color:#7c8a96; margin:0 0 14px; text-align:center; }
.auth-otp-sentto strong{ color:var(--st-navy); }

/* "Get OTP on WhatsApp" button — use the brand theme colour (not WhatsApp green) */
.auth-submit-wa{ background:var(--cc, #CC8173) !important; }
.auth-submit-wa:hover{ background:var(--cc-dark, #b96f61) !important; }

/* UPI unpaid — Pay Now in order list */
.ord-unpaid{ display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:700; color:#a15c00; background:#fff3e0; padding:3px 9px; border-radius:999px; margin-left:10px; vertical-align:middle; }
.ord-paynow{ display:inline-flex; align-items:center; gap:6px; background:var(--cc,#CC8173); color:#fff; font-weight:700; font-size:13px; padding:9px 18px; border-radius:10px; text-decoration:none; box-shadow:0 6px 16px rgba(204,129,115,.3); transition:.2s; }
.ord-paynow:hover{ background:var(--cc-dark,#b96f61); transform:translateY(-1px); color:#fff; }
