:root{
  --bg:#0b0f17;
  --bg2:#070a10;
  --card:rgba(17,24,39,.85);
  --card2:#0b1220;
  --muted:#9ca3af;
  --text:#e5e7eb;
  --line:#1f2937;
  --btn:#2563eb;
  --btn2:#0ea5e9;
  --shadow: rgba(0,0,0,.25);

  /* Badge stronger */
  --badgeBg: rgba(0,0,0,.78);
  --badgeLine: rgba(255,255,255,.22);
  --badgeText: #ffffff;
  --badgeShadow: rgba(0,0,0,.55);
}

/* Light theme improved + badge stays strong */
:root[data-theme="light"]{
  --bg:#f6f8fc;
  --bg2:#ffffff;
  --card:rgba(255,255,255,.96);
  --card2:#ffffff;
  --muted:#475569;
  --text:#0f172a;
  --line:#e2e8f0;
  --shadow: rgba(2,6,23,.10);

  /* Badge: keep high contrast on light */
  --badgeBg: rgba(15,23,42,.88);
  --badgeLine: rgba(255,255,255,.22);
  --badgeText: #ffffff;
  --badgeShadow: rgba(2,6,23,.35);
}

/* Default dark if user chooses */
:root[data-theme="dark"]{
  --bg:#0b0f17;
  --bg2:#070a10;
  --card:rgba(17,24,39,.85);
  --card2:#0b1220;
  --muted:#9ca3af;
  --text:#e5e7eb;
  --line:#1f2937;
  --shadow: rgba(0,0,0,.25);

  --badgeBg: rgba(0,0,0,.78);
  --badgeLine: rgba(255,255,255,.22);
  --badgeText: #ffffff;
  --badgeShadow: rgba(0,0,0,.55);
}

*{box-sizing:border-box}
body{
  margin:0;
  background:linear-gradient(180deg,var(--bg2) 0%, var(--bg) 42%, var(--bg) 100%);
  color:var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}
.wrap{max-width:1200px;margin:0 auto;padding:16px}
.topbar{position:sticky;top:0;z-index:50;
  backdrop-filter: blur(10px);
  background:color-mix(in oklab, var(--bg2) 72%, transparent);
  border-bottom:1px solid var(--line);
  transition: transform .22s ease, opacity .22s ease;
  will-change: transform;
}
.brand{display:flex;gap:12px;align-items:center}
.logoBox{
  width:44px;height:44px;border-radius:14px;
  overflow:hidden;display:grid;place-items:center;
  border:1px solid var(--line);
  background:var(--card2);
}
.logoImg{width:100%;height:100%;object-fit:cover;display:block}
.title{font-weight:900;font-size:18px}
.subtitle{color:var(--muted);font-size:12px;margin-top:2px}

.controls{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  margin-top:12px
}
.search{
  flex:1;min-width:220px;
  background:var(--card2);
  border:1px solid var(--line);
  color:var(--text);padding:10px 12px;border-radius:12px;
  outline:none;
}
.select{
  background:var(--card2);
  border:1px solid var(--line);
  color:var(--text);padding:10px 12px;border-radius:12px;
  outline:none;
}
.btn{
  background:linear-gradient(135deg,var(--btn),var(--btn2));
  border:0;color:white;
  padding:10px 14px;border-radius:12px;
  font-weight:800;cursor:pointer;
  text-decoration:none;display:inline-flex;align-items:center;justify-content:center;
}
.btn.ghost{
  background:transparent;border:1px solid var(--line);color:var(--text);
}
.btn:disabled{opacity:.45;cursor:not-allowed}

.stats{
  display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px 0
}
.stat{
  background:var(--card);
  border:1px solid var(--line);
  padding:10px 12px;border-radius:14px;color:var(--muted)
}
.stat b{color:var(--text)}

