/**
 * Table
 * Obecná tabulka
 */

.table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    color: var(--color-text);
}

.table th, table.dataTable thead th, table.dataTable tfoot th, table .table--tfoot_zvyranene td {
    background: var(--color-table-header);
    color: var(--color-text);
    font-weight: 500;
    text-align: left;
    padding: 4px 10px;
    border-bottom: none !important;
    height: 44px;
}
.table tr.light th, table.dataTable thead tr.light th, table .table--tfoot_zvyranene.light td {
    background: var(--color-table-header-light);
}
.table th.text-right, table.dataTable thead th.text-right, table.dataTable tfoot th.text-right {
    text-align: right;
}
.table th.text-left, table.dataTable thead th.text-left, table.dataTable tfoot th.text-left, table td.text-left {
    text-align: left !important;
}
.table th.text-center, table.dataTable thead th.text-center, table.dataTable tfoot th.text-center {
    text-align: center;
}
.table.dataTable td.text-center, table.dataTable th.text-center {
    text-align: center !important;
}
.table th.th--bez_stylu {
    background: transparent;
    border: none;
}

.table td {
    color: var(--color-text);
    border: none;
    height: 44px;
}

.table tbody tr:nth-child(odd) {
    background: var(--color-table-row-odd);
}

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


/* Střídání lichých a sudých řádků pro klienty */
.radek-lichy {
    background-color: var(--color-table-row-odd) !important;
}

.radek-sudy {
    background-color: var(--color-table-row-even) !important;
}

.radek-lichy .poukazy-wrapper {
    background-color: var(--color-table-row-odd) !important;
}

.radek-sudy .poukazy-wrapper {
    background-color: var(--color-table-row-even) !important;
}

/* Akční ikonky */
.akce_ikonka {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    background: transparent;
}

.akce_ikonka:hover {
    background: rgba(0, 49, 69, 0.1);
}

.akce_ikonka img,
.akce_ikonka svg {
    width: 20px;
    height: 20px;
}
.table tr .td--ramecek_vlevo  {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}
.table tr .td--ramecek_vpravo  {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}
.table tr .td--ramecek_vpravo_a_dalsi_vlevo  {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}
.table tr .td--ramecek_vpravo_a_dalsi_vlevo + th + th  {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}
/* Opak - prvek PŘED .td--ramecek_vlevo_a_dalsi_vpravo */
.table tr th:has(+ th + .td--ramecek_vlevo_a_predchozi_vpravo) {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}
.table tr .td--ramecek_vlevo_a_predchozi_vpravo {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}
table tr td:first-child, table tr th:first-child {
    border-radius: 12px 0px 0px 12px;
}
table tr td:last-child, table tr th:last-child {
    border-radius: 0px 12px 12px 0px;
}
table tr th:last-child:first-child {
    border-radius: 12px;
}

/* Akce v tabulce */
.table__akce {
    display: inline-flex;
    gap: 4px;
    justify-content: center;
}

/* ==================== FILTRY V TABULCE ==================== */

.table--filterable thead tr:first-child th, table.dataTable thead tr:first-child th {
    background: var(--color-bg);
    padding: 12px 8px;
    border-bottom: none;
}
.table__filtr th {
    vertical-align: middle;
}

.table__filtr-input,
.table__filtr-select {
    width: 100%;
}

