/* Cat Posts Shortcode v2.0 */
:root {
  --cp: #1d6eed; --cp-h: #1558cc;
  --ct: #1a1f36; --cm: #6b7280;
  --cb: #e5e9f2; --cbg: #f8faff;
  --cw: #fff;    --cr: 14px;
  --cs: 0 2px 18px rgba(29,110,237,.08);
  --csh: 0 10px 38px rgba(29,110,237,.17);
  --tr: .26s cubic-bezier(.4,0,.2,1);
}
.cpsc-wrap,
.cpsc-wrap * { box-sizing: border-box; }
.cpsc-wrap   { font-family: inherit; direction: rtl; text-align: right; }

/* ── عنوان بخش ── */
.cpsc-head { display:flex; align-items:center; gap:14px; margin-bottom:26px; }
.cpsc-head-title { font-size:22px; font-weight:800; color:var(--ct); margin:0; white-space:nowrap; }
.cpsc-head-line  { flex:1; height:2px; background:linear-gradient(to left,transparent,var(--cb)); }

/* ── فیلتر ── */
.cpsc-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.cpsc-fb {
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 18px; border-radius:40px; border:2px solid var(--cb);
  background:var(--cbg); color:var(--cm); font-size:14px; font-weight:600;
  cursor:pointer; font-family:inherit; transition:all var(--tr);
}
.cpsc-fb:hover { border-color:var(--cp); color:var(--cp); }
.cpsc-fb.active { background:var(--cp); color:#fff; border-color:var(--cp); }
.cpsc-dot { width:7px; height:7px; border-radius:50%; background:var(--cb); flex-shrink:0; transition:background var(--tr); }
.cpsc-fb.active .cpsc-dot { background:rgba(255,255,255,.4); }

/* ── نوار پیشرفت کاروسل ── */
.cpsc-scroll-bar  { display:none; height:3px; background:var(--cb); border-radius:10px; margin-bottom:14px; overflow:hidden; }
.cpsc-scroll-fill { height:100%; width:0; background:linear-gradient(to left,var(--cp),#5b8ef4); border-radius:10px; transition:width .18s; }

/* ══════════════════════════
   GRID
══════════════════════════ */
.cpsc-grid { display:grid; gap:22px; }
.cpsc-cols-1 { grid-template-columns:1fr; }
.cpsc-cols-2 { grid-template-columns:repeat(2,1fr); }
.cpsc-cols-3 { grid-template-columns:repeat(3,1fr); }
.cpsc-cols-4 { grid-template-columns:repeat(4,1fr); }

/* ── کارت ── */
.cpsc-card {
  background:var(--cw); border-radius:var(--cr);
  border:1px solid var(--cb); box-shadow:var(--cs);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform var(--tr), box-shadow var(--tr);
  animation:cpUp .42s both;
}
.cpsc-card:hover { transform:translateY(-5px); box-shadow:var(--csh); }
.cpsc-card.cpsc-hidden { display:none !important; }

@keyframes cpUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }

/* ── تصویر ── */
.cpsc-img-wrap { display:block; position:relative; overflow:hidden; aspect-ratio:16/9; background:var(--cbg); }
.cpsc-img      { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.cpsc-card:hover .cpsc-img { transform:scale(1.05); }
.cpsc-img-ov   { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.14),transparent 50%); opacity:0; transition:opacity var(--tr); }
.cpsc-card:hover .cpsc-img-ov { opacity:1; }
.cpsc-img-ph   { width:100%; height:100%; min-height:150px; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:900; color:#fff; background:linear-gradient(135deg,var(--cp),#5b8ef4); }

/* ── محتوا ── */
.cpsc-body    { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.cpsc-badges  { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:9px; }
.cpsc-badge   { font-size:11px; font-weight:700; background:rgba(29,110,237,.08); color:var(--cp); border-radius:5px; padding:2px 9px; text-decoration:none; transition:background var(--tr); }
.cpsc-badge:hover { background:rgba(29,110,237,.16); }
.cpsc-title   { font-size:16px; font-weight:800; line-height:1.55; color:var(--ct); margin:0 0 8px; }
.cpsc-title a { color:inherit; text-decoration:none; transition:color var(--tr); }
.cpsc-title a:hover { color:var(--cp); }
.cpsc-excerpt { font-size:13.5px; color:var(--cm); line-height:1.75; margin:0 0 12px; }
.cpsc-foot    { margin-top:auto; padding-top:12px; border-top:1px solid var(--cb); display:flex; align-items:center; justify-content:space-between; gap:8px; }
.cpsc-meta    { display:flex; flex-wrap:wrap; gap:8px; }
.cpsc-date,
.cpsc-author  { display:inline-flex; align-items:center; gap:4px; font-size:12px; color:var(--cm); }
.cpsc-btn     { display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:700; color:var(--cp); text-decoration:none; white-space:nowrap; transition:gap var(--tr); }
.cpsc-btn:hover { gap:8px; }

/* ══════════════════════════
   استایل MINIMAL
══════════════════════════ */
.cpsc-style-minimal .cpsc-card { border:none; border-radius:0; border-bottom:1px solid var(--cb); box-shadow:none; background:transparent; flex-direction:row; }
.cpsc-style-minimal .cpsc-card:hover { transform:none; }
.cpsc-style-minimal .cpsc-img-wrap { width:110px; min-width:110px; aspect-ratio:1; border-radius:10px; margin:14px 0 14px 14px; flex-shrink:0; }
.cpsc-style-minimal .cpsc-body { padding:14px 0; }

/* ══════════════════════════
   استایل OVERLAY
══════════════════════════ */
.cpsc-style-overlay .cpsc-card { position:relative; border:none; }
.cpsc-style-overlay .cpsc-img-wrap { aspect-ratio:3/4; }
.cpsc-style-overlay .cpsc-img-ov { opacity:1; background:linear-gradient(to top,rgba(8,12,35,.88) 40%,rgba(8,12,35,.08)); }
.cpsc-style-overlay .cpsc-body { position:absolute; bottom:0; left:0; right:0; padding:18px; color:#fff; }
.cpsc-style-overlay .cpsc-badge { background:rgba(255,255,255,.15); color:#fff; }
.cpsc-style-overlay .cpsc-title a { color:#fff; }
.cpsc-style-overlay .cpsc-excerpt { color:rgba(255,255,255,.72); }
.cpsc-style-overlay .cpsc-foot { border-color:rgba(255,255,255,.18); }
.cpsc-style-overlay .cpsc-date,
.cpsc-style-overlay .cpsc-author { color:rgba(255,255,255,.6); }
.cpsc-style-overlay .cpsc-btn { color:#fff; }

/* ══════════════════════════
   LOAD MORE
══════════════════════════ */
.cpsc-lm-wrap { margin-top:34px; display:flex; flex-direction:column; align-items:center; gap:16px; }

.cpsc-lm-prog { width:100%; max-width:400px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.cpsc-lm-track { width:100%; height:6px; background:var(--cb); border-radius:10px; overflow:hidden; }
.cpsc-lm-fill  { height:100%; border-radius:10px; background:linear-gradient(to left,var(--cp),#5b8ef4); transition:width .5s ease; }
.cpsc-lm-num   { font-size:13px; color:var(--cm); font-weight:600; }

.cpsc-lm-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-width:180px; padding:13px 36px; border-radius:50px; border:none;
  background:linear-gradient(135deg,var(--cp),#5b8ef4);
  color:#fff; font-size:15px; font-weight:700; font-family:inherit;
  cursor:pointer; box-shadow:0 5px 22px rgba(29,110,237,.32);
  transition:transform var(--tr), box-shadow var(--tr);
  position:relative; overflow:hidden;
}
.cpsc-lm-btn::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,#5b8ef4,var(--cp)); opacity:0; transition:opacity var(--tr); }
.cpsc-lm-btn:hover::before { opacity:1; }
.cpsc-lm-btn:hover { transform:translateY(-3px); box-shadow:0 10px 32px rgba(29,110,237,.42); }
.cpsc-lm-btn:active { transform:translateY(-1px); }
.cpsc-lm-txt { position:relative; z-index:1; }

.cpsc-lm-btn.done {
  background:none; background-color:#f0fdf4;
  color:#15803d; border:2px solid #bbf7d0;
  box-shadow:none; pointer-events:none; cursor:default;
}
.cpsc-lm-btn.done::before { display:none; }

/* ── هشدار ── */
.cpsc-alert { padding:14px 18px; border-radius:10px; font-size:14px; background:#fff3cd; border-right:4px solid #f59e0b; color:#92400e; }
.cpsc-alert.cpsc-empty { background:#f0f9ff; border-color:var(--cp); color:#0c4a6e; }

/* ══════════════════════════
   RESPONSIVE – تبلت
══════════════════════════ */
@media (max-width:1024px) { .cpsc-cols-4 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px)  { .cpsc-cols-3, .cpsc-cols-4 { grid-template-columns:repeat(2,1fr); } }

/* ══════════════════════════
   MOBILE – کاروسل
══════════════════════════ */
@media (max-width:600px) {
  /* نوار پیشرفت کاروسل فعال */
  .cpsc-carousel .cpsc-scroll-bar { display:block; }

  /* گرید → کاروسل افقی */
  .cpsc-carousel .cpsc-grid {
    display:flex !important;
    overflow-x:scroll;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:14px;
    padding-bottom:8px;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .cpsc-carousel .cpsc-grid::-webkit-scrollbar { display:none; }

  /* هر کارت */
  .cpsc-carousel .cpsc-grid .cpsc-card {
    flex:0 0 82%;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    animation:none !important;
  }

  /* minimal روی موبایل */
  .cpsc-carousel.cpsc-style-minimal .cpsc-card { flex-direction:column; border-radius:var(--cr); border:1px solid var(--cb); box-shadow:var(--cs); background:var(--cw); }
  .cpsc-carousel.cpsc-style-minimal .cpsc-img-wrap { width:100%; min-width:unset; margin:0; border-radius:var(--cr) var(--cr) 0 0; aspect-ratio:16/9; }
  .cpsc-carousel.cpsc-style-minimal .cpsc-body { padding:14px; }

  /* غیر کاروسل: تک ستون */
  .cpsc-cols-2, .cpsc-cols-3, .cpsc-cols-4 { grid-template-columns:1fr; }

  .cpsc-lm-btn { min-width:160px; padding:11px 28px; font-size:14px; }
  .cpsc-lm-prog { max-width:100%; }
}
