/* DATATABLE */
@media(max-width: 1024px) {
    .dt-container .dt-layout-table .dt-layout-full .dataTable {
        display: block;
        overflow-x: scroll;
    }
}

/* Tri tableau */
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
    background-image: unset !important;
}

table.dataTable thead>tr>th.sorting:before,
table.dataTable thead>tr>th.sorting_desc:before,
table.dataTable thead>tr>th.sorting:after,
table.dataTable thead>tr>th.sorting_desc:after {
    color: var(--tblr-table-sorting);
    opacity: 0.30;
}

table.dataTable thead>tr>th.sorting_asc:before,
table.dataTable thead>tr>th.sorting_desc:after {
    opacity: 0.8;
}

#crudTable_wrapper #crudTable .sorting:before {
    top: 12px;
}

#crudTable_wrapper #crudTable .sorting:after {
    bottom: 50%;
    top: 18px;
}

/* Container du tableau */
.dt-container {
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Barre de recherche */
.dt-search {
    display: flex;

    label {
        display: flex;
        align-items: center;
        width: 100%;
    }

    input {
        display: flex;
        margin-left: 1rem;
        width: 100%;
        border: 1px solid var(--tblr-gray-300);
    }

    input:focus-visible {
        border: 1px solid var(--tblr-gray-300) !important;
        outline-offset: unset !important;
    }
}

/* Choix nombre de vue tableau */
.dt-length {
    label {
        font-family: "lexend";
        font-weight: 400;
    }

    select {
        color: var(--tblr-form-label-color);
        border: 1px solid rgba(0, 40, 100, 0.12);
        background-color: var(--tblr-white);
    }
}

/* Pagination tableau */
div.dt-container .dt-paging {
    display: flex;
    justify-content: end;

    >nav {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .dt-paging-button {
        position: relative;
        padding: 9px 12px;
        height: 36px;
        border-radius: 5px;
        border: unset;
        background: transparent;
        font-size: 1rem;
        font-weight: 400;
        color: var(--tblr-body-color);
        line-height: normal;
    }

    .dt-paging-button:not(.disabled):hover {
        background: var(--tblr-primary);
        color: var(--tblr-white);

        &::before {
            color: var(--tblr-white);
        }
    }

    .dt-paging-button.current {
        background: var(--tblr-primary);
        color: var(--tblr-white) !important;
        border: unset !important;

        &::before {
            color: var(--tblr-white);
        }
    }

    .dt-paging-button.current:hover {
        color: var(--tblr-white) !important;
    }

    .dt-paging-button:hover {
        background: var(--tblr-primary);
        border: unset;
    }

    .dt-paging-button.disabled:hover {
        background: transparent;
        cursor: initial;
    }

    /* Flèches pagination */
    .dt-paging-button.first,
    .dt-paging-button.last,
    .dt-paging-button.previous,
    .dt-paging-button.next {
        position: relative;
        width: 32px;
        font-size: 0;
        color: rgba(134, 154, 184, 1);

        &::before {
            position: absolute;
            display: block;
            top: 50%;
            left: 14px;
            bottom: -8px;
            transform: translate(-50%, -50%);
            font-size: 1.5rem;
            color: rgba(134, 154, 184, 1);
            letter-spacing: -3px;
        }
    }

    .dt-paging-button.first {
        &::before {
            content: "<<";
        }
    }

    .dt-paging-button.last {
        &::before {
            content: ">>";
        }
    }

    .dt-paging-button.previous {
        &::before {
            content: "<";
        }
    }

    .dt-paging-button.next {
        &::before {
            content: ">";
        }
    }
}

/* Tableau */
.dt-container {
    position: relative;
    margin-bottom: 2.5rem;
    border-bottom: unset;

    /* Header datatable */
    thead {
        background-color: var(--tblr-table-highlight);
    }

    thead tr th {
        padding: 15px 20px !important;
        border-top: 1px solid var(--tblr-gray-300);
        border-bottom: 1px solid var(--tblr-gray-300) !important;
        font-size: 1rem;
        font-weight: 600;
        text-align: start !important;
    }

    /* Empêchait l'alignement à droite des prix */
    /* .dt-type-numeric {
        text-align: start !important;
    } */

    thead tr th:first-child {
        border-left: 1px solid var(--tblr-gray-300);
        border-top-left-radius: 4px;
    }

    thead tr th:last-child {
        border-right: 1px solid var(--tblr-gray-300);
        border-top-right-radius: 4px;
    }

    /* Corps datatable */
    tbody tr td {
        border-bottom: 1px solid var(--tblr-gray-300) !important;
        border-top: unset !important;
        box-shadow: unset !important;
    }

    tbody tr:nth-child(even) td:first-child,
    tbody tr:nth-child(odd) td:first-child {
        border-left: 1px solid var(--tblr-gray-300);
    }

    tbody tr:nth-child(even) td:last-child,
    tbody tr:nth-child(odd) td:last-child {
        border-right: 1px solid var(--tblr-gray-300);
    }

    tbody tr:nth-child(odd),
    tbody tr:nth-child(odd) .sorting_1 {
        background-color: var(--tblr-white);
    }

    tbody tr:nth-child(even) {
        background-color: var(--tblr-table-highlight);
    }

    /* Boutons actions du datatable */
    .icon-button {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border: none;
        background: none;
        cursor: pointer;
    }

    .icon-button i {
        display: block;
    }

    .icon-button span {
        margin-top: 2px;
        font-size: 0.9em;
    }

    /* Bouton payer facture */
    tbody tr td:nth-last-child(:has(form)) {
        width: max-content;
    }
    
    tbody tr td:last-child:has(form){
        padding-left: unset!important;
        padding-right: unset!important;
    }

    tbody tr td button[type="submit"] {
        padding: 0;
        border: unset;
        background: unset;
        color: var(--tblr-primary) !important;
    }

    tbody tr td form {
        display: inline-block;
    }

    tbody tr td form+.download-pdf {
        margin-left: 0.5rem;
    }
}

tfoot {
    display: none !important;
}

/* TABLEAU BACKPACK*/
/* Select affichage par page */
#invoicesTable_wrapper,
#devisTable_wrapper,
#deliveryNotesTable_wrapper,
#documentsTable_wrapper {
    padding: 0;

    .dt-layout-row .dt-length {
        display: flex;
    }

    .dt-layout-row .dt-paging {
        display: block;
    }

    .dt-layout-cell .dt-info{
        margin-bottom: 2rem;
    }
}

@media (min-width: 1024px) {

    #invoicesTable_wrapper,
    #devisTable_wrapper,
    #deliveryNotesTable_wrapper,
    #documentsTable_wrapper {
        
        .dt-layout-table {
            margin-top: 2.5rem;
            margin-bottom: 2.5rem;
        }

        .dt-layout-row .dt-layout-cell:has(.dt-info) {
            position: absolute;
            top: 0;
            left: 0;
        }

        .dt-layout-row:has(.dt-length) {
            order: 3;
            position: absolute;
            bottom: 0;
            left: 0;
            margin: unset;
            width: fit-content;

            label {
                padding: unset;
            }
        }

        .dt-layout-row .dt-paging {
            display: flex;
            justify-content: center;
            width: fit-content;
        }
    }
}

