/* Theme-neutral responsive text helpers. Loaded after database theme CSS. */
.ap-responsive-table {
    --ap-responsive-table-head-size: clamp(0.58rem, 0.48rem + 0.34vw, 0.75rem);
    --ap-responsive-table-row-size: clamp(0.76rem, 0.64rem + 0.36vw, 0.95rem);
    --ap-responsive-table-action-size: clamp(0.68rem, 0.58rem + 0.3vw, 0.8rem);
    min-width: 0;
}

.ap-responsive-table th {
    font-size: var(--ap-responsive-table-head-size);
    line-height: 1.2;
    white-space: nowrap;
}

.ap-responsive-table td {
    min-width: 0;
    font-size: var(--ap-responsive-table-row-size);
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ap-responsive-table--compact-last th:last-child,
.ap-responsive-table--compact-last td:last-child,
.ap-responsive-table--compact-last-two th:nth-last-child(-n+2),
.ap-responsive-table--compact-last-two td:nth-last-child(-n+2) {
    white-space: nowrap;
}

.ap-responsive-table .btn {
    font-size: var(--ap-responsive-table-action-size);
}

.ap-responsive-card-list {
    --ap-responsive-card-title-size: clamp(0.95rem, 0.78rem + 0.5vw, 1.2rem);
    --ap-responsive-card-subtitle-size: clamp(0.76rem, 0.64rem + 0.34vw, 0.95rem);
    --ap-responsive-card-content-size: clamp(0.78rem, 0.66rem + 0.34vw, 0.95rem);
    --ap-responsive-card-action-size: clamp(0.68rem, 0.58rem + 0.3vw, 0.8rem);
    min-width: 0;
}

.ap-responsive-card-list article,
.ap-responsive-card-list header,
.ap-responsive-card-list section,
.ap-responsive-card-list footer {
    min-width: 0;
}

.ap-responsive-card-list h3 {
    font-size: var(--ap-responsive-card-title-size);
    line-height: 1.2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ap-responsive-card-list h3 + div {
    font-size: var(--ap-responsive-card-subtitle-size);
    line-height: 1.3;
}

.ap-responsive-card-list section {
    font-size: var(--ap-responsive-card-content-size);
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ap-responsive-card-list .btn {
    font-size: var(--ap-responsive-card-action-size);
}
