.rtl {
    direction: rtl;
}

.ltr {
    direction: ltr;
}

.text-start {
    text-align: start !important;
}

.show-password-btn {
    position: unset;
    top: unset;
    transform: unset;
    left: unset;
    transition: unset;
}

.show {
    visibility: visible;
}

.swal2-html-container {
    font-family: tajawal;
    font-weight: 500;
}

.sidebar-pages .pg-item:not(:last-child) {
    border-bottom: 1px solid #eaeaea;
    width: 100%;
}

.status.text-primary::before {
    background: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.status.text-warning::before {
    background: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.status.text-success::before {
    background: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.status.text-danger::before {
    background: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.status.text-dark::before {
    background: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.vue-treeselect__control {
    display: block;
    border-radius: 5px !important;
    padding: 0px 10px !important;
    border: 1px solid #afbac7 !important;
    background: #fbfbfb !important;
    color: #000000 !important;
    font-size: 14px !important;
    min-height: 48px !important;
    font-weight: 500 !important;
}

.vue-treeselect__control .vue-treeselect__single-value {
    line-height: 45px !important;
}

.vue-treeselect__control:focus {
    color: #212529 !important;
    background-color: #fff !important;
    border-color: #48068957 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.25rem rgb(110 51 169 / 0%) !important;
}

.vue-treeselect__portal-target {
    z-index: 99999 !important;
}

.mx-datepicker .mx-input {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fbfbfb;
    background-clip: padding-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    padding-right: 34px;
    border: 1px solid #afbac7;
    border-radius: 5px;
    min-height: 40px;
    height: 48px;
}

/* input[type="file"]::file-selector-button {
    min-height: 48px;
}

input[type="file"] {
    padding: 5px 10px !important;
} */

.login-logo {
    max-width: 250px;
    max-height: 90px;
}
.reply-msg-content {
    white-space: break-spaces;
    text-align: right;
}
img.uploaded-image {
    width: unset;
}
.page-link {
    color: var(--main-background);
}
.page-item.active .page-link {
    background-color: var(--main-background);
    border-color: var(--main-background);
}
.page-link:hover {
    z-index: 2;
    color: var(--main-background);
}
.btn-secondary {
    background-color: var(--main-color);
    border-color: var(--main-color);
    color: var(--font-light-color);
}
.btn-secondary:hover {
    background-color: var(--main-background);
    border-color: var(--main-background);
    color: var(--font-light-color);
}
/* .h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--font-light-color);
} */
.login-page-area {
    padding-top: 0px;
}
/* New Switch Toggle */
.form-check.form-switch .mini-switch {
    height: 15px !important;
    width: 25px !important;
}

.form-check.form-switch .form-check-input {
    height: 25px;
    width: 40px;
    margin-left: 10px;
}
.form-check.form-switch {
    padding-right: 0;
    padding-left: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}
.form-check.form-switch .form-check-input {
    float: none;
    margin: 0;
    cursor: pointer;
}
.switch-container {
    padding: 0px;
}
.switch-box {
    padding: 12px 0;
}
.switch-box:last-child {
    padding-bottom: 5px;
}
.switch-container .switch-box:not(:last-child) {
    border-bottom: 1px solid #e4eaef;
}
.switch-container .switch-box:last-child {
    padding-bottom: 5px;
}
.switch-box.switch-box-style-2 {
    padding: 15px 16px;
    border-radius: 12px;
    border: 1px solid rgba(191, 200, 210, 0.62);
    background: #f1f5f9;
}
.switch-box.switch-box-style-2:last-child {
    padding: 15px 16px;
}
.switch-box.switch-box-style-2:not(:last-child) {
    margin-bottom: 10px;
    border: 1px solid rgba(191, 200, 210, 0.62);
}
/* End New Switch Toggle */

.clear-input input {
    --bs-bg-opacity: 1;
    background-color: transparent !important;
    padding: unset !important;
    margin: unset !important;
    border: unset !important;
    border-radius: unset !important;
    line-height: normal !important;
    direction: rtl !important;
    font-size: unset !important;
    font-weight: unset !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    min-height: unset !important;
    height: unset !important;
}

.clear-input .mx-icon-calendar {
    display: none !important;
}

.clear-input .mx-input:disabled {
    color: unset !important;
    background-color: unset !important;
    border-color: unset !important;
    cursor: unset !important;
}

.clear-input .mx-datepicker {
    height: unset !important;
}

.clear-input .vue-treeselect__control {
    border-radius: unset !important;
    border: unset !important;
    background-color: transparent !important;
    color: unset !important;
    font-size: unset !important;
    min-height: unset !important;
    padding: unset !important;
    font-weight: unset !important;
}

.notif-dt-p p {
    white-space: pre-line;
}

.notify-card-item {
    cursor: pointer;
}

.noti-txt-item .img-icon {
    flex-shrink: 0;
}

/* .stepForm-step a, .stepForm-step button {
    color: #565656;
} */

.attch-cards-list {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
}

.attch-card-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: linear-gradient(0deg, #fff 0%, #fff 100%), #f6f6f6;
    padding: 20px;
    flex: 0 0 49%;
    justify-content: space-between;
}

.attch-card-box .attch-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.attch-card-box .attch-card-icon {
    display: flex;
    width: 44px;
    height: 44px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 7px;
    border: 1px solid rgba(235, 87, 87, 0.1);
    background: rgba(235, 87, 87, 0.11);
}

.attch-card-box .attch-card-icon i {
    color: #eb5758;
    font-size: 25px;
}

.attch-card-box .attch-info .attch-text h4 {
    color: #000;
    font-size: 14px;
    font-weight: 600;
}

.attch-card-box .attch-info .attch-text h5 {
    color: #000;
    font-size: 14px;
    font-weight: 400;
}

.attch-card-box .attch-btn .view-btn {
    border-radius: 8px;
    background: #f0f0f0;
    font-size: 14px;
    font-weight: 500;
    color: #1e1e1e;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 7px;
}

.attch-card-box .attch-btn .view-btn i {
    font-size: 16px;
    margin-top: 1px;
    color: #000;
}

.attch-card-box .attch-btn .view-btn:hover {
    background: #e2e2e2;
    color: #000;
}

.msg-btn-span {
    background: #d4088c;
    padding: 1px 15px;
    border-radius: 12px;
    margin-right: 7px;
    color: #ffffff;
}

.vue-treeselect__multi-value-label {
    white-space: normal !important;
}
.error-modal {
    padding: 50px 54px;
    border-radius: 17px;
}
.error-modal .swal2-icon-content {
    display: flex;
    justify-content: center;
    width: 100px;
    height: 80px;
    margin: auto;
    background: #ddd;
    align-items: center;
    border-radius: 50%;
    background: rgba(163, 15, 111, 0.1);
    color: #a30f6f;
    margin-bottom: 26px;
}
.error-modal .swal2-icon-content i {
    font-size: 50px;
    color: #a30f6f;
}
.error-modal .swal2-icon.swal2-error.swal2-icon-show {
    border: none;
}
.error-modal .swal2-title {
    color: #000;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 27px;
}
.error-modal .swal2-html-container {
    display: block;
    color: #787878;
    font-size: 16px;
    margin: 10px 0 0 0;
    font-weight: 500;
}
.error-modal .swal2-confirm {
    background-color: #a30f6f !important;
}
.notification-list .truncate-container {
    display: block;
    font-weight: 500;
    line-height: 18px;
}

.products-container {
    width: 100%;
    padding: clamp(1rem, 2vw, 2rem);
    margin: 0 auto;
    max-width: 1440px;
    background-color: #fafafa;
}

.products-grid {
    position: relative;
    min-height: 200px;
    width: 100%;
}

.products-grid.is-loading {
    opacity: 0.7;
    pointer-events: none;
}

.products-list {
    display: grid;
    gap: clamp(1rem, 1.5vw, 2rem);
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 2rem;
    width: 100%;
}

.product-card {
    background: white;
    border-radius: 12px;
    border: 1px solid #edf2f7;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    aspect-ratio: 5/7;
}

.product-image {
    position: relative;
    overflow: hidden;
    height: 45%;
    background: #f8f9fa;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.product-content {
    padding: clamp(1rem, 2vw, 1.5rem);
    text-align: right;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.product-title {
    font-size: clamp(0.95rem, 1.2vw, 1.1rem);
    font-weight: 600;
    margin-bottom: 0.75rem;
    color: #2d3436;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-deadline {
    margin-bottom: auto;
}

.deadline-label {
    display: block;
    font-size: clamp(0.85rem, 1vw, 0.9rem);
    color: #64748b;
    margin-bottom: 0.25rem;
}

.deadline-date {
    display: block;
    font-size: clamp(0.9rem, 1.1vw, 1rem);
    color: #e17055;
    font-weight: 500;
}

.product-action-btn {
    width: 100%;
    padding: clamp(0.75rem, 1.5vw, 1rem);
    background: #0984e3;
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    font-size: clamp(0.9rem, 1vw, 1rem);
    transition: all 0.3s ease;
    cursor: pointer;
    margin-top: 1rem;
}

.products-header {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
    text-align: center;
}

.products-header h3 {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    font-weight: 600;
    margin-bottom: 1rem;
    color: #2d3436;
}

.filters-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
}

.products-filters {
    display: inline-flex;
    gap: 1rem;
    align-items: center;
    padding: clamp(0.75rem, 1.5vw, 1.25rem);
    background: white;
    border-radius: 12px;
    border: 1px solid #edf2f7;
}

.product-card:hover {
    transform: translateY(-4px);
    border-color: #e2e8f0;
}

.product-card:hover .product-image img {
    transform: scale(1.05);
}

.product-card:hover .product-action-btn {
    background: #0770c5;
}

@media (min-width: 640px) {
    .products-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-card {
        aspect-ratio: 4/6;
    }
}

@media (min-width: 768px) {
    .products-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .products-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1440px) {
    .product-card {
        aspect-ratio: 3/4;
    }

    .product-image {
        height: 50%;
    }
}

@container (min-width: 1600px) {
    .products-list {
        grid-template-columns: repeat(4, minmax(300px, 1fr));
    }
}

@media (max-width: 639px) {
    .products-filters {
        flex-direction: column;
        width: 100%;
        gap: 0.75rem;
    }

    .product-card {
        aspect-ratio: 2/3;
    }
}

.sidebar-pages .active .nav-link.show i {
    color: #fff !important;
}

.prd-flex-section .currency-input::after {
    background: transparent !important;
}

.table-responsive {
    min-height: auto;
}

.table-responsive.drp-opend {
    min-height: 300px;
}
