/* =========================================================================
   ab-formats — «فرمت‌های برگزاری کلاس» · بلوک ۶
   کارت‌های شماره‌دار؛ یکی از آن‌ها می‌تواند «برجسته» (گرادیانتی) باشد.
   وابسته به: zn-base.css ، ab-base.css
   ========================================================================= */

.zn-scope .abfm-grid {
  display: grid;
  grid-template-columns: repeat(var(--abfm-cols, 4), minmax(0, 1fr));
  gap: var(--abfm-gap, 16px);
}

.zn-scope .abfm-card {
  position: relative;
  overflow: hidden;
  padding: var(--abfm-p, 26px 22px);
  border-radius: var(--abfm-r, 20px);
  background: var(--ab-card-bg, var(--zn-card));
  border: 1px solid var(--ab-card-bd, rgba(var(--zn-line), .14));
  box-shadow: var(--ab-card-sh, var(--zn-cardsh));
  transition: transform .2s ease, box-shadow .2s ease;
}
.zn-scope .abfm-card:hover { transform: translateY(var(--abfm-lift, -4px)); }

/* کارت برجسته — پس‌زمینهٔ گرادیانتی و متن سفید. */
.zn-scope .abfm-card.is-hot {
  background: var(--abfm-hot-bg, linear-gradient(135deg, var(--zn-crim), var(--zn-rose)));
  border-color: transparent;
  box-shadow: var(--abfm-hot-sh, 0 24px 52px rgba(225, 29, 72, .32));
}

.zn-scope .abfm-no {
  direction: ltr;
  font-size: var(--abfm-no-fs, 30px);
  font-weight: 900;
  line-height: 1;
  color: var(--abfm-no-c, rgba(var(--zn-line), .4));
}
.zn-scope .abfm-card.is-hot .abfm-no { color: var(--abfm-hot-no-c, rgba(255, 255, 255, .55)); }

.zn-scope .abfm-name {
  margin: 16px 0 8px;
  font-size: var(--abfm-name-fs, 17px);
  font-weight: 900;
  line-height: 1.6;
  color: var(--abfm-name-c, var(--zn-t1));
}
.zn-scope .abfm-card.is-hot .abfm-name { color: var(--abfm-hot-c, #FFF); }

.zn-scope .abfm-desc {
  margin: 0;
  font-size: var(--abfm-desc-fs, 13px);
  line-height: var(--abfm-desc-lh, 2);
  color: var(--abfm-desc-c, var(--zn-t4));
}
.zn-scope .abfm-card.is-hot .abfm-desc { color: var(--abfm-hot-desc-c, rgba(255, 255, 255, .9)); }

@media (max-width: 980px) {
  .zn-scope .abfm-grid { grid-template-columns: repeat(var(--abfm-cols-t, 2), minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .zn-scope .abfm-grid { grid-template-columns: repeat(var(--abfm-cols-m, 1), minmax(0, 1fr)); }
}
