/* =====================================================
   WYSIWYG-Inhalt – Website und TinyMCE teilen diese Datei.
   Klasse .bl-rich liegt am Inhaltsblock bzw. am Editor-Body.
   ===================================================== */

.bl-rich {
    font-family: var(--bl-font);
    color: var(--bl-ink);
    -webkit-font-smoothing: antialiased;
    font-size: 18px;
    line-height: 1.6;
}

/* Karte wie zuvor um den Fliesstext */
.bl-block.bl-rich {
    max-width: 920px;
    background: #fff;
    border: 1px solid var(--bl-line);
    border-radius: 18px;
    padding: 30px 28px;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--bl-ink) 4%, transparent);
    position: relative;
    overflow: hidden;
}
.bl-block.bl-rich::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--bl-primary-2);
}

/* Seiten-H1 aus dem Layout (ohne Hero) */
.bl-page-title {
    font-size: clamp(28px, 3.6vw, 36px);
    line-height: 1.2;
    margin: 0 0 8px;
    font-weight: 700;
    color: var(--bl-primary);
    max-width: 920px;
}

.bl-rich h1 {
    font-size: clamp(28px, 3.6vw, 36px);
    line-height: 1.2;
    margin: 0 0 10px;
    font-weight: 700;
    color: var(--bl-primary);
}

/* Zwischentitel wie im Original kursiv statt fett */
.bl-rich h2 {
    font-size: clamp(24px, 3vw, 28px);
    line-height: 1.25;
    margin: 0 0 12px;
    font-weight: 400;
    font-style: italic;
    color: var(--bl-primary);
}

.bl-rich h3 {
    font-size: 21px;
    font-weight: 700;
    color: var(--bl-primary);
    margin: 24px 0 12px;
}

.bl-rich p {
    margin: 0 0 14px;
    font-size: 18px;
    line-height: 1.6;
    color: var(--bl-ink);
}
.bl-rich p:last-child { margin-bottom: 0; }

/* Hinweiszeile wie «Spots nur auf Deutsch» */
.bl-rich p:has(> em:only-child) {
    color: var(--bl-muted);
    font-size: 14px;
    margin: 0 0 18px;
}

.bl-rich a:not(.btn) {
    color: var(--bl-primary);
    font-weight: 600;
    text-decoration: none;
}
.bl-rich a:not(.btn):hover { text-decoration: underline; }

.bl-rich a.btn { margin-top: 8px; }

/* Adresse: erste fette Zeile als Name */
.bl-rich p > strong:first-child {
    display: block;
    font-weight: 700;
    color: var(--bl-primary);
    margin-bottom: 2px;
}

/* Vorstandsliste */
.bl-rich ul {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
}
.bl-rich ul li {
    padding: 12px 0;
    border-top: 1px solid var(--bl-surface);
    font-size: 18px;
    line-height: 1.5;
    color: var(--bl-ink);
}
.bl-rich ul li:first-child {
    border-top: 0;
    padding-top: 0;
}
.bl-rich ul li strong {
    display: block;
    color: var(--bl-primary);
    font-weight: 700;
}

.bl-rich ol {
    margin: 0 0 14px;
    padding-left: 1.25em;
    font-size: 18px;
    line-height: 1.6;
}

/* Drei Spots nebeneinander */
.bl-rich table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 16px 0;
    margin: 8px 0 20px;
}
.bl-rich table td {
    width: 33.33%;
    vertical-align: top;
    border: 0;
    padding: 0;
    background: transparent;
}
.bl-rich video {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    background: #111;
}
.bl-rich table p {
    margin: 8px 0 0;
    font-size: 13px;
    color: var(--bl-muted);
    text-align: center;
}

.bl-rich img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

@media (max-width: 720px) {
    .bl-block.bl-rich { padding: 24px 20px; }
    .bl-rich table,
    .bl-rich table tbody,
    .bl-rich table tr,
    .bl-rich table td {
        display: block;
        width: 100%;
    }
    .bl-rich table { border-spacing: 0; }
    .bl-rich table td { margin-bottom: 16px; }
}

/* TinyMCE: Body ist selbst .bl-rich */
body.bl-rich.mce-content-body {
    background: #fff;
    padding: 12px 16px;
    margin: 8px;
    border: 1px solid var(--bl-line);
    border-radius: 12px;
}
