/* =========================================================
   RESET
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

body {
	min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

a {
	color: inherit;
	text-decoration: none;
}

img,
picture,
svg,
video,
canvas {
	display: block;
	max-width: 100%;
}

button,
input,
textarea,
select {
	font: inherit;
}

button,
input,
textarea,
select {
	margin: 0;
}

button {
	border: 0;
	padding: 0;
	background: none;
	cursor: pointer;
}

textarea {
	resize: vertical;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

button,
input,
textarea,
select {
	appearance: none;
}

:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* =========================================================
   Site-Wide Elementor Custom Radio Buttons (35px, RTL & LTR)
   ========================================================= */

/* 1. Base Radio Input Styling (35px x 35px) */
.elementor-field-type-radio input[type="radio"],
.elementor-field-subgroup input[type="radio"],
.elementor-field-option input[type="radio"],
.elementor-form input[type="radio"],
input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 35px !important;
    height: 35px !important;
    min-width: 35px !important;
    min-height: 35px !important;
    max-width: 35px !important;
    max-height: 35px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    background-color: transparent !important;
    /* Unchecked SVG (35x35) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewBox='0 0 35 35' fill='none'%3E%3Ccircle cx='17.5' cy='17.5' r='16' stroke='%23B0B0B0' stroke-width='2'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    display: inline-block !important;
    vertical-align: middle !important;
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    /* 12px spacing using CSS logical properties (RTL & LTR) */
    margin-inline-end: 12px !important;
    margin-inline-start: 0 !important;
    flex-shrink: 0 !important;
    transition: background-image 0.15s ease-in-out !important;
}

/* 2. Checked State SVG (Blue outer ring & solid dot) */
.elementor-field-type-radio input[type="radio"]:checked,
.elementor-field-subgroup input[type="radio"]:checked,
.elementor-field-option input[type="radio"]:checked,
.elementor-form input[type="radio"]:checked,
input[type="radio"]:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewBox='0 0 35 35' fill='none'%3E%3Ccircle cx='17.5' cy='17.5' r='15.5' stroke='%230099DD' stroke-width='2.5' fill='none'/%3E%3Ccircle cx='17.5' cy='17.5' r='9' fill='%230099DD'/%3E%3C/svg%3E") !important;
}

/* 3. Explicit Spacing Fallbacks for RTL and LTR Layouts */
html[dir="rtl"] .elementor-field-type-radio input[type="radio"],
html[dir="rtl"] .elementor-field-subgroup input[type="radio"],
html[dir="rtl"] .elementor-field-option input[type="radio"],
html[dir="rtl"] input[type="radio"] {
    margin-right: 0 !important;
    margin-left: 12px !important;
}

html[dir="ltr"] .elementor-field-type-radio input[type="radio"],
html[dir="ltr"] .elementor-field-subgroup input[type="radio"],
html[dir="ltr"] .elementor-field-option input[type="radio"],
html[dir="ltr"] input[type="radio"] {
    margin-left: 0 !important;
    margin-right: 12px !important;
}

/* 4. Perfect Vertical Alignment with Text Labels */
.elementor-field-type-radio .elementor-field-option,
.elementor-field-subgroup .elementor-field-option,
.elementor-field-option label,
.elementor-field-subgroup label {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

/* =========================================================
   Elementor Multi-Step Form Indicators (36px, RTL & LTR)
   ========================================================= */

.e-form__indicators__indicator {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}

.e-form__indicators__indicator__icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    flex-shrink: 0 !important;
    margin-inline-end: 12px !important;
    margin-inline-start: 0 !important;
}

.e-form__indicators__indicator__icon svg {
    display: none !important;
}

/* Inactive State (36px Grey Circle) */
.e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'%3E%3Ccircle cx='18' cy='18' r='16.5' fill='%239DA7BD'/%3E%3C/svg%3E") !important;
}

/* Active State (36px Blue Outer Ring & Inner Dot) */
.e-form__indicators__indicator--state-active .e-form__indicators__indicator__icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'%3E%3Ccircle cx='18' cy='18' r='16' stroke='%230099DD' stroke-width='2.5' fill='none'/%3E%3Ccircle cx='18' cy='18' r='9.5' fill='%230099DD'/%3E%3C/svg%3E") !important;
}

