/* Keep native table layout; only the wrapper handles horizontal scrolling. */
.r27-content-table-scroll {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 24px 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.r27-content-table-scroll:focus-visible {
    outline: 2px solid var(--r27-gold, #b0976d);
    outline-offset: 3px;
}

.r27-content-table-scroll > table {
    display: table;
    width: 100% !important; /* Override widths saved by the content editor. */
    max-width: none;
    height: auto !important;
    margin: 0;
    border: 1px solid var(--r27-line, #e4dfd6);
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: auto;
    background: #fff;
    font-size: .9375rem;
    line-height: 1.65;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
}

.r27-content-table-scroll > table th,
.r27-content-table-scroll > table td {
    min-width: 120px;
    height: auto !important;
    padding: 12px 16px;
    border: 1px solid var(--r27-line, #e4dfd6);
    text-align: left;
    vertical-align: top;
    line-height: 1.65;
}

.r27-content-table-scroll > table th {
    background: var(--r27-soft, #f7f5f0);
    color: var(--r27-ink, #242529);
    font-weight: 600;
}

.r27-content-table-scroll > table tbody > tr:nth-child(even) {
    background: #faf9f6;
}

.r27-content-table-scroll > table caption {
    padding: 0 0 12px;
    color: var(--r27-muted, #6e6a63);
    text-align: left;
}

.r27-content-table-scroll > table :is(th, td) > :last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    .r27-content-table-scroll > table th,
    .r27-content-table-scroll > table td {
        padding: 10px 12px;
        font-size: .875rem;
    }
}
