/* ================================================================
   WP Trading Signals — Signals Page  (signals-page.css)
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800;900&display=swap');

/* ── reset ── */
.wpts-sp,.wpts-sp *,.wpts-sp *::before,.wpts-sp *::after{box-sizing:border-box;}
.wpts-panel-wrap,.wpts-panel-wrap *,.wpts-panel-wrap *::before,.wpts-panel-wrap *::after{box-sizing:border-box;}
.wpts-sp{font-family:'Vazirmatn','Tahoma',sans-serif;direction:rtl;max-width:1280px;margin:0 auto;padding:0 16px 80px;color:#e2e8f0;}

/* ================================================================
   HERO
   ================================================================ */
.wpts-sp-hero{
  position:relative;overflow:hidden;
  border-radius:28px;margin-bottom:36px;
  background:linear-gradient(145deg,#050b18 0%,#0d1428 100%);
  border:1px solid rgba(255,255,255,.07);
  padding:70px 40px 64px;
  text-align:center;
}
.wpts-sp-hero-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 50% -10%,color-mix(in srgb,var(--sp-accent) 25%,transparent) 0%,transparent 65%),
    radial-gradient(ellipse 40% 30% at 10% 110%,rgba(108,99,255,.2) 0%,transparent 60%),
    radial-gradient(ellipse 40% 30% at 90% 110%,color-mix(in srgb,var(--sp-accent) 20%,transparent) 0%,transparent 60%);
}
.wpts-sp-hero-inner{position:relative;z-index:1;}
.wpts-sp-hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:color-mix(in srgb,var(--sp-accent) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--sp-accent) 40%,transparent);
  color:var(--sp-accent);font-size:12px;font-weight:700;
  padding:6px 18px;border-radius:30px;margin-bottom:22px;
  letter-spacing:.6px;text-transform:uppercase;
}
.wpts-sp-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--sp-accent);display:inline-block;
  animation:wpts-blink 1.6s ease-in-out infinite;
}
@keyframes wpts-blink{0%,100%{opacity:1}50%{opacity:.2}}
.wpts-sp-hero-title{
  font-size:46px;font-weight:900;margin:0 0 14px;line-height:1.15;
  color:#fff;
}
.wpts-sp-hero-title-accent{
  background:linear-gradient(135deg,var(--sp-accent),color-mix(in srgb,var(--sp-accent) 60%,#fff));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.wpts-sp-hero-sub{color:rgba(255,255,255,.45);font-size:15px;line-height:1.9;max-width:520px;margin:0 auto 36px;}
.wpts-sp-hero-stats{
  display:inline-flex;align-items:center;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:60px;padding:10px 28px;gap:24px;
}
.wpts-sp-stat{text-align:center;}
.wpts-sp-stat-n{display:block;font-size:24px;font-weight:900;color:var(--sp-accent);line-height:1;}
.wpts-sp-stat-l{display:block;font-size:11px;color:rgba(255,255,255,.35);margin-top:3px;}
.wpts-sp-stat-sep{width:1px;height:36px;background:rgba(255,255,255,.1);}

/* ================================================================
   TABS
   ================================================================ */
.wpts-sp-tabs-wrap{
  position:sticky;top:0;z-index:100;
  background:linear-gradient(180deg,rgba(5,11,24,.98) 80%,transparent);
  padding:16px 0 0;margin-bottom:32px;
}
.wpts-sp-tabs{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:20px;padding:6px;max-width:520px;
}
.wpts-sp-tab{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  background:transparent;border:none;
  color:rgba(255,255,255,.4);font-size:13px;font-weight:600;
  font-family:'Vazirmatn','Tahoma',sans-serif;
  padding:10px 12px;border-radius:14px;
  cursor:pointer;transition:all .25s;white-space:nowrap;
}
.wpts-sp-tab:hover{color:rgba(255,255,255,.7);background:rgba(255,255,255,.05);}
.wpts-sp-tab.active{
  background:color-mix(in srgb,var(--sp-accent) 18%,rgba(255,255,255,.06));
  color:#fff;box-shadow:0 2px 12px color-mix(in srgb,var(--sp-accent) 20%,transparent);
  border:1px solid color-mix(in srgb,var(--sp-accent) 30%,transparent);
}
.wpts-sp-tab-icon{font-size:16px;}
.wpts-sp-tab-label{font-weight:700;}
.wpts-sp-tab-badge{
  background:rgba(255,255,255,.12);color:rgba(255,255,255,.5);
  font-size:10px;font-weight:800;min-width:18px;height:18px;
  border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;
}
.wpts-sp-tab.active .wpts-sp-tab-badge{
  background:var(--sp-accent);
  color:#fff;box-shadow:0 0 10px color-mix(in srgb,var(--sp-accent) 50%,transparent);
}

/* ================================================================
   PANELS
   ================================================================ */
.wpts-sp-panel{display:none;}
.wpts-sp-panel.active{display:block;}

/* ================================================================
   SIGNAL GRID
   ================================================================ */
.wpts-sp-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:24px;
  margin-bottom:20px;
}

/* ================================================================
   CARD OUTER WRAPPER
   Holds both the stamp and the card. NO overflow:hidden here so
   the stamp (position:absolute) is not clipped.
   The grayscale+blur filter goes on the inner .wpts-sp-card only,
   so the stamp — which lives as a sibling inside .wpts-card-outer —
   stays fully coloured.
   ================================================================ */
.wpts-card-outer{
  position:relative;
  border-radius:22px;
}

/* ── Closed state: grayscale + blur on the card itself, NOT the outer ── */
.wpts-card-outer.wpts-closed .wpts-sp-card{
  filter:grayscale(1) brightness(.40) blur(0.6px);
  transform:none !important;
  cursor:default;
  transition:filter .4s ease;
  /* very slight sepia tint to reinforce the "expired" feel */
  -webkit-filter:grayscale(1) brightness(.40) blur(0.6px);
}
/* disable hover lift on closed cards */
.wpts-card-outer.wpts-closed .wpts-sp-card:hover{
  transform:none !important;
  box-shadow:0 6px 30px rgba(0,0,0,.4);
  filter:grayscale(1) brightness(.40) blur(0.6px);
  -webkit-filter:grayscale(1) brightness(.40) blur(0.6px);
}
.wpts-card-outer.wpts-closed{
  pointer-events:none;
  cursor:default;
}

/* ── Stamp overlay: absolute inside outer, OUTSIDE the filtered card ── */
.wpts-closed-stamp{
  position:absolute;
  inset:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  border-radius:22px;
  /* subtle dark veil so stamp pops against the dimmed card */
  background:rgba(0,0,0,.22);
}
.wpts-closed-stamp img{
  width:55%;
  max-width:220px;
  min-width:120px;
  height:auto;
  opacity:.95;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.9));
  transform:rotate(-12deg);
  display:block;
  /* stamp itself is never greyscale — it inherits nothing from parent */
}
/* CSS text fallback when no stamp image URL is provided */
.wpts-closed-stamp-fallback{
  font-size:26px;font-weight:900;
  padding:10px 26px;
  border-radius:10px;
  border-width:4px;border-style:solid;
  letter-spacing:3px;text-transform:uppercase;
  transform:rotate(-12deg);
  opacity:.93;
  font-family:'Vazirmatn','Tahoma',sans-serif;
  /* ensure the text fallback is also never filtered */
  filter:none !important;
}
.wpts-closed-stamp-fallback.win{
  color:#00c864;border-color:#00c864;
  text-shadow:0 0 14px rgba(0,200,100,.7);
  box-shadow:0 0 20px rgba(0,200,100,.25) inset;
}
.wpts-closed-stamp-fallback.lose{
  color:#ff4444;border-color:#ff4444;
  text-shadow:0 0 14px rgba(255,68,68,.7);
  box-shadow:0 0 20px rgba(255,68,68,.25) inset;
}
.wpts-closed-stamp-fallback.cancel{
  color:#f59e0b;border-color:#f59e0b;
  text-shadow:0 0 14px rgba(245,158,11,.7);
  box-shadow:0 0 20px rgba(245,158,11,.2) inset;
}

