/* Arabic Font Override - using inheritance, not * selector */
html[lang="ar"] {
    --bs-body-font-family: 'Tajawal', sans-serif;
    --bs-font-sans-serif: 'Tajawal', sans-serif;
}

html[lang="ar"] body {
    font-family: 'Tajawal', sans-serif;
}



.was-validated .form-control:invalid,
.form-control.is-invalid,
.was-validated .form-select:invalid,
.form-select.is-invalid {
    border-color:var(--bs-form-invalid-border-color, #f1416c);
}


/* RTL Support for Form Controls */
[dir="rtl"] .form-control,
html[dir="rtl"] .form-control {
    text-align: right;
}

[dir="rtl"] .form-control::placeholder {
    text-align: right;
}

[dir="rtl"] .input-group {
    flex-direction: row-reverse;
}

[dir="rtl"] .input-group>.form-control {
    text-align: right;
}

/* RTL flip for directional icons (arrows, chevrons, etc.) */
[dir="rtl"] .icon-rtl-flip,
htmlhtml[dir="rtl"] .ki-rtl-flip {
    transform: rotate(180deg);
}

/* Fix invalid state for solid input groups */
.input-group.input-group-solid:has(.form-control.is-invalid) {
    border-color: var(--bs-danger);
}


.tagify {
    --tag-pad: 0em 0.5em;
    /* Fix overflow - wrap tags to new lines */
    flex-wrap: wrap !important;
    height: auto !important;
    min-height: calc(1.5em + 1rem + 2px);
    overflow: visible !important;

}

.tagify__input {
    min-height: 1lh;
}

[data-bs-theme=light] .tagify__tag>div {
    padding: 0.3em !important;
}

[data-bs-theme=dark] .tagify__tag>div {
    padding: 0.3em !important;
}

.select2-container .select2-selection--single {
    height: inherit !important;
}


/* BlockUI Dots Loader */
.blockui-dots {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.blockui-dots span {
    width: 12px;
    height: 12px;
    background-color: var(--bs-primary, #3699FF);
    border-radius: 50%;
    animation: blockui-dots-bounce 1.4s infinite ease-in-out both;
}

.blockui-dots span:nth-child(1) {
    animation-delay: -0.32s;
}

.blockui-dots span:nth-child(2) {
    animation-delay: -0.16s;
}

.blockui-dots span:nth-child(3) {
    animation-delay: 0s;
}

@keyframes blockui-dots-bounce {

    0%,
    80%,
    100% {
        transform: scale(0.6);
        opacity: 0.5;
    }

    40% {
        transform: scale(1);
        opacity: 1;
    }
}

/* ===== Card Hoverable Styles ===== */
.card.card-hoverable {
    transition: all 0.2s ease;
}

.card.card-hoverable.card-hover-primary:hover {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 4px 12px rgba(var(--bs-primary-rgb), 0.08);
}

.card.card-hoverable.card-hover-secondary:hover {
    border-color: var(--bs-secondary) !important;
    box-shadow: 0 4px 12px rgba(var(--bs-secondary-rgb), 0.08);
}

.card.card-hoverable.card-hover-success:hover {
    border-color: var(--bs-success) !important;
    box-shadow: 0 4px 12px rgba(var(--bs-success-rgb), 0.08);
}

.card.card-hoverable.card-hover-danger:hover {
    border-color: var(--bs-danger) !important;
    box-shadow: 0 4px 12px rgba(var(--bs-danger-rgb), 0.08);
}

.card.card-hoverable.card-hover-warning:hover {
    border-color: var(--bs-warning) !important;
    box-shadow: 0 4px 12px rgba(var(--bs-warning-rgb), 0.08);
}

.card.card-hoverable.card-hover-info:hover {
    border-color: var(--bs-info) !important;
    box-shadow: 0 4px 12px rgba(var(--bs-info-rgb), 0.08);
}

.card.card-hoverable.card-hover-dark:hover {
    border-color: var(--bs-dark) !important;
    box-shadow: 0 4px 12px rgba(var(--bs-dark-rgb), 0.08);
}

.card.card-hoverable.card-hover-light:hover {
    border-color: var(--bs-gray-400) !important;
    box-shadow: 0 4px 12px rgba(var(--bs-gray-600-rgb), 0.08);
}
.btn > i
{
    padding-right: 0 !important;
}

select.is-invalid + .select2-container .select2-selection {
    border-color: var(--bs-form-invalid-border-color, #f1416c) !important;
}
