/* ===== کارت‌های ویژگی و افتخارات ===== */
.fcs, .fcs *, .fcs *::before, .fcs *::after { box-sizing: border-box; }

.fcs {
	--fcs-primary: #3b82f6; --fcs-section: transparent; --fcs-card: #f8f9fb; --fcs-border: #d9dce1;
	--fcs-title: #111; --fcs-text: #444; --fcs-imgbg: transparent;
	--fcs-heyebrow: var(--fcs-primary); --fcs-htitle: #111; --fcs-hsub: #444; --fcs-hline: var(--fcs-primary);
	--fcs-line: var(--fcs-primary); --fcs-btn: #111; --fcs-btn-text: #fff; --fcs-btn-hover: #333; --fcs-link: var(--fcs-primary);
	--fcs-badge-bg: #111; --fcs-badge-tx: #fff; --fcs-hover: var(--fcs-primary); --fcs-hover-glow: #bfdbfe;
	--fcs-dir: rtl; --fcs-maxw: 1200px; --fcs-pady: 48px; --fcs-padx: 16px;
	--fcs-cols: 3; --fcs-gap: 24px; --fcs-radius: 12px; --fcs-shadow: none;
	--fcs-cpad: 28px; --fcs-cpad-m: 20px; --fcs-imgh: 150px; --fcs-imgh-m: 130px; --fcs-imggap: 24px; --fcs-imgr: 0px;
	--fcs-talign: justify;
	--fcs-heb-s: 13px; --fcs-heb-w: 600; --fcs-ht-s: 28px; --fcs-ht-s-m: 22px; --fcs-ht-w: 800; --fcs-hs-s: 15px; --fcs-hs-w: 400;
	--fcs-t-s: 20px; --fcs-t-s-m: 18px; --fcs-t-w: 500; --fcs-t-lh: 1.5;
	--fcs-x-s: 14px; --fcs-x-s-m: 14px; --fcs-x-w: 400; --fcs-x-lh: 2;
	--fcs-b-s: 13px; --fcs-b-w: 600; --fcs-bd-s: 12px; --fcs-bd-w: 600;
	--fcs-rvd: 600ms; --fcs-stagger: 90ms;

	display: block;
	width: 100%;
	background: var(--fcs-section);
	padding: var(--fcs-pady) var(--fcs-padx);
	direction: var(--fcs-dir);
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}
.fcs.fcs-ff, .fcs.fcs-ff *:not(svg):not(path) { font-family: var(--fcs-font) !important; }
.fcs .fcs-inner { max-width: var(--fcs-maxw); margin-inline: auto; width: 100%; }

/* ---------- عنوان بالای بخش ---------- */
.fcs .fcs-header { display: flex; flex-direction: column; gap: 10px; margin: 0 0 36px; }
.fcs .fcs-header.fcs-ha-center { align-items: center; text-align: center; }
.fcs .fcs-header.fcs-ha-start { align-items: flex-start; text-align: start; }
.fcs .fcs-h-eyebrow {
	color: var(--fcs-heyebrow) !important; font-size: var(--fcs-heb-s) !important; font-weight: var(--fcs-heb-w) !important;
	letter-spacing: .02em; line-height: 1.6 !important;
}
.fcs .fcs-h-title {
	margin: 0 !important; padding: 0 !important; color: var(--fcs-htitle) !important;
	font-size: var(--fcs-ht-s) !important; font-weight: var(--fcs-ht-w) !important; line-height: 1.5 !important;
	text-transform: none !important; letter-spacing: 0 !important;
}
.fcs .fcs-h-line { display: block; width: 56px; height: 3px; border-radius: 3px; background: var(--fcs-hline); margin-top: 2px; }
.fcs .fcs-h-sub {
	margin: 0 !important; max-width: 720px; color: var(--fcs-hsub) !important;
	font-size: var(--fcs-hs-s) !important; font-weight: var(--fcs-hs-w) !important; line-height: 1.9 !important;
}

/* ---------- شبکه ---------- */
.fcs .fcs-grid {
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: var(--fcs-gap);
	align-items: flex-start;
}
.fcs.fcs-equal .fcs-grid { align-items: stretch; }
.fcs.fcs-va-center .fcs-grid { align-items: center; }

