:root {
    --msup-elementor-table-caption-font-weight: bold;
    --msup-elementor-table-background-color: var(--msup-callout-background-color);
    --msup-elementor-table-font-size: var(--msup-text-size-default);
    --msup-elementor-table-padding: var(--msup-callout-padding);
    --msup-elementor-table-heading-font-weight: bold;
    --msup-elementor-table-cell-border-color: var(--msup-border-color);
    --msup-elementor-table-cell-border-width: 1px;
    --msup-elementor-table-cell-padding-x: var(--msup-gap-xs);
    --msup-elementor-table-cell-padding-y: calc(var(--msup-gap-xxs) * 0.65);
    --msup-elementor-table-cell-highlighted-font-weight: bold;
}

.msup-elementor-table {
    background-color: var(--msup-elementor-table-background-color);
    padding: var(--msup-elementor-table-padding);
}

.msup-elementor-table table {
    min-width: 100%;
}

.msup-elementor-table caption {
    border-bottom: var(--msup-elementor-table-cell-border-width) solid var(--msup-elementor-table-cell-border-color);
    font-weight: var(--msup-elementor-table-caption-font-weight);
    padding-bottom: var(--msup-elementor-table-cell-padding-y);
    text-align: left;
}

.msup-elementor-table th,
.msup-elementor-table td {
    border-bottom: var(--msup-elementor-table-cell-border-width) solid var(--msup-elementor-table-cell-border-color);
    text-align: left;
    padding: var(--msup-elementor-table-cell-padding-y) var(--msup-elementor-table-cell-padding-x);
}

.msup-elementor-table th:first-child,
.msup-elementor-table td.msup-table-cell-first-col {
    padding-left: 0;
}

.msup-elementor-table th:last-child,
.msup-elementor-table td.msup-table-cell-last-col {
    padding-right: 0;
}

.msup-elementor-table th {
    font-weight: var(--msup-elementor-table-heading-font-weight);
}

.msup-elementor-table thead:first-child th {
    padding-top: 0;
}

.msup-elementor-table tbody:first-child tr:first-child td {
    padding-top: 0;
}

.msup-elementor-table td.msup-table-cell-highlighted {
    font-weight: var(--msup-elementor-table-cell-highlighted-font-weight);
}

.msup-elementor-table.msup-table-vertical-lines th,
.msup-elementor-table.msup-table-vertical-lines td {
    border-left: var(--msup-elementor-table-cell-border-width) solid var(--msup-elementor-table-cell-border-color);
}

.msup-elementor-table.msup-table-vertical-lines th:first-child,
.msup-elementor-table.msup-table-vertical-lines td.msup-table-cell-first-col {
    border-left: none;
}

.msup-elementor-table.msup-table-scrollable {
    overflow-x: auto;
    width: 100%;
}
