/* ================================================= */
/* ELEMENTOR UTILITIES CORE */
/* Version: 1.2.0 */
/* Author: Wordpress Team */
/* Last Update: 2026-01-27 */
/*
v1.0.0
- Initial utilities setup

v1.1.0
- Code re-organization into modules
- Bug fix: inset-inline-start 50%
- Added cursor-pointer utility

v1.2.0
- Added RTL support fixes for Unlimited Elements widgets
- Forced correct direction and alignment in Arabic layouts
- Improved icon and arrow behavior in RTL context

*/
/* ================================================= */


/* ========================== */
/* START GLOBAL STYLE */
/* ========================== */

html,
body {
	overflow-x: hidden;
}

[data-elementor-type="jet-engine-component"] {
	height: 100%;
	min-height: 100%;
}

/* ========================== */
/* FOOTER */
/* ========================== */

footer.elementor-location-footer * a {
	width: fit-content;
}

/* ========================== */
/* MAIN BUTTON */
/* ========================== */

.main-btn.elementor-element {
	width: fit-content;
	min-width: 128px;
}

.main-btn.elementor-element a {
	width: 100%;
}

.main-btn.elementor-element svg,
.main-btn.elementor-element svg path {
	transition: all 0.3s ease;
	fill: currentColor;
}

.main-btn.elementor-element:has(svg) a .elementor-button-content-wrapper {
	align-items: center;
}

.main-btn.elementor-element.end:has(svg) a .elementor-button-content-wrapper {
	flex-direction: row-reverse !important;
}

.main-btn.elementor-element.start:has(svg) a .elementor-button-content-wrapper {
	flex-direction: row !important;
}

/* ========================== */
/* SIZE UTILITIES */
/* ========================== */

/* WIDTH FIT CONTENT */
.w-fit.elementor-element {
	width: fit-content !important;
}

/* FULL HEIGHT */
.h-full.elementor-element {
	height: 100%;
	min-height: 100%;
}

/* ========================== */
/* CURSOR */
/* ========================== */

.cursor-pointer.elementor-element {
	cursor: pointer;
}

/* ========================== */
/* TEXT */
/* ========================== */

/* TEXT ALIGN START */
.text-start.elementor-element:not(.swiper-pagination),
.text-start.elementor-element *:not(.swiper-pagination) {
	text-align: start !important;
	justify-content: start !important;
}

/* TEXT LIMIT */
.text-limit-1.elementor-element,
.text-limit-1.elementor-element *,
.text-limit-2.elementor-element,
.text-limit-2.elementor-element *,
.text-limit-3.elementor-element,
.text-limit-3.elementor-element * {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.text-limit-1.elementor-element,
.text-limit-1.elementor-element * {
	-webkit-line-clamp: 1 !important;
}

.text-limit-2.elementor-element,
.text-limit-2.elementor-element * {
	-webkit-line-clamp: 2 !important;
}

.text-limit-3.elementor-element,
.text-limit-3.elementor-element * {
	-webkit-line-clamp: 3 !important;
}

/* ========================== */
/* ICONS */
/* ========================== */

/* ICON BOX INLINE */
.icon-box-inline.elementor-element .elementor-icon-box-wrapper {
	flex-direction: row !important;
	text-align: start !important;
}

.icon-box-inline.elementor-element .elementor-icon-box-wrapper * {
	text-align: start !important;
}

/* FLIP ICON */
:dir(ltr) .flip-icon.elementor-element * img,
:dir(ltr) .flip-icon.elementor-element * svg {
	transform: scaleX(-1);
}

/* ========================== */
/* POSITION */
/* ========================== */

/* POSITION TYPES */
.p-absolute.elementor-element {
	position: absolute;
	inset: unset;
}

.p-fixed.elementor-element {
	position: fixed;
	inset: unset;
}

/* POSITION HELPERS */
.p-start-start.elementor-element {
	inset-block-start: 0;
	inset-inline-start: 0;
}

.p-start-end.elementor-element {
	inset-block-start: 0;
	inset-inline-end: 0;
}

.p-end-start.elementor-element {
	inset-block-end: 0;
	inset-inline-start: 0;
}

.p-end-end.elementor-element {
	inset-block-end: 0;
	inset-inline-end: 0;
}

.p-center-start.elementor-element {
	inset-block-start: 50%;
	inset-inline-start: 0;
	transform: translateY(-50%);
}

.p-center-end.elementor-element {
	inset-block-start: 50%;
	inset-inline-end: 0;
	transform: translateY(-50%);
}

.p-start-center.elementor-element {
	inset-block-start: 0;
	inset-inline-start: 50%;
	transform: translateX(-50%);
}

.p-end-center.elementor-element {
	inset-block-end: 0;
	inset-inline-start: 50%;
	transform: translateX(-50%);
}

.p-center-center.elementor-element {
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, -50%);
}

/* ========================== */
/* BLUR EFFECTS */
/* ========================== */

.blur-2.elementor-element {
	backdrop-filter: blur(2px);
}

.blur-8.elementor-element {
	backdrop-filter: blur(8px);
}

.blur-10.elementor-element {
	backdrop-filter: blur(10px);
}

.blur-12.elementor-element {
	backdrop-filter: blur(12px);
}

.filter-blur-32.elementor-element {
	filter: blur(32px);
}

/* ================================================= */
/* UNLIMITED ELEMENTS RTL FIX */
/* ================================================= */

body[dir="rtl"] [class*="elementor-widget-ucaddon_unlimited_"] {
	direction: rtl;
	text-align: start;
}

body[dir="ltr"] [class*="elementor-widget-ucaddon_unlimited_"] {
	direction: ltr;
	text-align: start;
}

/* ========================== */
/* END GLOBAL STYLE */
/* ========================== */