/* Completed State (36px Blue Circle & White Checkmark) */
.e-form__indicators__indicator--state-completed .e-form__indicators__indicator__icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'%3E%3Ccircle cx='18' cy='18' r='16' stroke='%230099DD' stroke-width='2.5' fill='none'/%3E%3Ccircle cx='18' cy='18' r='10' fill='%230099DD'/%3E%3Cpath d='M13 18L16.5 21.5L23 15' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* RTL & LTR Spacing Fallbacks */
html[dir="rtl"] .e-form__indicators__indicator__icon {
    margin-right: 0 !important;
    margin-left: 12px !important;
}

html[dir="ltr"] .e-form__indicators__indicator__icon {
    margin-left: 0 !important;
    margin-right: 12px !important;
}

.e-form__indicators__indicator__label {
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* Prevent indicator & label text wrapping on desktop/tablet (all screens except mobile) */
@media (min-width: 768px) {
    body .elementor-form .e-form__indicators__indicator,
    body .elementor-form .e-form__indicators__indicator__label,
    .elementor-form .e-form__indicators .e-form__indicators__indicator,
    .elementor-form .e-form__indicators .e-form__indicators__indicator__label {
        white-space: nowrap !important;
    }
}


/* =========================================================
   Clean Single Dropdown Caret Icon (Fixes Duplicate Arrows)
   ========================================================= */

/* 1. Remove duplicate carets on pseudo-elements & select inputs */
.elementor-select-wrapper::after,
.elementor-select-wrapper::before {
    display: none !important;
    content: none !important;
}

.elementor-select-wrapper select,
select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important; /* Prevents 2nd arrow inside select */
}

