/* Compatibility utilities that are intentionally kept outside theme.css. */

.notyf__toast {
    min-width: 18.75rem;
    max-width: 25rem;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid rgba(var(--color-black-rgb), 0.08);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(10px);
    color: var(--color-text) !important;
}

.notyf__icon {
    width: 1.25rem;
    height: 1.25rem;
    margin-inline: var(--space-xs) var(--space-md);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: var(--font-weight-bold);
}

.notyf__icon--success {
    background: var(--color-success);
    color: var(--color-white);
}

.notyf__icon--error {
    background: var(--color-danger);
    color: var(--color-white);
}

.notyf__icon--info {
    background: var(--color-info);
    color: var(--color-white);
}

.notyf__content {
    color: inherit !important;
    font-weight: var(--font-weight-medium);
}

.notyf__ripple {
    display: none;
}

.submit-spinner {
    display: inline-block;
    width: 0.75rem;
    height: 0.75rem;
    margin-inline-start: var(--space-sm);
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.icon-btn {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: var(--space-xs);
}

.btn-loading {
    position: relative;
    padding-inline-start: 2.2rem !important;
}

.btn-loading::before {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0.75rem;
    width: 1rem;
    height: 1rem;
    margin-top: -0.5rem;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.btn-loading-icon-only {
    position: relative;
    overflow: hidden;
}

.btn-loading-icon-only > i {
    opacity: 0 !important;
    visibility: hidden !important;
}

.btn-loading-icon-only .submit-spinner {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 1rem;
    height: 1rem;
}

.btn-sm.btn-loading-icon-only .submit-spinner {
    width: 0.875rem;
    height: 0.875rem;
    border-width: 1.5px;
}

.btn-lg.btn-loading-icon-only .submit-spinner {
    width: 1.125rem;
    height: 1.125rem;
}

.modern-image-uploader .input-group {
    border: 1px solid var(--input-border);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.modern-image-uploader .input-group:focus-within {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--color-primary-rgb), 0.18);
}

.modern-image-uploader .modern-file-btn {
    padding: var(--space-xs) var(--space-sm);
    font-weight: var(--font-weight-medium);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.modern-image-uploader .modern-file-btn:hover {
    background: var(--brand-primary);
    color: var(--color-white);
}

.modern-image-uploader .form-control[readonly] {
    background: var(--input-bg) !important;
    cursor: default;
}

.modern-image-uploader .input-group-text img {
    box-shadow: 0 1px 3px rgba(var(--color-black-rgb), 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.modern-image-uploader .input-group-text img:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 6px rgba(var(--color-black-rgb), 0.15);
}

.modern-image-uploader .input-group.is-invalid {
    border-color: var(--color-danger);
}

.modern-image-uploader .input-group.is-invalid:focus-within {
    border-color: var(--color-danger);
    box-shadow: 0 0 0 0.2rem rgba(var(--color-danger-rgb), 0.18);
}

.fslightbox-thumb {
    max-width: 100%;
    object-fit: cover;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}

.fslightbox-thumb:hover {
    transform: scale(1.03);
}

.fslightbox-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-background-alt);
    border: 1px dashed var(--color-border-strong);
    border-radius: var(--radius-sm);
    color: var(--color-text-muted);
    font-size: 0.75rem;
}

.nav-tabs .nav-link {
    margin-inline-start: 1.7rem !important;
    margin-inline-end: 0 !important;
}

html[dir="rtl"] .nav-tabs .nav-link {
    margin-inline-start: 0 !important;
    margin-inline-end: 1.7rem !important;
}