.fcs .fcs-card {
	position: relative;
	flex: 0 0 auto;
	width: calc((100% - (var(--fcs-cols) - 1) * var(--fcs-gap)) / var(--fcs-cols));
	min-width: 0;
	display: flex; flex-direction: column;
	background: var(--fcs-card);
	border: 1px solid var(--fcs-border);
	border-radius: var(--fcs-radius);
	box-shadow: var(--fcs-shadow);
	padding: var(--fcs-cpad);
	min-height: var(--fcs-minh, 0);
	overflow: hidden;
	transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease;
}

/* ---------- تصویر ---------- */
.fcs .fcs-media {
	display: flex; align-items: center; justify-content: center;
	height: var(--fcs-imgh);
	margin: 0 0 var(--fcs-imggap);
	background: var(--fcs-imgbg);
	border-radius: var(--fcs-imgr);
	overflow: hidden;
}
.fcs .fcs-media img {
	display: block; width: 100% !important; height: 100% !important; max-width: 100% !important;
	object-fit: contain; object-position: center; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.fcs.fcs-fit-cover .fcs-media img { object-fit: cover; }
.fcs.fcs-zoom .fcs-card:hover .fcs-media img { transform: scale(1.06); }

/* تصویر چسبیده به لبه‌های کارت */
.fcs.fcs-imgfull .fcs-card { padding: 0; }
.fcs.fcs-imgfull .fcs-media { border-radius: 0; margin-bottom: 0; }
.fcs.fcs-imgfull .fcs-body { padding: var(--fcs-cpad); }
.fcs.fcs-imgfull .fcs-media + .fcs-body { padding-top: calc(var(--fcs-imggap) + 4px); }

.fcs .fcs-ph {
	width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
	color: var(--fcs-primary);
	background: linear-gradient(135deg, color-mix(in srgb, var(--fcs-primary) 10%, transparent), color-mix(in srgb, var(--fcs-primary) 2%, transparent));
	border-radius: calc(var(--fcs-radius) * .6);
	border: 1px dashed color-mix(in srgb, var(--fcs-primary) 35%, transparent);
}
.fcs .fcs-ph svg { width: 56px; height: 56px; opacity: .85; }
.fcs .fcs-ph-note { font-size: 11px !important; opacity: .75; }

/* ---------- نشان ---------- */
.fcs .fcs-badge {
	position: absolute; top: 14px; z-index: 2;
	background: var(--fcs-badge-bg); color: var(--fcs-badge-tx) !important;
	font-size: var(--fcs-bd-s) !important; font-weight: var(--fcs-bd-w) !important; line-height: 1 !important;
	padding: 6px 12px; border-radius: 999px;
}
.fcs.fcs-bdg-start .fcs-badge { inset-inline-start: 14px; }
.fcs.fcs-bdg-end .fcs-badge { inset-inline-end: 14px; }

/* ---------- متن ---------- */
.fcs .fcs-body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.fcs.fcs-ca-center .fcs-body { align-items: center; text-align: center; }
.fcs .fcs-title {
	margin: 0 0 12px !important; padding: 0 !important; color: var(--fcs-title) !important;
	font-size: var(--fcs-t-s) !important; font-weight: var(--fcs-t-w) !important; line-height: var(--fcs-t-lh) !important;
	text-transform: none !important; letter-spacing: 0 !important; text-align: start;
}
.fcs.fcs-ca-center .fcs-title { text-align: center; }
.fcs.fcs-tline .fcs-title::after {
	content: ""; display: block; width: 40px; height: 3px; border-radius: 3px; margin-top: 10px; background: var(--fcs-line);
}
.fcs.fcs-ca-center.fcs-tline .fcs-title::after { margin-inline: auto; }
.fcs .fcs-text {
	color: var(--fcs-text) !important; font-size: var(--fcs-x-s) !important; font-weight: var(--fcs-x-w) !important;
	line-height: var(--fcs-x-lh) !important; text-align: var(--fcs-talign) !important; width: 100%;
}
.fcs .fcs-text p { margin: 0 0 .8em !important; color: inherit !important; font: inherit !important; line-height: inherit !important; text-align: inherit !important; }
.fcs .fcs-text p:last-child { margin-bottom: 0 !important; }
.fcs .fcs-text a { color: var(--fcs-link) !important; text-decoration: underline; }
.fcs .fcs-text strong, .fcs .fcs-text b { font-weight: 700 !important; }

/* ---------- دکمه ---------- */
.fcs .fcs-actions { margin-top: 18px; display: flex; width: 100%; }
.fcs .fcs-actions { justify-content: flex-start; }
.fcs.fcs-ca-center .fcs-actions { justify-content: center; }
.fcs .fcs-actions.fcs-ba-start { justify-content: flex-start; }
.fcs .fcs-actions.fcs-ba-center { justify-content: center; }
.fcs .fcs-actions.fcs-ba-end { justify-content: flex-end; }
.fcs .fcs-card .fcs-body > .fcs-actions { margin-top: auto; padding-top: 18px; }

.fcs .fcs-btn {
	display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
	font-size: var(--fcs-b-s) !important; font-weight: var(--fcs-b-w) !important; line-height: 1.4 !important;
	text-decoration: none !important; box-shadow: none !important;
	transition: background-color .25s ease, color .25s ease, gap .25s ease, border-color .25s ease;
}
.fcs .fcs-btn .fcs-ico { width: 1.15em; height: 1.15em; flex: none; transition: transform .25s ease; }
.fcs.fcs-ltr .fcs-btn .fcs-ico { transform: scaleX(-1); }
.fcs.fcs-rtl .fcs-btn:hover .fcs-ico { transform: translateX(-4px); }
.fcs.fcs-ltr .fcs-btn:hover .fcs-ico { transform: scaleX(-1) translateX(-4px); }

.fcs.fcs-btn-link .fcs-btn { color: var(--fcs-link) !important; padding: 2px 0; background: none; }
.fcs.fcs-btn-link .fcs-btn:hover { color: var(--fcs-btn-hover) !important; }
.fcs.fcs-btn-pill .fcs-btn, .fcs.fcs-btn-outline .fcs-btn { padding: 10px 22px; border-radius: 999px; }
.fcs.fcs-btn-pill .fcs-btn { background: var(--fcs-btn); color: var(--fcs-btn-text) !important; border: 1px solid var(--fcs-btn); }
.fcs.fcs-btn-pill .fcs-btn:hover { background: var(--fcs-btn-hover); border-color: var(--fcs-btn-hover); }
.fcs.fcs-btn-outline .fcs-btn { background: transparent; color: var(--fcs-btn) !important; border: 1.5px solid var(--fcs-btn); }
.fcs.fcs-btn-outline .fcs-btn:hover { background: var(--fcs-btn); color: var(--fcs-btn-text) !important; }
.fcs .fcs-btn:focus-visible, .fcs .fcs-stretch:focus-visible { outline: 2px solid var(--fcs-primary); outline-offset: 3px; border-radius: 6px; }

/* کل کارت قابل کلیک */
.fcs .fcs-stretch { color: inherit !important; text-decoration: none !important; }
.fcs .fcs-btn.fcs-stretch { color: var(--fcs-link) !important; }
.fcs.fcs-btn-pill .fcs-btn.fcs-stretch { color: var(--fcs-btn-text) !important; }
.fcs.fcs-btn-outline .fcs-btn.fcs-stretch { color: var(--fcs-btn) !important; }
.fcs.fcs-btn-outline .fcs-btn.fcs-stretch:hover { color: var(--fcs-btn-text) !important; }
.fcs .fcs-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.fcs .fcs-clickable { cursor: pointer; }

/* ---------- هم‌ترازی در حالت ارتفاع برابر ---------- */
.fcs.fcs-equal .fcs-title { min-height: calc(var(--fcs-tl, 1) * 1em * var(--fcs-t-lh)); }
.fcs.fcs-clamp .fcs-text {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--fcs-clamp); line-clamp: var(--fcs-clamp); overflow: hidden;
}
.fcs.fcs-clamp .fcs-text p { display: inline; }