/*
 Stejné jako jiné inputy / select
.table__filtr-input,
.table__filtr-select {
    width: 100%;
    padding: 8px 10px;
    font-size: 13px;
    border: 1px solid var(--color-input-border);
    border-radius: 6px;
    background: var(--color-bg);
    color: var(--color-text);
    box-sizing: border-box;
}

.table__filtr-input:focus,
.table__filtr-select:focus {
    outline: none;
    border-color: var(--color-primary);
}

.table__filtr-input::placeholder {
    color: var(--color-placeholder);
}
*/
.table__filtr-select {
    cursor: pointer;
}
.dataTable td {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
table.dataTable>tbody>tr>th, table.dataTable>tbody>tr>td, table td, table th {
    padding: 4px 10px;
}
table.dataTable>tbody>tr>th.akce_bunka, table.dataTable>tbody>tr>td.akce_bunka, table td.akce_bunka, table th.akce_bunka {
    padding-right: 4px;
    text-align: right;
}
table.dataTable thead>tr>th.dt-orderable-asc, table.dataTable thead>tr>th.dt-orderable-desc, table.dataTable thead>tr>th.dt-ordering-asc, table.dataTable thead>tr>th.dt-ordering-desc, table.dataTable thead>tr>td.dt-orderable-asc, table.dataTable thead>tr>td.dt-orderable-desc, table.dataTable thead>tr>td.dt-ordering-asc, table.dataTable thead>tr>td.dt-ordering-desc {
    padding-right: 10px;
}
/* ==================== DATATABLES PAGINACE ==================== */

/* Skrýt First, Previous, Next, Last - nechat jen čísla */
.dt-paging-button.first,
.dt-paging-button.last {
    display: none !important;
}
.dt-paging-button {
    height: 32px;
    width: 32px;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--color-dark-red) !important;
    border: 0px !important;
}
.dt-paging-button:hover, .dt-paging-button.current {
    background-color: var(--color-primary) !important;
    color: var(--color-primary-text) !important;
}
div.dt-container.dt-empty-footer tbody>tr:last-child>* {
    border-bottom: 0px !important;
}
div.dt-container div.dt-layout-row {
    margin: 0px !important;
}
.dt-layout-row:first-child {
    display: none !important;
}
.table--filterable thead tr:first-child th, table.dataTable thead tr:first-child th {
    padding-top: 0px !important;
}

/* Previous a Next tlačítka s ikonou šipky */
.dt-paging-button.previous,
.dt-paging-button.next {
    font-size: 0; /* Skrýt text */
    position: relative;
}
.dt-paging-button.next, .dt-paging-button.previous { 
    background-color: var(--color-btn-primary-text-hover) !important;
}
.dt-paging-button.next.disabled, .dt-paging-button.previous.disabled { 
    pointer-events: none;
    background-color: var(--color-btn-primary-text-hover) !important;
    opacity: 0.5;
}

.dt-paging-button.previous::before,
.dt-paging-button.next::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-color: var(--color-dark-red);
    -webkit-mask-image: url('/assets/icons/sipka.svg');
    mask-image: url('/assets/icons/sipka.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    left: calc(50% - 8px);
    top: calc(50% - 8px);
    position: absolute;
}

.dt-paging-button.next::before {
    transform: rotate(180deg);
}
.dt-paging nav {
    display: flex;
    align-items: center;
    gap: 12px
}
.dt-column-order {
    display: none !important;
}
table.dataTable thead>tr>th.dt-orderable-asc:hover, table.dataTable thead>tr>th.dt-orderable-desc:hover, table.dataTable thead>tr>td.dt-orderable-asc:hover, table.dataTable thead>tr>td.dt-orderable-desc:hover {
    outline: none !important;
    text-decoration: underline !important;   
}
.dt-ordering-asc, .dt-ordering-desc {
    text-decoration: underline !important;
}
div.dt-container div.dt-layout-row:last-child {
    margin-top: 32px !important;
}
div.dt-container .dt-paging .dt-paging-button {
    margin: 0px !important;
}
div.dt-container .dt-paging .dt-paging-button:hover {
    cursor: pointer;
    background-color: var(--color-btn-tertiary-bg-hover) !important;
    color: var(--color-btn-tertiary-text-hover) !important;
}

/* ==================== STICKY HEADER ==================== */

.table--sticky-head, .table--filterable.dataTable {
    border-collapse: separate;
    border-spacing: 0;
}

.table--sticky-head thead th, .table--filterable.dataTable thead tr:nth-child(2) th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: var(--color-table-header);
}

/* Hlavička oddělení v tabulce klientů */
.radek-oddeleni-hlavicka {
    background: var(--color-primary-light, #e8f4fd) !important;
}

.radek-oddeleni-hlavicka td {
    padding: 10px 16px;
    font-size: 14px;
    border-top: 2px solid var(--color-primary, #0066cc);
}
.dataTable thead tr:not(.table__filtr) {
    background-color: var(--color-table-header);
}
table.dataTable {
    width: 100% !important;
    table-layout: fixed;
}


.filtr-datum-rozsah_parent {
    position: relative;
    display: block;
}
.filtr-datum-rozsah_parent::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('/assets/icons/kalendar.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 16px;
    z-index: 10;
    height: 16px;
}