.grid{
  display:grid;gap:14px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media(min-width:650px){
  .grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media(min-width:980px){
  .grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow: 0 10px 30px var(--shadow);
  display:flex;flex-direction:column;
}
.imgwrap{position:relative;display:block;background:var(--card2)}
.imgwrap img{width:100%;height:220px;object-fit:contain;display:block}
.noimg{height:220px;display:grid;place-items:center;color:var(--muted)}

/* ===== Badge (discount) stronger & clearer ===== */
.badge{
  position:absolute;left:12px;top:12px;
  background:var(--badgeBg);
  border:1px solid var(--badgeLine);
  color:var(--badgeText);
  padding:7px 12px;
  border-radius:999px;
  font-weight:1000;
  font-size:13px;
  letter-spacing:.2px;
  text-shadow: 0 2px 6px var(--badgeShadow);
  box-shadow: 0 10px 22px var(--badgeShadow);
  backdrop-filter: blur(4px);
}
/* add subtle stroke for extra readability */
.badge{
  -webkit-text-stroke: .2px rgba(0,0,0,.35);
}
:root[data-theme="light"] .badge{
  -webkit-text-stroke: .0px rgba(0,0,0,0);
}

.body{padding:12px 12px 14px 12px;display:flex;flex-direction:column;gap:10px}
.ctitle{
  font-weight:900;font-size:14px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;
}
.prices{display:flex;flex-direction:column;gap:6px}
.now{color:var(--text)}
.old{color:var(--muted)}
.old span{text-decoration:line-through}
.meta{color:var(--muted);font-size:12px}
.actions{margin-top:auto}

.loading,.empty{
  grid-column:1/-1;
  background:var(--card);
  border:1px solid var(--line);
  padding:18px;border-radius:16px;color:var(--muted);
  text-align:center
}
.pager{
  display:flex;align-items:center;justify-content:center;
  gap:12px;margin:18px 0 6px 0
}
.pageinfo{color:var(--muted);font-size:12px}

/* Social links bar */
.socialbar{
  margin-top:12px;
  display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;
}
.slink{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px 12px;
  text-decoration:none;
  color:var(--text);
  display:flex;gap:10px;align-items:center;
  box-shadow: 0 8px 20px var(--shadow);
}
.sicon{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--btn),var(--btn2));
  color:white;font-weight:900;
}
.smeta{display:flex;flex-direction:column;gap:2px}
.sname{font-weight:900;font-size:13px;line-height:1.1}
.sdesc{color:var(--muted);font-size:12px;line-height:1.1}

.panel{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow: 0 10px 30px var(--shadow);
}
.panel h3{margin:0 0 10px 0}
.formRow{margin:12px 0}
.formRow label{display:block;font-weight:800;margin-bottom:6px}
.hint{color:var(--muted);font-size:12px;margin-top:6px}
.row2{display:flex;gap:10px;flex-wrap:wrap}
.file{width:100%}
.actionsRow{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}

.msg{margin-top:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--card2);color:var(--muted)}
.msg.ok{color:var(--text)}
.msg.err{color:#b91c1c}

.socialEditor{
  border:1px dashed var(--line);
  border-radius:16px;
  padding:12px;
  background:color-mix(in oklab, var(--card) 70%, transparent);
}
.socialItem{
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
  margin:10px 0;
  background:var(--card2);
}
.socialItemTop{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.smallBtn{
  padding:8px 10px;border-radius:12px;border:1px solid var(--line);
  background:transparent;color:var(--text);cursor:pointer;font-weight:800;
}
.smallBtn.danger{border-color:#ef4444;color:#ef4444}


/* Smart header hide on scroll down */
.topbar-hidden{transform: translateY(-110%); opacity: 0.0;}

/* Social icon image */
.siconImg{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}
.siconTxt{display:inline-block;font-weight:900}


/* Social icons-only bar */
.socialbar-icons{gap:10px}
.slink-icon{padding:0;border:0;background:transparent;box-shadow:none}
.slink-icon .sicon{
  width:42px;height:42px;border-radius:14px;
  border:1px solid var(--line);
  overflow:hidden;
  background:var(--card2);
}
.slink-icon:hover .sicon{filter:brightness(1.08)}
