/* BeautyCenterBD storefront */
:root{
  --rose:#c2105f; --rose-d:#9d0a4c; --rose-l:#fde8f1; --rose-xl:#fff5f9;
  --ink:#2a1a2e; --muted:#6f6175; --line:#ecdfe6; --surface:#fbf6f9; --bg:#fff;
  --gold:#ffd23f; --teal:#0e8a86; --ok:#128a57; --err:#c62828; --warn:#b26a00;
  --r:12px; --r-sm:8px; --shadow:0 1px 2px rgba(42,26,46,.06),0 6px 20px rgba(42,26,46,.06);
  --font:"Hind Siliguri",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 15.5px/1.55 var(--font);color:var(--ink);background:var(--bg);padding-bottom:64px}
img{max-width:100%;display:block}
a{color:var(--rose);text-decoration:none} a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;font-weight:600}
h1{font-size:1.7rem} h2{font-size:1.25rem} h3{font-size:1.05rem}
p{margin:0 0 .8em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:4px}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 16px}
.main{padding-top:18px;padding-bottom:40px;min-height:55vh}
.muted{color:var(--muted)} .sm{width:14px;height:14px} .err{color:var(--err)} .ok{color:var(--ok)}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip:focus{position:fixed;top:8px;left:8px;z-index:100;background:#fff;padding:8px 12px;border-radius:8px}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.page-title{margin:6px 0 14px}
.lead{margin-top:-8px}
.narrow{max-width:560px;margin:0 auto}
.link-center{display:block;text-align:center;margin-top:10px}
.linkbtn{background:none;border:0;padding:0;color:var(--rose);cursor:pointer;text-decoration:underline}
.fine{font-size:.82rem;color:var(--muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:600;cursor:pointer;text-decoration:none!important;color:var(--ink);transition:background .15s,border-color .15s,transform .05s}
.btn:hover{border-color:var(--rose);color:var(--rose)} .btn:active{transform:translateY(1px)}
.btn-primary{background:var(--rose);border-color:var(--rose);color:#fff!important} .btn-primary:hover{background:var(--rose-d);border-color:var(--rose-d)}
.btn-dark{background:var(--ink);border-color:var(--ink);color:#fff!important} .btn-dark:hover{background:#000}
.btn-light{background:var(--rose-l);border-color:var(--rose-l);color:var(--rose)}
.btn-block{width:100%} .btn[disabled],.btn.disabled{opacity:.5;pointer-events:none}
.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border:0;background:none;border-radius:50%;cursor:pointer;color:var(--ink)} .icon-btn:hover{background:var(--rose-l);color:var(--rose)}

/* announcement + topbar */
.announce{background:var(--ink);color:#fff;text-align:center;font-size:.86rem;padding:6px 12px}
.topbar{background:var(--rose-xl);border-bottom:1px solid var(--line);font-size:.85rem}
.topbar-in{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:12px}
.topbar a{color:var(--ink)} .topbar-call{display:inline-flex;align-items:center;gap:6px} .topbar-call .ic{width:16px;height:16px;color:var(--rose)}
.topbar-links{display:flex;gap:16px}

/* header */
.head{position:sticky;top:0;z-index:30;background:#fff;box-shadow:0 1px 0 var(--line)}
.head-in{display:flex;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px}
.logo img{height:54px;width:auto;border-radius:10px}
.menu-btn{display:none}
.search{position:relative;flex:1;display:flex;max-width:640px}
.search input{width:100%;height:46px;border:1.5px solid var(--line);border-right:0;border-radius:999px 0 0 999px;padding:0 18px;background:var(--surface);outline:none}
.search input:focus{border-color:var(--rose);background:#fff}
.search button{width:56px;border:0;border-radius:0 999px 999px 0;background:var(--rose);color:#fff;cursor:pointer;display:grid;place-items:center}
.suggest{position:absolute;top:52px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;z-index:40}
.suggest a{display:flex;align-items:center;gap:10px;padding:8px 12px;color:var(--ink)} .suggest a:hover{background:var(--rose-xl);text-decoration:none}
.suggest img{width:40px;height:40px;object-fit:cover;border-radius:8px} .suggest span{flex:1;font-size:.92rem} .suggest p{padding:12px;margin:0;color:var(--muted)}
.suggest .sg-cat{color:var(--rose);font-weight:600}
.head-actions{display:flex;gap:2px;margin-left:auto}
.act{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;padding:4px 10px;color:var(--ink);font-size:.74rem;border-radius:10px;text-decoration:none!important}
.act:hover{background:var(--rose-xl);color:var(--rose)} .act-cart{color:var(--rose)}
.count{position:absolute;top:0;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--rose);color:#fff;font:600 .68rem/18px var(--font);text-align:center;font-style:normal}
.count[hidden]{display:none}
.mainnav{border-top:1px solid var(--line);background:#fff}
.mainnav-in{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}
.mainnav a{padding:11px 12px;color:var(--ink);font-weight:500;white-space:nowrap;font-size:.94rem} .mainnav a:hover{color:var(--rose);text-decoration:none}
.mainnav .hot{color:var(--rose);font-weight:700}
.nav-cat{color:var(--muted)!important}
.allcats{position:relative}
.allcats-btn{white-space:nowrap;display:flex;align-items:center;gap:8px;border:0;background:var(--rose);color:#fff;font-weight:600;padding:11px 16px;cursor:pointer;border-radius:0}
.megamenu{position:absolute;left:0;top:100%;z-index:50;background:#fff;border:1px solid var(--line);border-radius:0 0 var(--r) var(--r);box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:6px 28px;padding:18px 22px;width:min(720px,92vw)}
.megamenu[hidden]{display:none}
.mega-col a{display:block;padding:3px 0!important;color:var(--muted)!important;font-weight:400!important} .mega-col a:hover{color:var(--rose)!important}
.mega-col .mega-head{color:var(--ink)!important;font-weight:600!important}

/* drawer (mobile) */
.drawer[hidden]{display:none} .drawer{position:fixed;inset:0;z-index:60}
.drawer-bg{position:absolute;inset:0;background:rgba(20,10,24,.5)}
.drawer-panel{position:absolute;top:0;left:0;bottom:0;width:min(320px,86vw);background:#fff;overflow:auto;padding:8px 0 24px}
.drawer-top{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 6px 16px}
.drawer-panel a{display:block;padding:10px 16px;color:var(--ink)} .drawer-panel .sub{padding-left:32px;color:var(--muted);font-size:.92rem}
.drawer-sec{padding:14px 16px 4px;color:var(--muted);font-size:.8rem;font-weight:600}
body.lock{overflow:hidden}

/* flashes / toasts */
.flashes{max-width:1240px;margin:12px auto 0;padding:0 16px}
.flash{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 14px;border-radius:var(--r-sm);margin-bottom:8px;font-weight:500;border:1px solid}
.flash.static{margin-bottom:14px}
.flash-success{background:#eaf8f1;border-color:#b9e6d0;color:#0d6b43} .flash-error{background:#fdecec;border-color:#f5c2c2;color:#a02020} .flash-info{background:var(--rose-xl);border-color:var(--rose-l);color:var(--rose-d)}
.flash-x{background:none;border:0;font-size:1.3rem;line-height:1;cursor:pointer;color:inherit}
.toasts{position:fixed;right:16px;bottom:78px;z-index:90;display:grid;gap:8px;max-width:min(360px,calc(100vw - 32px))}
.toast{background:var(--ink);color:#fff;padding:11px 16px;border-radius:var(--r-sm);box-shadow:var(--shadow);animation:tin .2s ease-out;font-size:.92rem}
.toast-ok{background:var(--ok)} .toast-err{background:var(--err)} .toast-info{background:var(--rose)}
.toast.out{opacity:0;transform:translateY(6px);transition:.3s}
@keyframes tin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* hero */
.hero{display:grid;gap:12px;margin-bottom:8px}
.slider{position:relative;border-radius:var(--r);overflow:hidden;background:var(--rose-l);aspect-ratio:4/1}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .5s;pointer-events:none;display:block}
.slide.on{opacity:1;pointer-events:auto}
.slide img{width:100%;height:100%;object-fit:cover}
.slide-cap{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.92);padding:10px 16px;border-radius:var(--r-sm);color:var(--ink);display:grid}
.slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.88);font-size:1.5rem;line-height:1;cursor:pointer;z-index:2} .prev{left:10px} .next{right:10px}
.dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2}
.dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.7);padding:0;cursor:pointer} .dots button.on{background:var(--rose);width:22px;border-radius:5px}
.hero-fallback{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center;background:linear-gradient(120deg,var(--rose-l),#fff4cf);border-radius:var(--r);padding:36px 40px}
.hero-fallback h1{font-size:2.3rem;color:var(--rose-d);margin-bottom:.3em} .hero-fallback p{font-size:1.08rem;max-width:46ch}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.hero-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hero-points li{display:flex;align-items:center;gap:10px;background:#fff;border-radius:var(--r-sm);padding:12px 14px;font-weight:500;box-shadow:var(--shadow)} .hero-points .ic{color:var(--rose)}
.promos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px} .promos img{border-radius:var(--r);width:100%;aspect-ratio:3/1;object-fit:cover}

/* sections */
.block{margin:26px 0}
.block-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px} .block-head h2{margin:0}
.block-deals{background:linear-gradient(180deg,var(--rose-xl),#fff);border-radius:var(--r);padding:16px;margin-left:-16px;margin-right:-16px}
.cat-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.cat-chip{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:92px;color:var(--ink);font-size:.86rem;text-align:center;font-weight:500} .cat-chip:hover{text-decoration:none;color:var(--rose)}
.cat-ico{width:68px;height:68px;border-radius:50%;background:var(--rose-l);display:grid;place-items:center;font-weight:700;font-size:1.4rem;color:var(--rose);overflow:hidden;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--rose-l)}
.cat-ico img{width:100%;height:100%;object-fit:cover}
.brand-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}
.brand-chip{flex:none;min-width:120px;height:62px;display:grid;place-items:center;padding:8px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-weight:600} .brand-chip img{max-height:42px;object-fit:contain} .brand-chip:hover{border-color:var(--rose);text-decoration:none}

/* coupons */
.ticket-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.ticket{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border:1.5px dashed var(--rose);border-radius:var(--r);padding:12px 14px;background:#fff}
.ticket-off{background:var(--rose);color:#fff;font-weight:700;border-radius:var(--r-sm);padding:10px 12px;text-align:center;min-width:84px;line-height:1.15}
.ticket-body{display:grid;line-height:1.3} .ticket-body small{color:var(--muted)}
.ticket-code{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ink);background:var(--gold);color:var(--ink);padding:7px 12px;border-radius:var(--r-sm);font-weight:700;letter-spacing:.06em;cursor:pointer}
.ticket-code .ic{width:16px;height:16px}
.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.coupon{display:grid;grid-template-columns:130px 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--shadow);position:relative}
.coupon::before,.coupon::after{content:"";position:absolute;left:119px;width:22px;height:22px;border-radius:50%;background:var(--bg);border:1px solid var(--line)} .coupon::before{top:-11px} .coupon::after{bottom:-11px}
.coupon-off{background:linear-gradient(160deg,var(--rose),var(--rose-d));color:#fff;display:grid;place-content:center;text-align:center;padding:14px} .coupon-off strong{font-size:2rem;line-height:1} .coupon-off span{text-transform:none;opacity:.9}
.coupon-main{padding:16px 16px 14px;border-left:2px dashed var(--line)} .coupon-main h3{margin:0 0 4px} .coupon-main p{color:var(--muted);margin:0 0 6px}
.coupon-terms{list-style:none;margin:0 0 10px;padding:0;font-size:.85rem;color:var(--muted)} .coupon-terms li::before{content:"✓ ";color:var(--ok)}
.coupon-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.coupon-act .btn{min-height:36px;padding:4px 14px}

/* product grid + card */
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.pcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .2s,border-color .2s}
.pcard:hover{box-shadow:var(--shadow);border-color:#e3c9d6}
.pcard-img{position:relative;display:block;aspect-ratio:1/1;background:var(--surface)} .pcard-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.badge{position:absolute;top:8px;left:8px;padding:2px 9px;border-radius:999px;font-size:.74rem;font-weight:700;color:#fff}
.badge.static{position:static;display:inline-block}
.badge-off{background:var(--rose)} .badge-new{background:var(--teal);left:auto;right:8px;top:8px} .badge-out{background:var(--muted);left:8px;top:auto;bottom:8px}
.wish{position:absolute;top:6px;right:6px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;color:var(--muted);box-shadow:0 1px 4px rgba(0,0,0,.12);z-index:2}
.wish .ic{width:18px;height:18px} .wish.on{color:var(--rose)} .wish.on .ic{fill:var(--rose)} .wish:hover{color:var(--rose)}
.pcard-img .badge-new{right:46px}
.pcard-body{padding:10px 12px 4px;display:grid;gap:3px;flex:1;align-content:start}
.pcard-brand{font-size:.78rem;color:var(--muted);font-weight:500}
.pcard-name{color:var(--ink);font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;font-size:.95rem}
.pcard-name:hover{color:var(--rose);text-decoration:none}
.rating{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;color:var(--ink)} .rating .ic{width:14px;height:14px;fill:var(--gold);stroke:#e0a800} .rating span{color:var(--muted)}
.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap} .price strong{font-size:1.08rem;color:var(--rose-d)} .price s{color:var(--muted);font-size:.86rem}
.btn-add{margin:8px 12px 12px;min-height:38px;border-radius:var(--r-sm);background:var(--rose-l);border-color:var(--rose-l);color:var(--rose);font-size:.9rem} .btn-add:hover{background:var(--rose);color:#fff}
.btn-add .ic{width:17px;height:17px}

/* listing */
.crumbs{display:flex;align-items:center;gap:6px;font-size:.86rem;color:var(--muted);margin-bottom:10px;flex-wrap:wrap} .crumbs a{color:var(--muted)}
.listing{display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:start}
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;position:sticky;top:132px}
.filters h3{font-size:.95rem;margin:14px 0 6px} .filters h3:first-child{margin-top:0}
.flist{list-style:none;margin:0;padding:0} .flist a{display:block;padding:4px 0;color:var(--ink);font-size:.92rem} .flist a.on{color:var(--rose);font-weight:700} .flist ul{list-style:none;padding-left:12px;margin:0}
.flist-brands{max-height:190px;overflow:auto}
.price-in{display:flex;align-items:center;gap:6px} .price-in input{width:100%;min-width:0;height:38px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 10px}
.check{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:.92rem;cursor:pointer} .check input{width:17px;height:17px;accent-color:var(--rose)}
.filters .btn-block{margin-top:12px}
.results-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;flex-wrap:wrap} .results-head h1{margin:0;font-size:1.5rem} .results-head p{margin:0}
.results-tools{display:flex;gap:8px;align-items:center} .results-tools select{height:42px;border:1.5px solid var(--line);border-radius:999px;padding:0 14px;background:#fff}
.filter-toggle{display:none}
.subcats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px} .subcats a{padding:6px 14px;border-radius:999px;background:var(--rose-l);color:var(--rose);font-weight:500;font-size:.9rem}
.pager{display:flex;justify-content:center;gap:6px;margin:24px 0;flex-wrap:wrap} .pager a,.pager span{min-width:38px;height:38px;display:grid;place-items:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink)} .pager a:hover{border-color:var(--rose);text-decoration:none} .pager .on{background:var(--rose);border-color:var(--rose);color:#fff}
.empty{text-align:center;padding:48px 16px;background:var(--surface);border-radius:var(--r)} .empty h3{margin-bottom:6px}
.err-page .err-code{font-size:4.5rem;font-weight:700;color:var(--rose-l);line-height:1} .err-page pre{text-align:left;overflow:auto;background:#fff;padding:12px;border-radius:8px;font-size:.8rem}

/* brands A-Z */
.az{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px} .az a{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--rose-l);font-weight:700}
.az-group{margin-bottom:18px} .az-group h2{border-bottom:2px solid var(--rose);display:inline-block;padding-right:18px}
.az-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 18px} .az-list a{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);color:var(--ink)} .az-list small{color:var(--muted)}

/* product page */
.pdp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin-bottom:26px}
.gallery-main{background:var(--surface);border-radius:var(--r);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden} .gallery-main img{width:100%;height:100%;object-fit:contain;padding:16px}
.gallery-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto} .gallery-thumbs button{flex:none;width:68px;height:68px;border:2px solid var(--line);border-radius:var(--r-sm);padding:2px;background:#fff;cursor:pointer} .gallery-thumbs button.on{border-color:var(--rose)} .gallery-thumbs img{width:100%;height:100%;object-fit:contain}
.pdp-info h1{font-size:1.6rem;margin:2px 0 8px}
.pdp-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.9rem;margin-bottom:10px}
.pdp-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:8px 0} .pdp-price strong{font-size:2rem;color:var(--rose-d)} .pdp-price s{color:var(--muted);font-size:1.1rem}
.pdp-short{color:var(--muted)}
.stock{display:inline-block;font-weight:600;font-size:.88rem;padding:3px 12px;border-radius:999px;margin-bottom:12px} .stock.in{background:#eaf8f1;color:var(--ok)} .stock.low{background:#fff3d6;color:var(--warn)} .stock.out{background:#fdecec;color:var(--err)}
.buybox{display:flex;gap:10px;flex-wrap:wrap;align-items:center;position:relative;margin:6px 0 16px}
.wish-lg{position:static;width:46px;height:46px;border:1.5px solid var(--line);box-shadow:none}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff} .qty button{width:38px;height:42px;border:0;background:none;font-size:1.2rem;cursor:pointer} .qty button:hover{background:var(--rose-l)} .qty input{width:46px;height:42px;border:0;text-align:center;-moz-appearance:textfield;background:none} .qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.assure{list-style:none;padding:14px 0 0;margin:0;display:grid;gap:8px;border-top:1px solid var(--line);font-size:.92rem} .assure li{display:flex;gap:10px;align-items:center} .assure .ic{color:var(--rose)}
.tabs{margin:10px 0 28px}
.tab-list{display:flex;gap:4px;border-bottom:2px solid var(--line)} .tab-list button{padding:10px 18px;border:0;background:none;font-weight:600;cursor:pointer;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px} .tab-list button.on{color:var(--rose);border-color:var(--rose)}
.tab-panel{display:none;padding:18px 0} .tab-panel.on{display:block}
.prose{max-width:72ch} .prose h3{margin-top:1.2em} .prose ul{padding-left:20px}
.reviews{list-style:none;padding:0;margin:18px 0;display:grid;gap:14px} .reviews li{padding:14px;border:1px solid var(--line);border-radius:var(--r)} .rev-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.stars{display:inline-flex} .stars .ic{width:15px;height:15px;fill:#e6dce1;stroke:none} .stars .ic.on{fill:var(--gold)}
.review-form{background:var(--surface);border-radius:var(--r);padding:16px;display:grid;gap:10px;max-width:560px}
.review-form textarea,.fields input,.fields select,.fields textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;background:#fff}
.stars-in{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end} .stars-in input{position:absolute;opacity:0} .stars-in label{cursor:pointer;color:#d9ccd3} .stars-in label .ic{width:28px;height:28px;fill:currentColor;stroke:none} .stars-in input:checked~label,.stars-in label:hover,.stars-in label:hover~label{color:var(--gold)} .stars-in input:focus-visible+label{outline:2px solid var(--rose)}

/* cart & checkout */
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}
.cart-list{display:grid;gap:10px}
.cart-row{display:grid;grid-template-columns:80px 1fr auto 90px 40px;gap:14px;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:12px;background:#fff}
.cart-row.is-out{opacity:.7;border-color:#f1b9b9}
.cart-img img{width:80px;height:80px;object-fit:contain;background:var(--surface);border-radius:var(--r-sm)}
.cart-info a{color:var(--ink);font-weight:500} .cart-total{font-weight:700;text-align:right}
.summary{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;position:sticky;top:140px;box-shadow:var(--shadow)}
.sum{margin:12px 0} .sum div{display:flex;justify-content:space-between;padding:5px 0} .sum dt,.sum dd{margin:0} .sum .good{color:var(--ok)} .sum-total{border-top:1.5px solid var(--ink);margin-top:6px;padding-top:10px!important;font-size:1.15rem;font-weight:700}
.free-note{background:var(--rose-xl);border-radius:var(--r-sm);padding:8px 12px;font-size:.88rem;margin:0 0 12px}
.couponbox{margin:10px 0 4px}
.coupon-form{display:flex;gap:8px} .coupon-form input{flex:1;min-width:0;height:42px;border:1.5px solid var(--line);border-radius:999px;padding:0 16px;text-transform:uppercase}
.coupon-applied{display:flex;align-items:center;gap:10px;background:#eaf8f1;border:1px solid #b9e6d0;border-radius:var(--r-sm);padding:8px 12px} .coupon-applied .ic{color:var(--ok)} .coupon-applied div{flex:1;line-height:1.3} .coupon-applied form{margin:0}
.coupon-suggest{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px} .coupon-suggest form{margin:0}
.chip-coupon{display:inline-flex;gap:6px;align-items:center;border:1.5px dashed var(--rose);background:#fff;border-radius:999px;padding:3px 12px;cursor:pointer;font-size:.82rem} .chip-coupon b{letter-spacing:.05em;color:var(--rose)} .chip-coupon span{color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:16px}
.card h2{font-size:1.1rem}
.co-form{display:grid;gap:0}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px} .fields.one{grid-template-columns:1fr} .fields label{display:grid;gap:5px;font-weight:500;font-size:.92rem} .fields .wide{grid-column:1/-1} .fields small{font-weight:400;color:var(--muted)} .fields .btn{grid-column:1/-1;justify-self:start}
.fields input:focus,.fields select:focus,.fields textarea:focus,.review-form textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-l)}
.zone{border:0;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px} .zone legend{font-weight:600;margin-bottom:8px;padding:0}
.opt,.pay-opt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:var(--r);padding:12px 14px;cursor:pointer;background:#fff} .opt:has(input:checked),.pay-opt:has(input:checked){border-color:var(--rose);background:var(--rose-xl)}
.opt input,.pay-opt input{accent-color:var(--rose);width:18px;height:18px} .opt span,.pay-opt span:last-child{display:grid;line-height:1.3} .opt small,.pay-opt small{color:var(--muted);font-size:.82rem}
.pay-opt{margin-bottom:8px}
.pay-logo{min-width:62px;height:34px;display:grid;place-items:center;border-radius:8px;color:#fff;font-weight:700;font-size:.8rem;padding:0 8px} .pay-bkash{background:#e2136e} .pay-nagad{background:#f6921e} .pay-cod{background:var(--ink)}
.pay-panel{background:var(--surface);border-radius:var(--r);padding:14px 16px;margin:-2px 0 10px;border:1px dashed var(--line)} .pay-panel[hidden]{display:none} .pay-panel ol{margin:0 0 12px;padding-left:20px} .num{font-size:1.1rem;letter-spacing:.04em;background:var(--gold);padding:1px 8px;border-radius:6px}
.mini{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px} .mini li{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;font-size:.9rem} .mini img{width:48px;height:48px;object-fit:contain;background:var(--surface);border-radius:8px} .mini small{display:block;color:var(--muted)}
.notice{background:var(--rose-xl);border:1px solid var(--rose-l);padding:10px 14px;border-radius:var(--r-sm)}
.success-hero{text-align:center;padding:26px 16px;background:linear-gradient(120deg,#eaf8f1,#fff);border-radius:var(--r);margin-bottom:18px} .success-hero .big{width:56px;height:56px;color:#fff;background:var(--ok);border-radius:50%;padding:12px;stroke-width:2.4}
.pay-card{border-color:var(--gold);background:#fffbea} .pay-card ol{padding-left:20px}
.order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}
.steps{list-style:none;display:flex;margin:0 0 16px;padding:0} .steps li{flex:1;text-align:center;font-size:.76rem;position:relative;color:var(--muted)} .steps i{display:block;width:16px;height:16px;border-radius:50%;background:var(--line);margin:0 auto 4px;position:relative;z-index:1} .steps li::before{content:"";position:absolute;top:7px;left:-50%;width:100%;height:2px;background:var(--line)} .steps li:first-child::before{display:none} .steps .done i,.steps .now i{background:var(--rose)} .steps .done::before,.steps .now::before{background:var(--rose)} .steps .now{color:var(--rose);font-weight:700} .steps .done{color:var(--ink)}
.timeline{list-style:none;margin:0 0 12px;padding:0 0 0 14px;border-left:2px solid var(--line);display:grid;gap:10px} .timeline li{position:relative} .timeline li::before{content:"";position:absolute;left:-20px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--rose)}
.status-pill,.pill{display:inline-block;padding:2px 11px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--line);color:var(--ink)}
.st-pending{background:#fff3d6;color:var(--warn)} .st-confirmed,.st-processing{background:#e5f0ff;color:#1e56b3} .st-shipped{background:#efe5ff;color:#5b2fb0} .st-delivered,.pay-paid{background:#eaf8f1;color:var(--ok)} .st-cancelled,.st-returned,.pay-failed{background:#fdecec;color:var(--err)} .pay-pending_verification{background:#fff3d6;color:var(--warn)} .pay-unpaid{background:var(--line)}
.order-cards{display:grid;gap:10px} .order-card{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:12px;color:var(--ink);background:#fff} .order-card:hover{border-color:var(--rose);text-decoration:none} .order-card img{width:56px;height:56px;object-fit:contain;background:var(--surface);border-radius:8px} .order-card small{display:block} .oc-right{text-align:right;display:grid;gap:4px;justify-items:end}
.acc-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:10px} .acc-nav a,.acc-nav button{padding:7px 16px;border-radius:999px;color:var(--ink);background:none;border:0;cursor:pointer;font-weight:500} .acc-nav a.on{background:var(--rose);color:#fff} .acc-nav a:hover{text-decoration:none;background:var(--rose-l);color:var(--rose)} .acc-nav a.on:hover{background:var(--rose);color:#fff} .acc-nav form{margin-left:auto}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tbl{width:100%;border-collapse:collapse} .tbl th{text-align:left;font-size:.82rem;color:var(--muted);font-weight:600} .tbl th,.tbl td{padding:9px 10px;border-bottom:1px solid var(--line)}
.notif-list{list-style:none;margin:0;padding:0;display:grid;gap:8px} .notif-list a{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink)} .notif-list .unread a{border-left:4px solid var(--rose);background:var(--rose-xl)}
.auth{max-width:420px;margin:20px auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)} .auth h1{font-size:1.5rem;margin-bottom:4px} .auth-alt{text-align:center;margin-top:14px}

/* footer */
.foot{background:var(--ink);color:#d9cde0;margin-top:30px} .foot a{color:#d9cde0;display:block;padding:3px 0} .foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr) 1.2fr;gap:24px;padding-top:34px;padding-bottom:26px}
.foot h4{color:#fff;font-size:.95rem} .foot-logo{border-radius:10px;margin-bottom:10px} .foot-contact{font-size:.9rem}
.social{display:flex;gap:10px;flex-wrap:wrap} .social a{display:inline-block;border:1px solid #5a4764;border-radius:999px;padding:3px 12px;font-size:.84rem}
.pay-badges{display:flex;gap:6px;flex-wrap:wrap} .pb{display:inline-block;padding:3px 12px;border-radius:6px;font-weight:700;font-size:.8rem;color:#fff;background:#555} .pb-bkash{background:#e2136e} .pb-nagad{background:#f6921e} .pb-cod{background:#3b7a57}
.foot-note{font-size:.8rem;margin-top:10px;color:#a898b0}
.foot-bar{border-top:1px solid #45334e;padding:12px 0;font-size:.84rem;color:#a898b0}
.tabbar{display:none}

/* responsive */
@media (max-width:1100px){.grid{grid-template-columns:repeat(4,1fr)}.grid-4{grid-template-columns:repeat(3,1fr)}.foot-grid{grid-template-columns:1fr 1fr 1fr}.foot-grid>:first-child{grid-column:1/-1}}
@media (max-width:860px){
  .grid,.grid-4{grid-template-columns:repeat(2,1fr);gap:10px}
  .topbar-links a:not(:last-child){display:none}
  .menu-btn{display:inline-grid} .mainnav{display:none}
  .head-in{flex-wrap:wrap;gap:8px} .logo img{height:44px} .search{order:5;flex:1 1 100%;max-width:none}
  .head-actions .act span{display:none} .head-actions .act:nth-child(1),.head-actions .act:nth-child(2){display:none}
  .head-actions{margin-left:auto}
  .listing,.pdp,.cart-layout,.two-col,.hero-fallback{grid-template-columns:1fr}
  .filters{display:none;position:static} .filters.open{display:block} .filter-toggle{display:inline-flex}
  .summary{position:static}
  .cart-row{grid-template-columns:64px 1fr auto;grid-template-areas:"i n n" "i q t";gap:8px 12px} .cart-img{grid-area:i} .cart-img img{width:64px;height:64px} .cart-info{grid-area:n} .cart-row .qty{grid-area:q} .cart-total{grid-area:t;align-self:center} .cart-row>form:last-child{position:absolute;right:6px;top:6px}
  .cart-row{position:relative}
  .promos{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .hero-fallback{padding:24px 20px} .hero-fallback h1{font-size:1.7rem}
  .slider{aspect-ratio:16/9}
  .block-deals{margin-left:-16px;margin-right:-16px;border-radius:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:35;padding:4px 0 max(4px,env(safe-area-inset-bottom))}
  .tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;font-size:.7rem;color:var(--muted);padding:4px 0} .tabbar a:hover{text-decoration:none;color:var(--rose)} .tabbar .count{right:22%;top:0}
  .coupon{grid-template-columns:104px 1fr} .coupon::before,.coupon::after{left:93px} .offer-grid{grid-template-columns:1fr}
  .fields{grid-template-columns:1fr} .zone{grid-template-columns:1fr}
  .toasts{bottom:74px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.slide{transition:none}}

.mega-col{display:flex;flex-direction:column;gap:2px}
.mega-col a{padding:2px 0;font-size:.9rem}
.mega-col a.mega-sub{padding-left:calc(var(--d,1)*12px - 4px);color:var(--muted,#666)}
.mega-col a.lvl-2,.mega-col a.lvl-3{font-size:.84rem}
.drawer-panel a.sub{padding-left:calc(14px + var(--d,1)*14px)}
.flist ul ul{padding-left:12px}

/* product options (color / size) */
.options{margin:12px 0}.opt-group{margin-bottom:10px}.opt-group>b{display:block;font-size:.9rem;margin-bottom:6px}
.opt-row{display:flex;flex-wrap:wrap;gap:8px}
.swatch,.chip{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line,#ddd);background:#fff;border-radius:999px;padding:6px 13px;font-size:.88rem;cursor:pointer;color:inherit}
.swatch i{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.2);display:inline-block}
.swatch.on,.chip.on{border-color:var(--rose,#c2105f);box-shadow:0 0 0 2px rgba(194,16,95,.15);font-weight:600}
.swatch[disabled],.chip[disabled]{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.opt-msg{min-height:1.2em;margin:4px 0 0;font-size:.85rem}.opt-msg.err{color:#c0392b}
.var-label{display:block;color:#666;font-size:.82rem}em.var-label{display:inline;font-style:normal}
.var-label .dot{display:inline-block;width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.2);margin-right:5px;vertical-align:-1px}
.buybox{flex-wrap:wrap}.buybox .options{flex:0 0 100%;width:100%}

/* ---- floating chat ---- */
.chat-fab{position:fixed;right:18px;bottom:20px;z-index:80;display:flex;align-items:center;gap:8px;background:var(--rose);color:#fff;border:0;border-radius:999px;padding:14px 18px;font-weight:600;box-shadow:0 6px 22px rgba(194,16,95,.38);cursor:pointer;font-size:.95rem}
.chat-fab:hover{filter:brightness(1.07)}.chat-fab .ic{width:22px;height:22px;stroke:#fff}
.chat-fab .count{position:absolute;top:-6px;right:-4px;background:#111;color:#fff;border-radius:999px;min-width:20px;height:20px;line-height:20px;text-align:center;font-style:normal;font-size:.72rem;padding:0 5px}
.chat-fab.has-unread{animation:chatpulse 1.6s infinite}
@keyframes chatpulse{0%,100%{box-shadow:0 6px 22px rgba(194,16,95,.38)}50%{box-shadow:0 0 0 9px rgba(194,16,95,.18)}}
.chat-panel{position:fixed;right:18px;bottom:84px;z-index:81;width:352px;max-width:calc(100vw - 24px);height:480px;max-height:calc(100vh - 110px);background:#fff;border-radius:16px;box-shadow:0 14px 44px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
.chat-panel[hidden]{display:none}
.chat-panel header{background:var(--rose);color:#fff;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}
.chat-panel header small{display:block;opacity:.85;font-size:.78rem}.chat-panel header .icon-btn{color:#fff;background:transparent}.chat-panel header .ic{stroke:#fff}
.chat-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#faf7f9}
.chat-empty{margin:auto;text-align:center;font-size:.9rem;padding:0 14px}
.msg{display:flex;flex-direction:column;max-width:82%}.msg small{font-size:.7rem;color:#888;margin-top:2px}
.msg .bubble{padding:8px 12px;border-radius:14px;white-space:pre-wrap;word-break:break-word;font-size:.92rem;line-height:1.4}
.msg.out{align-self:flex-end;align-items:flex-end}.msg.out .bubble{background:var(--rose);color:#fff;border-bottom-right-radius:4px}
.msg.in{align-self:flex-start}.msg.in .bubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.chat-guest{display:grid;gap:6px;padding:8px 12px;border-top:1px solid var(--line);background:#fff}.chat-guest[hidden]{display:none}.chat-guest input{padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);align-items:flex-end}
.chat-form textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font:inherit;max-height:110px}
.chat-form .btn{padding:10px 12px;border-radius:12px}.chat-form .ic{stroke:#fff}
@media (max-width:760px){
  .chat-fab{bottom:74px;right:12px;padding:13px}.chat-fab-text{display:none}
  .chat-panel{right:8px;left:8px;width:auto;bottom:74px;height:min(520px,calc(100vh - 150px));max-width:none}
  .toasts{bottom:140px}
}

/* ---- Shajgoj-style home: category sidebar + picture tiles ---- */
.home-top{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:8px}
.home-top .hero{margin-bottom:0}
.home-top .slider{aspect-ratio:16/7}
.catside{position:relative;z-index:20;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.catside-head{display:flex;align-items:center;gap:8px;background:var(--rose);color:#fff;font-weight:700;padding:11px 14px;border-radius:var(--r) var(--r) 0 0}
.catside-head .ic{stroke:#fff}
.catside ul{list-style:none;margin:0;padding:4px 0}
.catside li{position:static}
.catside li>a{display:flex;align-items:center;gap:10px;padding:7px 14px;color:var(--ink);font-weight:500;font-size:.93rem}
.catside li>a:hover,.catside li:hover>a{background:var(--rose-xl);color:var(--rose);text-decoration:none}
.cs-ico{width:26px;height:26px;border-radius:50%;background:var(--rose-l);color:var(--rose);display:grid;place-items:center;font-size:.8rem;font-weight:700;overflow:hidden;flex:none}
.cs-ico img{width:100%;height:100%;object-fit:cover}
.cs-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catside .ic.sm{width:14px;height:14px;color:var(--muted)}
.cs-empty{padding:10px 14px}
.flyout{display:none;position:absolute;left:100%;top:0;margin-left:-1px;min-height:100%;width:min(640px,60vw);background:#fff;border:1px solid var(--line);border-radius:0 var(--r) var(--r) var(--r);box-shadow:var(--shadow);padding:16px 20px;grid-template-columns:repeat(3,1fr);gap:12px 24px;align-content:start;z-index:30}
.catside li:hover>.flyout,.catside li:focus-within>.flyout{display:grid}
.fly-col{display:grid;gap:3px;align-content:start}
.fly-head{font-weight:700;color:var(--rose-d)}
.fly-sub{color:var(--ink);font-size:.88rem;padding-left:calc(var(--d,1) * 8px - 8px)} .fly-sub:hover{color:var(--rose)}
.only-mobile{display:none}
.tiles{display:grid;gap:12px}
.tiles-4{grid-template-columns:repeat(4,1fr)} .tiles-6{grid-template-columns:repeat(6,1fr)}
.tile{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:3/2;background:var(--rose-l);color:var(--ink);box-shadow:var(--shadow);transition:transform .15s}
.tile:hover{transform:translateY(-2px);text-decoration:none}
.tile img{width:100%;height:100%;object-fit:cover}
.tile-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;background:linear-gradient(transparent,rgba(30,10,25,.72));color:#fff;display:grid}
.tile-cap small{opacity:.9}
.tile-g{display:grid;align-content:end;gap:2px;padding:16px;color:#fff}
.tile-g b{font-size:1.15rem} .tile-g small{opacity:.92}
.tile-cat{aspect-ratio:1/1}
.tile-cat.tile-g{align-content:space-between;padding:0}
.tile-cat .tile-cap{position:absolute}
.tile-letter{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:3rem;font-weight:700;color:rgba(255,255,255,.9)}
.g1{background:linear-gradient(135deg,#c2105f,#ff7aa8)} .g2{background:linear-gradient(135deg,#0e8a86,#6fd6c2)} .g3{background:linear-gradient(135deg,#6a3df0,#b49cff)}
.g4{background:linear-gradient(135deg,#e8590c,#ffb454)} .g5{background:linear-gradient(135deg,#2b6cb0,#74b9ff)} .g6{background:linear-gradient(135deg,#128a57,#8be0a8)}
@media (max-width:1100px){.home-top{grid-template-columns:210px minmax(0,1fr)}.tiles-6{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){
  .home-top{grid-template-columns:1fr}.catside{display:none}.home-top .slider{aspect-ratio:16/8}.only-mobile{display:block}
  .tiles-4{grid-template-columns:repeat(2,1fr)}.tiles-6{grid-template-columns:repeat(3,1fr);gap:8px}
}

/* ---- floating cart ---- */
.fcart{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--rose);color:#fff;border:0;border-radius:14px 0 0 14px;padding:10px 12px;min-width:62px;cursor:pointer;box-shadow:0 6px 22px rgba(194,16,95,.38);font-family:inherit}
.fcart:hover{filter:brightness(1.07)}
.fcart-ico{position:relative;display:grid}.fcart .ic{width:26px;height:26px;stroke:#fff}
.fcart .count{position:absolute;top:-8px;right:-10px;background:var(--gold);color:#222;border-radius:999px;min-width:20px;height:20px;line-height:20px;text-align:center;font-style:normal;font-size:.72rem;font-weight:700;padding:0 5px}
.fcart-lbl{font-size:.72rem;font-weight:600}
.fcart-total{font-size:.78rem;background:rgba(255,255,255,.2);border-radius:8px;padding:2px 6px;white-space:nowrap}
.fcart.bump{animation:fcbump .5s}
@keyframes fcbump{30%{transform:translateY(-50%) scale(1.14)}60%{transform:translateY(-50%) scale(.96)}}
.fcart-wrap[hidden]{display:none}
.fcart-wrap{position:fixed;inset:0;z-index:90}
.fcart-bg{position:absolute;inset:0;background:rgba(20,8,20,.45)}
.fcart-panel{position:absolute;right:0;top:0;bottom:0;width:min(400px,100vw);background:#fff;display:flex;flex-direction:column;box-shadow:-8px 0 30px rgba(0,0,0,.2);animation:fcin .22s ease-out}
@keyframes fcin{from{transform:translateX(100%)}}
.fcart-top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);font-size:1.05rem}
.fcart-list{flex:1;overflow-y:auto;padding:6px 14px}
.fcart-empty{text-align:center;padding:40px 10px}
.fc-item{display:grid;grid-template-columns:64px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}
.fc-item img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--surface)}
.fc-info{display:grid;gap:2px;min-width:0}.fc-name{color:var(--ink);font-weight:600;font-size:.9rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fc-oos{color:var(--err)}
.fc-qty{display:inline-flex;align-items:center;gap:8px;margin-top:4px}
.fc-qty button{width:26px;height:26px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;font-size:1rem;line-height:1}
.fc-qty button:disabled{opacity:.4;cursor:default}
.fc-side{display:grid;justify-items:end;gap:6px;font-size:.9rem}
.fc-rm{border:0;background:none;color:var(--muted);cursor:pointer;font-size:.9rem}.fc-rm:hover{color:var(--err)}
.fcart-foot{padding:14px 16px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fcart-sub{grid-column:1/-1;display:flex;justify-content:space-between;font-size:1.05rem}
.fcart-wrap.is-empty .fcart-foot .btn-primary{pointer-events:none;opacity:.5}
body.fcart-open{overflow:hidden}
@media (max-width:760px){.fcart{top:auto;bottom:140px;transform:none;padding:8px 9px;min-width:0;border-radius:12px 0 0 12px}.fcart-lbl,.fcart-total{display:none}.fcart .ic{width:24px;height:24px}.fcart.bump{animation:none}}
body.fcart-open .toasts{display:none}

/* ---- Shajgoj-style top nav with hover sub-categories ---- */
.mainnav{position:relative}
.mainnav-in{overflow:visible;flex-wrap:wrap;position:relative}
.navitem{position:static}
.navitem>a{display:block}
.navdrop{display:none;position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;border:1px solid var(--line);border-top:2px solid var(--rose);box-shadow:var(--shadow);padding:20px 24px;grid-template-columns:repeat(4,1fr);gap:14px 28px;align-content:start;border-radius:0 0 var(--r) var(--r)}
.navitem:hover>.navdrop,.navitem:focus-within>.navdrop{display:grid}
.navitem:hover>a{color:var(--rose)}
.nd-col{display:grid;gap:4px;align-content:start}
.nd-head{font-weight:700;color:var(--rose-d);padding:0!important}
.nd-sub{color:var(--ink);font-size:.9rem;padding:2px 0 2px calc(var(--d,1) * 8px - 8px)!important;white-space:normal!important} .nd-sub:hover{color:var(--rose)}
.nav-cat{text-transform:uppercase;font-size:.86rem!important;letter-spacing:.2px}
.tiles-3{grid-template-columns:repeat(3,1fr)} .tiles-5{grid-template-columns:repeat(5,1fr)}
.tile-wide{aspect-ratio:2/1} .tile-sq{aspect-ratio:1/1}
.home-top{display:block}
.hero{margin-bottom:8px}
.hero .slider{aspect-ratio:16/5}
@media (max-width:900px){.tiles-3{grid-template-columns:1fr}.tiles-5{grid-template-columns:repeat(3,1fr);gap:8px}.hero .slider{aspect-ratio:16/8}}
.mainnav a{padding:11px 8px}
.nav-cat{font-size:.78rem!important;letter-spacing:0}
.mainnav-in>a{font-size:.85rem}

/* ---- quick add (choose color / size) ---- */
.qa-wrap{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:14px}
.qa-bg{position:absolute;inset:0;background:rgba(20,8,20,.5)}
.qa-box{position:relative;background:#fff;border-radius:var(--r);padding:18px;width:min(420px,100%);max-height:92vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.qa-close{position:absolute;right:10px;top:8px;border:0;background:none;font-size:1.1rem;cursor:pointer;color:var(--muted)}
.qa-head{display:flex;gap:12px;align-items:center;margin-bottom:12px;padding-right:22px}
.qa-head img{width:70px;height:70px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.qa-price{color:var(--rose);font-weight:700;font-size:1.1rem;margin-top:2px}
.qa-act{display:flex;gap:10px;align-items:center;margin-top:10px}.qa-act .btn{flex:1}
body.qa-open{overflow:hidden}
.navdrop-brands{grid-template-columns:repeat(6,1fr);gap:4px 20px}
.nd-brand{color:var(--ink);padding:5px 0!important;font-size:.9rem!important;white-space:normal!important} .nd-brand:hover{color:var(--rose)}
.nd-all{font-weight:700;color:var(--rose)!important}
.mainnav a{padding:11px 6px}
.nav-cat{font-size:.74rem!important}
.mainnav-in>a{font-size:.82rem}

/* ---- brands page: logo cards ---- */
.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.brand-card{display:grid;justify-items:center;gap:4px;padding:14px 10px;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-align:center;transition:box-shadow .15s,transform .15s}
.brand-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);text-decoration:none;border-color:var(--rose)}
.bc-logo{width:100%;height:90px;display:grid;place-items:center;overflow:hidden;margin-bottom:4px}
.bc-logo img{max-width:100%;max-height:100%;object-fit:contain}
.bc-logo i{width:70px;height:70px;border-radius:50%;background:var(--rose-l);color:var(--rose);display:grid;place-items:center;font-style:normal;font-size:1.8rem;font-weight:700}
.brand-card small{color:var(--muted)}
@media (max-width:600px){.brand-grid{grid-template-columns:repeat(2,1fr)}.bc-logo{height:72px}}

/* ---- compact promo strip under the slider ---- */
.promo-strip{margin:14px 0 6px}
.promo-strip .block-head{margin-bottom:8px}.promo-strip h2{font-size:1.05rem}
.ps-wrap{position:relative}
.ps-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px}
.ps-track::-webkit-scrollbar{display:none}
.ps-card{flex:0 0 auto;width:310px;scroll-snap-align:start;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px dashed var(--rose);border-radius:10px;padding:8px 10px}
.ps-off{flex:none;background:var(--rose);color:#fff;font-weight:700;font-size:.85rem;border-radius:8px;padding:8px 9px;text-align:center;min-width:56px;line-height:1.15}
.ps-body{flex:1;min-width:0;display:grid;line-height:1.25}.ps-body b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-body small{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-code{flex:none;display:flex;align-items:center;gap:4px;background:var(--gold);border:0;border-radius:6px;padding:5px 7px;font-weight:700;font-size:.76rem;cursor:pointer;color:#222;font-family:inherit}
.ps-code .ic{width:13px;height:13px}
.ps-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);font-size:1.3rem;line-height:1;cursor:pointer;color:var(--rose)}
.ps-nav{display:none}.ps-wrap.has-more .ps-nav{display:block}.ps-nav.prev{left:-12px}.ps-nav.next{right:-12px}
@media (max-width:760px){.ps-card{width:270px}.ps-nav{display:none!important}}
