/* ===================== RESET & BASE ===================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Segoe UI',system-ui,sans-serif;color:#111;background:#fff;overflow-x:hidden;max-width:100vw}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;object-fit:cover}
button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}
ul{list-style:none}
input,select,textarea{font-family:inherit}

/* ===================== VARIABLES ===================== */
:root{
  --blue:#1a5cc8;--blue-dk:#1448a0;
  --mag:#c4186c;
  --white:#fff;--black:#111;
  --grey:#f5f5f5;--grey2:#e8e8e8;--grey3:#999;
  --lav:#f0eeff;
  --green:#16a34a;
  --sh:0 2px 12px rgba(0,0,0,.08);
  --sh2:0 4px 24px rgba(0,0,0,.14);
  --r:10px;--r2:6px;
}

/* ===================== PAGE SYSTEM ===================== */
.page{display:none}
.page.active{display:block;animation:fadeIn .15s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* ===================== ANNOUNCEMENT BAR ===================== */
.ann-bar{background:var(--mag);overflow:hidden;padding:9px 0;white-space:nowrap;flex-shrink:0}
.ann-track{display:inline-flex;animation:marq 30s linear infinite}
.ann-track span{color:#fff;font-size:12.5px;font-weight:600;padding-right:80px;letter-spacing:.3px}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===================== HEADER ===================== */
.site-hdr{background:#fff;border-bottom:1px solid var(--grey2);position:sticky;top:0;z-index:900;box-shadow:var(--sh)}
.hdr-top{display:flex;align-items:center;gap:12px;padding:10px 20px;max-width:1360px;margin:0 auto}
.ham-btn{display:none;flex-direction:column;gap:5px;padding:4px;width:34px;flex-shrink:0}
.ham-btn span{display:block;height:2px;background:var(--black);border-radius:2px;transition:.3s}
.ham-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ham-btn.open span:nth-child(2){opacity:0}
.ham-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.brand-logo{flex-shrink:0;display:flex;align-items:center}
.brand-logo img{height:42px;width:auto;object-fit:contain}
.logo-fb{font-size:20px;font-weight:900;color:var(--black);letter-spacing:-1px;display:none}
.logo-fb b{color:var(--blue)}
.srch-form{flex:1;display:flex;background:var(--grey);border-radius:24px;overflow:hidden;border:1.5px solid transparent;transition:.2s;max-width:520px}
.srch-form:focus-within{border-color:var(--blue);background:#fff}
.srch-form input{flex:1;border:none;background:transparent;padding:9px 16px;font-size:14px;outline:none}
.srch-form input::placeholder{color:var(--grey3)}
.srch-form button{padding:0 16px;color:var(--grey3);font-size:16px;transition:.2s;background:none;border:none;cursor:pointer}
.srch-form button:hover{color:var(--blue)}
.hdr-icons{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}
.ico-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--black);transition:.2s;position:relative;background:none;border:none;cursor:pointer;flex-shrink:0}
.ico-btn:hover{background:var(--grey);color:var(--blue)}
.ico-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.cart-badge{position:absolute;top:2px;right:2px;background:var(--blue);color:#fff;font-size:10px;font-weight:700;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* DESKTOP NAV ROW */
.hdr-nav{border-top:1px solid var(--grey2);background:#fff}
.nav-list{display:flex;align-items:center;gap:2px;padding:0 20px;max-width:1360px;margin:0 auto;overflow-x:auto;scrollbar-width:none}
.nav-list::-webkit-scrollbar{display:none}
.nav-lnk{display:block;padding:11px 13px;font-size:13.5px;font-weight:600;color:var(--black);border-bottom:2.5px solid transparent;transition:.2s;white-space:nowrap;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none}
.nav-lnk:hover,.nav-lnk.act{color:var(--blue);border-bottom-color:var(--blue)}
.nav-lnk.hot{color:var(--mag)}
.has-dd{position:relative}
.dd{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--grey2);border-radius:var(--r2);box-shadow:var(--sh2);padding:8px 0;min-width:200px;z-index:999}
.has-dd:hover .dd{display:block}
.dd a,.dd button{display:block;width:100%;padding:9px 18px;font-size:13.5px;color:var(--black);transition:.15s;background:none;border:none;cursor:pointer;text-align:left}
.dd a:hover,.dd button:hover{background:var(--lav);color:var(--blue)}
.caret{font-size:10px;margin-left:3px}

/* ===================== MOBILE MENU ===================== */
.mob-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000}
.mob-ov.open{display:block}
.mob-menu{position:fixed;top:0;left:-100%;width:86%;max-width:340px;height:100%;background:#fff;z-index:1001;overflow-y:auto;transition:.3s cubic-bezier(.4,0,.2,1);box-shadow:var(--sh2);display:flex;flex-direction:column}
.mob-menu.open{left:0}
.mm-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--grey2);font-weight:800;font-size:16px;background:var(--blue);color:#fff;flex-shrink:0}
.mm-cls{font-size:22px;color:rgba(255,255,255,.7);padding:4px;background:none;border:none;cursor:pointer}
.mm-body{flex:1;overflow-y:auto}
.mm-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;font-size:14.5px;font-weight:600;color:var(--black);text-align:left;background:none;border:none;border-bottom:1px solid var(--grey2);cursor:pointer;transition:.15s}
.mm-item:hover,.mm-item:active{background:var(--lav);color:var(--blue)}
.mm-item.hot{color:var(--mag)}
.mm-sub{display:none;background:#f9f9f9}
.mm-sub.open{display:block}
.mm-sub a,.mm-sub button{display:block;width:100%;padding:11px 20px 11px 34px;font-size:13.5px;color:#444;border:none;border-bottom:1px solid var(--grey2);background:none;cursor:pointer;text-align:left;transition:.15s}
.mm-sub a:hover,.mm-sub button:hover{color:var(--blue);background:var(--lav)}

/* ===================== HERO SLIDER ===================== */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d2d6b,#1a5cc8 60%,#2d3a8c);min-height:380px;display:flex;align-items:center}
.hero-slide{display:none;width:100%;padding:50px 20px;max-width:1360px;margin:0 auto;align-items:center;gap:36px}
.hero-slide.active{display:flex}
.hero-txt{flex:1;color:#fff}
.hero-txt h1{font-size:clamp(24px,5vw,52px);font-weight:900;line-height:1.1;margin-bottom:12px}
.hero-txt h1 em{color:#f9d94e;font-style:normal}
.hero-txt p{font-size:clamp(13px,2vw,16px);opacity:.88;margin-bottom:20px;max-width:460px}
.hero-cta{display:inline-block;background:var(--mag);color:#fff;padding:12px 28px;border-radius:30px;font-size:15px;font-weight:700;transition:.2s}
.hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(196,24,108,.4)}
.hero-img-wrap{flex:0 0 auto;display:flex;justify-content:center;align-items:center}
.hero-img-wrap img{max-height:260px;object-fit:contain;filter:drop-shadow(0 16px 32px rgba(0,0,0,.35))}
.hero-arrows{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 14px;pointer-events:none}
.hero-arr{pointer-events:all;background:rgba(255,255,255,.18);color:#fff;width:40px;height:40px;border-radius:50%;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;border:none;backdrop-filter:blur(4px)}
.hero-arr:hover{background:rgba(255,255,255,.35)}
.hero-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:7px}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:.3s;border:none}
.hero-dot.active{background:#fff;width:22px;border-radius:4px}

/* ===================== TRUST BAR ===================== */
.trust-bar{background:#fff;border-bottom:1px solid var(--grey2);padding:10px 20px}
.trust-in{max-width:1360px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.trust-items{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#333}
.trust-item svg{color:var(--blue);width:18px;height:18px;flex-shrink:0}
.pay-badges{display:flex;gap:6px;align-items:center}
.pbadge{background:var(--grey);border:1px solid var(--grey2);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700;color:#555}

/* ===================== INFO STRIP ===================== */
.info-strip{background:var(--lav);padding:9px 20px;text-align:center}
.info-strip button{font-size:13.5px;color:var(--blue);font-weight:600;background:none;border:none;cursor:pointer}
.info-strip button:hover{text-decoration:underline}

/* ===================== SECTIONS ===================== */
.sec{padding:40px 20px}
.sec-in{max-width:1360px;margin:0 auto}
.sec-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.sec-ttl{font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.see-all{font-size:13px;color:var(--blue);font-weight:600;background:none;border:none;cursor:pointer}
.see-all:hover{text-decoration:underline}

/* ===================== CATEGORY GRID ===================== */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:14px}
.cat-card{display:flex;flex-direction:column;align-items:center;gap:9px;padding:16px 8px;background:var(--grey);border-radius:var(--r);border:2px solid transparent;cursor:pointer;transition:.2s;text-align:center;-webkit-tap-highlight-color:transparent}
.cat-card:hover,.cat-card:active{border-color:var(--blue);background:var(--lav);transform:translateY(-2px)}
.cat-ico{width:52px;height:52px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:var(--sh)}
.cat-lbl{font-size:12px;font-weight:700;color:#333}

/* ===================== SCROLL ROW (horizontal) ===================== */
.srow-wrap{position:relative;padding:0 2px}
.srow{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x}
.srow::-webkit-scrollbar{display:none}
.sarr{position:absolute;top:50%;transform:translateY(-60%);background:#fff;border:1.5px solid var(--grey2);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;box-shadow:var(--sh);z-index:10;transition:.2s}
.sarr:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.sarr.left{left:-16px}
.sarr.right{right:-16px}

/* ===================== PRODUCT CARD ===================== */
.pcard{flex:0 0 185px;background:#fff;border-radius:var(--r);border:1.5px solid var(--grey2);overflow:hidden;cursor:pointer;transition:.2s;position:relative;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.pcard:hover{box-shadow:var(--sh2);transform:translateY(-3px);border-color:var(--blue)}
.pcard:active{transform:scale(.97)}
.pc-badge{position:absolute;top:9px;left:9px;background:var(--mag);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px;z-index:2}
.pc-wish{position:absolute;top:9px;right:9px;background:#fff;border:1px solid var(--grey2);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:.2s;z-index:2;border:none}
.pc-wish:hover,.pc-wish.on{color:var(--mag)}
.pc-img{width:100%;height:155px;object-fit:contain;padding:14px;background:var(--grey)}
.pc-body{padding:11px}
.pc-name{font-size:12.5px;font-weight:700;color:var(--black);margin-bottom:7px;line-height:1.3}
.pc-dots{display:flex;gap:4px;margin-bottom:7px;flex-wrap:wrap}
.cdot{width:13px;height:13px;border-radius:50%;border:1.5px solid rgba(0,0,0,.15);flex-shrink:0}
.pc-price{font-size:14px;font-weight:800;color:var(--blue)}
.pc-price small{font-size:10.5px;color:var(--grey3);font-weight:400;margin-left:3px}
.pc-vs{font-size:11px;color:var(--mag);font-weight:700;margin-top:2px}

/* PRODUCT GRID (list page) */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pgrid .pcard{flex:none;width:100%}

/* ===================== PROMO BANNER ===================== */
.promo-sec{padding:40px 20px}
.promo-sec.grey{background:var(--grey)}
.promo-row{display:flex;gap:14px;align-items:flex-start}
.promo-ban{flex:0 0 220px;border-radius:var(--r);min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#fff;position:relative;overflow:hidden}
.promo-ban img.ban-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
.promo-ban-c{position:relative;z-index:1}
.promo-ban h3{font-size:18px;font-weight:900;line-height:1.2;margin-bottom:7px}
.promo-ban p{font-size:12.5px;opacity:.85;margin-bottom:13px}
.promo-lnk{display:inline-block;background:rgba(255,255,255,.22);color:#fff;padding:7px 16px;border-radius:20px;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:.2s}
.promo-lnk:hover{background:rgba(255,255,255,.38)}
.blue-grad{background:linear-gradient(135deg,#0d2d6b,#1a5cc8)}
.dark-grad{background:linear-gradient(135deg,#1a1a2e,#16213e)}
.mac-grad{background:linear-gradient(135deg,#2d3436,#636e72)}
.ipad-grad{background:linear-gradient(135deg,#0984e3,#6c5ce7)}
.watch-grad{background:linear-gradient(135deg,#6c5ce7,#a29bfe)}
.laptop-grad{background:linear-gradient(135deg,#00b894,#00cec9)}

/* ===================== HOT DEALS ===================== */
.hot-sec{background:var(--lav);padding:40px 20px}
.hot-tabs{display:flex;gap:7px;margin-bottom:18px;flex-wrap:wrap}
.htab{padding:7px 16px;border-radius:20px;font-size:13px;font-weight:700;border:2px solid var(--grey2);color:#555;background:#fff;transition:.2s;cursor:pointer}
.htab.active,.htab:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ===================== REVIEWS ===================== */
.rev-sec{background:var(--lav);padding:40px 20px}
.rcard{flex:0 0 265px;background:#fff;border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
.rav{width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:9px}
.rnm{font-size:13.5px;font-weight:700;margin-bottom:2px}
.rstars{color:#f9c74f;font-size:13px;margin-bottom:7px}
.rtxt{font-size:13px;color:#555;line-height:1.5}

/* ===================== ABOUT ===================== */
.about-sec{padding:40px 20px;background:#fff}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
.about-pt{display:flex;gap:12px;align-items:flex-start}
.about-ico{width:38px;height:38px;border-radius:10px;background:var(--lav);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.about-pt h4{font-size:13.5px;font-weight:700;margin-bottom:3px}
.about-pt p{font-size:12.5px;color:#666;line-height:1.5}
.grades{display:flex;gap:10px;flex-wrap:wrap}
.gcard{flex:1;min-width:90px;padding:12px;border-radius:var(--r2);border:1.5px solid var(--grey2)}
.gcard h4{font-size:12px;font-weight:800;margin-bottom:3px}
.gcard p{font-size:11.5px;color:#666;line-height:1.4}
.gp{color:var(--green)}.ga{color:var(--blue)}.gm{color:#d97706}

/* ===================== CONTACT ===================== */
.cont-sec{padding:40px 20px;background:var(--grey)}
.cont-in{max-width:1360px;margin:0 auto}
.cont-links{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.cont-lnk{display:flex;align-items:center;gap:13px;padding:14px 16px;background:#fff;border-radius:var(--r);border:1.5px solid var(--grey2);transition:.2s;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cont-lnk:hover,.cont-lnk:active{border-color:var(--blue)}
.clico{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.clico.wa{background:#25d366}.clico.fb{background:#0866ff}.clico.em{background:var(--blue)}
.clink-txt strong{display:block;font-size:13.5px;font-weight:700}
.clink-txt span{font-size:12px;color:var(--grey3)}
.cf{display:flex;flex-direction:column;gap:9px}
.cf input,.cf textarea{padding:11px 13px;border:1.5px solid var(--grey2);border-radius:var(--r2);font-size:14px;outline:none;transition:.2s;background:#fff;width:100%}
.cf input:focus,.cf textarea:focus{border-color:var(--blue)}
.cf textarea{resize:vertical;min-height:90px}
.cf-btn{background:var(--blue);color:#fff;padding:13px;border-radius:var(--r2);font-size:14px;font-weight:700;transition:.2s;border:none;cursor:pointer;width:100%}
.cf-btn:hover{background:var(--blue-dk)}

/* ===================== FOOTER ===================== */
.footer{background:#111;color:#bbb;padding:32px 20px 0}
.footer-in{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
.fcol h4{color:#fff;font-size:12.5px;font-weight:700;margin-bottom:13px;text-transform:uppercase;letter-spacing:.5px}
.fcol a,.fcol button{display:block;font-size:13px;color:#aaa;margin-bottom:8px;transition:.15s;background:none;border:none;cursor:pointer;text-align:left;padding:0}
.fcol a:hover,.fcol button:hover{color:#fff}
.fcol p{font-size:12.5px;color:#888;line-height:1.7}
.fsocial{display:flex;gap:9px;margin-top:14px}
.fsico{width:38px;height:38px;border-radius:50%;background:#222;color:#aaa;display:flex;align-items:center;justify-content:center;transition:.2s;border:1px solid #333}
.fsico:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.fsico.fb-s:hover{background:#0866ff;border-color:#0866ff}
.fsico.wa-s:hover{background:#25d366;border-color:#25d366}
.fbot{background:#000;padding:14px 20px;margin-top:28px}
.fbot-in{max-width:1360px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.fcopy{font-size:12px;color:#555}
.fpay{display:flex;gap:6px}
.fpay span{background:#111;color:#666;border:1px solid #333;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}

/* ===================== LIST PAGE ===================== */
.list-pg{max-width:1360px;margin:0 auto}
.list-ban{padding:20px 20px 0}
.list-ban-inner{border-radius:var(--r);padding:20px;color:#fff}
.list-ban-inner h2{font-size:20px;font-weight:900;margin-bottom:4px}
.list-ban-inner p{font-size:13px;opacity:.85}
.list-tags{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.list-tag{font-size:12px;background:rgba(255,255,255,.15);padding:4px 10px;border-radius:20px}
.bread{font-size:12.5px;color:var(--grey3);padding:10px 20px 0}
.bread button{color:var(--blue);background:none;border:none;cursor:pointer;font-size:12.5px}
.ltbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--grey2)}
.lcount{font-size:13px;color:var(--grey3)}
.lcount strong{color:var(--black)}
.filter-btn{display:flex;align-items:center;gap:6px;background:var(--grey);border:1.5px solid var(--grey2);border-radius:var(--r2);padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer;transition:.2s}
.filter-btn:hover{border-color:var(--blue);color:var(--blue)}

/* Infinite scroll categories on list page */
.cat-section-block{padding:28px 20px 0}
.cat-section-block h3{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;margin-bottom:14px;padding-bottom:9px;border-bottom:2px solid var(--blue);display:inline-block}

/* ===================== DETAIL PAGE ===================== */
.detail-pg{max-width:1360px;margin:0 auto;padding-bottom:100px}
.det-bread{font-size:12.5px;color:var(--grey3);padding:12px 20px 0}
.det-bread button{color:var(--blue);background:none;border:none;cursor:pointer;font-size:12.5px}
.det-layout{display:flex;gap:32px;padding:16px 20px 0;align-items:flex-start}
.det-left{flex:0 0 420px;position:sticky;top:70px}
.det-right{flex:1;min-width:0}

/* image area */
.det-badge{background:var(--mag);color:#fff;font-size:12px;font-weight:700;padding:4px 11px;border-radius:20px;display:inline-block;margin-bottom:10px}
.det-main-img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--grey);border-radius:var(--r);padding:16px;border:1.5px solid var(--grey2)}
.det-thumbs{display:flex;gap:9px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.det-thumbs::-webkit-scrollbar{display:none}
.dthumb{width:64px;height:64px;border-radius:var(--r2);border:2px solid var(--grey2);object-fit:contain;padding:4px;background:#fff;cursor:pointer;transition:.2s;flex-shrink:0}
.dthumb.act,.dthumb:hover{border-color:var(--blue)}
.det-pre{margin-top:10px;background:var(--lav);border-radius:var(--r2);padding:8px 12px;font-size:12.5px;color:var(--grey3);text-align:center}
.det-pre strong{color:var(--blue)}

/* detail info */
.det-name{font-size:22px;font-weight:900;margin-bottom:7px;line-height:1.2}
.det-price-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;flex-wrap:wrap}
.det-price{font-size:28px;font-weight:900;color:var(--black)}
.det-vs{font-size:13px;color:var(--mag);font-weight:700}
.sel-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--grey3);margin-bottom:8px;margin-top:16px}

/* color swatches */
.col-sel{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.cswatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2.5px solid rgba(0,0,0,.1);transition:.2s}
.cswatch.sel,.cswatch:hover{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,92,200,.2)}
.col-nm{font-size:12.5px;color:var(--grey3);margin-top:4px;margin-bottom:12px}

/* storage */
.sto-sel{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.sbtn{padding:8px 14px;border:2px solid var(--grey2);border-radius:var(--r2);font-size:13px;font-weight:700;cursor:pointer;background:#fff;transition:.2s}
.sbtn.act,.sbtn:hover{border-color:var(--blue);background:var(--lav);color:var(--blue)}

/* condition */
.cond-sel{display:flex;flex-direction:column;gap:9px;margin-bottom:4px}
.cndbtn{padding:13px 14px;border:2px solid var(--grey2);border-radius:var(--r);cursor:pointer;transition:.2s;background:#fff;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left}
.cndbtn.act{border-color:var(--blue);background:var(--lav)}
.cnd-l h4{font-size:13.5px;font-weight:800;margin-bottom:2px}
.cnd-l p{font-size:11.5px;color:var(--grey3)}
.cnd-p{font-size:15px;font-weight:900;color:var(--blue);white-space:nowrap}

/* actions */
.det-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-bottom:18px;border-bottom:1px solid var(--grey2)}
.btn-cart{background:var(--blue);color:#fff;padding:14px;border-radius:var(--r2);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px;border:none;cursor:pointer;width:100%;transition:.2s}
.btn-cart:hover{background:var(--blue-dk)}
.btn-wa{background:#25d366;color:#fff;padding:14px;border-radius:var(--r2);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px;transition:.2s;text-decoration:none}
.btn-wa:hover{background:#1ebe59}
.winc{display:flex;gap:14px;flex-wrap:wrap;padding:14px;background:var(--grey);border-radius:var(--r2);margin-top:14px}
.witem{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#555;font-weight:600}
.witem span{font-size:20px}

/* accordion */
.acc{border:1.5px solid var(--grey2);border-radius:var(--r2);margin-top:10px;overflow:hidden}
.acc-hd{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;cursor:pointer;font-size:14px;font-weight:700;background:#fff}
.acc-hd:hover{background:var(--grey)}
.acc-arr{transition:.3s;display:inline-block;font-size:13px}
.acc-body{display:none;padding:13px 15px;font-size:13.5px;color:#555;line-height:1.7;border-top:1px solid var(--grey2);background:#fafafa}
.acc-body.open{display:block}
.acc-body ul{padding-left:16px;list-style:disc}
.acc-body ul li{margin-bottom:5px}

/* sticky bottom bar */
.stbar{position:fixed;bottom:0;left:0;right:0;z-index:850;background:#fff;border-top:1px solid var(--grey2);padding:10px 16px;display:none;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 16px rgba(0,0,0,.1)}
.stbar.vis{display:flex}
.st-info{flex:1;min-width:0}
.st-info h4{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-info p{font-size:11.5px;color:var(--grey3)}
.st-price{font-size:17px;font-weight:900;color:var(--blue);white-space:nowrap}
.st-btn{background:var(--mag);color:#fff;padding:11px 18px;border-radius:var(--r2);font-size:14px;font-weight:700;white-space:nowrap;border:none;cursor:pointer;transition:.2s}
.st-btn:hover{background:#a0125a}

/* ===================== CART DRAWER ===================== */
.cart-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1100}
.cart-ov.open{display:block}
.cart-draw{position:fixed;top:0;right:-100%;width:92%;max-width:420px;height:100%;background:#fff;z-index:1101;display:flex;flex-direction:column;transition:.3s ease;box-shadow:var(--sh2)}
.cart-draw.open{right:0}
.cart-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--grey2)}
.cart-hd h3{font-size:16px;font-weight:800}
.cart-cls{font-size:22px;color:var(--grey3);padding:4px}
.cart-list{flex:1;overflow-y:auto;padding:14px 18px}
.cart-empty{text-align:center;padding:40px 20px;color:var(--grey3);font-size:14px}
.citem{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--grey2)}
.citem-img{width:68px;height:68px;object-fit:contain;background:var(--grey);border-radius:var(--r2);padding:4px;flex-shrink:0}
.citem-inf{flex:1;min-width:0}
.citem-nm{font-size:13px;font-weight:700;margin-bottom:4px;line-height:1.3}
.citem-mt{font-size:12px;color:var(--grey3);margin-bottom:8px}
.citem-ctrl{display:flex;align-items:center;gap:8px}
.qbtn{width:27px;height:27px;border-radius:50%;border:1.5px solid var(--grey2);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:.2s;background:none}
.qbtn:hover{border-color:var(--blue);color:var(--blue)}
.qn{font-size:14px;font-weight:700;min-width:20px;text-align:center}
.crm{font-size:12px;color:var(--grey3);cursor:pointer;margin-left:auto}
.crm:hover{color:var(--mag)}
.citem-p{font-size:14px;font-weight:800;color:var(--blue);align-self:flex-start;flex-shrink:0}
.cart-ft{padding:14px 18px;border-top:1px solid var(--grey2)}
.csub{display:flex;justify-content:space-between;font-size:15px;font-weight:800;margin-bottom:12px}
.btn-chk{display:block;width:100%;background:var(--mag);color:#fff;padding:14px;border-radius:var(--r2);font-size:15px;font-weight:700;text-align:center;margin-bottom:8px;border:none;cursor:pointer;transition:.2s}
.btn-chk:hover{background:#a0125a}
.btn-cs{display:block;width:100%;border:2px solid var(--blue);color:var(--blue);padding:12px;border-radius:var(--r2);font-size:14px;font-weight:700;text-align:center;cursor:pointer;background:#fff;transition:.2s}
.btn-cs:hover{background:var(--lav)}

/* ===================== CHECKOUT ===================== */
.co-pg{max-width:900px;margin:0 auto;padding:24px 20px 40px}
.co-pg h2{font-size:21px;font-weight:900;margin-bottom:20px}
.co-sec{margin-bottom:18px;background:#fff;border:1.5px solid var(--grey2);border-radius:var(--r);padding:16px}
.co-sec h3{font-size:14px;font-weight:800;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--grey2)}
.fg{display:flex;flex-direction:column;gap:5px;margin-bottom:11px}
.fg label{font-size:12.5px;font-weight:600;color:#444}
.fg input,.fg select{padding:11px 13px;border:1.5px solid var(--grey2);border-radius:var(--r2);font-size:14px;outline:none;transition:.2s;width:100%}
.fg input:focus,.fg select:focus{border-color:var(--blue)}
.pay-opts{display:flex;flex-direction:column;gap:9px}
.popt{display:flex;align-items:center;gap:11px;padding:13px;border:2px solid var(--grey2);border-radius:var(--r2);cursor:pointer;transition:.2s}
.popt.act{border-color:var(--blue);background:var(--lav)}
.popt label{font-size:14px;font-weight:600;cursor:pointer}
.co-sum{background:var(--grey);border-radius:var(--r);padding:16px;margin-bottom:18px}
.co-sum h3{font-size:14px;font-weight:800;margin-bottom:14px}
.oitem{display:flex;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--grey2)}
.oitem img{width:52px;height:52px;background:#fff;border-radius:var(--r2);object-fit:contain;padding:3px;flex-shrink:0}
.oid{flex:1;font-size:12.5px}
.oid strong{display:block;font-weight:700;margin-bottom:2px}
.orow{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px;color:#555}
.orow.fin{font-size:15px;font-weight:800;color:var(--black);border-top:1px solid var(--grey2);padding-top:9px;margin-top:9px}
.btn-order{display:block;width:100%;background:var(--mag);color:#fff;padding:15px;border-radius:var(--r2);font-size:16px;font-weight:800;text-align:center;border:none;cursor:pointer;transition:.2s;margin-top:4px}
.btn-order:hover{background:#a0125a}
.sec-note{text-align:center;font-size:12px;color:var(--grey3);margin-top:10px}

/* ===================== FILTER DRAWER ===================== */
.filter-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000}
.filter-ov.open{display:block}
.filter-draw{position:fixed;top:0;right:-100%;width:90%;max-width:320px;height:100%;background:#fff;z-index:1001;transition:.3s ease;display:flex;flex-direction:column}
.filter-draw.open{right:0}
.filter-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--grey2);font-size:16px;font-weight:800}
.filter-hd button{font-size:22px;color:var(--grey3);background:none;border:none;cursor:pointer}
.filter-body{flex:1;overflow-y:auto;padding:16px 18px}
.fbox{margin-bottom:18px}
.fbox h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;color:#444}
.fopt{display:flex;align-items:center;gap:8px;font-size:13.5px;margin-bottom:9px;cursor:pointer}
.fopt input{accent-color:var(--blue);width:16px;height:16px}
.pinp{display:flex;gap:8px;align-items:center}
.pinp input{flex:1;padding:9px 12px;border:1.5px solid var(--grey2);border-radius:var(--r2);font-size:13px;outline:none;transition:.2s}
.pinp input:focus{border-color:var(--blue)}
.pinp span{color:var(--grey3);font-size:13px}

/* ===================== MODAL ===================== */
.modal-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2000;overflow-y:auto;padding:20px}
.modal-ov.open{display:flex;align-items:flex-end;justify-content:center}
@media(min-width:600px){.modal-ov.open{align-items:center}}
.modal-box{background:#fff;width:100%;max-width:680px;border-radius:var(--r) var(--r) 0 0;padding:24px;position:relative;max-height:90vh;overflow-y:auto}
@media(min-width:600px){.modal-box{border-radius:var(--r)}}
.modal-cls{position:absolute;top:14px;right:14px;font-size:22px;color:var(--grey3);cursor:pointer;background:none;border:none;line-height:1}
.modal-box h2{font-size:20px;font-weight:800;margin-bottom:12px;padding-right:30px}
.modal-box h3{font-size:14px;font-weight:700;margin:14px 0 6px}
.modal-box p{font-size:13.5px;color:#555;line-height:1.7;margin-bottom:8px}
.modal-handle{width:36px;height:4px;background:var(--grey2);border-radius:2px;margin:0 auto 16px}

/* ===================== CHAT WIDGET / STICKY BAR OVERLAP FIX ===================== */
/* Botpress webchat floating button sits bottom-right by default. When the sticky
   "Add to Cart" bar is visible on the product detail page, push the chat bubble
   up so the two never overlap. */
.bpFab{z-index:840!important}
body.stbar-vis .bpFab{bottom:78px!important}
@media(max-width:480px){
  body.stbar-vis .bpFab{bottom:84px!important}
}

/* ===================== RESPONSIVE ===================== */
@media(min-width:769px){
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .cont-links{flex-direction:row}
  .about-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .pgrid{grid-template-columns:repeat(4,1fr)}
  .footer-in{grid-template-columns:2fr 1fr 1fr 1fr}
}
@media(max-width:768px){
  .ham-btn{display:flex}
  .hdr-nav{display:none}
  .hdr-top{flex-wrap:wrap}
  .brand-logo{margin-right:auto}
  .srch-form{order:10;flex:0 0 100%;margin-top:6px;max-width:100%}
  .hero-slide{flex-direction:column;text-align:center;padding:36px 16px}
  .hero-img-wrap{max-width:100%}
  .promo-row{flex-direction:column}
  .promo-ban{flex:none;width:100%;min-height:180px}
  .det-layout{flex-direction:column}
  .det-left{position:static;flex:none;width:100%}
  .footer-in{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .cond-sel{flex-direction:column}
  .footer-in{grid-template-columns:1fr}
  .hero-img-wrap img{max-height:180px}
}
