:root{
  --ink:#14141c;--ink2:#4a4a5a;--muted:#8a8a99;--bg:#f3f3f7;--card:#fff;--line:#e8e8ef;
  --dark:#0d0d14;--dark2:#181826;--g1:#ff7a18;--g2:#ff2e7e;--grad:linear-gradient(135deg,var(--g1),var(--g2));
  --price:#f2333f;--gold:#ffc94d;--flashbg:var(--dark);--foot:var(--dark);--btn:var(--dark);--wa:#1fae5b;--r:14px;--shadow:0 6px 24px rgba(20,20,40,.08);
  font-synthesis-weight:none;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:var(--ink);background:var(--bg);line-height:1.45;padding-bottom:64px;overflow-x:hidden}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:3px solid #ffb02e;outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:99}
.skip:focus{left:8px}
.wrap{max-width:1200px;margin:0 auto;padding:0 12px}
.urdu{font-family:"Noto Nastaliq Urdu","Jameel Noori Nastaleeq","Noto Naskh Arabic",serif;direction:rtl;color:var(--muted);font-weight:400;font-size:.85em}

/* announcement */
.announce{background:#000;color:#f0f0f5;font-size:12px;overflow:hidden;white-space:nowrap}
.announce-track{display:inline-flex;gap:36px;padding:6px 0;animation:marq 26s linear infinite;padding-left:100%}
.announce b{color:var(--gold)}
@keyframes marq{to{transform:translateX(-100%)}}

/* header */
.header{position:sticky;top:0;z-index:30;background:var(--dark);color:#fff;box-shadow:0 2px 14px rgba(0,0,0,.25)}
.header-row{display:flex;align-items:center;gap:10px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.header-row .logo{margin-right:auto}
.header-row .search{order:3;flex-basis:100%}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}
.logo-mark{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;box-shadow:0 4px 14px rgba(255,60,90,.45)}
.logo-mark svg{width:20px;height:20px;color:#fff}
.logo-text{font-weight:900;font-size:22px;letter-spacing:-.5px;color:#fff}
.logo-text i{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.search{flex:1;display:flex;background:#fff;border-radius:999px;overflow:hidden;min-width:0;border:2px solid transparent;transition:border-color .2s}
.search:focus-within{border-color:var(--g1)}
.search input{flex:1;min-width:0;border:0;padding:10px 14px;outline:0;background:transparent;color:var(--ink);font-size:15px}
.search button{border:0;background:var(--grad);color:#fff;width:48px;display:grid;place-items:center;border-radius:999px;margin:3px}
.search button svg{width:18px;height:18px}
.hdr-wa{display:none;align-items:center;gap:6px;text-decoration:none;color:#fff;font-weight:600;font-size:14px}
.hdr-wa svg{width:22px;height:22px;color:#4ee28a}
.cart-btn{position:relative;border:0;background:rgba(255,255,255,.08);color:#fff;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.cart-btn svg{width:22px;height:22px}
.cart-count,.nav-count{position:absolute;top:-4px;right:-4px;background:var(--grad);color:#fff;font-size:11px;font-weight:800;min-width:19px;height:19px;border-radius:999px;display:grid;place-items:center;padding:0 5px;border:2px solid var(--dark)}
.cart-count.bump{animation:bump .4s}
@keyframes bump{50%{transform:scale(1.35)}}
.catbar{background:var(--dark2);border-top:1px solid rgba(255,255,255,.06)}
.catbar-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:7px;padding-bottom:7px}
.catbar-row::-webkit-scrollbar{display:none}
.catbar button{flex-shrink:0;border:1px solid rgba(255,255,255,.12);background:transparent;color:#e7e7f0;border-radius:999px;padding:6px 12px;font-size:13px;white-space:nowrap}
.catbar button:hover,.catbar button.on{background:var(--grad);border-color:transparent;color:#fff}

/* hero */
.hero-wrap{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
.hero{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/10;background:#111;box-shadow:var(--shadow)}
.slide{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,14,.92) 0%,rgba(8,8,14,.55) 48%,rgba(8,8,14,0) 75%),var(--img) center/cover no-repeat;opacity:0;transition:opacity .7s ease;display:flex;align-items:center}
.slide.active{opacity:1;z-index:1}
.slide-copy{padding:0 18px;color:#fff;max-width:68%;transform:translateY(10px);transition:transform .7s ease}
.slide.active .slide-copy{transform:none}
.pill{display:inline-block;background:var(--grad);font-size:11px;font-weight:800;letter-spacing:1.5px;padding:4px 10px;border-radius:999px}
.slide h1,.slide h2{font-size:clamp(22px,5.6vw,46px);line-height:1.08;margin:10px 0 6px;font-weight:900;letter-spacing:-.5px}
.slide em{font-style:normal;color:var(--gold)}
.slide p{margin:0 0 14px;color:#d9d9e4;font-size:clamp(13px,2.4vw,17px)}
.btn-primary{border:0;background:var(--grad);color:#fff;font-weight:800;padding:11px 20px;border-radius:999px;box-shadow:0 6px 18px rgba(255,60,90,.35);transition:transform .15s,box-shadow .15s;font-size:15px}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(255,60,90,.45)}
.btn-primary:active{transform:scale(.97)}
.dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2}
.dots button{width:8px;height:8px;border-radius:999px;border:0;background:rgba(255,255,255,.45);padding:0;transition:width .3s}
.dots button.on{width:22px;background:#fff}
.hero-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.side-card{border-radius:16px;padding:11px 12px;color:#fff;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden}
.side-card b{font-size:15px}.side-card span{font-size:12px;opacity:.9}.side-card small{font-size:13px;font-weight:700;margin-top:4px}
.side-card.cod{background:linear-gradient(135deg,#2b2b40,#11111b)}
.side-card.cod small{font-family:"Noto Nastaliq Urdu","Noto Naskh Arabic",serif;color:var(--gold)}
.side-card.wa{background:linear-gradient(135deg,#1fae5b,#0b7a5e)}

/* trust */
.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.trust div{background:var(--card);border-radius:12px;padding:10px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.trust .ti{grid-row:span 2;font-size:20px}
.trust b{font-size:13px;line-height:1.2}.trust small{color:var(--muted);font-size:11px}

/* sections */
section{margin-top:18px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.sec-head h2,.flash-head h2{margin:0;font-size:20px;font-weight:900;letter-spacing:-.3px}
.flash{background:var(--flashbg);border-radius:18px;padding:14px 0 14px;margin-left:12px;margin-right:12px;color:#fff;max-width:1176px;position:relative;overflow:hidden}
.flash::before{content:"";position:absolute;inset:-40% -10% auto auto;width:60%;height:120%;background:radial-gradient(closest-side,rgba(255,46,126,.35),transparent);pointer-events:none}
.flash-head{display:flex;align-items:center;gap:10px;padding:0 14px;margin-bottom:12px;position:relative;flex-wrap:wrap}
.bolt{display:inline-block;animation:flick 1.6s infinite}
@keyframes flick{50%{opacity:.4}}
.timer{display:flex;align-items:center;gap:3px;font-size:13px;color:#ccc}
.timer span{margin-right:4px}
.timer b{background:var(--grad);color:#fff;border-radius:6px;padding:3px 6px;font-variant-numeric:tabular-nums;font-size:14px;min-width:28px;text-align:center}
.link-more{margin-left:auto;background:none;border:0;color:var(--gold);font-weight:700;font-size:14px}
.flash-row{display:grid;grid-auto-flow:column;grid-auto-columns:44%;gap:10px;overflow-x:auto;padding:0 14px 4px;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative}
.flash-row::-webkit-scrollbar{display:none}
.flash-row .card{scroll-snap-align:start}
.stock{height:6px;background:rgba(0,0,0,.08);border-radius:9px;overflow:hidden;margin-top:6px}
.stock i{display:block;height:100%;background:var(--grad);border-radius:9px}
.stock-txt{font-size:11px;color:var(--muted);margin-top:3px}

/* categories */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cat{background:var(--card);border:0;border-radius:14px;padding:8px 4px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s}
.cat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cat .ci{width:100%;max-width:92px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#ffe8d6,#ffd6e7);padding:3px}
.cat .ci img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.cat b{font-size:12px;line-height:1.2;font-weight:700}

/* chips & grid */
.filter-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -12px 12px;padding:0 12px}
.filter-chips::-webkit-scrollbar{display:none}
.filter-chips button{flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;color:var(--ink2)}
.filter-chips button.on{background:var(--btn);color:#fff;border-color:var(--btn)}
.sort select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;font-size:13px}
.result-note{margin:-4px 0 10px;color:var(--ink2);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.card{background:var(--card);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s;color:var(--ink);position:relative;animation:rise .45s ease both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-link{border:0;background:none;padding:0;text-align:left;display:flex;flex-direction:column;flex:1}
.card .thumb{position:relative;aspect-ratio:1;background:#eef0f4;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .thumb img{transform:scale(1.05)}
.badge{position:absolute;top:8px;left:8px;background:var(--grad);color:#fff;font-size:11px;font-weight:800;padding:3px 7px;border-radius:7px;box-shadow:0 3px 8px rgba(255,46,126,.35)}
.badge:empty{display:none}
.card .body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:3px;flex:1}
.card .name{font-size:13px;line-height:1.3;height:2.6em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:500}
.price{color:var(--price);font-weight:900;font-size:17px;letter-spacing:-.3px}
.price small{font-size:11px;font-weight:700;margin-right:1px}
.old{color:var(--muted);font-size:12px;display:flex;gap:6px;align-items:center}
.old s{text-decoration-thickness:1px}
.old .off{color:var(--price);font-weight:700}
.stars{color:#ffb400;font-size:12px;letter-spacing:1px;display:flex;align-items:center;gap:4px}
.stars span{color:var(--muted);letter-spacing:0;font-size:11px}
.card .actions{display:flex;gap:6px;padding:0 10px 10px}
.add{flex:1;min-width:0;border:0;background:var(--btn);color:#fff;border-radius:10px;padding:9px 4px;font-size:12px;font-weight:700;transition:background .2s;white-space:nowrap}
.add:hover{background:#2a2a3d}
.add.done{background:var(--wa)}
.wa-mini{width:34px;border-radius:10px;background:#e7f8ee;color:var(--wa);display:grid;place-items:center;flex-shrink:0}
.wa-mini svg{width:19px;height:19px}
.flash .card{color:var(--ink)}
.empty{grid-column:1/-1;text-align:center;color:var(--ink2);padding:30px 10px;background:#fff;border-radius:14px}

/* promise */
.promise-card{background:linear-gradient(135deg,#1b1b2b,#0d0d14);color:#fff;border-radius:18px;padding:18px 18px 8px;position:relative;overflow:hidden}
.promise-card h2{margin:0 0 8px;font-size:19px}
.promise-card ol{margin:0;padding-left:20px;color:#d8d8e6}
.promise-card li{margin-bottom:10px}
.promise-card b{color:#fff}

/* buttons */
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--wa);color:#fff;text-decoration:none;font-weight:800;border-radius:999px;padding:11px 18px;border:0;box-shadow:0 6px 18px rgba(31,174,91,.3);font-size:15px}
.btn-wa svg{width:20px;height:20px}
.btn-wa:hover{background:#18994f}
.btn-wa.big{width:100%;padding:14px;font-size:16px}

/* footer */
.footer{background:var(--foot);color:#c9c9d6;margin-top:28px;padding:26px 0 10px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:1fr;gap:20px}
.footer h3{color:#fff;margin:0 0 8px;font-size:16px}
.about{margin:12px 0 14px}
.footer details{border-bottom:1px solid rgba(255,255,255,.08);padding:9px 0}
.footer summary{cursor:pointer;color:#fff;font-weight:600;list-style:none;display:flex;justify-content:space-between}
.footer summary::-webkit-details-marker{display:none}
.footer summary::after{content:"+";color:var(--g1);font-weight:800}
.footer details[open] summary::after{content:"−"}
.footer details p{margin:8px 0 2px;color:#b5b5c4}
.contact{list-style:none;padding:0;margin:0 0 12px}.contact li{margin-bottom:8px}
.contact a{color:#4ee28a;font-weight:700}
.pay-badges{display:flex;gap:6px;flex-wrap:wrap}.pay-badges span{border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:5px 9px;font-size:12px}
.copy{text-align:center;border-top:1px solid rgba(255,255,255,.08);margin-top:20px;padding:14px 12px 4px;font-size:12.5px;color:#9a9aab}

/* floating + bottom nav */
.float-wa{position:fixed;right:14px;bottom:76px;width:54px;height:54px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(31,174,91,.45);z-index:25;animation:pulse 2.4s infinite}
.float-wa svg{width:30px;height:30px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,174,91,.5)}70%{box-shadow:0 0 0 14px rgba(31,174,91,0)}100%{box-shadow:0 0 0 0 rgba(31,174,91,0)}}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:60px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:26;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav a,.bottom-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:600;color:var(--ink2);text-decoration:none;position:relative}
.bottom-nav svg{width:22px;height:22px}
.bottom-nav a:last-child svg{color:var(--wa)}
.bottom-nav .nav-count{top:4px;right:calc(50% - 22px);border-color:#fff}

/* overlays */
.overlay{position:fixed;inset:0;background:rgba(8,8,16,.55);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
.overlay[hidden]{display:none}
@keyframes fade{from{opacity:0}}
.modal{background:#fff;width:100%;max-width:880px;max-height:92vh;overflow:auto;border-radius:20px 20px 0 0;position:relative;animation:up .28s ease}
@keyframes up{from{transform:translateY(40px);opacity:.4}}
.close{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:24px;line-height:1;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.pm-grid{display:grid;grid-template-columns:1fr}
.pm-img{position:relative;background:#eef0f4}
.pm-img img{width:100%;aspect-ratio:1;object-fit:cover;max-height:46vh}
.pm-info{padding:14px 16px 18px}
.pm-cat{margin:0;color:var(--g2);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.pm-info h2{margin:4px 0 6px;font-size:20px;line-height:1.25}
.stars-row{color:#ffb400;font-size:14px}.stars-row span{color:var(--muted);font-size:13px;margin-left:4px}
.pm-price{display:flex;align-items:baseline;gap:10px;margin:8px 0;flex-wrap:wrap}
.pm-price b{color:var(--price);font-size:26px;font-weight:900}
.pm-price s{color:var(--muted)}
.save{background:#ffe9ec;color:var(--price);font-weight:800;font-size:12px;padding:3px 8px;border-radius:7px}
.pm-desc{color:var(--ink2);margin:6px 0 10px}
.pm-perks{list-style:none;padding:10px 12px;margin:0 0 12px;background:#f6f6fa;border-radius:12px;font-size:13.5px;display:grid;gap:5px}
.qty-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-weight:600}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.qty button{width:36px;height:36px;border:0;background:#f6f6fa;font-size:18px;font-weight:700}
.qty output{min-width:36px;text-align:center;font-weight:700}
.pm-actions{display:grid;grid-template-columns:1fr;gap:8px}
.pm-actions .btn-primary,.pm-actions .btn-wa{padding:13px;font-size:15.5px}

/* drawer */
.drawer{background:#fff;width:100%;max-width:440px;height:94vh;margin-left:auto;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:up .28s ease}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);position:relative}
.drawer-head h2{margin:0;font-size:19px}
.drawer-head .close{position:static;box-shadow:none;background:#f3f3f7}
.drawer-body{overflow:auto;padding:12px 16px 20px;flex:1}
.cart-empty{text-align:center;padding:40px 0;color:var(--ink2)}
.cart-list{list-style:none;padding:0;margin:0}
.ci-row{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.ci-row img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:#eef0f4}
.ci-row .n{font-size:13.5px;font-weight:600;line-height:1.25}
.ci-row .p{color:var(--price);font-weight:800;font-size:14px;margin-top:2px}
.ci-row .qty button{width:30px;height:30px;font-size:16px}.ci-row .qty output{min-width:26px;font-size:14px}
.rm{border:0;background:none;color:var(--muted);font-size:12px;text-decoration:underline;padding:4px 0 0;display:block;margin-left:auto}
.free-bar{background:#fff6ec;border-radius:12px;padding:9px 12px;margin:12px 0;font-size:13px}
.free-bar i{display:block;height:6px;background:#ffe2c2;border-radius:9px;margin-top:6px;overflow:hidden}
.free-bar i b{display:block;height:100%;background:var(--grad);border-radius:9px;transition:width .4s}
.totals{display:grid;grid-template-columns:1fr auto;gap:6px;margin:10px 0 14px;font-size:14px}
.totals dt,.totals dd{margin:0}.totals dd{text-align:right;font-weight:600}
.totals .grand{font-size:17px;font-weight:900;border-top:1px dashed var(--line);padding-top:8px}
.totals dd.grand{color:var(--price)}
.checkout h3{margin:4px 0 8px;font-size:16px;display:flex;justify-content:space-between}
.checkout label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:9px}
.checkout input,.checkout textarea{display:block;width:100%;margin-top:4px;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;background:#fafafd;outline:0;resize:vertical}
.checkout input:focus,.checkout textarea:focus{border-color:var(--g1);background:#fff}
.checkout .bad{border-color:var(--price)}
.form-err{color:var(--price);font-size:13px;margin:0 0 8px}
.cod-note{text-align:center;font-size:13px;color:var(--ink2);margin:8px 0 0}

.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,20px);background:var(--btn);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:.25s;z-index:60;white-space:nowrap}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* larger screens */
@media (min-width:600px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .flash-row{grid-auto-columns:28%}
  .cat-grid{grid-template-columns:repeat(8,1fr)}
  .trust{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:900px){
  body{padding-bottom:0}
  .wrap{padding:0 20px}
  .bottom-nav{display:none}
  .float-wa{bottom:22px}
  .toast{bottom:30px}
  .hdr-wa{display:flex}
  .header-row{gap:22px;padding-top:14px;padding-bottom:14px;flex-wrap:nowrap}
  .header-row .logo{margin-right:0}
  .header-row .search{order:0;flex-basis:auto}
  .logo-text{font-size:26px}.logo-mark{width:40px;height:40px}
  .search input{padding:12px 18px}
  .hero-wrap{grid-template-columns:1fr 260px}
  .hero{aspect-ratio:auto;height:380px}
  .slide-copy{padding:0 44px;max-width:56%}
  .hero-side{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
  .side-card{padding:20px;justify-content:center}
  .side-card b{font-size:18px}.side-card span{font-size:14px}
  .grid{grid-template-columns:repeat(5,1fr);gap:14px}
  .flash-row{grid-auto-columns:calc((100% - 28px - 50px)/6)}
  .flash{margin-left:auto;margin-right:auto;max-width:1160px;width:calc(100% - 40px)}
  .flash-head{padding:0 20px}.flash-row{padding:0 20px 4px}
  .sec-head h2,.flash-head h2{font-size:24px}
  .card .name{font-size:14px}
  .foot-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
  .overlay{align-items:center}
  .modal{border-radius:20px}
  .pm-grid{grid-template-columns:1fr 1fr}
  .pm-img img{max-height:none;height:100%}
  .pm-info{padding:28px 26px}
  .pm-actions{grid-template-columns:1fr 1fr}
  #cart.overlay{align-items:stretch;justify-content:flex-end}
  .drawer{height:100vh;border-radius:20px 0 0 20px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.announce-track{padding-left:12px}}

.card-link .thumb,.card-link .name,.card-link .price,.card-link .old,.card-link .stock,.card-link .stock-txt{display:block}.card-link .old{display:flex}.card-link .stock i{display:block}
.card-link .body{display:flex}

/* ===== v2: themes (set from the admin panel) ===== */
.t-light{--btn:#1c1c26}
.t-light .header{color:var(--ink);box-shadow:0 1px 0 var(--line),0 4px 14px rgba(20,20,40,.06)}
.t-light .logo-text{color:var(--ink)}
.t-light .cart-btn{background:#f1f1f6;color:var(--ink)}
.t-light .hdr-wa{color:var(--ink)}
.t-light .search{background:#f3f3f8;border-color:#e2e2ea}
.t-light .catbar{border-top:1px solid var(--line)}
.t-light .catbar button{color:var(--ink2);border-color:#e1e1ea}
.t-light .flash{color:var(--ink)}
.t-light .timer{color:var(--ink2)}
.t-light .link-more{color:var(--g2)}

/* ===== v2: floating WhatsApp button =====
   On phones the bottom menu already has a WhatsApp button, and the floating one sat on top of
   the Flash Sale "See all" link, so it only shows on wide screens. */
@media (max-width:899px){.float-wa{display:none}}

/* ===== v2: payment methods at checkout ===== */
.pay h3{margin:14px 0 8px}
.pay-opts{display:grid;gap:8px;margin:0 0 10px;padding:0;border:0}
.checkout .pay-opt,.pay-opt{position:relative;display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;background:#fafafd;cursor:pointer;font-size:14px;font-weight:700;color:var(--ink);margin:0}
.pay-opt input{position:absolute;opacity:0;pointer-events:none}
.pay-opt .tick{margin-left:auto;width:20px;height:20px;border-radius:50%;border:2px solid #cfd0da;flex-shrink:0;display:grid;place-items:center}
.pay-opt:has(input:checked){border-color:var(--g1);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--g1) 18%,transparent)}
.pay-opt.on{border-color:var(--g1);background:#fff;box-shadow:0 0 0 3px rgba(255,122,24,.15)}
.pay-opt.on .tick{border-color:var(--g1);background:var(--grad)}
.pay-opt.on .tick::after{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.pay-opt small{display:block;font-weight:500;color:var(--muted);font-size:12px}
.pay-opt input:focus-visible ~ .tick{outline:3px solid #ffb02e;outline-offset:2px}
.pbadge{width:42px;height:42px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;overflow:hidden}
.pbadge svg{width:42px;height:42px;display:block}
.pay-box{border-radius:14px;padding:12px 14px;margin:0 0 12px;background:#fff8ec;border:1.5px dashed #f3c46b;font-size:14px}
.pay-box[hidden]{display:none}
.pay-box .row{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.pay-box .row:last-of-type{border-bottom:0}
.pay-box .row span{flex-basis:100%;color:var(--ink2);font-size:12px}
.pay-box .row b{font-size:15.5px;flex:1;min-width:0;overflow-wrap:anywhere;letter-spacing:.2px}
.pay-box .copy{border:0;background:var(--btn);color:#fff;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:700;flex-shrink:0;margin-left:6px}
.pay-box .shot{margin:8px 0 0;font-size:13px;color:#7a4b00;font-weight:600}
.pay-box .later{margin:0;color:var(--ink2)}
.pay-box .row b.long{font-size:12.5px;letter-spacing:0}
.t-bright .logo-text i{background:none;color:var(--gold);-webkit-text-fill-color:var(--gold)}
.t-bright .logo-mark{background:#fff;color:var(--dark)}
.t-bright .logo-mark svg{color:#f85606}
.flash .add{font-size:11px;padding:9px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== v3: orders on the site, tracking, chat ===== */
.hp{position:absolute!important;left:-5000px!important;width:1px;height:1px;overflow:hidden}
.checkout label.opt small,.proof small{font-weight:500;color:var(--muted)}
.btn-primary.big{width:100%;padding:15px;font-size:16.5px;border-radius:14px}
.btn-primary:disabled{opacity:.7}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:12px 0 10px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.ghost-wa{width:100%;background:#fff;color:#128c4a;border:1.5px solid #9fdcb9;box-shadow:none;padding:11px;font-size:14.5px}
.ghost-wa:hover{background:#effaf3}
.pbadge{width:60px;height:42px;border-radius:10px;border:1px solid rgba(0,0,0,.08)}
.pbadge img{width:60px;height:42px;object-fit:contain}
.pay-logo{border-radius:10px;padding:6px 10px;margin:0 0 6px;display:flex;justify-content:center;border:1px solid rgba(0,0,0,.06)}
.pay-logo img{height:40px;width:auto;max-width:100%}
.proof{border:1.5px solid var(--line);border-radius:14px;padding:12px;margin:0 0 12px;background:#fafafd;font-size:14px}
.proof[hidden]{display:none}
.proof>b{display:block;margin-bottom:8px}
.proof-pick{position:relative;display:block!important;text-align:center;border:2px dashed #c9c9d6;border-radius:12px;padding:12px;font-weight:700;color:var(--ink);background:#fff;cursor:pointer;margin:0 0 8px!important}
.proof-pick input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer;margin:0!important}
.proof-pick:focus-within{outline:3px solid #ffb02e}
#proofPrev{max-height:150px;width:auto;margin:0 auto 8px;border-radius:8px;border:1px solid var(--line)}
.sheet-x{background:#fff;width:100%;max-width:480px;max-height:94vh;overflow:auto;border-radius:20px 20px 0 0;padding:20px 16px 24px;position:relative;animation:up .28s ease}
.sheet-x h2{font-size:19px;margin:0 36px 12px 0}
.sheet-x .close{position:absolute;top:12px;right:12px;box-shadow:none;background:#f3f3f7}
.center{text-align:center}.small{font-size:12.5px}.muted{color:var(--muted)}
.done-top{text-align:center;padding-top:4px}
.done-check{width:64px;height:64px;border-radius:50%;margin:0 auto 8px;display:grid;place-items:center;font-size:34px;font-weight:900;color:#fff;background:linear-gradient(135deg,#22c55e,#0f9a4a);box-shadow:0 10px 26px rgba(34,197,94,.35)}
.done-top h2{margin:0;font-size:22px}
.done-top .urdu{margin:2px 0 12px;font-size:15px}
.ono{display:flex;align-items:center;gap:10px;background:var(--dark);color:#fff;border-radius:14px;padding:12px 14px;flex-wrap:wrap}
.t-light .ono{background:#1c1c26}
.ono span{flex-basis:100%;font-size:12px;opacity:.75}
.ono b{font-size:26px;letter-spacing:1.5px;color:var(--gold);flex:1}
.ono .copy,.t-card .copy{border:0;background:#fff;color:#111;border-radius:8px;padding:7px 12px;font-weight:800;font-size:13px}
.done-sum{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;margin:10px 0 12px;font-size:14px}
.done-sum div{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line)}
.done-sum div:last-child{border:0}
.done-sum span{color:var(--ink2)}.done-sum b{text-align:right}
.done-pay h3{margin:0 0 6px;font-size:16px}.done-pay p{margin:0 0 10px;font-size:14px;color:var(--ink2)}
.done-pay .pay-box{background:#fff8ec}
.proof-later{background:#f6f6fb;border-radius:12px;padding:10px 12px;margin:0 0 10px}
.proof-later p{margin:0 0 8px!important;font-weight:600;color:var(--ink)!important}
.proof-later .proof-pick{margin:0!important}
.proof-ok{background:#e9f9ef;color:#126b39;border-radius:12px;padding:10px 12px;font-weight:700;font-size:14px;margin:0 0 10px!important}
.done-actions{display:grid;gap:10px;margin-top:6px}
.done-actions .btn-primary{padding:14px;border-radius:14px}
.done-actions .btn-wa{padding:12px;font-size:14.5px}
.done-actions .btn-wa small{font-weight:600;opacity:.85}
.btn-plain{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px;font-weight:700;color:var(--ink2);width:100%}
.track-form label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:10px}
.track-form input{display:block;width:100%;margin-top:4px;border:1.5px solid var(--line);border-radius:10px;padding:11px 12px;font-size:16px;background:#fafafd;outline:0}
.track-form input:focus{border-color:var(--g1);background:#fff}
.recent{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.recent small{flex-basis:100%;color:var(--muted)}
.recent button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}
.t-card{margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow)}
.t-head{display:flex;justify-content:space-between;align-items:center}
.t-head b{font-size:20px;letter-spacing:1px}
.st{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;text-transform:capitalize;background:#eef0ff;color:#3742b0}
.st-new{background:#fff1e0;color:#b45309}.st-confirmed{background:#e6f0ff;color:#1d4ed8}.st-shipped{background:#f1e8ff;color:#6d28d9}.st-delivered{background:#e3f8ea;color:#15803d}.st-cancelled{background:#ffe5e7;color:#c81e2b}
.steps{list-style:none;margin:14px 0 6px;padding:0}
.steps li{position:relative;padding:0 0 16px 32px;min-height:22px;color:var(--muted)}
.steps li i{position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;border:2.5px solid #d4d4de;background:#fff}
.steps li::after{content:"";position:absolute;left:10px;top:24px;bottom:2px;width:2.5px;background:#e3e3ea}
.steps li:last-child::after{display:none}
.steps li b{display:block;font-size:14.5px}
.steps li small{font-size:12px}
.steps li.done,.steps li.now{color:var(--ink)}
.steps li.done i{background:#22c55e;border-color:#22c55e}
.steps li.done i::after{content:"✓";color:#fff;font-size:13px;font-weight:900;position:absolute;inset:0;display:grid;place-items:center;font-style:normal}
.steps li.done::after{background:#22c55e}
.steps li.now i{border-color:var(--g1);box-shadow:0 0 0 4px color-mix(in srgb,var(--g1) 22%,transparent);background:var(--g1)}
.t-msg{background:#f6f6fb;border-radius:10px;padding:9px 12px;font-size:14px;margin:0 0 10px}
.t-cancel{background:#ffeef0;color:#a3161f;border-radius:12px;padding:12px;margin:12px 0;font-weight:700}
.t-items{list-style:none;margin:0;padding:0;font-size:13.5px}
.t-items li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line)}
.t-tot{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:13.5px;color:var(--ink2)}
.t-tot b{font-size:16px;color:var(--ink)}
.t-card .pay-box{margin-top:4px}
/* chat */
.chat-box{background:#fff;width:100%;max-width:440px;height:88vh;margin-left:auto;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:up .28s ease;overflow:hidden}
.chat-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--dark);color:#fff}
.t-light .chat-head{background:#1c1c26}
.chat-head h2{margin:0;font-size:16.5px}
.chat-head small{opacity:.75;font-size:12px}
.chat-head .close{margin-left:auto;position:static;background:rgba(255,255,255,.14);color:#fff;box-shadow:none}
.chat-av{width:40px;height:40px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:900;font-size:18px;flex-shrink:0}
.chat-body{flex:1;overflow:auto;padding:14px;background:#f2f2f7}
.chat-start label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:10px}
.chat-start input,.chat-start textarea{display:block;width:100%;margin-top:4px;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px;background:#fff;outline:0;resize:none}
.chat-start .bad{border-color:var(--price)}
.chat-hello{background:#fff;border-radius:14px;padding:12px;margin:0 0 12px;font-size:14px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.chat-hello .urdu{display:block;margin-top:4px}
.chat-wa{display:block;text-align:center;margin-top:12px;font-size:13.5px;color:#128c4a;font-weight:700}
.msgs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.msgs li{max-width:82%;padding:8px 11px 5px;border-radius:14px;font-size:14.5px;box-shadow:0 1px 1px rgba(0,0,0,.06);overflow-wrap:anywhere}
.msgs p{margin:0}
.msgs time{display:block;font-size:10.5px;opacity:.6;text-align:right;margin-top:2px}
.m-c{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:4px}
.m-a{align-self:flex-start;background:#fff;color:var(--ink);border-bottom-left-radius:4px}
.m-sys{align-self:center!important;background:#e4e4ec!important;color:var(--ink2);font-size:12px!important;box-shadow:none!important;text-align:center;max-width:90%!important;padding:6px 10px!important}
.chat-send{display:flex;gap:8px;align-items:flex-end;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.chat-send[hidden]{display:none}
.chat-send textarea{flex:1;border:1.5px solid var(--line);border-radius:20px;padding:10px 14px;font-size:16px;resize:none;outline:0;max-height:110px;background:#fafafd}
.chat-send textarea:focus{border-color:var(--g1)}
.chat-send button{width:44px;height:44px;border-radius:50%;border:0;background:var(--grad);color:#fff;display:grid;place-items:center;flex-shrink:0}
.chat-send button svg{width:22px;height:22px}
.chat-send button:disabled{opacity:.6}
.bottom-nav{grid-template-columns:repeat(5,1fr)}
.bottom-nav a:last-child svg{color:var(--wa)}
.nav-dot{position:absolute;top:7px;right:calc(50% - 16px);width:10px;height:10px;border-radius:50%;background:var(--price);border:2px solid #fff}
.nav-dot[hidden]{display:none}
.float-chat{display:none}
@media (min-width:900px){
  .float-chat{position:fixed;right:14px;bottom:146px;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;background:var(--grad);color:#fff;font-weight:800;box-shadow:0 10px 26px rgba(255,60,90,.35);z-index:25}
  .float-chat svg{width:20px;height:20px}
  .overlay#done,.overlay#track{align-items:center}
  .sheet-x{border-radius:20px;max-height:90vh}
  .chat-box{border-radius:20px;height:min(640px,86vh);margin:auto 20px 20px auto}
  .overlay.chat-ov{align-items:flex-end}
}
.foot-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.foot-chip{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:inherit;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13.5px}
.toast{max-width:92vw;overflow:hidden;text-overflow:ellipsis}
#trackTitle .urdu{display:block;margin-top:2px}
.chat-body{min-height:0}

/* ===== v3: product photo gallery ===== */
.pm-media{min-width:0}
.pm-img{position:relative}
.pm-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#f4f4f7}
.pm-track::-webkit-scrollbar{display:none}
.pm-track img{flex:0 0 100%;width:100%;aspect-ratio:1;object-fit:cover;scroll-snap-align:start;cursor:zoom-in;background:#f4f4f7}
.pm-count{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px}
.pm-count[hidden]{display:none}
.pm-zoom{position:absolute;left:10px;bottom:10px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:17px;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.pm-dots{display:flex;justify-content:center;gap:6px;padding:8px 0 0}
.pm-dots:empty{display:none}
.pm-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#d0d0da}
.pm-dots button.on{background:var(--g1);width:20px;border-radius:5px}
.pm-thumbs{display:flex;gap:8px;padding:8px 14px 0;overflow-x:auto}
.pm-thumbs:empty{display:none}
.pm-thumbs button{flex:0 0 auto;border:2px solid transparent;border-radius:10px;padding:0;background:none;overflow:hidden;opacity:.7}
.pm-thumbs button.on{border-color:var(--g1);opacity:1}
.pm-thumbs img{width:52px;height:52px;object-fit:cover}
.zoom{position:fixed;inset:0;z-index:80;background:#0b0b10;display:flex;flex-direction:column;justify-content:center}
.zoom[hidden]{display:none}
.zoom-in{overflow:auto;max-height:100%;display:flex;align-items:center;justify-content:center;flex:1}
.zoom-in img{width:100%;max-width:720px;height:auto;cursor:zoom-in}
.zoom-in.big{display:block}
.zoom-in.big img{width:250%;max-width:none;cursor:zoom-out}
.zoom-x{position:absolute;top:12px;right:12px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:26px}
.zoom-tip{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#bbb;font-size:12px;margin:0;pointer-events:none}
.zoom-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:56px;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:30px;border-radius:10px;z-index:2}
.zoom-nav[hidden]{display:none}
.zoom-nav.prev{left:8px}.zoom-nav.next{right:8px}

/* ---------- Get the app (header pill + sheet) ---------- */
.hdr-app{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px 0 8px;border-radius:999px;border:1px solid rgba(255,201,77,.55);background:rgba(255,201,77,.08);color:var(--gold);font-weight:800;font-size:12.5px;letter-spacing:.2px;flex-shrink:0;white-space:nowrap}
.hdr-app[hidden]{display:none}
.hdr-app svg{width:17px;height:17px}
.hdr-app:active{transform:scale(.96)}
.hdr-app.up{border-color:transparent;background:var(--grad);color:#fff}
.t-light .hdr-app{color:var(--ink);border-color:var(--line);background:#fff}
.t-bright .hdr-app{color:#fff;border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.12)}
.app-sheet .app-top{display:flex;align-items:center;gap:14px;margin:4px 40px 14px 0}
.app-sheet .app-top img{width:60px;height:60px;border-radius:15px;box-shadow:0 6px 18px rgba(255,46,126,.25)}
.app-sheet .app-top h2{margin:0;font-size:19px}
.app-sheet .app-top p{margin:2px 0 0;color:var(--muted);font-size:13px}
.app-perks{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px;font-size:14px;color:var(--ink2)}
.app-dl{display:flex;justify-content:center;align-items:center;width:100%;text-decoration:none;padding:14px;font-size:16px;border-radius:14px}
.app-up{background:#fff6e0;border:1px solid #ffd77a;color:#7a5200;border-radius:12px;padding:10px 12px;font-size:13.5px;margin:0 0 12px}
.app-steps{margin-top:14px;background:var(--bg);border-radius:14px;padding:12px 14px;font-size:13.5px;color:var(--ink2)}
.app-steps b{color:var(--ink)}
.app-steps ol{margin:8px 0 6px;padding-left:20px;display:grid;gap:5px}
.app-steps .urdu{margin:6px 0 0;font-size:13px;text-align:right;direction:rtl}
@media (min-width:900px){.overlay#appSheet{align-items:center}}

/* ===== v4: direct chat + TK Mart Assistant ===== */
.chat-head .online{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2ee66b;margin-right:5px;vertical-align:1px;box-shadow:0 0 0 3px rgba(46,230,107,.2)}
.msgs .who{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;margin-bottom:2px;letter-spacing:.1px}
.who-b{color:#6b4dff}
.who-a{color:#d4337a}
.who-a i{font-style:normal;background:#1da1f2;color:#fff;border-radius:50%;width:14px;height:14px;display:inline-grid;place-items:center;font-size:9px}
.who-av{width:16px;height:16px;border-radius:50%;background:var(--grad);color:#fff;display:inline-grid;place-items:center;font-size:9.5px}
.m-b{align-self:flex-start;background:#fff;color:var(--ink);border-bottom-left-radius:4px;border-left:3px solid #8b74ff}
.m-a{border-left:3px solid #ff4d8d}
.msgs li.m-b,.msgs li.m-a{max-width:88%}
.msgs .urdu{display:block;margin-top:6px;font-size:13px;color:var(--ink2)}
.pcs{display:flex;flex-direction:column;gap:6px;margin:8px 0 2px}
.pc{display:flex;gap:9px;align-items:center;text-align:left;width:100%;border:1px solid var(--line);background:#fafafd;border-radius:12px;padding:6px;color:var(--ink);font:inherit;cursor:pointer}
.pc:active{transform:scale(.98)}
.pc img{width:56px;height:56px;border-radius:9px;object-fit:cover;flex-shrink:0;background:#eee}
.pc-t{display:flex;flex-direction:column;min-width:0;gap:2px}
.pc-t b{font-size:13px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-t span{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:12.5px}
.pc-t i{font-style:normal;font-weight:800;color:var(--price)}
.pc-t s{color:var(--muted);font-size:11.5px}
.pc-t em{font-style:normal;background:#ffe3e6;color:#d81b33;border-radius:6px;padding:0 5px;font-weight:800;font-size:11px}
.cqs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 3px}
.cq{border:1.5px solid #c9bfff;background:#f5f2ff;color:#4b33c9;border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.cq-num{border-color:#ffc2d6;background:#fff3f7;color:#c2185b}
.typing p{display:flex;gap:4px;padding:6px 2px}
.typing p i{width:7px;height:7px;border-radius:50%;background:#a99cf0;animation:tkdot 1s infinite}
.typing p i:nth-child(2){animation-delay:.15s}.typing p i:nth-child(3){animation-delay:.3s}
@keyframes tkdot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.chat-num{background:#fff;border-radius:14px;padding:12px;margin-top:12px;box-shadow:0 1px 3px rgba(0,0,0,.08);font-size:14px}
.chat-num[hidden]{display:none}
.chat-num small{color:var(--muted)}
.chat-num input{display:block;width:100%;margin-top:8px;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px;outline:0}
.chat-num .row{display:flex;gap:8px;margin-top:10px}
.chat-num .row .btn-primary{flex:1;padding:11px}
.chat-nudge{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#fff7fa;border-top:1px solid #ffd8e5}
.chat-nudge[hidden]{display:none}
.nudge-go{flex:1;border:0;background:none;text-align:left;font:inherit;font-size:13.5px;font-weight:700;color:#c2185b;cursor:pointer}
.nudge-go small{font-weight:500;color:var(--muted)}
.nudge-x{border:0;background:none;font-size:20px;color:var(--muted);width:32px;height:32px}
.chat-send .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.chat-wa{margin-top:14px}
.logo-mark.has-img{background:none!important;padding:0;overflow:hidden}
.logo-mark .own-logo{width:100%;height:100%;object-fit:contain;display:block}

/* No focus ring on tap (Mr, 31 Oct): taps never leave an outline; a subtle ring only while using a keyboard (html.kbd) */
html{-webkit-tap-highlight-color:transparent}
*:focus,*:focus-visible{outline:none!important}
.pay-opt input:focus-visible ~ .tick,.proof-pick:focus-within,.switch input:focus-visible+.sw{outline:none!important}
html.kbd :focus-visible{outline:2px solid rgba(255,176,46,.55)!important;outline-offset:2px}
html.kbd .pay-opt input:focus-visible ~ .tick,html.kbd .switch input:focus-visible+.sw{outline:2px solid rgba(255,176,46,.55)!important}

/* v6: banners from live products, live category counts, pull-to-refresh */
html,body{overscroll-behavior-y:contain}
.slide.pslide,.slide.brand-slide{background:radial-gradient(120% 90% at 85% 50%,rgba(255,61,127,.28),rgba(255,61,127,0) 60%),radial-gradient(80% 80% at 10% 100%,rgba(255,138,0,.22),rgba(255,138,0,0) 60%),linear-gradient(135deg,#1d1028,#0c0c15)}
.pslide .slide-copy{max-width:54%;position:relative;z-index:1}
.pslide .pname{font-size:clamp(16px,4.6vw,34px);line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;margin:9px 0 5px}
.pslide .pprice{margin:0 0 12px;font-size:clamp(13px,3.4vw,18px);color:#d9d9e4}
.pslide .pprice b{color:var(--gold);font-size:1.18em;font-weight:900}
.pslide .pprice s{opacity:.7;white-space:nowrap}.pslide .pprice b,.pslide .poff{white-space:nowrap}
.pslide .poff{background:rgba(255,255,255,.14);border-radius:6px;padding:1px 5px;font-size:.82em;font-weight:800;color:#fff}
.pslide .ph{position:absolute;right:4%;top:50%;width:40%;aspect-ratio:1;max-height:84%;transform:translateY(-50%) rotate(-3deg);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 3px rgba(255,255,255,.08)}
.pslide .ph img{width:100%;height:100%;object-fit:cover;display:block}
.brand-slide .slide-copy{max-width:66%;position:relative;z-index:1}
.brand-mark{position:absolute;right:6%;top:50%;transform:translateY(-50%) rotate(-8deg);width:34%;max-width:200px;aspect-ratio:1;border-radius:28%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(255,60,90,.35);opacity:.92}
.brand-mark svg{width:58%;height:58%}
.cat .cn{font-size:10.5px;color:var(--muted);margin-top:-4px}
.ptr{position:fixed;left:50%;top:0;z-index:2000;width:42px;height:42px;margin-left:-21px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;transform:translateY(-60px);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}
.ptr.pulling{transition:none}
/* v1.3: logo (the chosen app icon) in the middle, ring spinning around it */
.ptr{width:52px;height:52px;margin-left:-26px}
.ptr img{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:8px;object-fit:cover}
.ptr i{width:44px;height:44px;border-radius:50%;background:conic-gradient(from 20deg,transparent 0deg,var(--g1) 120deg,var(--g2) 300deg,var(--g2) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px))}
.ptr.ready i{filter:saturate(1.3)}
.ptr.spin i{animation:ptrspin .7s linear infinite}
@keyframes ptrspin{to{transform:rotate(360deg)}}
@media (min-width:900px){.pslide .slide-copy{max-width:52%}.pslide .ph{width:auto;height:78%}}

/* ===== v8: product page in app style (full screen photo, sticky order bar, order sheet) ===== */
.overlay.pp{align-items:stretch;background:rgba(8,8,16,.6)}
.pp .pp-page{max-width:520px;width:100%;height:100%;max-height:none;border-radius:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;animation:ppIn .22s ease}
@keyframes ppIn{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
.pp-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#f2f3f5}
.pp .pm-img{position:relative;background:#fff}
.pp .pm-track,.pp .pm-track img{background:#fff}
.pp .pm-track img{aspect-ratio:1/1;max-height:none;height:auto;object-fit:cover}
.pp #pmBadge{display:none}
.pp-fab{position:absolute;top:calc(12px + env(safe-area-inset-top));width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:#15151d;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.18);z-index:3;padding:0}
.pp .pp-back{left:12px;right:auto;font-size:0}
.pp-cart{right:12px}
.pp-fab svg{width:22px;height:22px}
.pp-cnt{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--price);color:#fff;font-size:11px;font-weight:800;line-height:19px;text-align:center;border:2px solid #fff}
.pp-cnt[hidden]{display:none}
.pp .pm-count{right:12px;bottom:26px;background:rgba(0,0,0,.55);font-size:12px;padding:4px 10px;letter-spacing:.5px}
.pp .pm-zoom{left:12px;bottom:26px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;color:#15151d}
.pp .pm-zoom svg{width:18px;height:18px}
.pp .pm-dots{position:absolute;left:0;right:0;bottom:30px;padding:0;pointer-events:none}
.pp .pm-dots button{pointer-events:auto;background:rgba(255,255,255,.7);box-shadow:0 0 0 1px rgba(0,0,0,.08);width:7px;height:7px}
.pp .pm-dots button.on{background:#fff;width:18px}
.pp .pm-thumbs{display:none}
.pp-info{position:relative;margin-top:-16px;background:#fff;border-radius:18px 18px 0 0;padding:16px 16px 12px;z-index:2}
.pp .pm-cat{font-size:11px;color:var(--g2);letter-spacing:.8px}
.pp-info h2{margin:3px 0 4px;font-size:18px;line-height:1.3;font-weight:800;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.pp-info h2.open{display:block;-webkit-line-clamp:unset}
.pp .stars-row{font-size:13px;display:flex;align-items:center}
.pp .stars-row .pp-st{color:#ffb400;letter-spacing:1px;margin:0;font-size:14px}
.pp .pm-price{margin:8px 0 0;gap:8px;align-items:center}
.pp .pm-price b{font-size:27px;line-height:1.1}
.pp .pm-price s{font-size:15px}
.pp .pm-price s:empty{display:none}
.pp-off{background:#ffe9ec;color:var(--price);font-size:12px;font-weight:800;padding:3px 8px;border-radius:6px}
.pp-off[hidden],.pp .save[hidden]{display:none}
.pp .save{display:inline-block;margin-top:8px;background:#e7f7ed;color:#15803d;font-size:12.5px;padding:5px 11px;border-radius:999px}
.pp-acts{display:flex;justify-content:space-around;gap:6px;margin:14px -4px 0;padding-top:12px;border-top:1px solid #f0f1f4}
.pp-acts button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none;padding:2px 0;font-size:12px;font-weight:600;color:var(--ink2)}
.pp-ico{width:40px;height:40px;border-radius:50%;background:#f2f4f6;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .2s}
.pp-ico svg{width:20px;height:20px}
.pp-acts button.ok .pp-ico{background:#e7f7ed;color:#15803d}
.pp-acts button.ok .pp-lbl{color:#15803d}
.pp-strip{display:flex;gap:10px;align-items:center;margin-top:8px;padding:12px 16px;background:linear-gradient(90deg,#e6f7ec,#f1faf4);color:#14532d;font-size:13.5px;line-height:1.35;border-top:1px solid #d3efdc;border-bottom:1px solid #d3efdc}
.pp-strip b{font-weight:800}
.pp-truck{font-size:20px;line-height:1}
.pp .pm-perks{background:#fff;border-radius:0;margin:0;padding:10px 16px 12px;gap:7px;font-size:13.5px;color:var(--ink2)}
.pp .pm-perks:empty{display:none}
.pp .pm-perks li{display:flex;gap:10px;align-items:flex-start}
.pp .pm-perks b{color:var(--ink)}
.pp-sec{background:#fff;margin-top:8px;padding:14px 16px}
.pp-sec h3{margin:0 0 10px;font-size:15px;font-weight:800}
.pp-sec h3 small{color:var(--g2);font-weight:800}
.pp-sec[hidden]{display:none}
.pp .qty-row{display:flex;justify-content:space-between;margin:8px 0 0;font-size:15px;font-weight:800}
.pp .qty button{width:40px;height:38px}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px}
.pp-chips button{min-width:46px;height:40px;padding:0 12px;border:1.5px solid #dcdfe5;border-radius:10px;background:#fff;font-weight:700;font-size:14px;color:var(--ink)}
.pp-chips button.on{border-color:var(--g2);background:var(--g2);color:#fff}
.pp-sizes.shake{animation:ppShake .45s}
@keyframes ppShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.pp .pm-desc{margin:0;color:var(--ink2);font-size:14px;position:relative}
.pp .pm-desc p{margin:0 0 8px}
.pp .pm-desc.clip{max-height:208px;overflow:hidden}
.pp .pm-desc.clip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.pp .pm-desc.clip.open{max-height:none}
.pp .pm-desc.clip.open::after{display:none}
.pp-spec{width:100%;border-collapse:collapse;font-size:13.5px}
.pp-spec th,.pp-spec td{padding:8px 0;border-bottom:1px solid #f0f1f4;vertical-align:top;text-align:left}
.pp-spec th{width:40%;color:var(--muted);font-weight:600;padding-right:10px}
.pp-spec td{color:var(--ink);font-weight:500;word-break:break-word}
.pp-spec tr:last-child th,.pp-spec tr:last-child td{border-bottom:0}
.pp-more{display:block;width:100%;margin-top:8px;padding:9px;border:1.5px solid #e4e6ea;border-radius:10px;background:#fff;color:var(--ink);font-weight:700;font-size:13.5px}
.pp-more[hidden]{display:none}
.pp-end{height:18px}
.pp-bar{flex:0 0 auto;display:flex;gap:8px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eceef1;box-shadow:0 -6px 18px rgba(0,0,0,.06);z-index:4}
.pp-addc{position:relative;flex:0 0 50px;height:50px;border-radius:14px;border:1.5px solid #dfe2e7;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);padding:0;transition:background .2s,border-color .2s}
.pp-addc svg{width:24px;height:24px}
.pp-addc b{position:absolute;top:5px;right:6px;width:16px;height:16px;border-radius:50%;background:var(--g2);color:#fff;font-size:13px;line-height:15px;font-weight:900}
.pp-addc.done{background:#e7f7ed;border-color:#22a35a}
.pp-wa{flex:0 0 auto;height:50px;display:flex;align-items:center;gap:6px;padding:0 13px;border:1.5px solid var(--wa);border-radius:14px;color:#128a47;font-weight:800;font-size:14px;text-decoration:none;background:#fff}
.pp-wa svg{width:20px;height:20px;color:var(--wa)}
.pp-buy{flex:1;min-width:0;height:50px;border:0;border-radius:14px;background:var(--grad);color:#fff;font-weight:900;font-size:16.5px;letter-spacing:.2px;box-shadow:0 6px 16px rgba(13,148,136,.3);text-shadow:0 1px 1px rgba(0,0,0,.18);white-space:nowrap}
.pp-buy:active,.pp-wa:active,.pp-addc:active{transform:scale(.97)}
@media (max-width:359px){.pp-wa span{display:none}.pp-wa{padding:0 12px}}
@media (min-width:760px){
  .overlay.pp{align-items:center;padding:2vh 0}
  .pp .pp-page{height:96vh;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
  .pp .pm-thumbs{display:flex;background:#fff;padding:10px 14px 18px}
  .pp-info{margin-top:0;border-radius:0}
  .pp .pm-count,.pp .pm-zoom{bottom:12px}.pp .pm-dots{bottom:16px}
}
/* order sheet */
#buy{align-items:flex-end;z-index:55}
.sheet-buy{background:#fff;width:100%;max-width:520px;max-height:94%;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:up .26s ease;box-shadow:0 -10px 40px rgba(0,0,0,.2)}
.buy-head{position:relative;padding:18px 60px 12px 16px;border-bottom:1px solid var(--line)}
.buy-grab{position:absolute;top:7px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:#d9dce1}
.buy-head h2{margin:0;font-size:18px;font-weight:900}
.buy-head .urdu{margin-left:6px}
.buy-head .close{top:12px;right:12px;box-shadow:none;background:#f1f2f5}
.buy-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 16px calc(18px + env(safe-area-inset-bottom));flex:1;min-height:0}
.buy-item{display:flex;gap:12px;align-items:center;background:#f6f7f9;border-radius:14px;padding:10px}
.buy-item img{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:0 0 64px;background:#eee}
.buy-it{flex:1;min-width:0}
.buy-it .n{font-size:13.5px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.buy-it .v{font-size:12px;color:var(--g2);font-weight:800;margin-top:2px}
.buy-it .v[hidden]{display:none}
.buy-it .p{color:var(--price);font-weight:900;font-size:15px;margin-top:3px}
.buy-it .p s{color:var(--muted);font-weight:500;font-size:12px;margin-left:4px}
.buy-item .qty{flex:0 0 auto;background:#fff}
.buy-item .qty button{width:32px;height:34px;background:#fff}
.buy-item .qty output{min-width:26px}
.buy-tot{margin:12px 2px 6px}
#buySlot .checkout{margin-top:6px}
#buySlot .checkout .btn-primary.big{border-radius:14px}
.pp-strip .nw{white-space:nowrap}
#proofPrev[hidden]{display:none}
#buySlot .checkout h3:first-child{margin-top:14px}

/* ---------- v9: ❤️ favorites + cart page ---------- */
.fav-btn{position:relative;border:0;background:rgba(255,255,255,.08);color:#fff;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;padding:0}
.fav-btn svg{width:22px;height:22px}
.fav-btn svg path,.fav-h svg path,.pp-heart svg path,.pp-ico-h svg path{fill:none}
.fav-btn.has svg path{fill:#ff3b5c;stroke:#ff3b5c}
.fav-count{position:absolute;top:-4px;right:-4px;background:#ff3b5c;color:#fff;font-size:11px;font-weight:800;min-width:19px;height:19px;border-radius:999px;display:grid;place-items:center;padding:0 5px;border:2px solid var(--dark)}
.fav-count[hidden]{display:none}
.t-light .fav-btn{background:#f1f1f6;color:var(--ink)}
.t-light .fav-count{border-color:#fff}
/* heart on product cards */
.fav-h{position:absolute;top:8px;right:8px;z-index:2;width:32px;height:32px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.94);color:#4a4a5a;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.14);-webkit-tap-highlight-color:transparent}
.fav-h svg{width:18px;height:18px}
.fav-h.on{color:#f2333f}
.fav-h.on svg path,.pp-heart.on svg path{fill:currentColor}
.fav-h.pop,.pp-heart.pop{animation:favPop .42s ease}
@keyframes favPop{30%{transform:scale(1.28)}60%{transform:scale(.92)}100%{transform:scale(1)}}
/* product page heart (over the photo, left of the cart) + Favorites action */
.pp-heart{right:60px;color:#15151d}
.pp-heart.on{color:#f2333f}
.pp-ico-h{position:relative;color:#f2333f}
.pp-fc{position:absolute;top:-3px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#f2333f;color:#fff;font-size:10px;font-style:normal;font-weight:800;line-height:17px;text-align:center;border:2px solid #fff}
.pp-fc[hidden]{display:none}
/* full-screen pages (favorites, cart): back arrow + centered title */
.overlay.fp,.overlay.cp{align-items:stretch;justify-content:center;background:rgba(8,8,16,.6)}
.fp-page,.cp .cp-page{width:100%;max-width:520px;height:100%;max-height:none;margin:0;border-radius:0;background:#f2f3f5;display:flex;flex-direction:column;overflow:hidden;animation:ppIn .22s ease}
.fp-head,.cp .cp-head{flex:0 0 auto;position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;padding:calc(8px + env(safe-area-inset-top)) 64px 8px;background:#fff;border-bottom:1px solid #eceef1}
.fp-head h2,.cp .cp-head h2{margin:0;font-size:18px;font-weight:800;color:var(--ink);white-space:nowrap}
.fp-back,.cp .cp-back{position:absolute;left:8px;top:calc(8px + env(safe-area-inset-top));width:40px;height:40px;border-radius:50%;border:0;background:transparent;box-shadow:none;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0;font-size:0}
.fp-back svg,.cp .cp-back svg{width:24px;height:24px}
.fp-back:active,.cp .cp-back:active{background:#f1f2f5}
.fp-n{position:absolute;right:14px;top:50%;transform:translateY(-50%);margin-top:calc(env(safe-area-inset-top) / 2);font-size:12px;font-weight:700;color:var(--muted)}
.fp-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 12px calc(20px + env(safe-area-inset-bottom))}
.fp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fp-grid:empty{display:none}
.fcard{position:relative;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);animation:rise .35s ease both}
.fc-link{display:block;width:100%;border:0;background:none;padding:0;text-align:left;color:var(--ink)}
.fc-img{display:block;position:relative;aspect-ratio:1/1;background:#eef0f4;overflow:hidden}
.fc-img img{width:100%;height:100%;object-fit:cover}
.fc-off{position:absolute;left:8px;bottom:8px;background:var(--price);color:#fff;font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:6px}
.fc-body{display:flex;flex-direction:column;gap:3px;padding:9px 10px 12px}
.fc-price{font-size:16px;font-weight:900;color:var(--ink);line-height:1.2}
.fc-price s{display:block;font-size:11.5px;font-weight:500;color:var(--muted)}
.fc-name{font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-stars{min-height:26px;padding-right:60px;display:flex;align-items:center;gap:4px;color:#ffb400;font-size:12px;letter-spacing:1px}
.fc-stars i{font-style:normal;color:var(--muted);letter-spacing:0;font-size:11px}
.fc-share{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.94);color:#15151d;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.fc-share svg{width:16px;height:16px}
.fcard .fc-heart{top:46px}
.fc-add{position:absolute;right:8px;bottom:10px;height:26px;padding:0 9px;border-radius:999px;border:1.5px solid var(--g2);background:#fff;color:var(--g2);font-size:11.5px;font-weight:800;white-space:nowrap}
.fc-add.done{background:var(--g2);color:#fff}
.fp-empty{text-align:center;padding:56px 24px;color:var(--ink2)}
.fp-empty[hidden]{display:none}
.fp-eh{width:84px;height:84px;margin:0 auto 14px;border-radius:50%;background:#ffe9ec;color:#f2333f;display:flex;align-items:center;justify-content:center}
.fp-eh svg{width:42px;height:42px}
.fp-eh svg path{fill:currentColor}
.fp-empty p{margin:0 0 6px;font-size:16px;line-height:1.45;color:var(--ink)}
.fp-empty small{display:block;color:var(--muted);font-size:12.5px;margin-bottom:18px}
/* cart page (v10: "My Shopping Bag" with ticks, recommendations and a sticky Total / Checkout bar) */
.cp .cp-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 12px 20px}
.cp-box{background:#fff;border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:2px 12px}
.cp-all{display:flex;align-items:center;gap:10px;padding:12px 0 11px;border-bottom:1px solid #eef0f3}
.cp-all-l{font-size:14.5px;font-weight:800;color:var(--ink);cursor:pointer}
.cp-all-n{margin-left:auto;font-size:12px;font-weight:700;color:var(--muted)}
.ci-sel{flex:0 0 24px;width:24px;height:24px;border-radius:50%;border:2px solid #c6c9d1;background:#fff;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.ci-sel i{display:block;width:10px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:translateY(-1px) rotate(-45deg);opacity:0}
.ci-sel[aria-checked="true"]{background:var(--g2);border-color:var(--g2)}
.ci-sel[aria-checked="true"] i{opacity:1}
.ci-sel[aria-checked="mixed"]{border-color:var(--g2)}
.ci-sel[aria-checked="mixed"] i{opacity:1;width:10px;height:0;border-left:0;border-bottom-color:var(--g2);transform:none}
.cp .cart-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.cp .ci-card{position:relative;display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eef0f3;background:none}
.cp .ci-card:last-child{border-bottom:0}
.cp .ci-card.off .ci-img,.cp .ci-card.off .ci-mid .n,.cp .ci-card.off .ci-mid .p{opacity:.55}
.ci-img{flex:0 0 76px;width:76px;height:76px;border:0;padding:0;border-radius:12px;overflow:hidden;background:#eef0f4;align-self:flex-start}
.cp .ci-card img{width:76px;height:76px;border-radius:12px;object-fit:cover;display:block}
.ci-mid{flex:1;min-width:0;display:flex;flex-direction:column;align-self:stretch}
.cp .ci-card .n{font-size:13.5px;font-weight:700;line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci-card .v{margin-top:3px;font-size:12px;font-weight:600;color:var(--muted)}
.ci-bot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.cp .ci-card .p{color:var(--ink);font-weight:900;font-size:15.5px;white-space:nowrap}
.ci-ctl{display:flex;align-items:center;gap:4px;margin-left:auto}
.cp .ci-card .qty{border:0;border-radius:0;background:none;overflow:visible;gap:2px}
.cp .ci-card .qty button{width:28px;height:28px;border-radius:50%;font-size:17px;line-height:1;background:#f1f2f5;color:var(--ink);padding:0}
.cp .ci-card .qty .ci-plus{background:var(--g2);color:#fff}
.cp .ci-card .qty output{min-width:24px;font-size:14px}
.ci-each{font-size:11.5px;color:var(--muted);margin-top:2px}
.ci-x{width:30px;height:30px;border-radius:50%;border:0;padding:0;background:none;color:#8a8a99;display:flex;align-items:center;justify-content:center}
.ci-x svg{width:18px;height:18px}
.ci-x:active{background:#ffe9ec;color:#f2333f}
.cp .cp-empty{padding:56px 24px}
.cp-eb{width:84px;height:84px;margin:0 auto 14px;border-radius:50%;background:#eef7f2;display:flex;align-items:center;justify-content:center;font-size:40px}
.cp .cp-empty p{margin:0 0 18px;font-size:16px;color:var(--ink)}
.cp .cp-empty p span{color:var(--muted);font-size:13.5px}
.cp .free-bar{margin:10px 0 0;background:#fff;border:1px solid #ffe2c2;border-radius:14px;padding:10px 14px}
.cp-recs{margin-top:14px}
.cp-rec-h{margin:0 0 10px;padding:11px 14px;border-radius:12px;background:var(--grad);color:#fff;font-size:15px;font-weight:800;text-align:center;letter-spacing:.2px}
.cp-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eceef1;box-shadow:0 -6px 18px rgba(0,0,0,.06);z-index:4}
.cpb-tot{flex:1;min-width:0;line-height:1.2}
.cpb-l{font-size:13px;font-weight:700;color:var(--ink2)}
.cpb-tot b{font-size:19px;font-weight:900;color:var(--ink)}
.cpb-note{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
.cpb-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:399px){.cpb-i{display:none}.cpb-go{min-width:136px;padding:0 14px}}
.cpb-go{flex:0 0 auto;min-width:148px;height:48px;padding:0 18px;border:0;border-radius:999px;background:var(--grad);color:#fff;font-size:16px;font-weight:800;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.cpb-go:disabled{background:#c9ccd3;box-shadow:none}
.buy-item[hidden],.buy-list[hidden],.cp-bar[hidden],.cp .free-bar[hidden],.cp-recs[hidden]{display:none}
.buy-n{font-size:14px;font-weight:700;color:var(--muted);margin-left:4px}
.buy-list{list-style:none;margin:0;padding:6px 10px;background:#f6f7f9;border-radius:14px}
.buy-list li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #e9ebef}
.buy-list li:last-child{border-bottom:0}
.buy-list img{width:48px;height:48px;border-radius:9px;object-fit:cover;flex:0 0 48px;background:#eee}
.bl-m{flex:1;min-width:0}
.bl-m .n{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-m .v{font-size:11.5px;color:var(--muted);margin-top:1px}
.buy-list b{font-size:13.5px;font-weight:900;white-space:nowrap}
@media (min-width:760px){
  .overlay.fp,.overlay.cp{align-items:center;padding:2vh 0}
  .fp-page,.cp .cp-page{height:96vh;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
  .fp-grid{grid-template-columns:repeat(3,1fr)}
}

/* ================= v11 Order Summary (checkout page) ================= */
#buy.co-page{align-items:stretch;justify-content:center;background:#f3f4f6}
#buy.co-page .sheet-buy{max-width:520px;max-height:none;height:100%;border-radius:0;background:#f3f4f6;box-shadow:none;animation:coIn .22s ease}
@keyframes coIn{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
.co-head,#buy .buy-head.co-head{flex:0 0 auto;position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;padding:calc(8px + env(safe-area-inset-top)) 60px 8px;background:#fff;border-bottom:1px solid #eceef1}
.co-head h2{margin:0;font-size:18px;font-weight:800;color:var(--ink,#111)}
.co-head .co-back,#buy .buy-head .close.co-back{position:absolute;left:8px;top:calc(8px + env(safe-area-inset-top));right:auto;width:40px;height:40px;border-radius:50%;border:0;background:transparent;box-shadow:none;color:var(--ink,#111);display:flex;align-items:center;justify-content:center;padding:0;font-size:0}
.co-back svg{width:24px;height:24px}
#buy .buy-body{padding:10px 10px 0;background:#f3f4f6}
#buySlot .checkout.co{margin:0;padding:0;background:none;border:0;box-shadow:none}
.co-card{background:#fff;border-radius:16px;padding:14px;margin:0 0 10px;box-shadow:0 1px 3px rgba(16,24,40,.06);border:1px solid #eef0f3}
.co-card h3,#buySlot .checkout .co-card h3:first-child{margin:0 0 10px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:6px}
.co-n{font-size:13px;color:var(--muted);font-weight:600}
/* address card */
.co-addr{padding:12px}
.co-av,.co-add{display:flex;align-items:center;gap:12px;width:100%}
.co-av[hidden],.co-add[hidden],.co-ap[hidden],#payPark[hidden],.co-bt [hidden]{display:none}
.co-ic{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#ecfdf5;display:grid;place-items:center;font-size:20px}
.co-avt{flex:1;min-width:0}
.co-avn{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.co-avn b{font-size:15px;font-weight:800}.co-avn span{font-size:13px;color:#4b5563;font-weight:600}
.co-avt p{margin:3px 0 0;font-size:13px;color:#4b5563;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.co-edit{flex:0 0 40px;width:40px;height:40px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;font-size:17px;padding:0;cursor:pointer}
.co-add{border:1.5px dashed var(--g1);border-radius:14px;background:#f8fffb;padding:12px;text-align:left;cursor:pointer;font:inherit;color:inherit}
.co-addt{flex:1;min-width:0}.co-addt b{display:block;font-size:15px}.co-addt small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.co-plus{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:800}
/* address page */
.co-ap{position:fixed;inset:0;z-index:5;background:#f3f4f6;display:flex;flex-direction:column;max-width:520px;margin:0 auto;animation:coIn .2s ease}
.co-ap-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 12px 16px}
.co-fs label{display:block;font-size:13.5px;font-weight:700;color:#374151;margin:0 0 12px}
.co-fs label:last-child{margin-bottom:2px}
.co-fs label small{color:var(--muted);font-weight:500}
.co-fs input,.co-fs textarea,.co-note input{display:block;width:100%;margin-top:6px;border:1.5px solid #e5e7eb;border-radius:12px;padding:12px 13px;font:inherit;font-size:15px;background:#fff;color:#111;box-sizing:border-box}
.co-fs textarea{resize:vertical;min-height:76px}
.co-fs input:focus,.co-fs textarea:focus,.co-note input:focus{outline:none;border-color:var(--g1);box-shadow:0 0 0 3px color-mix(in srgb,var(--g1) 16%,transparent)}
.co-fs .bad{border-color:#ef4444!important;background:#fff5f5}
.co-hi{width:34px;height:34px;border-radius:50%;background:#f1f2f4;display:inline-grid;place-items:center;font-size:16px;margin-right:4px}
.co-sel{display:block;position:relative}
.co-sel::after{content:"";position:absolute;right:15px;top:calc(50% + 3px);width:8px;height:8px;border-right:2px solid #6b7280;border-bottom:2px solid #6b7280;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.co-sel input{padding-right:36px}
.co-ap-bar{flex:0 0 auto;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eceef1}
.co-done{width:100%;height:52px;border:0;border-radius:14px;background:#d1d5db;color:#fff;font-size:17px;font-weight:800;cursor:pointer;transition:background .15s}
.co-done.ok{background:var(--grad);box-shadow:0 6px 16px rgba(0,0,0,.14)}
/* package card */
.co-pkg .buy-item{background:none;padding:0;align-items:flex-start}
.co-pkg .buy-item img{width:84px;height:84px;flex-basis:84px;border-radius:12px}
.co-pkg .buy-it .v{display:inline-block;background:#f3f4f6;color:#374151;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;margin-top:5px}
.co-pkg .buy-it .p{font-size:16px;margin-top:5px}
.co-pkg .qty{display:flex;align-items:center;gap:0;margin-top:8px;background:none;border:0;box-shadow:none;width:auto}
.co-pkg .qty .ql{font-size:12.5px;color:var(--muted);font-weight:700;margin-right:10px}
.co-pkg .buy-item .qty button{width:30px;height:30px;border-radius:50%;border:1.5px solid #e5e7eb;background:#fff;font-size:17px;font-weight:800;line-height:1;padding:0;display:grid;place-items:center;color:#111}
.co-pkg .buy-item .qty button:last-of-type{background:var(--grad);border-color:transparent;color:#fff}
.co-pkg .buy-item .qty button:disabled{opacity:.4}
.co-pkg .buy-item .qty output{min-width:30px;text-align:center;font-weight:800;font-size:15px}
.co-pkg .buy-list{background:none;padding:0}
.co-pkg .buy-list li{align-items:flex-start;padding:8px 0}
.co-pkg .buy-list img{width:64px;height:64px;flex-basis:64px;border-radius:10px}
.co-pkg .bl-m .v{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.bl-sz{background:#f3f4f6;border-radius:6px;padding:1px 7px;font-size:11.5px;font-weight:700;color:#374151}
.bl-q{font-size:12px;color:var(--muted);font-weight:600}
.bl-p{font-size:12.5px;color:var(--price);font-weight:800;margin-top:3px}.bl-p small{color:var(--muted);font-weight:600}
.co-note{display:block;font-size:13px;font-weight:700;color:#374151;margin:12px 0 0}
.co-note small{color:var(--muted);font-weight:500}
.co-note input{padding:10px 12px;font-size:14px}
.co-tot{display:grid;grid-template-columns:1fr auto;gap:8px 10px;margin:14px 0 0;padding:12px 0 0;border-top:1px dashed #e5e7eb;font-size:14px}
.co-tot dt{color:#4b5563;margin:0}.co-tot dd{margin:0;text-align:right;font-weight:700}
.co-tot .grand{font-size:15.5px;font-weight:900;color:#111;padding-top:8px;border-top:1px solid #f0f1f3}
.co-free{display:inline-block;background:#dcfce7;color:#15803d;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:800}
/* payment options */
.co-card.pay{margin-top:0;padding-top:14px;border-top:1px solid #eef0f3}
.co-card.pay .pay-opts{gap:0;margin:0}
.pay-it{border-bottom:1px solid #f0f1f3}
.pay-it:last-child{border-bottom:0}
.co-card .pay-opt,.checkout .co-card .pay-opt{border:0;border-radius:0;background:none;box-shadow:none!important;padding:12px 2px;align-items:center}
.co-card .pay-opt .pbadge{width:52px;height:36px;border-radius:9px}
.co-card .pay-opt .pbadge img{width:52px;height:36px}
.co-card .pay-opt .pbadge svg{width:36px;height:36px}
.co-card .pay-opt .pl{flex:1;min-width:0;font-weight:800;font-size:14.5px}
.co-card .pay-opt .pl small{font-size:12px}
.co-save,.co-codc{display:inline-block;margin-top:5px;font-style:normal;font-size:11.5px;font-weight:800;border-radius:6px;padding:2px 8px}
.co-save{background:#fce7f3;color:#be185d}
.co-codc{background:#fff7ed;color:#c2410c}
.co-card .pay-opt .tick{width:22px;height:22px}
.co-card .pay-opt.on .tick{background:var(--grad);border-color:transparent}
.pay-slot{padding:0 2px}
.pay-slot:empty{display:none}
.pay-it.on .pay-slot{padding-bottom:12px}
.pay-slot .pay-box{margin:0 0 10px}
.co-card .cod-note{margin:10px 0 0;font-size:12.5px;color:var(--muted);text-align:left}
/* guarantee + return policy */
.co-g{padding:0}
.co-g summary{list-style:none;cursor:pointer;padding:14px;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:space-between}
.co-g summary::-webkit-details-marker{display:none}
.co-g summary::after{content:"";width:9px;height:9px;border-right:2px solid #6b7280;border-bottom:2px solid #6b7280;transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .15s}
.co-g[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.co-gl{list-style:none;margin:0;padding:0 14px 14px;display:grid;gap:10px}
.co-gl li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#1f2937}
.co-gl li::before{content:"✓";flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#dcfce7;color:#15803d;display:grid;place-items:center;font-size:12.5px;font-weight:900}
.co-gl li[hidden]{display:none}
.co-rp{margin:0;padding:0 14px 14px;font-size:13.5px;line-height:1.55;color:#4b5563}
.co-wa{width:100%;margin:2px 0 12px}
/* sticky totals + Order Now */
.co-bar{position:sticky;bottom:0;z-index:3;margin:0 -10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eceef1;box-shadow:0 -8px 20px rgba(0,0,0,.07);border-radius:16px 16px 0 0}
.co-bt{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin:0 0 6px;font-size:13px}
.co-bt dt{color:#6b7280;margin:0}.co-bt dd{margin:0;text-align:right;font-weight:700;color:#374151}
.co-bt .cb-d{color:#be185d}
.co-pay{display:flex;align-items:center;justify-content:space-between;padding:7px 0 9px;border-top:1px dashed #e5e7eb;color:var(--g1);font-weight:800;font-size:15px}
.co-pay b{font-size:19px;font-weight:900}
.co-bar .form-err{margin:0 0 8px}
.co-go{width:100%;height:52px;border:0;border-radius:14px;background:var(--grad);color:#fff;font-size:18px;font-weight:900;letter-spacing:.3px;box-shadow:0 6px 16px rgba(0,0,0,.14);text-shadow:0 1px 1px rgba(0,0,0,.15);cursor:pointer}
.co-go:disabled{opacity:.7}

/* v11 polish */
.co-card h3,#buySlot .checkout .co-card h3:first-child,.co-ap .co-card h3{justify-content:flex-start;text-align:left}
.co-tot{column-gap:0}.co-tot dd{padding-left:10px}
.co-avt p{-webkit-line-clamp:3}
.co-pkg .buy-list .bl-m{flex:1;min-width:0}
.co-pkg .buy-list .bl-m .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.co-pkg .bl-p{font-size:15px;margin-top:4px}
.co-pkg .bl-q{display:block;margin-top:3px}

/* ---------- v12 Customer Reviews (product page) ---------- */
.stars-row[hidden]{display:none!important}
.pp-rvlink{border:0;background:none;padding:0;color:var(--ink2);font-weight:700;font-size:13px;text-decoration:underline;text-underline-offset:2px}
.pp-rv h3{display:flex;align-items:center;gap:6px}
.pp-rv h3 small{color:var(--muted);font-weight:700}
.rv-sum{margin-bottom:4px}
.rv-none{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:14px 10px 16px;border:1.5px dashed #e4e6ea;border-radius:14px;background:#fafafc}
.rv-none-st{color:#ffb400;font-size:22px;letter-spacing:3px;opacity:.55}
.rv-none b{font-size:15px;color:var(--ink)}
.rv-none span:last-child{font-size:13px;color:var(--muted)}
.rv-avg{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:96px;padding:6px 10px 8px;border-radius:14px;background:#fff7e6}
.rv-avg b{font-size:34px;line-height:1.1;font-weight:900;color:var(--ink)}
.rv-avg small{color:var(--muted);font-size:12px;font-weight:600}
.rv-st{color:#ffb400;letter-spacing:1px;font-size:14px;white-space:nowrap}
.rv-sum.has-avg{display:flex;gap:14px;align-items:center}
.rv-bars{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.rv-bars li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink2);font-weight:700}
.rv-bars li span{flex:0 0 28px;white-space:nowrap}
.rv-bars li i{flex:1;height:7px;border-radius:9px;background:#eef0f4;overflow:hidden}
.rv-bars li i b{display:block;height:100%;background:#ffb400;border-radius:9px}
.rv-bars li em{flex:0 0 22px;text-align:right;font-style:normal;color:var(--muted);font-weight:600}
.rv-load{color:var(--muted);font-size:13px;margin:8px 0}
.rv-load[hidden]{display:none}
.rv-list{list-style:none;margin:6px 0 0;padding:0}
.rv-item{padding:12px 0;border-top:1px solid #f0f1f4}
.rv-item:first-child{border-top:0}
.rv-top{display:flex;align-items:center;gap:10px}
.rv-av{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px}
.rv-who{flex:1;min-width:0;display:flex;flex-direction:column}
.rv-who b{font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.rv-meta .rv-st{font-size:13px}
.rv-via{flex:0 0 auto;font-size:11px;font-weight:700;color:#1a8f4c;background:#e9f8ef;border-radius:999px;padding:3px 8px}
.rv-text{margin:8px 0 0;font-size:14px;color:var(--ink2);white-space:pre-line;word-break:break-word;overflow-wrap:anywhere;position:relative}
.rv-text.clip{max-height:6.6em;overflow:hidden}
.rv-text.clip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.2em;background:linear-gradient(rgba(255,255,255,0),#fff)}
.rv-rm{border:0;background:none;padding:6px 0 0;color:var(--g2);font-weight:800;font-size:13px}
.rv-rm[hidden]{display:none}
.rv-ph{display:block;margin-top:8px;padding:0;border:1px solid #eceef1;border-radius:10px;overflow:hidden;width:84px;height:84px;background:#f4f4f7}
.rv-ph img{width:100%;height:100%;object-fit:cover}
.rv-write{display:block;width:100%;margin-top:10px;padding:12px;border:0;border-radius:12px;background:var(--grad);color:#fff;font-weight:800;font-size:15px;box-shadow:0 6px 16px rgba(255,60,90,.22)}
.rv-write[hidden]{display:none}
.rv-form{margin-top:12px;padding:14px;border:1.5px solid #eceef1;border-radius:14px;background:#fcfcfe}
.rv-form[hidden]{display:none}
.rv-form h4{margin:0 0 10px;font-size:15px;font-weight:800}
.rv-form h4 small{color:var(--muted);font-weight:600}
.rv-form label{display:block;font-size:13px;font-weight:700;color:var(--ink2);margin-bottom:12px}
.rv-form label i,.rv-pick i{color:var(--price);font-style:normal}
.rv-form label small{font-weight:500;color:var(--muted)}
.rv-form input,.rv-form textarea{display:block;width:100%;margin-top:5px;border:1.5px solid #e4e6ea;border-radius:10px;padding:11px 12px;font-size:16px;background:#fff;outline:0;font-weight:500;color:var(--ink);resize:vertical}
.rv-form input:focus,.rv-form textarea:focus{border-color:var(--g1)}
.rv-cnt{display:block;text-align:right;margin-top:3px}
.rv-pick{margin-bottom:12px;font-size:13px;font-weight:700;color:var(--ink2)}
.rv-stars{display:flex;gap:4px;margin:4px 0 2px}
.rv-stars button{width:44px;height:44px;border:0;background:none;padding:0;font-size:34px;line-height:1;color:#dcdfe5;transition:transform .12s,color .12s}
.rv-stars button.on{color:#ffb400}
.rv-stars button:active{transform:scale(1.2)}
.rv-starw{font-size:13px;color:var(--ink)}
.rv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rv-err{margin:0 0 10px;padding:9px 12px;border-radius:10px;background:#fff0f1;color:#c81e2b;font-size:13px;font-weight:600}
.rv-err[hidden]{display:none}
.rv-btns{display:flex;gap:8px}
.rv-cancel{flex:0 0 auto;padding:12px 16px;border:1.5px solid #e4e6ea;border-radius:12px;background:#fff;font-weight:700;color:var(--ink)}
.rv-send{flex:1;padding:12px;border:0;border-radius:12px;background:var(--grad);color:#fff;font-weight:800;font-size:15px}
.rv-send:disabled{opacity:.6}
.rv-note{margin:8px 0 0;font-size:12px;color:var(--muted);text-align:center}
.rv-thanks{margin-top:12px;padding:14px;border-radius:14px;background:#e9f8ef;color:#14532d;display:flex;flex-direction:column;gap:3px;text-align:center}
.rv-thanks[hidden]{display:none}
.rv-thanks b{font-size:15px}
.rv-thanks span{font-size:13px}
.overlay.rv-zoom{background:rgba(8,8,14,.94);align-items:center;padding:16px}
.rv-zoom img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:8px;object-fit:contain}
.rv-zx{position:absolute;top:12px;right:12px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:22px}

/* ================= v13 animations (anim.js) — transform/opacity only; all off under prefers-reduced-motion (rule above) ================= */
.sale-wrap[hidden],.sale-cd[hidden],.pp-dchip[hidden],.pm-arw[hidden]{display:none!important}
/* product photos: each photo clips its own soft zoom */
.pm-sl{flex:0 0 100%;width:100%;overflow:hidden;scroll-snap-align:start;position:relative;display:block}
.pm-track .pm-sl img{display:block;width:100%;transform-origin:50% 50%;will-change:auto}
.pm-track .pm-sl img.kb{animation:tkKb 6.5s ease-out both}
@keyframes tkKb{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.09) translate3d(-1.2%,-1%,0)}}
.pm-track{transition:opacity .22s ease}
.pm-track.pm-fade{opacity:0}
.pm-arw{position:absolute;top:50%;margin-top:-18px;width:36px;height:36px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:rgba(255,255,255,.82);color:#1b1b26;box-shadow:0 3px 12px rgba(0,0,0,.18);z-index:3;transition:transform .15s ease,opacity .2s}
.pm-arw svg{width:20px;height:20px}
.pm-arw:active{transform:scale(.88)}
.pm-prev{left:10px}.pm-next{right:10px}
/* sparkle burst */
.tk-burst{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}
.tk-burst i{position:absolute;display:block;will-change:transform,opacity}
.tk-burst .cf{width:7px;height:11px;margin:-5px 0 0 -3px;border-radius:2px}
.tk-burst .st{font-style:normal;font-size:15px;line-height:1;margin:-8px 0 0 -7px;text-shadow:0 0 6px rgba(255,201,77,.8)}
/* discount badge shimmer + gentle pulse */
.tk-shim{position:relative;overflow:hidden;display:inline-block;animation:tkBadge 2.6s ease-in-out infinite}
.tk-shim::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:45%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0));transform:translateX(-160%) skewX(-18deg);animation:tkSweep 2.6s ease-in-out infinite;pointer-events:none}
#pmBadge.tk-shim{position:absolute}
@keyframes tkBadge{0%,100%{transform:scale(1)}12%{transform:scale(1.08)}24%{transform:scale(1)}}
@keyframes tkSweep{0%{transform:translateX(-160%) skewX(-18deg)}45%,100%{transform:translateX(330%) skewX(-18deg)}}
/* delivery chip */
.pp-dchip{display:inline-flex;align-items:center;gap:7px;margin:9px 0 0;padding:6px 12px 6px 9px;border-radius:999px;background:linear-gradient(90deg,#e8f8ee,#f3fbf6);color:#14532d;font-size:13px;border:1px solid #cdeed8;position:relative;overflow:hidden}
.pp-dchip b{font-weight:800}
.pp-dchip::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.8),rgba(255,255,255,0));transform:translateX(-150%);animation:tkSweep2 3.4s ease-in-out infinite;pointer-events:none}
@keyframes tkSweep2{0%{transform:translateX(-150%)}40%,100%{transform:translateX(360%)}}
.tk-truck{display:inline-block;font-size:16px;animation:tkTruck 1.6s ease-in-out infinite}
@keyframes tkTruck{0%,100%{transform:translate3d(-2px,0,0)}25%{transform:translate3d(1px,-1.5px,0)}50%{transform:translate3d(3px,0,0)}75%{transform:translate3d(1px,-1px,0)}}
.tk-free{font-style:normal;font-weight:900;font-size:11px;letter-spacing:.4px;color:#fff;background:#16a34a;padding:2px 7px;border-radius:999px}
/* price shine + pop on open */
.pp .pm-price b{position:relative;display:inline-block;overflow:hidden;padding-right:2px}
.pp .pm-price b::after{content:"";position:absolute;top:0;bottom:0;left:0;width:38%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.85),rgba(255,255,255,0));transform:translateX(-170%) skewX(-16deg);animation:tkSweep3 3.8s ease-in-out 1s infinite;pointer-events:none}
@keyframes tkSweep3{0%{transform:translateX(-170%) skewX(-16deg)}30%,100%{transform:translateX(360%) skewX(-16deg)}}
.pm-price b.tk-pop{animation:tkPop .6s cubic-bezier(.3,1.6,.5,1) .15s both}
@keyframes tkPop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
/* Order button: gentle heartbeat pulse + soft glow ring (text never clipped) */
.pp-buy{position:relative;animation:tkBuy 2.8s ease-in-out infinite}
.pp-buy::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--grad);z-index:-1;opacity:0;animation:tkRing 2.8s ease-out infinite;pointer-events:none}
.pp-buy:active{animation:none}
@keyframes tkBuy{0%,28%,100%{transform:scale(1)}12%{transform:scale(1.045)}}
@keyframes tkRing{0%{transform:scale(1);opacity:.5}45%{transform:scale(1.1,1.35);opacity:0}100%{transform:scale(1.1,1.35);opacity:0}}
/* home cards: fade/slide in on scroll, soft image zoom-out, tap scale */
.card.tk-rv{opacity:0;transform:translate3d(0,22px,0) scale(.97);animation:none;transition:opacity .55s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.card.tk-rv.tk-in{opacity:1;transform:none}
.card.tk-rv .thumb img{transform:scale(1.14)}
.card.tk-rv.tk-in .thumb img{transform:scale(1);transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}
.card.tk-rv.tk-done{transition:transform .18s ease,box-shadow .2s;transition-delay:0s!important}
.card.tk-rv.tk-done .thumb img{transition:transform .4s}
@media (hover:hover){.card.tk-rv.tk-in:hover{transform:translateY(-3px)}.card.tk-rv.tk-in:hover .thumb img{transform:scale(1.06)}}
.card:active,.card.tk-rv.tk-in:active{transform:scale(.97)}
/* v14 admin switches: delivery chip without motion, no price shine / Order pulse */
.pp-dchip.tk-still::after{display:none}.pp-dchip.tk-still .tk-truck{animation:none}
.tka-nobuy .pp-buy{animation:none}.tka-nobuy .pp-buy::after{display:none}.tka-nobuy .pp .pm-price b::after{display:none}
/* real sale countdown */
.sale-wrap{margin-top:10px}
.sale-cd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:14px;background:var(--grad);color:#fff;box-shadow:0 6px 18px rgba(255,46,126,.28);position:relative;overflow:hidden}
.sale-cd::after{content:"";position:absolute;top:0;bottom:0;left:0;width:35%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.28),rgba(255,255,255,0));transform:translateX(-150%) skewX(-18deg);animation:tkSweep2 3.2s ease-in-out infinite;pointer-events:none}
.cd-t{font-weight:900;font-size:14px;letter-spacing:.2px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.cd-bolt{display:inline-block;animation:tkBadge 1.6s ease-in-out infinite;color:var(--gold)}
.cd-n{display:flex;gap:5px}
.cd-b{min-width:38px;padding:4px 4px 3px;border-radius:9px;background:rgba(0,0,0,.24);text-align:center;line-height:1}
.cd-b b{display:block;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}
.cd-b small{display:block;font-size:9px;opacity:.85;margin-top:2px;text-transform:uppercase;letter-spacing:.3px}
.cd-s b{animation:tkTick 1s ease-out infinite}
@keyframes tkTick{0%{transform:translateY(-35%);opacity:.2}35%{transform:none;opacity:1}100%{transform:none;opacity:1}}
.pp .sale-cd{margin:10px 0 0}
@media (max-width:340px){.cd-b{min-width:32px}.cd-t{font-size:12.5px}}

/* ===== v17: laptop / desktop product page — big two-column view (≥900px only; phones unchanged) ===== */
@media (min-width:900px){
  .overlay.pp{align-items:center;justify-content:center;padding:4vh 24px}
  .pp .pp-page{position:relative;max-width:1100px;width:100%;height:90vh;max-height:880px;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
  .pp .pp-scroll{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);align-content:start;background:#f2f3f5}
  .pp .pp-scroll>*{grid-column:2;min-width:0}
  .pp .pm-media{grid-column:1;grid-row:1/span 40;align-self:start;position:sticky;top:0;height:min(90vh,880px);display:flex;flex-direction:column;background:#fff;border-right:1px solid #eceef1}
  .pp .pm-img{flex:1;min-height:0;display:flex;flex-direction:column}
  .pp .pm-track{flex:1;min-height:0;height:100%}
  .pp .pm-track .pm-sl,.pp .pm-track>img{height:100%}
  .pp .pm-track img,.pp .pm-track .pm-sl img{width:100%;height:100%;aspect-ratio:auto;max-height:none;object-fit:contain;background:#fff}
  .pp .pm-track .pm-sl img.kb{animation:none}
  .pp .pm-thumbs{flex:0 0 auto;justify-content:center;gap:10px;padding:12px 16px 16px;border-top:1px solid #f0f1f4}
  .pp .pm-thumbs img{width:64px;height:64px}
  .pp .pm-count,.pp .pm-zoom{bottom:14px}.pp .pm-dots{bottom:20px}
  .pp .pm-arw{width:44px;height:44px;margin-top:-22px}
  .pp .pm-arw svg{width:22px;height:22px}
  .pp .pm-prev{left:14px}.pp .pm-next{right:14px}
  .pp-info{margin-top:0;border-radius:0;padding:26px 28px 14px}
  .pp-info h2{font-size:22px}
  .pp .pm-price b{font-size:30px}
  .pp-strip{padding:12px 28px}
  .pp .pm-perks{padding:10px 28px 12px}
  .pp-sec{padding:16px 28px}
  .pp-end{height:96px}
  .pp-bar{position:absolute;right:0;bottom:0;width:48%;padding:12px 28px 14px;border-radius:0 0 18px 0}
}


/* ===== v18: laptop / desktop Order Summary — big two-column window (≥900px only; phones unchanged) ===== */
.co-l,.co-r{display:contents}
@media (min-width:900px){
  #buy.co-page{align-items:center;justify-content:center;padding:4vh 24px;background:rgba(8,8,16,.55)}
  #buy.co-page .sheet-buy{position:relative;max-width:1080px;width:100%;height:90vh;max-height:880px;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4)}
  #buy .buy-head.co-head{min-height:64px;padding:8px 72px;border-radius:18px 18px 0 0}
  #buy .buy-head.co-head h2{font-size:20px}
  #buy .buy-head .close.co-back{left:14px;top:12px}
  #buy .buy-body{padding:20px 24px 0}
  #buySlot .checkout.co{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,40%,420px);column-gap:22px;align-items:start}
  #buySlot .checkout.co .co-l{display:block;grid-column:1;position:sticky;top:0;z-index:6;min-width:0;padding-bottom:20px}
  #buySlot .checkout.co .co-r{display:block;grid-column:2;min-width:0}
  #buySlot .checkout .co-card{padding:18px 20px;margin-bottom:14px}
  #buySlot .checkout .co-card h3{font-size:17px;margin-bottom:12px}
  #buySlot .checkout .co-g{padding:0}
  #buySlot .checkout .co-g summary{padding:16px 20px}
  #buySlot .checkout .co-gl,#buySlot .checkout .co-rp{padding:0 20px 16px}
  .co-pkg .buy-item img{width:112px;height:112px;flex-basis:112px}
  .co-pkg .buy-it .n{font-size:16px}
  .co-pkg .buy-it .p{font-size:18px}
  .co-pkg .buy-list img{width:76px;height:76px;flex-basis:76px}
  .co-tot{font-size:15px}
  .co-tot .grand{font-size:17px}
  .co-bar{margin:0;padding:14px 18px 16px;border:1px solid #eceef1;border-bottom:0}
  .co-bt{font-size:14px;gap:5px 10px}
  .co-pay{font-size:16px}.co-pay b{font-size:22px}
  .co-ap{position:fixed;inset:0;margin:auto;width:calc(100% - 48px);max-width:1080px;height:90vh;max-height:880px;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4)}
  .co-ap .co-head{min-height:64px;border-radius:18px 18px 0 0}
  .co-ap .co-head .co-back{left:14px;top:12px}
  .co-ap-body{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-content:start;padding:20px 24px}
  .co-ap-body>.co-card{padding:18px 20px}
  .co-ap-body>.form-err{grid-column:1/-1}
  .co-ap-bar{padding:12px 24px 14px;display:flex;justify-content:flex-end}
  .co-ap-bar .co-done{width:320px}
}
