/* سکان‌بازار — Loop Item cards (Phase 5, v1.0.1)
   Root container of each Loop Item: "ie sb-card sb-card--{hero|large|medium|grid|opinion|list}".
   Source: Home + Single Article design artifacts (ie-card--*). Elementor "Optimized markup" is on,
   so widgets have no .elementor-widget-container wrapper. */

.sb-card { min-width: 0; }
.sb-card .elementor-widget { margin: 0; min-width: 0; }
.sb-card .elementor-widget:empty,
.sb-card .elementor-widget-shortcode:has(> .elementor-shortcode:empty),
.sb-card .elementor-widget-heading:has(> .elementor-heading-title:empty) { display: none; }

/* Media */
.sb-card__media { overflow: hidden; }
.sb-card__media a { display: block; }
.sb-card__media img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0; background: var(--border); }
.sb-card--hero .sb-card__media img { aspect-ratio: 16 / 9; border-radius: var(--radius-md); }
.sb-card--large .sb-card__media img { border-radius: var(--radius-md); }

/* Titles: links inherit the heading colour, accent on hover */
.sb-card__title .elementor-heading-title { margin: 0; text-wrap: balance; }
.sb-card__title .elementor-heading-title a { color: inherit; text-decoration: none; }
.sb-card__title .elementor-heading-title a:hover,
.sb-card__title .elementor-heading-title a:focus-visible { color: var(--accent); }

/* Line clamps (design: clamp only, no fixed heights in Loop Items) */
.sb-clamp .elementor-heading-title { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: var(--sb-clamp, 2); line-clamp: var(--sb-clamp, 2); }
.sb-l2 { --sb-clamp: 2; }
.sb-l3 { --sb-clamp: 3; }
@media (max-width: 767px) {
	.sb-l3-m { --sb-clamp: 3; }
	.sb-l4-m { --sb-clamp: 4; }
}

/* Rutitr + lead */
.sb-card__rutitr .elementor-heading-title { margin: 0; font-size: 14px; line-height: 22px; font-weight: 500; color: var(--muted); }
.sb-card__lead .elementor-heading-title { margin: 0; }

/* Kicker (chip + article_type badge from [sb_kicker]) */
.sb-card .ie-card__kicker { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.sb-show-m { display: none !important; }
@media (max-width: 767px) {
	.sb-hide-m { display: none !important; }
	.sb-show-m { display: inline-flex !important; }
}
.ie .ie-chip.sb-chip-static:hover { background: var(--surface); border-color: var(--border); color: var(--accent); }

/* Meta row: date · reading time (container has class "ie-meta") */
.sb-card .ie-meta > .elementor-widget { display: inline-flex; align-items: center; }
.sb-card .ie-meta .elementor-heading-title,
.sb-card .ie-meta .elementor-shortcode { font: inherit; color: inherit; margin: 0; }
.sb-card .ie-meta { font-variant-numeric: tabular-nums; }

/* Byline (hero, opinion) */
.sb-card__byline { align-items: center; }
.sb-card .sb-card__avatar { flex: 0 0 auto; }
.sb-card__bytext, .sb-card__who { flex: 1 1 0; min-width: 0; }
.sb-card__avatar img { inline-size: var(--size-avatar); block-size: var(--size-avatar); border-radius: var(--radius-full); object-fit: cover; display: block; }
.sb-card__author .elementor-heading-title { margin: 0; font-size: 14px; line-height: 22px; font-weight: 700; }
.sb-card__author .elementor-heading-title a { color: var(--primary); text-decoration: none; }
.sb-card__author .elementor-heading-title a:hover { color: var(--accent); text-decoration: underline; }

/* Horizontal cards: image on the right (first child in RTL), fixed width */
.sb-card--medium .sb-card__media { flex: 0 0 176px; inline-size: 176px; }
.sb-card--medium .sb-card__body { flex: 1 1 0; min-width: 0; }
@media (max-width: 767px) {
	.sb-card--medium .sb-card__media { flex-basis: 120px; inline-size: 120px; }
	/* grid card turns horizontal on phones (design: «مطالب مرتبط» mobile) */
	.sb-card--grid .sb-card__media { flex: 0 0 120px; inline-size: 120px; }
	.sb-card--grid .sb-card__body { flex: 1 1 0; min-width: 0; }
	.sb-card--grid .sb-card__title .elementor-heading-title { font-size: 16px; line-height: 28px; }
}

/* Opinion card */
.sb-card--opinion { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-md); }
.sb-card--opinion .sb-card__avatar img { inline-size: 64px; block-size: 64px; }
.sb-card--opinion .sb-card__author .elementor-heading-title { font-size: 16px; line-height: 24px; }
.sb-card--opinion .sb-card__role .elementor-heading-title { margin: 0; font-size: 14px; line-height: 22px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 767px) {
	.sb-card--opinion .sb-card__avatar img { inline-size: 56px; block-size: 56px; }
}

/* List card (sidebar «آخرین اخبار» / «پربازدیدترین») */
.sb-card--list { border-bottom: 1px solid var(--border); }
.e-loop-item:last-child > .sb-card--list { border-bottom: 0; }
.sb-card__time { flex: 0 0 40px; inline-size: 40px; }
.sb-card__time .elementor-heading-title { margin: 0; font-size: 12px; line-height: 28px; font-weight: 500; color: var(--muted); font-variant-numeric: tabular-nums; }
.sb-card--list .sb-card__title { flex: 1 1 0; }
.sb-card--list .sb-card__title .elementor-heading-title { font-size: 16px; line-height: 28px; font-weight: 700; color: var(--primary); }

/* Ranked list: Loop Grid with class "sb-rank" swaps the time for ۱…۵ */
.sb-rank .elementor-loop-container { counter-reset: sbrank; }
.sb-rank .sb-card--list { counter-increment: sbrank; }
/* (the container's own ::before is Elementor's background overlay, so the number lives on the time widget) */
.sb-rank .sb-card__time { flex: 0 0 28px; inline-size: 28px; }
.sb-rank .sb-card__time .elementor-heading-title { display: none; }
.sb-rank .sb-card__time::before { content: counter(sbrank, persian); display: block; font-size: 32px; line-height: 32px; font-weight: 800; color: var(--accent); text-align: center; }

/* Loop Grid: no stray gaps (Astra gives .post items margin-bottom: 24px) */
.sb-loop .elementor-loop-container { margin: 0; }
.elementor-loop-container > .e-loop-item { margin: 0; }
.ie img.ie-avatar { border-radius: var(--radius-full) !important; }
