table.memori--table {
    --memori-table-spacing: 1rem;
    --memori-table-border-color: rgb(237, 240, 243);
    --memori-table-bg-color: rgb(246, 248, 249);

    margin: 1rem 0;
    font-size: 1rem;
}

table.memori--table.memori--table--compact {
    --memori-table-spacing: 0.5rem;
    font-size: 0.875rem;
}

@media (max-width: 767px) {
    table.memori--table {
        --memori-table-spacing: 0.5rem;

        font-size: 0.875rem;
    }

    table.memori--table.memori--table--compact {
        font-size: 0.75rem;
    }
}

:where(table) {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    text-indent: 0;
}

.memori--responsive-table-wrapper {
    width: 100%;
    max-width: 800px;
    overflow-x: auto;
}

.memori--responsive-table-wrapper > br {
    display: none;
}

table.memori--table th,
table.memori--table td {
    padding: calc(var(--memori-table-spacing) / 2) var(--memori-table-spacing);
    border-bottom: 1px solid var(--memori-table-border-color);
    text-align: left;
    text-align: start;
}

table.memori--table thead th {
    padding: var(--memori-table-spacing) var(--memori-table-spacing);
    background-color: var(--memori-table-bg-color);
}

table.memori--table tfoot th,
table.memori--table tfoot td {
    border-top: 1px solid var(--memori-table-border-color);
    border-bottom: 0;
}

table.memori--table[role='grid'] tbody tr:nth-child(odd) {
    background-color: var(--memori-table-bg-color);
}

.memori--table--pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

.memori--table--pagination--pages {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.memori--table--pagination--pages--current {
    padding: 0 0.5rem;
    font-variant-numeric: tabular-nums;
}

.memori--table--pagination--pages button.memori-button.memori-button--circle {
    padding: 0.25rem;
}

.memori--table--pagination--pages button.memori-button[disabled] {
    opacity: 0.3;
}

.memori--table--pagination ul.memori-select--options {
    right: 0;
}

@media (max-width: 600px) {
    .memori--table--pagination--pages {
        margin-right: auto;
    }

    .memori--table--pagination--pages--current {
        padding: 0 0.25rem;
    }

    .memori--table--pagination .memori-select button.memori-select--button {
        padding-top: 0.25rem;
        padding-right: 2rem;
        padding-bottom: 0.25rem;
        padding-left: 0.5rem;
        font-size: 0.875rem;
    }

    .memori--table--pagination .memori-select ul.memori-select--options {
        min-width: fit-content;
    }
}

table.memori--table th.memori--table--column-centered,
table.memori--table td.memori--table--column-centered {
    text-align: center;
}

table.memori--table th.memori--table--column-right,
table.memori--table td.memori--table--column-right {
    text-align: right;
    text-align: end;
}

.memori--table--date {
    white-space: nowrap;
}
