*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#07070e;--bg2:#0d0d1a;--bg3:#111120;--card:#14141f;
  --z:#00d4ff;--z2:#00aadd;--zdim:rgba(0,212,255,.08);--zglow:rgba(0,212,255,.28);
  --red:#e8192c;--red2:#ff2e40;--rdim:rgba(232,25,44,.1);--rglow:rgba(232,25,44,.35);
  --green:#00e676;--yellow:#ffc107;--purple:#c044ff;
  --text:#eeeef8;--sub:#8888aa;--muted:#444466;
  --brd:rgba(255,255,255,.05);--brd2:rgba(255,255,255,.10);
  --sans:'Nunito',sans-serif;--title:'Bangers',cursive;--mono:'Share Tech Mono',monospace;
  --nh:64px;--ann:34px;--r:10px;--rl:16px;
  --shadow:0 4px 24px rgba(0,0,0,.5);
  --top-offset:calc(var(--nh) + var(--ann));
  --sb:280px;
}
html{scroll-behavior:smooth;scroll-padding-top:var(--top-offset)}
body{font-family:var(--sans);background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--z);border-radius:5px}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%}
button{font-family:var(--sans);cursor:pointer;border:none;background:none}
input,select,textarea{font-family:var(--sans)}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(0,212,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.025) 1px,transparent 1px);
  background-size:56px 56px}

/* ══ NAVBAR ══ */
#nav{
  position:fixed;top:var(--ann);left:0;right:0;z-index:900;height:var(--nh);
  background:rgba(7,7,14,.94);border-bottom:1px solid var(--brd);
  backdrop-filter:blur(24px);
  display:flex;align-items:center;padding:0 clamp(16px,3vw,32px);gap:12px;
  transition:box-shadow .3s
}
#nav.scrolled{box-shadow:0 4px 40px rgba(0,0,0,.7),0 1px 0 var(--brd2)}

/* Logo */
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.logo-img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid rgba(0,212,255,.3);flex-shrink:0}
.logo-name{font-family:var(--title);font-size:1.7rem;color:#fff;letter-spacing:.06em;line-height:1}
.logo-name em{color:var(--z);font-style:normal}

/* Nav links */
.nav-links{display:flex;gap:1px;list-style:none;margin-left:6px;align-items:center}
.nav-links li{position:relative}

.nav-lk{
  font-size:.7rem;font-weight:700;color:var(--sub);
  padding:7px 10px;border-radius:8px;
  transition:all .18s;white-space:nowrap;
  display:flex;align-items:center;gap:3px;
  letter-spacing:.03em;
}
.nav-lk:hover{color:var(--text);background:rgba(255,255,255,.06)}
.nav-lk.nav-active{
  color:var(--z);
  background:rgba(0,212,255,.08);
  border-bottom:2px solid var(--z);
  border-radius:8px 8px 0 0;
}

/* Vender — destaque especial */
.nav-lk-sell{
  color:var(--green);
  border:1.5px solid rgba(0,230,118,.25);
  background:rgba(0,230,118,.06);
  border-radius:8px;
  padding:6px 12px;
  margin-left:4px;
}
.nav-lk-sell:hover{background:rgba(0,230,118,.14);border-color:var(--green);color:#fff}
.nav-lk-sell.nav-active{color:#000;background:var(--green);border-color:var(--green)}

/* Arrow */
.nav-arrow{font-size:.6rem;opacity:.6;transition:transform .2s}
.nav-has-drop:hover .nav-arrow{transform:rotate(180deg)}

/* Dropdown */
.nav-drop{
  display:none;position:absolute;top:calc(100% + 4px);left:0;
  min-width:200px;background:var(--bg2);
  border:1.5px solid var(--brd2);border-radius:12px;
  padding:6px;z-index:600;
  box-shadow:0 24px 60px rgba(0,0,0,.75);
  animation:dropIn .18s ease;
}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.nav-has-drop:hover .nav-drop{display:block}
.nd-item{
  display:block;padding:8px 12px;font-size:.72rem;font-weight:700;
  color:var(--sub);border-radius:8px;transition:all .15s;white-space:nowrap;
}
.nd-item:hover{color:var(--z);background:var(--zdim)}
.nd-sep{height:1px;background:var(--brd2);margin:4px 8px}
.nd-all{color:var(--z);font-weight:800}
.nd-all:hover{background:rgba(0,212,255,.12)}

/* Search */
.nav-search{flex:1;max-width:320px;position:relative;margin-left:auto}
.nav-search input{
  width:100%;background:rgba(255,255,255,.05);border:1.5px solid var(--brd2);
  color:var(--text);border-radius:99px;padding:8px 14px 8px 36px;
  font-size:.8rem;outline:none;transition:all .2s;
}
.nav-search input:focus{border-color:var(--z);background:rgba(0,212,255,.05);box-shadow:0 0 0 3px var(--zdim)}
.nav-search input::placeholder{color:var(--muted)}
.srIcon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;font-size:13px}
#srDrop{
  position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg2);
  border:1.5px solid var(--brd2);border-radius:var(--r);z-index:700;
  max-height:300px;overflow-y:auto;display:none;box-shadow:0 20px 60px rgba(0,0,0,.7);
}
#srDrop.open{display:block}
.sr-item{display:flex;gap:10px;align-items:center;padding:9px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--brd)}
.sr-item:hover{background:rgba(255,255,255,.05)}
.sr-img{width:34px;height:48px;border-radius:5px;object-fit:cover;background:var(--bg3);flex-shrink:0}
.sr-t{font-size:.79rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.sr-m{font-size:.6rem;color:var(--sub);font-family:var(--mono)}
.sr-p{font-family:var(--title);font-size:.92rem;color:var(--z);flex-shrink:0}

/* Action buttons */
.nav-acts{display:flex;gap:6px;align-items:center;flex-shrink:0}
.nav-btn{
  position:relative;width:40px;height:40px;border-radius:10px;
  border:1.5px solid var(--brd2);color:var(--sub);
  display:flex;align-items:center;justify-content:center;font-size:16px;
  transition:all .18s;cursor:pointer;text-decoration:none;overflow:visible;background:none;
}
#navLoginBtn img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}
.nav-btn:hover,.nav-btn:focus{border-color:var(--z);color:var(--z);background:var(--zdim)}
.nav-badge{
  position:absolute;top:-8px;right:-8px;background:var(--red);color:#fff;
  width:18px;height:18px;border-radius:50%;font-size:.46rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);
  border:2px solid var(--bg);z-index:1;pointer-events:none;
}

