/*
 * Accessibility baseline for page content.
 *
 * Several feature pages intentionally use compact typography for dense cards and
 * data tables. Keep their visual hierarchy, but prevent supporting text and
 * controls from becoming too small to read on a normal desktop display.
 */

:root {
    --app-readable-text-min: 0.875rem;
    --app-readable-meta-min: 0.8125rem;
}

.municipal-page-content :where(
    p, li, dt, dd, td, th, label, a, button, input, select, textarea,
    output, time, .mud-typography, .mud-button-label, .mud-input,
    .mud-select, .mud-chip-content, .mud-table-cell
):not(.mud-icon-root) {
    font-size: max(var(--app-readable-text-min), 1em) !important;
    line-height: 1.45;
}

.municipal-page-content :where(small, caption, figcaption) {
    font-size: max(var(--app-readable-meta-min), 1em) !important;
    line-height: 1.45;
}

/* Custom cards frequently use classed spans/divs for their supporting text. */
.municipal-page-content :where(
    [class*="label"], [class*="subtitle"], [class*="description"],
    [class*="meta"], [class*="caption"], [class*="status"],
    [class*="badge"], [class*="chip"], [class*="amount"], [class*="value"]
):not(.mud-icon-root):not([class*="icon"]) {
    font-size: max(var(--app-readable-meta-min), 1em) !important;
    line-height: 1.45;
}

@media (max-width: 600px) {
    :root {
        --app-readable-text-min: 0.84375rem;
        --app-readable-meta-min: 0.78125rem;
    }
}