/* ── Card ── */
.wpts-sp-card{
  position:relative;
  background:linear-gradient(145deg,rgba(13,20,40,.97),rgba(8,12,28,.99));
  border:1px solid rgba(255,255,255,.07);
  border-radius:22px;overflow:hidden;
  transition:transform .35s cubic-bezier(.22,.68,0,1.2),box-shadow .35s ease,filter .35s ease;
  box-shadow:0 6px 30px rgba(0,0,0,.4);
}
.wpts-sp-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--sp-accent,#6c63ff) 60%,transparent),transparent);
}
/* hover only on non-closed cards */
.wpts-card-outer:not(.wpts-closed) .wpts-sp-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--sp-accent,#6c63ff) 15%,transparent);
}

.wpts-sp-card-head{padding:18px 18px 12px;}
.wpts-sp-pair-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.wpts-sp-pair{font-size:18px;font-weight:800;color:#e2e8f0;letter-spacing:.3px;}
.wpts-sp-dir{
  font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px;
  display:inline-flex;align-items:center;gap:4px;
}
.wpts-sp-dir.buy{background:rgba(0,200,100,.12);color:#00c864;border:1px solid rgba(0,200,100,.25);}
.wpts-sp-dir.sell{background:rgba(255,68,68,.12);color:#ff4444;border:1px solid rgba(255,68,68,.25);}
.wpts-sp-type-badge{
  display:inline-block;font-size:10px;font-weight:700;
  background:rgba(108,99,255,.15);color:#a78bfa;
  border:1px solid rgba(108,99,255,.25);border-radius:8px;
  padding:2px 10px;margin-bottom:4px;letter-spacing:.4px;
}

/* ── Image ── */
.wpts-sp-img-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#080e1e;}
.wpts-sp-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.wpts-card-outer:not(.wpts-closed) .wpts-sp-card:hover .wpts-sp-img{transform:scale(1.03);}
.wpts-sp-img.blurred{filter:blur(8px) brightness(.7);}
.wpts-sp-img-ph{width:100%;height:100%;background:linear-gradient(135deg,#0d1428 0%,#141e38 100%);display:flex;align-items:center;justify-content:center;font-size:32px;color:rgba(255,255,255,.05);}
.wpts-sp-lock{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.45);font-size:36px;
  transition:background .3s;
}
.wpts-sp-img-wrap.locked:hover .wpts-sp-lock{background:rgba(0,0,0,.6);}

/* ── Details ── */
.wpts-sp-details{padding:14px 18px;}
.wpts-sp-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.wpts-sp-row:last-child{border:none;}
.wpts-sp-lbl{font-size:12px;color:rgba(255,255,255,.35);font-weight:500;}
.wpts-sp-val{font-size:13px;font-weight:700;color:#e2e8f0;}
.wpts-green{color:#00c864;}
.wpts-red{color:#ff4444;}
.wpts-blur{filter:blur(5px);user-select:none;color:rgba(255,255,255,.3);letter-spacing:4px;}
.wpts-sp-note{font-size:11px;color:rgba(255,255,255,.3);margin-top:8px;line-height:1.7;}
.wpts-sp-locked-details{opacity:.85;}
.wpts-sp-card-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 18px 14px;gap:8px;
  border-top:1px solid rgba(255,255,255,.04);
}
.wpts-sp-expiry,.wpts-sp-date{font-size:11px;color:rgba(255,255,255,.28);}

/* ── Points block (multi-value) ── */
.wpts-sp-points-block{padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.wpts-sp-points-block:last-child{border:none;}
.wpts-sp-lbl-block{display:block;font-size:12px;color:rgba(255,255,255,.35);font-weight:500;margin-bottom:5px;}
.wpts-sp-points-values{display:flex;flex-wrap:wrap;gap:6px;}
.wpts-sp-point-item{
  font-size:12px;font-weight:700;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;padding:2px 8px;
  color:#e2e8f0;
  display:inline-flex;align-items:center;gap:4px;
}
.wpts-sp-point-item.wpts-green{color:#00c864;background:rgba(0,200,100,.07);border-color:rgba(0,200,100,.18);}
.wpts-sp-point-item.wpts-red  {color:#ff4444;background:rgba(255,68,68,.07); border-color:rgba(255,68,68,.18);}

/* ── Point number badge (۱، ۲، ۳ ...) on card ── */
.wpts-sp-point-num{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:16px;height:16px;
  border-radius:4px;
  font-size:10px;font-weight:900;
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.55);
  padding:0 3px;
  line-height:1;
  flex-shrink:0;
}
.wpts-sp-point-item.wpts-green .wpts-sp-point-num{
  background:rgba(0,200,100,.18);
  color:rgba(0,200,100,.75);
}
.wpts-sp-point-item.wpts-red .wpts-sp-point-num{
  background:rgba(255,68,68,.18);
  color:rgba(255,68,68,.75);
}

/* ── Point number badge in results row ── */
.wpts-res-point-num{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:14px;height:14px;
  border-radius:3px;
  font-size:9px;font-weight:900;
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.45);
  padding:0 2px;
  line-height:1;
  flex-shrink:0;
  margin-left:2px;
}
.wpts-res-chip-val.g .wpts-res-point-num{
  background:rgba(0,200,100,.15);
  color:rgba(0,200,100,.7);
}
.wpts-res-chip-val.r .wpts-res-point-num{
  background:rgba(255,68,68,.15);
  color:rgba(255,68,68,.7);
}

/* ================================================================
   RESULTS  — compact single-row (NO stamp here)
   ================================================================ */
.wpts-sp-results-list{
  display:flex;flex-direction:column;gap:8px;
}
.wpts-res-row{
  display:flex;align-items:center;gap:12px;
  padding:10px 14px;
  border-radius:12px;
  border:2px solid transparent;
  background:rgba(10,16,32,.85);
  transition:transform .2s ease, box-shadow .2s ease;
  min-height:0;
}
.wpts-res-row:hover{
  transform:translateX(-3px);
  box-shadow:0 4px 20px rgba(0,0,0,.35);
}
.wpts-res-row.success{ border-color:#00c864; background:rgba(0,200,100,.04); }
.wpts-res-row.fail   { border-color:#ff4444; background:rgba(255,68,68,.04);  }
.wpts-res-row.cancelled{ border-color:#f59e0b; background:rgba(245,158,11,.04); }
.wpts-res-thumb{
  width:72px;height:46px;flex-shrink:0;
  border-radius:7px;object-fit:cover;
  border:1px solid rgba(255,255,255,.1);
}
.wpts-res-thumb-ph{
  width:72px;height:46px;flex-shrink:0;
  border-radius:7px;
  background:rgba(255,255,255,.05);
  border:1px dashed rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;color:rgba(255,255,255,.2);text-align:center;line-height:1.4;
}
.wpts-res-pair{
  font-size:14px;font-weight:800;color:#e2e8f0;
  white-space:nowrap;min-width:90px;
}
.wpts-res-badge{
  flex-shrink:0;
  font-size:10px;font-weight:800;
  padding:3px 10px;border-radius:20px;
  white-space:nowrap;
}
.wpts-res-badge.win   {background:rgba(0,200,100,.15);  color:#00c864;border:1px solid rgba(0,200,100,.35);}
.wpts-res-badge.lose  {background:rgba(255,68,68,.12);   color:#ff4444;border:1px solid rgba(255,68,68,.3);}
.wpts-res-badge.cancel{background:rgba(245,158,11,.12);  color:#f59e0b;border:1px solid rgba(245,158,11,.3);}
.wpts-res-data{
  display:flex;align-items:center;gap:16px;
  flex:1;flex-wrap:wrap;
}
.wpts-res-chip{
  display:flex;align-items:center;gap:5px;
  font-size:12px;
  white-space:nowrap;
}
.wpts-res-chip-multi{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px;
}
.wpts-res-chip-lbl{color:rgba(255,255,255,.35);font-weight:500;}
.wpts-res-chip-val{color:#e2e8f0;font-weight:700;display:inline-flex;align-items:center;gap:3px;}
.wpts-res-chip-val.g{color:#00c864;}
.wpts-res-chip-val.r{color:#ff4444;}
.wpts-res-sep{
  width:1px;height:28px;flex-shrink:0;
  background:rgba(255,255,255,.07);
}

/* ================================================================
   LOADER  (3 dots)
   ================================================================ */
.wpts-sp-loader{
  display:none;justify-content:center;gap:8px;padding:32px 0;
}
.wpts-sp-loader.active{display:flex;}
.wpts-sp-loader span{
  width:10px;height:10px;border-radius:50%;
  background:var(--sp-accent,#6c63ff);
  animation:wpts-bounce .9s ease-in-out infinite;
}
.wpts-sp-loader span:nth-child(2){animation-delay:.15s;}
.wpts-sp-loader span:nth-child(3){animation-delay:.3s;}
@keyframes wpts-bounce{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-10px);opacity:1}}

.wpts-sp-empty{text-align:center;color:rgba(255,255,255,.25);padding:60px 0;font-size:15px;}
.wpts-sp-sentinel{height:1px;}

/* ================================================================
   MODAL
   ================================================================ */
.wpts-sp-modal{
  display:none;position:fixed;inset:0;z-index:99999;
  background:rgba(0,0,0,.75);backdrop-filter:blur(6px);
  align-items:center;justify-content:center;
}
.wpts-sp-modal.open{display:flex;animation:wpts-modal-in .25s ease;}
@keyframes wpts-modal-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.wpts-sp-modal-box{
  background:linear-gradient(145deg,#0d1428,#0a0f20);
  border:1px solid rgba(108,99,255,.3);
  border-radius:24px;padding:40px 32px;
  max-width:420px;width:90%;text-align:center;
  position:relative;box-shadow:0 24px 80px rgba(0,0,0,.6);
}
.wpts-sp-modal-close{
  position:absolute;top:14px;left:16px;
  background:rgba(255,255,255,.06);border:none;
  color:rgba(255,255,255,.5);font-size:20px;
  width:32px;height:32px;border-radius:50%;
  cursor:pointer;line-height:1;transition:all .2s;
  display:flex;align-items:center;justify-content:center;
}
.wpts-sp-modal-close:hover{background:rgba(255,255,255,.12);color:#fff;}
.wpts-sp-modal-icon{font-size:52px;margin-bottom:14px;}
.wpts-sp-modal-title{font-size:18px;font-weight:800;color:#e2e8f0;margin:0 0 8px;}
.wpts-sp-modal-msg{font-size:13px;color:rgba(255,255,255,.45);margin:0 0 16px;line-height:1.7;}
.wpts-sp-modal-plan{
  background:rgba(108,99,255,.1);border:1px solid rgba(108,99,255,.25);
  color:#a78bfa;font-size:13px;font-weight:700;
  display:inline-block;padding:6px 18px;border-radius:10px;margin-bottom:20px;
}
.wpts-sp-modal-plan:empty{display:none;}
.wpts-sp-modal-actions a,.wpts-sp-modal-actions button{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 30px;border-radius:50px;
  font-weight:700;font-size:14px;font-family:'Vazirmatn','Tahoma',sans-serif;
  text-decoration:none;cursor:pointer;border:none;
  background:#6c63ff;color:#fff;
  box-shadow:0 6px 24px rgba(108,99,255,.35);
  transition:all .3s;
}
.wpts-sp-modal-actions a:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(108,99,255,.5);color:#fff;}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:640px){
  .wpts-sp-hero{padding:40px 20px 36px;}
  .wpts-sp-hero-title{font-size:28px;}
  .wpts-sp-grid{grid-template-columns:1fr;}
  .wpts-sp-tabs{gap:4px;padding:4px;}
  .wpts-sp-tab-label{font-size:12px;}
  .wpts-res-row{flex-wrap:wrap;gap:8px;}
  .wpts-res-data{gap:10px;}
  .wpts-res-sep{display:none;}
  .wpts-closed-stamp img{width:65%;}
}