/* ---------- نوار رنگی لبه‌ی کارت ---------- */
.fcs.fcs-ac-top .fcs-card::before, .fcs.fcs-ac-bottom .fcs-card::before, .fcs.fcs-ac-start .fcs-card::before {
	content: ""; position: absolute; background: var(--fcs-accent); z-index: 3; pointer-events: none;
}
.fcs.fcs-ac-top .fcs-card::before { inset: 0 0 auto 0; height: var(--fcs-accent-w); }
.fcs.fcs-ac-bottom .fcs-card::before { inset: auto 0 0 0; height: var(--fcs-accent-w); }
.fcs.fcs-ac-start .fcs-card::before { inset-block: 0; inset-inline-start: 0; width: var(--fcs-accent-w); }

/* ---------- قاب تصویر ---------- */
.fcs.fcs-ms-soft .fcs-media { background: var(--fcs-media-bg); border-radius: max(var(--fcs-imgr), 14px); padding: 12px; }
.fcs.fcs-ms-circle .fcs-media, .fcs.fcs-ms-ring .fcs-media {
	align-self: center; width: auto; aspect-ratio: 1 / 1; max-width: 100%; border-radius: 50%; padding: 16px; background: var(--fcs-media-bg);
}
.fcs.fcs-ms-ring .fcs-media { background: transparent; box-shadow: 0 0 0 3px var(--fcs-accent), 0 0 0 9px color-mix(in srgb, var(--fcs-accent) 16%, transparent); }
.fcs.fcs-ms-circle.fcs-fit-cover .fcs-media, .fcs.fcs-ms-ring.fcs-fit-cover .fcs-media { padding: 0; }
.fcs.fcs-ms-circle .fcs-ph, .fcs.fcs-ms-ring .fcs-ph { border-radius: 50%; }
.fcs.fcs-ms-circle .fcs-ph-note, .fcs.fcs-ms-ring .fcs-ph-note { display: none; }
.fcs.fcs-ms-ring .fcs-media { margin-top: 6px; }

