.iddd-gridEl {
	--iddd-item-align: stretch;
}

.iddd-gridEl .__item {
	align-items: var(--iddd-item-align, stretch);
}

/* کارت بدون تصویر/عنوان (دسته خالی) نباید سلول گرید بگیرد — Manhattan min-height کارت کامل است */
.iddd-gridEl .__item:not(:has(.__media-link, .__media, .__captionTitle)) {
	display: none;
}

.iddd-gridEl .__item > .rey-card {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.iddd-grid--equal-yes .iddd-gridEl .__item > .rey-card,
.iddd-grid--equal-yes .iddd-gridEl .__item > .elementor {
	height: 100%;
}

.iddd-gridEl .__media {
	aspect-ratio: var(--iddd-media-ratio, auto);
	overflow: hidden;
	max-width: 100%;
}

.iddd-gridEl .__media img,
.iddd-gridEl .__media video {
	display: block;
	max-width: 100%;
	width: 100%;
	height: var(--iddd-media-h, auto);
	object-fit: var(--iddd-media-fit, unset);
}

/* لیست عمودی: فاصله تصویر با متن منطقی باشد (نه margin-right ثابت ری) */
.iddd-gridEl.--type-vlist .rey-card.--basic .__media-link,
.iddd-gridEl.--type-md-vlist .rey-card.--basic .__media-link,
.iddd-gridEl.--type-sm-vlist .rey-card.--basic .__media-link {
	margin-right: 0;
	margin-left: 0;
	margin-inline-end: var(--gap, 40px);
}

.iddd-gridEl.--type-vlist .rey-card.--harlem .__wrapper,
.iddd-gridEl.--type-md-vlist .rey-card.--harlem .__wrapper,
.iddd-gridEl.--type-sm-vlist .rey-card.--harlem .__wrapper,
.iddd-gridEl.--type-vlist .rey-card.--soho .__wrapper,
.iddd-gridEl.--type-md-vlist .rey-card.--soho .__wrapper,
.iddd-gridEl.--type-sm-vlist .rey-card.--soho .__wrapper {
	--spacing-left: var(--gap, 40px);
	--spacing-right: 0px;
}

.iddd-gridEl[dir="rtl"].--type-vlist .rey-card.--harlem .__wrapper,
.iddd-gridEl[dir="rtl"].--type-md-vlist .rey-card.--harlem .__wrapper,
.iddd-gridEl[dir="rtl"].--type-sm-vlist .rey-card.--harlem .__wrapper,
.iddd-gridEl[dir="rtl"].--type-vlist .rey-card.--soho .__wrapper,
.iddd-gridEl[dir="rtl"].--type-md-vlist .rey-card.--soho .__wrapper,
.iddd-gridEl[dir="rtl"].--type-sm-vlist .rey-card.--soho .__wrapper {
	--spacing-left: 0px;
	--spacing-right: var(--gap, 40px);
}

.iddd-gridEl[dir="rtl"] .rey-card.--harlem .__media-wrapper,
.iddd-gridEl[dir="rtl"] .rey-card.--harlem .__wrapper {
	transform: translateX(calc(var(--media-translatex, 0px) * -1));
}

.iddd-gridEl[dir="rtl"] .rey-card.--harlem:hover .__media-wrapper,
.iddd-gridEl[dir="rtl"] .rey-card.--harlem:hover .__wrapper {
	transform: translateX(0);
}

.iddd-gridEl .__caption,
.iddd-gridEl .__captionTitle,
.iddd-gridEl .__captionSubtitle,
.iddd-gridEl .__captionBtn {
	unicode-bidi: isolate;
}

.iddd-gridEl .__captionBtn {
	display: flex;
	justify-content: var(--iddd-card-justify, flex-start);
}

.iddd-gridEl .__captionBtn a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* تراز افقی: text-align روی کارت ری برای overlay کافی نیست */
.elementor-widget-iddd-grid .iddd-gridEl .rey-card,
.elementor-widget-iddd-grid .iddd-gridEl .rey-card .__wrapper,
.elementor-widget-iddd-grid .iddd-gridEl .rey-card .__caption,
.elementor-widget-iddd-grid .iddd-gridEl .rey-card .__hover-wrapper,
.elementor-widget-iddd-grid .iddd-gridEl .rey-card .__captionTitle,
.elementor-widget-iddd-grid .iddd-gridEl .rey-card .__captionSubtitle,
.elementor-widget-iddd-grid .iddd-gridEl .rey-card .__captionBtn {
	text-align: var(--iddd-card-align);
}

.elementor-widget-iddd-grid .iddd-gridEl .rey-card .star-rtng-wrapper {
	justify-content: var(--iddd-card-justify);
}

/* Basic / Soho: تراز عمودی داخل کارت */
.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--basic,
.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--soho {
	display: flex;
	flex-direction: column;
	justify-content: var(--iddd-card-valign, flex-start);
}

/* Harlem: ستون فلکس — افقی = align-items ، عمودی = justify-content */
.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--harlem .__wrapper {
	align-items: var(--iddd-card-justify, center);
	justify-content: var(--iddd-card-valign, space-between);
}

/* Brooklyn / Manhattan: موقعیت مطلق عنوان و دکمه */
.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--brooklyn .__captionTitle,
.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--brooklyn .__captionBtn {
	left: auto;
	right: auto;
	inset-inline-start: var(--iddd-pin-start, var(--spacing-left, var(--spacing)));
	inset-inline-end: var(--iddd-pin-end, auto);
	margin-inline: var(--iddd-pin-margin, 0);
	width: var(--iddd-overlay-width, max-content);
	max-width: calc(100% - var(--spacing-left, var(--spacing)) - var(--spacing-right, var(--spacing)));
}

.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--brooklyn .__captionTitle:not(.__hover-title) {
	height: var(--iddd-title-height, 60%);
	top: var(--iddd-pin-block-start, auto);
	bottom: var(--iddd-pin-block-end, var(--spacing-bottom, var(--spacing)));
	margin-block: var(--iddd-pin-block-margin, 0);
}

.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--brooklyn .__captionBtn {
	top: var(--iddd-pin-block-start, auto);
	bottom: var(--iddd-pin-block-end, var(--spacing-bottom, var(--spacing)));
	margin-block: var(--iddd-pin-block-margin, 0);
}

.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--manhattan .__wrapper {
	left: auto;
	right: auto;
	inset-inline-start: var(--iddd-pin-start, var(--spacing-left, var(--spacing)));
	inset-inline-end: var(--iddd-pin-end, var(--spacing-right, calc(var(--spacing) / 2)));
	top: var(--iddd-pin-block-start, auto);
	bottom: var(--iddd-pin-block-end, var(--spacing-bottom, var(--spacing)));
	margin-block: var(--iddd-pin-block-margin, 0);
	width: auto;
	max-width: 100%;
}

.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--advanced {
	justify-content: var(--iddd-card-valign, flex-end);
}

.elementor-widget-iddd-grid .iddd-gridEl .rey-card.--advanced .__wrapper {
	align-items: var(--iddd-card-justify, flex-start);
}
