/*
 * Darstellung der Rechtstexte im Frontend.
 *
 * Der Text wird per Shortcode in eine Seite eingesetzt und landet je nach Theme
 * ausserhalb eines Inhaltscontainers – bei Divi etwa direkt in
 * .et_builder_inner_content, also ohne Breitenbegrenzung und ohne Innenabstand.
 * Ohne diese Regeln liefe der Text randlos über die ganze Fensterbreite.
 *
 * Bewusst einfache Klassen-Selektoren: Ein `:where()` hat keine Spezifität und
 * verliert gegen den CSS-Reset vieler Themes (`div { padding: 0 }`) – genau das
 * war bei Divi der Fall. Eine einzelne Klasse reicht knapp aus und lässt sich
 * von einem Theme weiterhin mühelos überschreiben.
 *
 * Ganz abschalten:  add_filter('impressr_frontend_css', '__return_false');
 */

.impressr-doc {
    max-width: 46rem;
    margin: 0 auto;
    padding: 2.5rem 1.25rem 3rem;
    line-height: 1.7;
    overflow-wrap: break-word;
}

.impressr-doc h1,
.impressr-doc h2,
.impressr-doc h3 {
    margin: 2em 0 .6em;
    line-height: 1.3;
    padding: 0;
}

.impressr-doc > :first-child {
    margin-top: 0;
}

.impressr-doc p,
.impressr-doc ul,
.impressr-doc ol {
    margin: 0 0 1em;
    padding: 0;
}

.impressr-doc ul,
.impressr-doc ol {
    padding-left: 1.5em;
    list-style: revert;
}

.impressr-doc li {
    margin-bottom: .4em;
}

.impressr-doc a {
    text-decoration: underline;
}

/* Tabellen (etwa Cookie-Übersichten) sollen die Seite nicht sprengen. */
.impressr-doc table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
    border-collapse: collapse;
}

.impressr-doc th,
.impressr-doc td {
    padding: .5em .75em;
    border: 1px solid rgba(128, 128, 128, .35);
    text-align: left;
}
