/* ================================================= */
/* 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 */
/* ========================== */

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

body .main-btn.full-width.elementor-element {
  width: 100%;
  min-width: 0;
}

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

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

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

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

body
  .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-h-full.elementor-element {
  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-center.elementor-element:not(
    .swiper-pagination,
    .elementor-counter .elementor-counter-number-prefix,
    .elementor-counter .elementor-counter-number-suffix
  ),
.text-center.elementor-element
  *:not(
    .swiper-pagination,
    .elementor-counter .elementor-counter-number-prefix,
    .elementor-counter .elementor-counter-number-suffix
  ) {
  text-align: center !important;
  justify-content: center !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.align-center.elementor-element .elementor-icon-box-wrapper {
  align-items: center !important;
}

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

/* FLIP ICON */
:dir(rtl) .flip-icon.elementor-element * img,
:dir(rtl) .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="rtl"] [class*="elementor-widget-ucaddon_unlimited_"] {
  direction: rtl;
  text-align: start;
}

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