/* ماژول ویدیوی آپارات — مستر کیت (با CSS Variables برای تنظیمات) */

.mkit-aparat { margin: 1.5em 0; }

/* گرید چند ویدیویی: تعداد ستون و فاصله از متغیر، رسپانسیو */
.mkit-aparat-grid {
	display: grid;
	grid-template-columns: 1fr;   /* موبایل: تک ستون */
	row-gap: var(--mkit-gap-row, 32px);
	column-gap: var(--mkit-gap-col, 24px);
}
@media (min-width: 600px) {
	.mkit-aparat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
	.mkit-aparat-grid {
		grid-template-columns: repeat(var(--mkit-cols, 3), 1fr);
	}
}

/* تک ویدیو: عرض از متغیر */
.mkit-aparat-single {
	max-width: var(--mkit-single-width, 640px);
	margin-inline: auto;
}

/* کارت */
.mkit-aparat-card {
	cursor: pointer;
	display: block;
	border: 0;
	background: none;
	padding: 0;
	width: 100%;
	text-align: center;
	outline: none;
}
.mkit-aparat-card:focus-visible .mkit-aparat-thumb {
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .6);
}

/* قاب تصویر با نسبت از متغیر */
.mkit-aparat-thumb {
	position: relative;
	width: 100%;
	aspect-ratio: var(--mkit-ratio, 16 / 9);
	border-radius: var(--mkit-radius, 14px);
	overflow: hidden;
	background: #e5e7eb;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .12);
}

/* در حالت مدرن (aspect-ratio پشتیبانی می‌شود): تصویر کانتینر را پر می‌کند، بدون absolute. */
.mkit-aparat-thumb img,
.mkit-aparat-noimg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

/* fallback برای مرورگرهای قدیمی بدون aspect-ratio: کانتینر با padding، تصویر absolute. */
@supports not (aspect-ratio: 16 / 9) {
	.mkit-aparat-thumb { height: 0; padding-bottom: 56.25%; }
	.mkit-aparat-thumb img,
	.mkit-aparat-noimg {
		position: absolute;
		inset: 0;
	}
}

.mkit-aparat-noimg { background: linear-gradient(135deg, #cbd5e1, #94a3b8); }
.mkit-aparat-card:hover .mkit-aparat-thumb img { transform: scale(1.05); }

/* دکمه‌ی پلی — رنگ و سایز از متغیر */
.mkit-aparat-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: var(--mkit-play-size, 64px);
	height: var(--mkit-play-size, 64px);
	border-radius: 50%;
	background: var(--mkit-play-color, #000000);
	opacity: .82;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .3s ease, opacity .3s ease;
	backdrop-filter: blur(2px);
}
.mkit-aparat-card:hover .mkit-aparat-play {
	transform: translate(-50%, -50%) scale(1.1);
	opacity: 1;
}
.mkit-aparat-play svg {
	width: 46%;
	height: 46%;
	color: #fff;
	margin-inline-start: 4%;
}

/* مدت‌زمان */
.mkit-aparat-time {
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgba(0, 0, 0, .65);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 6px;
	direction: ltr;
}

/* عنوان — سایز و رنگ از متغیر. انتخابگر قوی + important تا روی استایل قالب غلبه کند. */
.mkit-aparat .mkit-aparat-title {
	display: block;
	margin: .75rem 0 0 !important;
	padding: 0;
	font-size: var(--mkit-title-size, 17px) !important;
	font-weight: 700;
	line-height: 1.5 !important;
	color: var(--mkit-title-color, #1f2937) !important;
}

/* پاپ‌آپ */
.mkit-aparat-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
}
.mkit-aparat-modal.is-open { display: flex; }

.mkit-aparat-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .9);
	opacity: 0;
	transition: opacity .3s ease;
	cursor: pointer;
}
.mkit-aparat-modal.is-open .mkit-aparat-modal-overlay { opacity: 1; }

.mkit-aparat-modal-box {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin: 0 16px;
	background: #000;
	border-radius: 12px;
	overflow: hidden;
	z-index: 1;
	transform: scale(.95);
	opacity: 0;
	transition: transform .3s ease, opacity .3s ease;
}
.mkit-aparat-modal.is-open .mkit-aparat-modal-box { transform: scale(1); opacity: 1; }

.mkit-aparat-modal-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #111;
	border-radius: 12px;
	overflow: hidden;
}
@supports not (aspect-ratio: 16 / 9) {
	.mkit-aparat-modal-frame { height: 0; padding-bottom: 56.25%; }
}
.mkit-aparat-iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 12px;
}

/* دکمه‌ی بستن — رنگ و سایز از متغیر */
.mkit-aparat-close {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	width: var(--mkit-close-size, 40px);
	height: var(--mkit-close-size, 40px);
	border: 0;
	border-radius: 50%;
	background: var(--mkit-close-bg, #282828);
	color: var(--mkit-close-icon, #ffffff);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: filter .2s ease;
}
.mkit-aparat-close:hover { filter: brightness(1.3); }
.mkit-aparat-close svg { width: 55%; height: 55%; }

/* در موبایل، دکمه‌ها کمی کوچک‌تر تا با کارت کوچک تناسب داشته باشند */
@media (max-width: 600px) {
	.mkit-aparat-play { width: calc(var(--mkit-play-size, 64px) * 0.78); height: calc(var(--mkit-play-size, 64px) * 0.78); }
	.mkit-aparat-close { width: calc(var(--mkit-close-size, 40px) * 0.85); height: calc(var(--mkit-close-size, 40px) * 0.85); }
}

@media (prefers-reduced-motion: reduce) {
	.mkit-aparat-thumb img,
	.mkit-aparat-play,
	.mkit-aparat-modal-overlay,
	.mkit-aparat-modal-box { transition: none; }
}