table.dataTable thead {
    background-color: var(--tblr-table-highlight);
}

table.dataTable thead th {
    padding: 15px 20px !important;
    font-family: 'lexend';
    font-size: 1rem;
    font-weight: 600;
    color: var(--tblr-body-color);
    text-transform: capitalize;
    border-bottom-color: var(--tblr-gray-300) !important;
}

.dataTables_wrapper .dataTables_paginate .dt-paging-button,
.dataTables_wrapper .dataTables_paginate .dt-paging-button:hover {
    background: unset !important;
    border: unset;
}

.dataTables_length {
    margin-bottom: 1rem;
}

.dataTables_length label {
    width: 100%;
    color: var(--tblr-body-color) !important;
}

@media (min-width: 1024px) {
    .dataTables_length {
        margin-bottom: initial;
    }

    .dataTables_length label {
        width: initial;
    }
}

.dataTables_length .form-select,
.dataTables_wrapper .dataTables_length select,
.dt-length .dt-input {
    margin-right: 6px;
    padding: 12px 7px 12px 9px;
    border-radius: 3px;
    font-family: "lexend";
    font-weight: 400;
    font-size: 15px;
    color: var(--tblr-form-input-color);
    background-color: var(--tblr-white) !important;
    border-color: var(--tblr-border-color) !important;
    cursor: pointer;
}

.dropdown-toggle {
    border-radius: 3px !important;
}

.form-control:focus,
.form-select:focus {
    box-shadow: unset;
    border-color: var(--tblr-border-color) !important;
}

.dataTable tbody>tr>td {
    padding: 15px 20px !important;
    box-shadow: none !important;
    font-size: 1rem;
}

table.dataTable>tbody>tr.even {
    background-color: var(--tblr-table-highlight);
}

/* Barre de recherche */
#datatable_search_stack {

    input[type="search"] {
        padding: .75rem .75rem .75rem 2.5rem;
        height: 100%;
        min-height: 44px;
        border-radius: 3px !important;
    }

    .dt-buttons {
        flex-wrap: nowrap !important;
    }
}

#datatable_search_stack:not(:has(.dt-buttons)) {
    justify-self: end;
    width: 50%;
}

/* Pagination */
.dt-layout-row:has(.dt-paging) {
    margin: unset !important;
}

/* Chargement tableau */
.dt-layout-table:has(.dt-empty) {
    position: relative;
}

.dt-layout-table:has(.dt-empty)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--tblr-body-color);
    opacity: 0.3;
}

.dt-layout-row:has(.dt-length):has(~ .dt-layout-table .dt-empty) {
    display: none !important;
}

.dt-processing {
    font-weight: 600;
    font-size: 1rem;
}