/* hidden همیشه بر هر display کلاسی مقدم است */
[hidden]{display:none !important}

/* elements.css — فقط چیزهایی که styles.css ندارد.
   .block .block__title .block__text .block__video .block__image
   .downloads-list .blocks-wrap  →  همه در styles.css تعریف شده‌اند
   و اینجا عمداً دست نخورده‌اند تا بازنویسی نشوند. */

/* ---- embed: iframe داخل همان قاب block__video ---- */
.block__video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000;
}

/* ---- divider ---- */
.block__divider {
  border: 0;
  height: 1px;
  width: 100%;
  align-self: stretch;
  margin: 0;
  background: linear-gradient(90deg, var(--glass-brd), transparent);
}

@media (prefers-reduced-motion: reduce) {
  .stat { transition: none; }
}

/* ══════════════ شبکه‌ی کارتی مشترک: آمار و فهرست ══════════════
   موبایل ۲ ستون → دسکتاپ ۵ ستون، پله‌پله. هر تعداد آیتم را می‌گیرد. */
.block__grid{
  display:grid;
  width:100%;
  align-self:stretch;
  gap:12px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:520px){ .block__grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:760px){ .block__grid{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (min-width:1000px){ .block__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px} }

.gcard{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  padding:20px 12px;
  border-radius:var(--radius-sm,14px);
  background:var(--glass,rgba(255,255,255,.04));
  border:1px solid var(--glass-brd,rgba(255,255,255,.10));
  text-align:center;
  transition:transform .3s var(--ease),border-color .3s var(--ease);
}
.gcard:hover{transform:translateY(-3px);border-color:rgba(221,42,123,.45)}
.gcard__value{
  font-size:clamp(1.15rem,2.4vw,1.65rem);
  font-weight:800;
  line-height:1.25;
  overflow-wrap:anywhere;
  background:var(--grad);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-variant-numeric:tabular-nums;
}
.gcard__label{
  font-size:clamp(.78rem,1.4vw,.88rem);
  color:var(--muted);
  line-height:1.6;
  overflow-wrap:anywhere;
}
/* فهرست کارتی: تیتر کوتاه‌تر از عدد آمار است، کمی متعادلش می‌کنیم */
.block__list .gcard__value{font-size:clamp(.95rem,1.8vw,1.15rem)}

/* ══════════════ وضعیت لود تصاویر ══════════════ */
.img{opacity:0;transition:opacity .45s var(--ease)}
.img.is-loaded{opacity:1}
.img.is-loading{opacity:0}

.is-skeleton{position:relative;overflow:hidden;background:rgba(255,255,255,.05)}
.is-skeleton::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.09) 45%,
    rgba(255,255,255,.14) 50%,
    rgba(255,255,255,.09) 55%,
    transparent 100%);
  transform:translateX(-100%);
  animation:vv-shimmer 1.25s infinite;
}
[dir="rtl"] .is-skeleton::after{animation-name:vv-shimmer-rtl}
@keyframes vv-shimmer{to{transform:translateX(100%)}}
@keyframes vv-shimmer-rtl{to{transform:translateX(-200%)}}
.tile.is-skeleton{min-height:120px}

/* قاب ویدئوی عمودی نباید تمام عرض را بگیرد */
.block__video--tall{max-width:min(420px,100%);margin-inline:auto}

@media (prefers-reduced-motion: reduce){
  .gcard{transition:none}
  .img{transition:none;opacity:1}
  .is-skeleton::after{animation:none}
}
