/* ZXACC shop (built on zx-flow.css variables) */
.zxsh-head{padding-bottom:34px;}
.zxsh-head-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:18px 32px;align-items:end;}
.zxsh-head h1{margin:0 0 6px;}
.zxsh-sub{margin:0;font-size:14px;color:var(--soft);font-weight:600;}
.zxsh-sub b{color:var(--ink);font-weight:900;}
.zxsh-desc{max-width:760px;margin-top:14px;font-size:14px;color:var(--soft);line-height:2;}
.zxsh-desc p{margin:0;}

/* search — a capsule with an ink key on the right, gold "go" on the left,
   an underline that runs while typing and «پرطرفدار» shortcuts under it */
.zxsh-finder{display:grid;gap:10px}
.zxsh-search{position:relative;display:flex;align-items:center;gap:4px;height:64px;padding:0 8px 0 8px;border-radius:22px;background:#fff;border:1.5px solid #e6dcc7;
  box-shadow:0 22px 40px -30px rgba(15,42,68,.6),0 1px 0 #fff inset;transition:border-color .25s,box-shadow .3s,transform .3s var(--ease);overflow:hidden}
.zxsh-search:hover{border-color:#d7cbb2}
.zxsh-search:focus-within{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 0 0 5px rgba(15,42,68,.08),0 26px 44px -30px rgba(15,42,68,.7)}
.zxsh-search-ic{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:15px;background:var(--ink);color:var(--gold,#FFC53D);transition:transform .4s var(--ease)}
.zxsh-search-ic .zxf-i{width:21px!important;height:21px!important;margin:0!important;color:inherit}
.zxsh-search:focus-within .zxsh-search-ic{transform:rotate(-12deg) scale(1.04)}
.zxsh-search input[type=search]{flex:1;min-width:0;height:100%;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;padding:0 10px!important;margin:0!important;font:700 16px/1 "Vazirmatn",Tahoma,sans-serif!important;color:var(--ink);-webkit-appearance:none;appearance:none}
.zxsh-search input::-webkit-search-cancel-button{display:none}
.zxsh-search input::placeholder{color:#98a5b2;font-weight:600;transition:opacity .3s}
.zxsh-kbd{display:grid;place-items:center;min-width:28px;height:28px;margin-left:4px;border-radius:8px;border:1.5px solid #e3dac8;border-bottom-width:3px;color:var(--soft);font:800 13px/1 ui-monospace,Menlo,monospace;background:#fbf8f1}
.zxsh-search:focus-within .zxsh-kbd,.zxsh-search.has-q .zxsh-kbd{display:none}
.zxsh-go{display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 18px;border:0;border-radius:15px;background:var(--gold,#FFC53D);color:var(--ink);font:900 14px "Vazirmatn",Tahoma,sans-serif;cursor:pointer;transition:transform .2s,box-shadow .2s}
.zxsh-go .zxf-i{width:17px;height:17px;transition:transform .3s var(--ease)}
.zxsh-go:hover{box-shadow:0 10px 18px -10px rgba(196,138,44,.9)}
.zxsh-go:hover .zxf-i{transform:translateX(-3px)}
.zxsh-go:active{transform:scale(.96)}
.zxsh-clear{width:34px;height:34px;margin-left:2px;border:0;border-radius:11px;background:#f3eee3;color:var(--soft);display:grid;place-items:center;cursor:pointer;animation:zxshPop .25s var(--ease)}
.zxsh-clear[hidden]{display:none}
.zxsh-clear .zxf-i{width:15px;height:15px}
@keyframes zxshPop{from{transform:scale(.4);opacity:0}}
.zxsh-spin{width:18px;height:18px;margin-left:6px;border-radius:50%;border:2.5px solid #e6dcc7;border-top-color:var(--ink);opacity:0;transition:opacity .2s;flex:0 0 auto}
.zxsh-search.busy .zxsh-spin{opacity:1;animation:zxfSpin .7s linear infinite}
.zxsh-line{position:absolute;right:62px;left:120px;bottom:10px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold,#FFC53D),transparent);transform:scaleX(0);transition:transform .45s var(--ease);pointer-events:none}
.zxsh-search:focus-within .zxsh-line{transform:scaleX(1)}
.zxsh-search.busy .zxsh-line{animation:zxshRun 1s linear infinite}
@keyframes zxshRun{0%{transform:translateX(30%) scaleX(.5)}50%{transform:translateX(-30%) scaleX(.8)}100%{transform:translateX(30%) scaleX(.5)}}
.zxsh-hot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;font-size:12px;font-weight:800;color:var(--faint)}
.zxsh-hot button{height:28px;padding:0 11px;border:1px dashed #d8ccb3;border-radius:9px;background:transparent;color:var(--soft);font:800 12px "Vazirmatn",Tahoma,sans-serif;cursor:pointer;transition:all .2s}
.zxsh-hot button:hover{border-style:solid;border-color:var(--ink);color:var(--ink);background:#fff;transform:translateY(-1px)}

/* category chips */
.zxsh-cats{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;margin:0 0 6px;scrollbar-width:thin;scroll-snap-type:x proximity;}
.zxsh-chip{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 8px 0 14px;border-radius:15px;background:#fff;border:1.5px solid #e7e0d0;
  font-size:13.5px;font-weight:800;color:var(--ink)!important;transition:transform .2s var(--ease),border-color .2s,background .2s,color .2s,box-shadow .2s;}
.zxsh-chip .ic{width:30px;height:30px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:var(--sky);color:var(--blue);}
.zxsh-chip .ic img{width:100%;height:100%;object-fit:cover;display:block;}
.zxsh-chip .ic .zxf-i{width:16px;height:16px;}
.zxsh-chip em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--faint);background:#f5f1e7;border-radius:8px;padding:0 7px;line-height:1.9;}
.zxsh-chip:hover{transform:translateY(-2px);border-color:#d6ccb6;}
.zxsh-chip.on{background:var(--ink);border-color:var(--ink);color:#fff!important;box-shadow:0 14px 24px -16px rgba(15,42,68,.9);}
.zxsh-chip.on em{background:rgba(255,255,255,.14);color:#fff;}

/* toolbar */
.zxsh-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 18px;}
.zxsh-count{margin:0;font-size:13.5px;font-weight:800;color:var(--soft);}
.zxsh-sort{position:relative;display:inline-flex;padding:4px;border-radius:14px;background:#fff;border:1px solid #e7e0d0;}
.zxsh-sort button{position:relative;z-index:1;height:36px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:var(--soft);font:800 12.5px "Vazirmatn",Tahoma,sans-serif;cursor:pointer;transition:color .25s;}
.zxsh-sort button.on{color:#fff;}
.zxsh-sort .pill{position:absolute;top:4px;left:0;height:36px;border-radius:10px;background:var(--ink);transition:transform .35s var(--ease),width .35s var(--ease);z-index:0;}

/* grid + cards */
.zxsh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.zxsh-card{transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i,0) * 35ms);}
/* entrance animation only once the script runs (cards stay visible without JS) */
.zxsh-js .zxsh-card:not(.in){opacity:0;transform:translateY(18px);}
.zxsh-card[hidden]{display:none!important;}
.zxsh-card-in{position:relative;display:flex;flex-direction:column;height:100%;padding:10px;border-radius:24px;background:#fff;border:1px solid #ece6d8;
  box-shadow:0 22px 36px -34px rgba(15,42,68,.6);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .2s;}
.zxsh-card-in:hover{transform:translateY(-5px);border-color:#ddd3be;box-shadow:0 30px 44px -30px rgba(15,42,68,.55);}
.zxsh-card .im{position:relative;display:block;aspect-ratio:1;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#2c4c70,#132338);}
.zxsh-card .im img{width:100%!important;height:100%!important;object-fit:cover;display:block;margin:0!important;transition:transform .6s var(--ease);}
.zxsh-card-in:hover .im img{transform:scale(1.05);}
.zxsh-card .tag{position:absolute;top:10px;right:10px;padding:2px 10px;border-radius:99px;background:rgba(255,255,255,.92);font-size:11px;font-weight:800;color:var(--navy);backdrop-filter:blur(4px);}
.zxsh-card .bd{display:grid;gap:1px;padding:12px 6px 6px;}
.zxsh-card .nm{font-size:16px;font-weight:900;color:var(--ink);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right;unicode-bidi:plaintext;}
.zxsh-card .fa{font-size:12.5px;font-weight:700;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.zxsh-card .pr{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin-top:8px;}
.zxsh-card .pr .from{font-size:12px;font-weight:700;color:var(--faint);}
.zxsh-card .pr b{font-size:19px;font-weight:900;color:var(--ink);}
.zxsh-card .pr small{flex-basis:100%;font-size:11.5px;font-weight:800;color:var(--amber);}
.zxsh-card .ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:10px 6px 2px;border-top:1px dashed #ece4d2;}
.zxsh-card .meta{font-size:11.5px;font-weight:800;color:var(--blue);background:var(--sky);border-radius:8px;padding:1px 8px;}
.zxsh-card .go{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:900;color:var(--ink);}
.zxsh-card .go .zxf-i{width:16px;height:16px;transition:transform .3s var(--ease);}
.zxsh-card-in:hover .go .zxf-i{transform:translateX(-4px);}
.zxsh-card.out .zxsh-card-in{opacity:.6;}
.zxsh-card.out .meta{background:#f3eeee;color:#a0413a;}

/* empty + trust */
.zxsh-empty{max-width:560px;margin:20px auto 0;padding:34px 24px;text-align:center;border-radius:26px;background:#fff;border:1px solid #ece6d8;animation:zxfRise .45s var(--ease) both;}
.zxsh-empty .t{margin:0 0 6px;font-size:19px;font-weight:900;color:var(--ink);}
.zxsh-empty p{margin:0 0 18px;color:var(--soft);font-size:14px;}
.zxsh-empty-act{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.zxsh-trust{list-style:none;margin:40px 0 0;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border-radius:24px;border:1px dashed #d8cfbb;background:rgba(255,255,255,.55);}
.zxsh-trust li{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--soft);line-height:1.8;}
.zxsh-trust .zxf-i{width:22px;height:22px;color:var(--blue);margin-top:2px;}
.zxsh-trust b{display:block;font-size:13.5px;color:var(--ink);}
.zxsh-trust a{color:var(--tg)!important;font-weight:800;}

@media (max-width:980px){.zxsh-head-grid{grid-template-columns:1fr}.zxsh-trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .zxsh-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .zxsh-card-in{padding:7px;border-radius:20px;}
  .zxsh-card .im{border-radius:15px;}
  .zxsh-card .nm{font-size:14px;}
  .zxsh-card .pr b{font-size:16px;}
  .zxsh-card .go span{display:none;}
  .zxsh-card .tag{top:7px;right:7px;font-size:10px;}
  .zxsh-search{height:58px;border-radius:19px;padding:0 6px}
  .zxsh-search-ic{width:42px;height:42px;border-radius:13px}
  .zxsh-go{width:44px;height:42px;padding:0;justify-content:center;border-radius:13px}
  .zxsh-go span{display:none}
  .zxsh-kbd{display:none}
  .zxsh-line{right:54px;left:56px;bottom:8px}
  .zxsh-hot{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .zxsh-hot button{flex:0 0 auto}
  .zxsh-sort{width:100%;overflow-x:auto;}
  .zxsh-sort button{flex:1 0 auto;padding:0 10px;}
  .zxsh-trust{grid-template-columns:1fr;}
}
