*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
body{font-family:'Assistant','Segoe UI',Helvetica,Arial,sans-serif;color:#282c3f;background:#fff;overflow-x:hidden}
a{cursor:pointer}

/* top bar */
.topbar{display:flex;align-items:center;gap:28px;padding:12px 26px;box-shadow:0 2px 6px rgba(0,0,0,.08);position:sticky;top:0;background:#fff;z-index:40}
.logo{font-weight:800;font-size:23px;color:#ff3f6c;letter-spacing:-.5px}
.logo span{color:#282c3f;font-weight:700;font-size:23px;margin-left:5px}
.nav{display:flex;gap:22px}
.nav a{font-size:13px;font-weight:700;letter-spacing:.3px;color:#282c3f;padding:14px 0;border-bottom:3px solid transparent}
.nav a:hover,.nav a.active{color:#ff3f6c;border-color:#ff3f6c}
.search{flex:1;max-width:560px}
.search input{width:100%;background:#f5f5f6;border:1px solid #f5f5f6;border-radius:4px;padding:11px 14px;font-size:14px}
.search input:focus{outline:none;border-color:#ff3f6c;background:#fff}
.acct{display:flex;align-items:center;gap:7px;font-size:12px;color:#94969f;font-weight:700;margin-left:auto}
.dot{width:9px;height:9px;border-radius:50%;background:#ffb800}
.dot.on{background:#03a685}

.bagbtn{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #d4d5d9;border-radius:4px;padding:9px 14px;font-size:13px;font-weight:700;color:#282c3f;cursor:pointer;position:relative}
.bagbtn:hover{border-color:#ff3f6c;color:#ff3f6c}
.bagcount{background:#ff3f6c;color:#fff;border-radius:10px;min-width:18px;height:18px;font-size:11px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:70;display:flex;justify-content:flex-end}
.cart-drawer{width:420px;max-width:100%;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 18px rgba(0,0,0,.2)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eaeaec;font-size:16px;font-weight:700}
.cart-close{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#535766}
.cart-body{flex:1;overflow-y:auto;padding:8px 20px}
.cart-foot{border-top:1px solid #eaeaec;padding:16px 20px}
.citem{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f2}
.citem img{width:64px;height:85px;object-fit:cover;border-radius:4px;background:#f5f5f6}
.citem .cmeta{flex:1;font-size:13px}
.citem .cb{font-weight:700}
.citem .cn{color:#7e818c;font-size:12px;margin:1px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.citem .cprice{font-weight:700;margin-top:3px}
.citem .cmyn{color:#7e818c;text-decoration:line-through;font-weight:400;font-size:12px;margin-left:5px}
.qtyrow{display:flex;align-items:center;gap:8px;margin-top:6px}
.qtyrow button{width:24px;height:24px;border:1px solid #d4d5d9;background:#fff;border-radius:3px;cursor:pointer;font-size:15px;line-height:1}
.qtyrow .rm{margin-left:auto;color:#94969f;font-size:12px;text-decoration:underline;background:none;border:none;width:auto;cursor:pointer}
.cart-empty{padding:50px 10px;text-align:center;color:#94969f}
.sumrow{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px}
.sumrow.total{font-size:16px;font-weight:800}
.btn-primary{width:100%;background:#ff3f6c;color:#fff;border:none;border-radius:4px;padding:13px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.3px}
.btn-primary:hover{background:#ff2a5b}
.btn-primary:disabled{background:#f5a9bd;cursor:default}
.cform{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.cform input,.cform textarea{border:1px solid #d4d5d9;border-radius:4px;padding:10px;font-size:13px;font-family:inherit}
.cform textarea{resize:vertical;min-height:56px}
.cform label{font-size:11px;color:#94969f;font-weight:700;text-transform:uppercase;margin-bottom:-4px}
.cok{text-align:center;padding:24px 8px}
.cok .tick{width:60px;height:60px;border-radius:50%;background:#03a685;color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.cok h3{margin-bottom:6px}
.cok .oid{font-weight:800;color:#ff3f6c}
.err{color:#ff3f6c;font-size:12px;font-weight:700}
.otp-row,.otp-verify{display:flex;gap:8px}
.otp-row input,.otp-verify input{flex:1}
.btn-mini{white-space:nowrap;background:#fff;border:1px solid #ff3f6c;color:#ff3f6c;border-radius:4px;padding:0 12px;font-size:12px;font-weight:700;cursor:pointer}
.btn-mini:disabled{border-color:#d4d5d9;color:#94969f;cursor:default}
.otp-msg{font-size:12px;color:#535766;min-height:14px}
.otp-msg.ok{color:#03a685;font-weight:700}
.otp-msg.err{color:#ff3f6c;font-weight:700}

/* selectable size pills in PDP */
.szpill.sel{border-color:#ff3f6c;color:#ff3f6c;font-weight:800;background:#fff5f7}
.szpill.pick{cursor:pointer}
.szpill.pick:hover{border-color:#ff3f6c}
.pdp-add{margin-top:16px}

.crumb{padding:12px 26px;font-size:13px;color:#282c3f;text-transform:capitalize}
.crumb b{text-transform:none}

/* layout */
.layout{display:flex;align-items:flex-start}
.filters{width:250px;flex:none;border-right:1px solid #eaeaec;padding:0 16px 40px;position:sticky;top:64px;max-height:calc(100vh - 64px);overflow-y:auto}
.filters-head{display:flex;justify-content:space-between;align-items:center;padding:18px 0 10px;border-bottom:1px solid #eaeaec}
.filters-head span{font-size:15px;font-weight:700;letter-spacing:.2px}
.clearall{background:none;border:none;color:#ff3f6c;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.3px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.chip{background:#fff;border:1px solid #ff3f6c;color:#ff3f6c;border-radius:14px;font-size:11px;padding:3px 9px;display:flex;gap:6px;align-items:center;cursor:pointer}
.chip b{cursor:pointer}

.fgroup{border-bottom:1px solid #eaeaec;padding:14px 0}
.fgroup h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;display:flex;justify-content:space-between;cursor:pointer;color:#3e4152}
.fgroup h4 .car{color:#94969f;font-weight:400}
.fsearch{width:100%;margin:9px 0 4px;padding:6px 8px;border:1px solid #d4d5d9;border-radius:3px;font-size:12px}
.fopts{margin-top:8px;max-height:220px;overflow-y:auto}
.fopt{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:13px;color:#3e4152;cursor:pointer}
.fopt:hover{color:#ff3f6c}
.fopt input{accent-color:#ff3f6c;width:15px;height:15px;cursor:pointer}
.fopt .cnt{margin-left:auto;color:#94969f;font-size:12px}
.fopt.sw{display:inline-flex;width:auto;margin-right:6px}
.swatch{width:22px;height:22px;border-radius:50%;border:1px solid #d4d5d9}

/* results */
.results{flex:1;min-width:0;padding:6px 26px 60px}
.results-top{display:flex;justify-content:space-between;align-items:center;padding:8px 0 14px}
.rc{font-size:14px;color:#535766}
.rc b{color:#282c3f}
.sortwrap{display:flex;align-items:center;gap:8px}
.sortwrap label{font-size:12px;color:#94969f}
.sortwrap select{border:1px solid #d4d5d9;border-radius:2px;padding:8px 10px;font-size:13px;font-weight:700;background:#fff}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.card{background:#fff;cursor:pointer;position:relative;padding-bottom:12px;border:1px solid transparent}
.card:hover{box-shadow:0 4px 14px rgba(0,0,0,.18);border-color:#eaeaec;z-index:1}
.card .imgwrap{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#f5f5f6}
.card .imgwrap img{width:100%;height:100%;object-fit:cover;display:block}
.card:hover .sizes{opacity:1}
.sizes{position:absolute;left:0;right:0;bottom:0;background:rgba(255,255,255,.95);padding:8px;font-size:11px;font-weight:700;text-align:center;opacity:0;transition:.15s;color:#282c3f}
.sizes span{display:inline-block;margin:0 2px;color:#535766}
.stockflag{position:absolute;top:8px;left:8px;background:#fff;color:#ff5722;font-size:10px;font-weight:700;padding:2px 6px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.info{padding:8px 10px 0}
.brand{font-size:14px;font-weight:700;color:#282c3f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pname{font-size:13px;color:#535766;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.price{margin-top:6px;font-size:13px}
.price .now{font-weight:700;color:#282c3f}
.price .mrp{color:#7e818c;text-decoration:line-through;margin-left:6px}
.price .off{color:#ff905a;margin-left:6px;font-weight:700}
.empty{padding:60px;text-align:center;color:#94969f;font-size:15px}
#sentinel{height:1px}

/* pdp modal */
.pdp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}
.pdp-card{background:#fff;border-radius:6px;max-width:900px;width:100%;max-height:90vh;display:flex;overflow:hidden;position:relative}
.pdp-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:30px;line-height:1;cursor:pointer;color:#535766;z-index:2}
.pdp-gallery{width:50%;overflow-y:auto;background:#f5f5f6;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.pdp-gallery img{width:100%;display:block}
.pdp-info{width:50%;padding:26px;overflow-y:auto}
.pdp-info h2{font-size:20px}
.pdp-info .sub{color:#535766;margin-top:3px}
.pdp-info .pr{margin:16px 0;font-size:20px}
.pdp-info .pr .now{font-weight:700}
.pdp-info .pr .mrp{text-decoration:line-through;color:#7e818c;font-size:16px;margin-left:8px}
.pdp-info .pr .off{color:#ff905a;margin-left:8px;font-size:16px;font-weight:700}
.spec{width:100%;border-collapse:collapse;margin-top:10px}
.spec td{padding:7px 4px;font-size:13px;border-bottom:1px solid #f0f0f2;vertical-align:top}
.spec td:first-child{color:#7e818c;width:44%}
.sizerow{margin:14px 0;display:flex;flex-wrap:wrap;gap:8px}
.sizerow b{width:100%;font-size:12px;color:#535766}
.szpill{border:1px solid #d4d5d9;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}

/* pdp gallery images are clickable to zoom */
.pdp-gallery img{cursor:zoom-in}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:90;display:flex;align-items:center;justify-content:center}
.lb-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.lb-stage.zoomed{cursor:grab}
#lbImg{max-width:96vw;max-height:92vh;object-fit:contain;transform-origin:center center;transition:transform .12s ease;cursor:zoom-in;user-select:none;-webkit-user-drag:none}
.lb-stage.zoomed #lbImg{cursor:zoom-out;max-width:none;max-height:none;transition:none}
.lb-btn{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:none;cursor:pointer;z-index:2;border-radius:50%}
.lb-btn:hover{background:rgba(255,255,255,.28)}
.lb-close{top:16px;right:16px;width:44px;height:44px;font-size:28px;line-height:1}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:30px;line-height:1}
.lb-prev{left:14px}.lb-next{right:14px}
.lb-hint{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font-size:12px;pointer-events:none}

/* mobile filter trigger + backdrop */
.mfilters-btn{display:none;background:#fff;border:1px solid #d4d5d9;border-radius:4px;padding:9px 14px;font-size:13px;font-weight:700;color:#282c3f;cursor:pointer}
.filters-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:79}

/* ---------- responsive ---------- */
@media(max-width:760px){
  .topbar{gap:10px;padding:10px 14px;flex-wrap:nowrap}
  .nav{display:none}
  .logo{font-size:20px}.logo span{font-size:20px}
  .acct{display:none}
  .crumb{padding:10px 14px;font-size:12px}
  .results{padding:6px 12px 60px}
  .results-top{gap:10px;flex-wrap:wrap}
  .mfilters-btn{display:inline-block}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .filters{position:fixed;top:0;left:0;bottom:0;width:290px;max-width:86%;z-index:80;background:#fff;
    transform:translateX(-100%);transition:transform .22s ease;overflow-y:auto;max-height:100vh;
    box-shadow:2px 0 14px rgba(0,0,0,.25);border-right:1px solid #eaeaec}
  .filters.open{transform:none}
  .cart-drawer{width:100%}
  .pdp-card{flex-direction:column}.pdp-gallery,.pdp-info{width:100%}
  .pdp-gallery{max-height:46vh}
  .lb-prev,.lb-next{width:40px;height:40px;font-size:26px}
}
@media(min-width:761px){ .filters-backdrop{display:none} }