/* ---------- جداکننده، گرادیان، شماره ---------- */
.fcs.fcs-divider .fcs-body { border-top: 1px solid var(--fcs-divider); padding-top: var(--fcs-imggap); }
.fcs.fcs-grad .fcs-card { background: linear-gradient(145deg, var(--fcs-card) 0%, var(--fcs-card2) 100%); }
.fcs .fcs-media, .fcs .fcs-body { position: relative; z-index: 1; }
.fcs .fcs-num {
	position: absolute; top: 20px; z-index: 0; pointer-events: none; user-select: none;
	color: var(--fcs-num) !important; opacity: .13; line-height: 1 !important;
	font-size: var(--fcs-num-s) !important; font-weight: var(--fcs-num-w) !important;
}
.fcs.fcs-bdg-start .fcs-num { inset-inline-end: 18px; }
.fcs.fcs-bdg-end .fcs-num { inset-inline-start: 18px; }
.fcs.fcs-imgfull .fcs-num { z-index: 2; color: #fff !important; opacity: .85; text-shadow: 0 2px 10px rgba(0,0,0,.35); }

/* ---------- افکت هاور ---------- */
@media (hover: hover) {
	.fcs.fcs-hov-lift .fcs-card:hover { transform: translateY(-6px); box-shadow: 0 18px 44px rgba(16,24,40,.14); }
	.fcs.fcs-hov-glow .fcs-card:hover { border-color: var(--fcs-hover); box-shadow: 0 0 0 4px var(--fcs-hover-glow), 0 14px 36px rgba(16,24,40,.10); }
	.fcs.fcs-hov-border .fcs-card:hover { border-color: var(--fcs-hover); }
}

/* ---------- انیمیشن ورود (فقط وقتی JS فعال باشد) ---------- */
.fcs.fcs-js.fcs-reveal .fcs-rv {
	opacity: 0;
	transition: opacity var(--fcs-rvd) ease, transform var(--fcs-rvd) cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease;
	transition-delay: calc(var(--fcs-i, 0) * var(--fcs-stagger)), calc(var(--fcs-i, 0) * var(--fcs-stagger)), 0s, 0s;
	will-change: opacity, transform;
}
.fcs.fcs-js.fcs-rvs-fade-up .fcs-rv { transform: translateY(28px); }
.fcs.fcs-js.fcs-rvs-zoom .fcs-rv { transform: scale(.92); }
.fcs.fcs-js.fcs-rvs-slide .fcs-rv { transform: translateX(40px); }
.fcs.fcs-js.fcs-rvs-slide.fcs-ltr .fcs-rv { transform: translateX(-40px); }
.fcs.fcs-js.fcs-reveal .fcs-rv.is-in { opacity: 1; transform: none; }
.fcs.fcs-js.fcs-reveal.fcs-hov-lift .fcs-card.is-in:hover { transform: translateY(-6px); transition-delay: 0s; }

@media (prefers-reduced-motion: reduce) {
	.fcs .fcs-card, .fcs .fcs-media img, .fcs .fcs-btn, .fcs .fcs-btn .fcs-ico { transition: none !important; }
	.fcs.fcs-js.fcs-reveal .fcs-rv { opacity: 1 !important; transform: none !important; }
}