/* Burger */
.burger{
  display:none;background:none;border:1.5px solid var(--brd2);
  color:var(--text);font-size:18px;
  width:38px;height:38px;border-radius:9px;
  cursor:pointer;flex-shrink:0;
  align-items:center;justify-content:center;
  transition:all .18s;
}
.burger:hover{border-color:var(--z);color:var(--z)}
@media(max-width:1100px){.nav-links{display:none}.burger{display:flex}}
@media(max-width:680px){.nav-search{display:none}}

/* ══ MOB MENU ══ */
#mob{
  display:none;position:fixed;inset:0;
  background:rgba(5,5,12,.97);
  z-index:1000;
  flex-direction:column;align-items:center;justify-content:center;
  gap:4px;backdrop-filter:blur(24px);
  padding:40px 20px;
}
#mob.open{display:flex}
.mob-logo{
  font-family:var(--title);font-size:2.2rem;color:#fff;letter-spacing:.08em;
  margin-bottom:16px;
}
.mob-logo em{color:var(--z);font-style:normal}
#mob a{
  font-family:var(--title);font-size:1.65rem;color:var(--sub);
  padding:10px 36px;border-radius:10px;transition:all .18s;
  border:1.5px solid transparent;width:100%;max-width:320px;text-align:center;
}
#mob a:hover{color:var(--z);background:var(--zdim);border-color:rgba(0,212,255,.18)}
#mob a.nav-active{color:var(--z);border-color:rgba(0,212,255,.2);background:rgba(0,212,255,.07)}
#mob .mob-sell{color:var(--green)}
#mob .mob-sell:hover{color:#fff;background:rgba(0,230,118,.15);border-color:rgba(0,230,118,.3)}
#mob .mob-sell.nav-active{color:#000;background:var(--green);border-color:var(--green)}
.mob-x{
  position:absolute;top:20px;right:20px;
  background:var(--rdim);border:1.5px solid rgba(232,25,44,.3);
  color:var(--red);width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  font-size:18px;transition:all .18s;
}
.mob-x:hover{background:var(--red);color:#fff}

/* ══ ANNOUNCE BAR ══ */
.ann{background:linear-gradient(90deg,var(--red),var(--z),var(--red));background-size:200% 100%;
  animation:annSlide 5s ease infinite;padding:0;overflow:hidden;white-space:nowrap;
  position:fixed;top:0;left:0;right:0;z-index:902;height:var(--ann);display:flex;align-items:center}
@keyframes annSlide{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.ann::before,.ann::after{content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2}
.ann::before{left:0;background:linear-gradient(to right,var(--red),transparent)}
.ann::after{right:0;background:linear-gradient(to left,var(--red),transparent)}
.ann-track{display:inline-flex;animation:ticker 30s linear infinite}
.ann-item{display:inline-flex;align-items:center;gap:8px;padding:0 40px;font-size:.72rem;font-weight:800;letter-spacing:.06em;color:rgba(255,255,255,.95);line-height:1}
.ann-item strong{color:#fff}
.ann-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.7)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ══ LAYOUT ══ */
.cat-layout{display:flex;padding-top:var(--top-offset);min-height:100vh;position:relative;z-index:1}

/* ══ SIDEBAR ══ */
#sbOv{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:799;backdrop-filter:blur(4px)}
#sbOv.open{display:block}
.sidebar{width:var(--sb);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--brd);
  position:sticky;top:var(--top-offset);height:calc(100vh - var(--top-offset));
  overflow-y:auto;scrollbar-width:thin;padding:22px 18px;display:flex;flex-direction:column;gap:20px}
@media(max-width:960px){
  .sidebar{position:fixed;top:0;left:0;width:min(var(--sb),88vw);height:100vh;
    transform:translateX(-110%);transition:transform .28s cubic-bezier(.4,0,.2,1);
    z-index:800;padding-top:calc(var(--top-offset) + 12px);box-shadow:none;will-change:transform}
  .sidebar.open{transform:translateX(0);box-shadow:6px 0 40px rgba(0,0,0,.7)}
}
.sb-sec{display:flex;flex-direction:column;gap:10px}
.sb-label{font-family:var(--mono);font-size:.55rem;color:var(--z);text-transform:uppercase;
  letter-spacing:.18em;font-weight:700;display:flex;align-items:center;gap:6px}
.sb-label::after{content:'';flex:1;height:1px;background:var(--brd2)}
.sb-chips{display:flex;flex-wrap:wrap;gap:5px}
.sb-chip{padding:5px 11px;border-radius:99px;border:1.5px solid var(--brd2);font-size:.68rem;
  font-weight:700;color:var(--sub);cursor:pointer;transition:all .18s;white-space:nowrap;background:none}
.sb-chip:hover{border-color:rgba(0,212,255,.35);color:var(--z);background:var(--zdim)}
.sb-chip.on{border-color:var(--z);color:var(--z);background:var(--zdim)}
.price-row{display:flex;gap:8px;align-items:center}
.price-inp{flex:1;background:rgba(255,255,255,.05);border:1.5px solid var(--brd2);color:var(--text);
  border-radius:9px;padding:8px 10px;font-size:.76rem;outline:none;transition:border-color .2s;width:0}
.price-inp:focus{border-color:var(--z)}
.price-sep{color:var(--muted);font-size:.7rem;flex-shrink:0}
.sort-sel{width:100%;background:rgba(255,255,255,.05);border:1.5px solid var(--brd2);color:var(--text);
  border-radius:9px;padding:9px 12px;font-size:.78rem;outline:none;transition:border-color .2s;cursor:pointer}
.sort-sel:focus{border-color:var(--z)}
.sort-sel option{background:var(--bg2)}
.sb-actions{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.btn-apply{background:linear-gradient(135deg,var(--z),var(--z2));color:#000;border:none;
  border-radius:9px;padding:11px;font-size:.8rem;font-weight:900;cursor:pointer;transition:all .2s;width:100%}
.btn-apply:hover{box-shadow:0 0 20px var(--zglow)}
.btn-clear{background:transparent;border:1.5px solid var(--brd2);color:var(--sub);
  border-radius:9px;padding:9px;font-size:.76rem;font-weight:700;cursor:pointer;transition:all .18s;width:100%}
.btn-clear:hover{border-color:var(--red2);color:var(--red2)}

/* ══ MAIN ══ */
.cat-main{flex:1;padding:28px 28px 60px;min-width:0}
@media(max-width:600px){.cat-main{padding:18px 14px 40px}}

/* ══ HEADER BAR ══ */
.cat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.cat-header-l{display:flex;align-items:center;gap:12px}
.filter-btn{display:none;align-items:center;gap:6px;font-size:.72rem;font-weight:700;color:var(--sub);
  border:1.5px solid var(--brd2);padding:7px 12px;border-radius:8px;cursor:pointer;transition:all .18s;background:none}
.filter-btn:hover{border-color:var(--z);color:var(--z);background:var(--zdim)}
@media(max-width:960px){.filter-btn{display:flex}}
.cat-title-block{}
.cat-title{font-family:var(--title);font-size:1.8rem;color:#fff;letter-spacing:.04em;line-height:1}
.cat-count{font-size:.66rem;color:var(--sub);font-family:var(--mono);margin-top:2px}
.cat-header-r{display:flex;align-items:center;gap:6px}
.view-btn{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--brd2);color:var(--sub);
  display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;
  transition:all .18s;background:none}
.view-btn.on{border-color:var(--z);color:var(--z);background:var(--zdim)}
.view-btn:hover{border-color:var(--z);color:var(--z)}

/* ══ ACTIVE FILTERS ══ */
.active-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;min-height:0}
.af-tag{display:inline-flex;align-items:center;gap:5px;background:var(--zdim);
  border:1.5px solid rgba(0,212,255,.2);border-radius:99px;padding:3px 10px;
  font-size:.64rem;font-weight:700;color:var(--z)}
.af-x{cursor:pointer;opacity:.7;transition:opacity .15s;font-size:10px;line-height:1}
.af-x:hover{opacity:1}

/* ══ PRODUCT GRID ══ */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px}
@media(max-width:500px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
.prod-grid.list{grid-template-columns:1fr}

/* ══ PRODUCT CARD (idêntico ao index) ══ */
.pc{border-radius:12px;background:var(--card);border:1.5px solid var(--brd);
  transition:all .25s;position:relative;overflow:hidden;
  display:flex;flex-direction:column;width:100%;height:100%}
.pc:hover{border-color:rgba(0,212,255,.25);transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.5)}
.pc-img-w{position:relative;overflow:hidden;background:var(--bg3);flex-shrink:0}
.pc-img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;transition:transform .4s}
.pc:hover .pc-img{transform:scale(1.04)}
.pc-badge{position:absolute;top:7px;left:7px;font-family:var(--mono);font-size:.44rem;
  font-weight:700;padding:3px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.07em;z-index:2}