/* 2. Target ONLY the actual caret wrapper in Elementor */
.elementor-select-wrapper .select-caret-down-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.3537 1.35403L6.35372 6.35403C6.30729 6.40052 6.25214 6.4374 6.19144 6.46256C6.13074 6.48772 6.06568 6.50067 5.99997 6.50067C5.93427 6.50067 5.8692 6.48772 5.8085 6.46256C5.7478 6.4374 5.69266 6.40052 5.64622 6.35403L0.646223 1.35403C0.552402 1.26021 0.499695 1.13296 0.499695 1.00028C0.499695 0.867596 0.552402 0.740348 0.646223 0.646528C0.740043 0.552707 0.867291 0.5 0.999973 0.5C1.13265 0.5 1.2599 0.552707 1.35372 0.646528L5.99997 5.2934L10.6462 0.646528C10.6927 0.600073 10.7478 0.563222 10.8085 0.538081C10.8692 0.51294 10.9343 0.5 11 0.5C11.0657 0.5 11.1307 0.51294 11.1914 0.538081C11.2521 0.563222 11.3073 0.600073 11.3537 0.646528C11.4002 0.692983 11.437 0.748133 11.4622 0.80883C11.4873 0.869526 11.5003 0.934581 11.5003 1.00028C11.5003 1.06598 11.4873 1.13103 11.4622 1.19173C11.437 1.25242 11.4002 1.30757 11.3537 1.35403Z' fill='%23292929'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* Hide original default inline SVG */
.elementor-select-wrapper .select-caret-down-wrapper svg,
.elementor-select-wrapper .e-eicon-caret-down {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* 3. Precise Positioning for RTL and LTR */
[dir="rtl"] .elementor-select-wrapper .select-caret-down-wrapper,
html[dir="rtl"] .elementor-select-wrapper .select-caret-down-wrapper {
    left: 16px !important;
    right: auto !important;
}

[dir="ltr"] .elementor-select-wrapper .select-caret-down-wrapper,
html[dir="ltr"] .elementor-select-wrapper .select-caret-down-wrapper {
    right: 16px !important;
    left: auto !important;
}

/* 4. Support Non-Elementor Standalone Dropdowns */
select:not(.elementor-select-wrapper select) {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.3537 1.35403L6.35372 6.35403C6.30729 6.40052 6.25214 6.4374 6.19144 6.46256C6.13074 6.48772 6.06568 6.50067 5.99997 6.50067C5.93427 6.50067 5.8692 6.48772 5.8085 6.46256C5.7478 6.4374 5.69266 6.40052 5.64622 6.35403L0.646223 1.35403C0.552402 1.26021 0.499695 1.13296 0.499695 1.00028C0.499695 0.867596 0.552402 0.740348 0.646223 0.646528C0.740043 0.552707 0.867291 0.5 0.999973 0.5C1.13265 0.5 1.2599 0.552707 1.35372 0.646528L5.99997 5.2934L10.6462 0.646528C10.6927 0.600073 10.7478 0.563222 10.8085 0.538081C10.8692 0.51294 10.9343 0.5 11 0.5C11.0657 0.5 11.1307 0.51294 11.1914 0.538081C11.2521 0.563222 11.3073 0.600073 11.3537 0.646528C11.4002 0.692983 11.437 0.748133 11.4622 0.80883C11.4873 0.869526 11.5003 0.934581 11.5003 1.00028C11.5003 1.06598 11.4873 1.13103 11.4622 1.19173C11.437 1.25242 11.4002 1.30757 11.3537 1.35403Z' fill='%23292929'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 12px 7px !important;
}

[dir="rtl"] select:not(.elementor-select-wrapper select),
html[dir="rtl"] select:not(.elementor-select-wrapper select) {
    background-position: left 16px center !important;
}

[dir="ltr"] select:not(.elementor-select-wrapper select),
html[dir="ltr"] select:not(.elementor-select-wrapper select) {
    background-position: right 16px center !important;
}

/* =========================================================
   International Telephone Input (iti) Custom Styling
   ========================================================= */

[dir=rtl] .iti__selected-country-primary .iti__arrow,
.iti__selected-country-primary .iti__arrow {
    border: none;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.3537 1.35403L6.35372 6.35403C6.30729 6.40052 6.25214 6.4374 6.19144 6.46256C6.13074 6.48772 6.06568 6.50067 5.99997 6.50067C5.93427 6.50067 5.8692 6.48772 5.8085 6.46256C5.7478 6.4374 5.69266 6.40052 5.64622 6.35403L0.646223 1.35403C0.552402 1.26021 0.499695 1.13296 0.499695 1.00028C0.499695 0.867596 0.552402 0.740348 0.646223 0.646528C0.740043 0.552707 0.867291 0.5 0.999973 0.5C1.13265 0.5 1.2599 0.552707 1.35372 0.646528L5.99997 5.2934L10.6462 0.646528C10.6927 0.600073 10.7478 0.563222 10.8085 0.538081C10.8692 0.51294 10.9343 0.5 11 0.5C11.0657 0.5 11.1307 0.51294 11.1914 0.538081C11.2521 0.563222 11.3073 0.600073 11.3537 0.646528C11.4002 0.692983 11.437 0.748133 11.4622 0.80883C11.4873 0.869526 11.5003 0.934581 11.5003 1.00028C11.5003 1.06598 11.4873 1.13103 11.4622 1.19173C11.437 1.25242 11.4002 1.30757 11.3537 1.35403Z' fill='%23292929'/%3E%3C/svg%3E");
    transition: 0.4s rotate;
    color: transparent;
    width: 16px;
    height: 16px;
    margin-left: 4px;
    margin-right: 0;
}

body .iti .iti__selected-dial-code {
    margin: 0;
    font-family: "Zain" !important;
}

.iti.iti--allow-dropdown.iti--show-flags.iti--inline-dropdown .iti__country-container {
    left: 0;
    right: auto;
}

[dir="rtl"] .elementor-field-group .iti {
    direction: ltr;
}

[dir="rtl"] .iti--allow-dropdown input.iti__tel-input,
[dir="rtl"] .iti--allow-dropdown input.iti__tel-input[type="tel"],
[dir="rtl"] .iti--allow-dropdown input.iti__tel-input[type="text"] {
    padding-left: 81px !important;
    padding-right: 6px !important;
}

body .elementor-field-group .iti .iti__country-container .iti__flag:not(.iti__globe),
body .iti .iti__country-container .iti__flag:not(.iti__globe),
.elementor-field-type-tel .iti__country-container .iti__flag:not(.iti__globe),
.iti__country-container .iti__flag:not(.iti__globe) {
    height: 24px !important;
    border-radius: 50% !important;
    width: 24px !important;
}

/* =========================================================
   Vertical Carousel Dynamic Slide Height
   ========================================================= */
.vertical-carousel .swiper-slide {
    height: auto !important;
}