.b-new{background:var(--z);color:#000}.b-hot{background:var(--yellow);color:#000}
.b-sale{background:#00c853;color:#fff}.b-excl{background:var(--purple);color:#fff}
.pc-wish{position:absolute;top:7px;right:7px;width:28px;height:28px;
  background:rgba(7,7,14,.85);border:1.5px solid var(--brd2);border-radius:7px;
  display:flex;align-items:center;justify-content:center;font-size:13px;
  cursor:pointer;transition:all .2s;opacity:0;z-index:2;background:none}
.pc:hover .pc-wish,.pc-wish.on{opacity:1}
.pc-wish.on{color:#ff4444;border-color:rgba(255,68,68,.4);background:rgba(255,68,68,.08)!important}
.pc-qv{position:absolute;bottom:0;left:0;right:0;background:rgba(7,7,14,.97);
  padding:7px 8px;transform:translateY(100%);transition:transform .22s;
  display:flex;gap:4px;border-top:1px solid var(--brd);z-index:2}
.pc-img-w:hover .pc-qv{transform:translateY(0)}
.qv-btn{flex:1;background:var(--z);color:#000;border-radius:6px;padding:6px 0;
  font-size:.64rem;font-weight:800;cursor:pointer;border:none;transition:all .18s;text-align:center;font-family:var(--sans)}
.qv-btn:hover{background:var(--red2)}
.qv-btn.g{background:rgba(255,255,255,.07);border:1.5px solid var(--brd2);color:var(--text)}
.qv-btn.g:hover{background:var(--rdim);color:var(--z);border-color:var(--z)}
.pc-body{padding:10px 12px 14px;display:flex;flex-direction:column;flex:1;min-height:0}
.pc-cat{font-size:.55rem;font-weight:700;color:var(--sub);text-transform:uppercase;
  letter-spacing:.07em;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-title{
  font-size:.79rem;font-weight:800;color:var(--text);
  line-height:1.35;margin-bottom:4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
  height:calc(.79rem * 1.35 * 2);
  min-height:calc(.79rem * 1.35 * 2);
  max-height:calc(.79rem * 1.35 * 2);
}
.pc-stars{font-size:.62rem;color:var(--yellow);margin-bottom:5px;
  height:1em;min-height:1em;display:flex;align-items:center;gap:3px;overflow:hidden}
.pc-stars-cnt{color:var(--sub);font-family:var(--mono);font-size:.54rem}
.pc-seller-name{font-size:.54rem;color:var(--muted);font-family:var(--mono);
  text-decoration:none;display:block;margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:.9em;min-height:.9em}
.pc-seller-name:hover{color:var(--z)}
.pc-price{font-family:var(--title);font-size:1.1rem;color:var(--z);letter-spacing:.04em}
.pc-old{font-size:.58rem;color:var(--muted);text-decoration:line-through;font-family:var(--mono);margin-left:4px}
.pc-save{font-size:.54rem;color:#00c853;font-family:var(--mono);margin-left:3px}
.pc-parc{font-size:.56rem;color:var(--sub);font-family:var(--mono);margin-top:2px;margin-bottom:2px}
.pc-btns{display:flex;gap:7px;margin-top:auto;padding-top:10px;align-items:stretch;flex-shrink:0}
.pc-add-btn{flex:1;background:var(--z);color:#000;border:none;border-radius:10px;
  padding:10px 0;font-size:.76rem;font-weight:800;cursor:pointer;font-family:var(--sans);
  transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;
  letter-spacing:.02em;white-space:nowrap}
.pc-add-btn:hover{box-shadow:0 0 20px var(--zglow);transform:translateY(-1px)}
.pc-add-btn:active{transform:translateY(0);box-shadow:none}
.pc-go-btn{flex:0 0 40px;width:40px;height:100%;min-height:38px;
  background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.12);
  color:var(--sub);border-radius:10px;display:flex;align-items:center;justify-content:center;
  text-decoration:none;font-size:1rem;font-weight:700;transition:all .2s;flex-shrink:0}
.pc-go-btn:hover{border-color:var(--z);color:var(--z);background:rgba(0,212,255,.08)}

/* LIST MODE */
.prod-grid.list .pc{flex-direction:row;max-height:130px}
.prod-grid.list .pc-img-w{width:95px;flex-shrink:0;border-radius:12px 0 0 12px}
.prod-grid.list .pc-img{aspect-ratio:unset;height:100%;width:95px}
.prod-grid.list .pc-title{height:auto;min-height:0;max-height:none;-webkit-line-clamp:1}
.prod-grid.list .pc-parc{display:none}
.prod-grid.list .pc-btns{flex-direction:row;padding-top:6px}
.prod-grid.list .pc-add-btn{padding:7px 14px;font-size:.72rem}

/* ══ SKELETON ══ */
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skel{background:linear-gradient(90deg,var(--bg3) 25%,rgba(255,255,255,.06) 50%,var(--bg3) 75%);
  background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}

/* ══ EMPTY STATE ══ */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:72px 20px;gap:14px;color:var(--muted);grid-column:1/-1}
.empty-ico{font-size:3rem;opacity:.28}
.empty-txt{font-size:.92rem;font-weight:800;color:var(--text)}
.empty-sub{font-size:.76rem;text-align:center;line-height:1.7;max-width:300px}

/* ══ LOAD MORE ══ */
.load-wrap{display:flex;justify-content:center;margin-top:32px}
.btn-load{background:transparent;border:1.5px solid var(--brd2);color:var(--sub);
  border-radius:10px;padding:12px 32px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s}
.btn-load:hover{border-color:var(--z);color:var(--z);background:var(--zdim)}

/* ══ QUICK VIEW MODAL ══ */
#pmod{position:fixed;inset:0;z-index:950;display:none;align-items:center;justify-content:center;
  padding:16px;background:rgba(0,0,0,.88);backdrop-filter:blur(16px)}
#pmod.open{display:flex}
.pm-wrap{width:100%;max-width:840px;background:var(--bg2);border:1.5px solid var(--brd2);
  border-radius:var(--rl);overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.8);
  animation:popIn .3s cubic-bezier(.34,1.56,.64,1);max-height:90vh;overflow-y:auto;position:relative}
@keyframes popIn{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}
.pm-grid{display:grid;grid-template-columns:260px 1fr}
@media(max-width:600px){.pm-grid{grid-template-columns:1fr}}
.pm-img-side{background:linear-gradient(135deg,var(--bg3),var(--bg2));display:flex;align-items:center;justify-content:center;padding:28px;position:relative;min-height:280px}
.pm-cover{max-width:190px;width:100%;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.7)}
.pm-info{padding:24px;display:flex;flex-direction:column;gap:9px}
.pm-cat-tag{display:inline-flex;align-items:center;gap:5px;font-size:.6rem;font-weight:700;color:var(--sub);background:rgba(255,255,255,.06);border:1px solid var(--brd2);border-radius:99px;padding:3px 10px;text-transform:uppercase;letter-spacing:.07em;font-family:var(--mono);width:fit-content}
.pm-title{font-family:var(--title);font-size:1.5rem;color:#fff;letter-spacing:.02em;line-height:1.1}
.pm-author{font-size:.76rem;color:var(--sub)}
.pm-stars{font-size:.72rem;color:var(--yellow);display:flex;align-items:center;gap:6px}
.pm-stars-cnt{color:var(--sub);font-family:var(--mono)}
.pm-price{font-family:var(--title);font-size:1.9rem;color:var(--z);letter-spacing:.04em;line-height:1}
.pm-old{font-size:.72rem;color:var(--muted);text-decoration:line-through;font-family:var(--mono)}
.pm-disc{font-size:.62rem;font-weight:800;color:#000;background:var(--green);border-radius:99px;padding:2px 9px;font-family:var(--mono)}
.pm-parc{font-size:.7rem;color:var(--sub);font-family:var(--mono)}
.pm-desc{font-size:.79rem;color:var(--sub);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pm-qty-row{display:flex;align-items:center;gap:10px}
.qty-ctrl{display:flex;align-items:center;gap:8px;background:var(--bg3);border:1.5px solid var(--brd2);border-radius:9px;padding:4px}
.qty-ctrl button{width:28px;height:28px;border-radius:6px;background:var(--bg2);border:1.5px solid var(--brd2);color:var(--text);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s}
.qty-ctrl button:hover{border-color:var(--z);color:var(--z)}
.qty-ctrl span{font-family:var(--mono);font-size:.85rem;min-width:24px;text-align:center}
.pm-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-add-cart{flex:1;background:var(--z);color:#000;border:none;border-radius:9px;padding:11px 20px;font-size:.82rem;font-weight:900;cursor:pointer;transition:all .2s}
.btn-add-cart:hover{box-shadow:0 0 20px var(--zglow)}
.btn-wish-modal{background:transparent;border:1.5px solid var(--brd2);color:var(--sub);border-radius:9px;padding:11px 16px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s}
.btn-wish-modal:hover,.btn-wish-modal.on{border-color:rgba(255,68,68,.4);color:#ff4444;background:rgba(255,68,68,.08)}
.pm-guarantees{display:flex;gap:10px;flex-wrap:wrap;font-size:.62rem;color:var(--muted)}
.pm-close{position:absolute;top:12px;right:12px;background:var(--bg3);border:1.5px solid var(--brd2);color:var(--sub);width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;z-index:10}
.pm-close:hover{border-color:var(--z);color:var(--z)}

/* ══ TOAST ══ */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--bg2);border:1.5px solid var(--brd2);color:var(--text);border-radius:11px;
  padding:12px 20px;font-size:.82rem;font-weight:700;box-shadow:0 10px 40px rgba(0,0,0,.6);
  opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);z-index:9999;pointer-events:none;max-width:320px;text-align:center}
#toast.show{transform:translateX(-50%) translateY(0);opacity:1}
#toast.ok{border-color:rgba(0,230,118,.4);color:var(--green)}
#toast.err{border-color:rgba(232,25,44,.4);color:#ff7070}
#toast.inf{border-color:rgba(0,212,255,.4);color:var(--z)}
