/* Gemeinsame Gestaltung im TYPO3-Editor und Frontend. */
.mf-rte-lead { font-size: 1.3em; line-height: 1.65; font-weight: 400; }
.mf-rte-eyebrow { color: var(--mf-rte-action); font-size: .78em; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; margin-block-end: .65em; }
.mf-rte-caption { color: var(--mf-rte-muted); font-size: .875em; line-height: 1.6; }
.mf-rte-measure { max-inline-size: var(--mf-rte-measure); }
.mf-rte-muted { color: var(--mf-rte-muted); }
.mf-rte-highlight { background: #fff0b5; color: #352c0b; padding-inline: .18em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.mf-rte-small-caps { font-variant-caps: small-caps; letter-spacing: .04em; }
.mf-rte-nowrap { white-space: nowrap; }
.mf-rte-display { font-family: var(--mf-rte-heading-font); font-size: clamp(1.8rem, 3.5vw, 3.25rem); line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
.mf-rte-heading-line { font-family: var(--mf-rte-heading-font); border-inline-start: .2em solid var(--mf-rte-accent); padding-inline-start: .65em; }
.mf-rte-serif { font-family: var(--mf-rte-serif); }
.mf-rte-body-large { font-size: 1.15em; line-height: 1.8; }
.mf-rte-dropcap::first-letter { float: inline-start; color: var(--mf-rte-action); font-family: var(--mf-rte-serif); font-size: 3.5em; line-height: .9; padding-block-start: .08em; padding-inline-end: .14em; }
.mf-rte-balanced { text-wrap: pretty; }
.mf-rte-leading-tight { line-height: 1.35; }
.mf-rte-leading-relaxed { line-height: 1.95; }
.mf-rte-tabular, .mf-rte-cell-number { font-variant-numeric: tabular-nums; }
.mf-rte-mono { font-family: var(--mf-rte-mono); }
.mf-rte-key { font-family: var(--mf-rte-mono); font-size: .85em; padding: .12em .4em; border: 1px solid var(--mf-rte-border); border-block-end-width: 3px; border-radius: .3em; background: var(--mf-rte-surface); color: var(--mf-rte-ink); }

.mf-rte-callout { --mf-rte-box-color: #245d82; --mf-rte-box-bg: #eef6fb; padding: var(--mf-rte-space); border: 1px solid var(--mf-rte-border); border-inline-start: 4px solid var(--mf-rte-box-color); border-radius: var(--mf-rte-radius); background: var(--mf-rte-box-bg); color: #172d3b; margin-block: 1.25em; overflow-wrap: anywhere; }
.mf-rte-callout-success { --mf-rte-box-color: #287344; --mf-rte-box-bg: #edf7ef; }
.mf-rte-callout-warning { --mf-rte-box-color: #956109; --mf-rte-box-bg: #fff6dc; }
.mf-rte-callout-danger { --mf-rte-box-color: #a22d38; --mf-rte-box-bg: #fff0f1; }
.mf-rte-callout-tip { --mf-rte-box-color: #67509b; --mf-rte-box-bg: #f4f0fc; }
.mf-rte-callout-neutral { --mf-rte-box-color: var(--mf-rte-muted); --mf-rte-box-bg: var(--mf-rte-surface); }
.mf-rte-callout > :first-child, .mf-rte-panel > :first-child { margin-block-start: 0; }
.mf-rte-callout > :last-child, .mf-rte-panel > :last-child { margin-block-end: 0; }
.mf-rte-callout h3, .mf-rte-panel h3 { font-family: var(--mf-rte-heading-font); font-size: 1.2em; color: inherit; }
.mf-rte-card, .mf-rte-panel { padding: calc(var(--mf-rte-space) * 1.4); border: 1px solid var(--mf-rte-border); border-radius: var(--mf-rte-radius); background: var(--mf-rte-surface); color: var(--mf-rte-ink); margin-block: 1.25em; }
.mf-rte-card-dark { background: var(--mf-rte-action); color: var(--mf-rte-on-action); border-color: transparent; }
.mf-rte-card-dark a { color: inherit; text-decoration: underline; }
.mf-rte-panel { border-block-start: 4px solid var(--mf-rte-accent); }

a.mf-rte-button { display: inline-block; padding: .7em 1.15em; border: 2px solid var(--mf-rte-action); border-radius: var(--mf-rte-radius); background: var(--mf-rte-action); color: var(--mf-rte-on-action); font-weight: 650; line-height: 1.4; text-decoration: none; text-align: center; vertical-align: middle; white-space: normal; overflow-wrap: anywhere; }
a.mf-rte-button:hover { background: var(--mf-rte-ink); border-color: var(--mf-rte-ink); color: #fff; }
a.mf-rte-button-secondary { background: var(--mf-rte-surface); color: var(--mf-rte-ink); border-color: var(--mf-rte-border); }
a.mf-rte-button-outline { background: transparent; color: var(--mf-rte-action); }
a.mf-rte-button-quiet { background: transparent; color: var(--mf-rte-action); border-color: transparent; text-decoration: underline; text-underline-offset: .2em; }
a.mf-rte-button-large { padding: .85em 1.5em; font-size: 1.125em; }
a.mf-rte-button-small { padding: .4em .8em; font-size: .875em; }
a.mf-rte-button-block { display: block; inline-size: 100%; box-sizing: border-box; }
a.mf-rte-button:focus-visible, a[class*="mf-rte-link-"]:focus-visible { outline: 3px solid var(--mf-rte-action); outline-offset: 4px; }
a.mf-rte-link-arrow, a.mf-rte-link-download, a.mf-rte-link-mail, a.mf-rte-link-phone { color: var(--mf-rte-action); text-decoration: underline; text-underline-offset: .2em; }
a.mf-rte-link-arrow::after { content: "\2192"; display: inline-block; margin-inline-start: .4em; }
a.mf-rte-link-download::before, a.mf-rte-link-mail::before, a.mf-rte-link-phone::before { font-family: "Font Awesome 6 Free"; font-weight: 900; margin-inline-end: .45em; }
a.mf-rte-link-download::before { content: "\f019"; }
a.mf-rte-link-mail::before { content: "\f0e0"; }
a.mf-rte-link-phone::before { content: "\f095"; }
.mf-rte-badge { display: inline-block; padding: .22em .6em; border-radius: 999px; font-size: .78em; font-weight: 650; line-height: 1.5; vertical-align: middle; }
.mf-rte-badge-brand { background: var(--mf-rte-action); color: var(--mf-rte-on-action); }
.mf-rte-badge-neutral { background: #e8eef2; color: #344653; }
.mf-rte-badge-success { background: #dcefe2; color: #205d35; }
.mf-rte-badge-warning { background: #fff0bd; color: #684800; }

.mf-rte-list-check, .mf-rte-list-arrow, .mf-rte-list-plus, .mf-rte-list-plain, .mf-rte-list-divided { list-style: none; padding-inline-start: 0; }
.mf-rte-list-check > li, .mf-rte-list-arrow > li, .mf-rte-list-plus > li { position: relative; padding-inline-start: 1.65em; margin-block: .55em; }
.mf-rte-list-check > li::before, .mf-rte-list-arrow > li::before, .mf-rte-list-plus > li::before { position: absolute; inset-inline-start: 0; color: var(--mf-rte-action); font-weight: 750; }
.mf-rte-list-check > li::before { content: "\2713"; }
.mf-rte-list-arrow > li::before { content: "\2192"; }
.mf-rte-list-plus > li::before { content: "+"; }
.mf-rte-list-divided > li { padding-block: .8em; border-block-end: 1px solid var(--mf-rte-border); }
.mf-rte-list-spaced > li { margin-block: .85em; }
.mf-rte-list-compact > li { margin-block: .15em; }
.mf-rte-steps { padding-inline-start: 2em; }
.mf-rte-steps > li { padding-inline-start: .45em; margin-block: 1em; }
.mf-rte-steps > li::marker { color: var(--mf-rte-action); font-size: 1.2em; font-weight: 750; font-variant-numeric: tabular-nums; }

table.mf-rte-table { inline-size: 100%; border-collapse: collapse; font-size: .95em; border: 1px solid var(--mf-rte-border); color: var(--mf-rte-ink); }
table.mf-rte-table th, table.mf-rte-table td { padding: .8em 1em; border: 1px solid var(--mf-rte-border); vertical-align: top; text-align: start; background: transparent; }
table.mf-rte-table th { font-weight: 650; background: var(--mf-rte-surface); }
table.mf-rte-table-striped tbody tr:nth-child(even) > * { background: var(--mf-rte-surface); }
table.mf-rte-table-compact th, table.mf-rte-table-compact td { padding: .4em .65em; }
table.mf-rte-table-comparison thead th, table.mf-rte-table-dark-head thead th { background: var(--mf-rte-action); color: var(--mf-rte-on-action); }
table.mf-rte-table td.mf-rte-cell-highlight { background: #fff0bd; color: #352c0b; }
table.mf-rte-table .mf-rte-cell-number { text-align: end; }
:where(.frame, .mf-rte-content) figure.table { overflow-x: auto; margin-inline: 0; }
:where(.frame, .mf-rte-content) figure.table > table { min-inline-size: 20rem; }
:where(.frame, .mf-rte-content) figure.table figcaption { color: var(--mf-rte-muted); font-size: .875em; padding-block: .6em; }

blockquote.mf-rte-quote { margin: 1.5em 0; padding: .25em 0 .25em 1.4em; padding-inline-start: 1.4em; border: 0; border-inline-start: 4px solid var(--mf-rte-accent); font-style: normal; }
blockquote.mf-rte-quote::before, blockquote.mf-rte-quote::after { content: none; }
blockquote.mf-rte-quote > :last-child { margin-block-end: 0; }
blockquote.mf-rte-quote-pull { font-family: var(--mf-rte-serif); font-size: 1.5em; line-height: 1.55; }
blockquote.mf-rte-quote-soft { padding: var(--mf-rte-space); background: var(--mf-rte-surface); border-radius: var(--mf-rte-radius); }
.mf-rte-attribution { font-family: var(--mf-rte-font); font-size: .75em; color: var(--mf-rte-muted); font-weight: 600; }
.mf-rte-code-dark, .mf-rte-code-light { font-family: var(--mf-rte-mono); font-size: .9em; padding: var(--mf-rte-space); border-radius: var(--mf-rte-radius); overflow-x: auto; white-space: pre; }
.mf-rte-code-dark { background: #142531; color: #e4eef4; }
.mf-rte-code-light { background: #f2f6f8; color: #172d3b; border: 1px solid var(--mf-rte-border); }
.mf-rte-code-dark code, .mf-rte-code-light code { color: inherit; background: transparent; }
.mf-rte-space-none { margin-block-end: 0; }
.mf-rte-space-small { margin-block-end: .5rem; }
.mf-rte-space-medium { margin-block-end: 1.5rem; }
.mf-rte-space-large { margin-block-end: 3rem; }
.mf-rte-align-start { text-align: start; }
.mf-rte-align-center { text-align: center; }
.mf-rte-align-end { text-align: end; }

/* Ausgabe der CKEditor-Werkzeuge, unabhängig vom gewählten Profil. */
.text-tiny { font-size: .7em; }
.text-small { font-size: .85em; }
.text-big { font-size: 1.4em; }
.text-huge { font-size: 1.8em; }
.marker-yellow { background-color: #fdfd77; color: #242400; }
.marker-green { background-color: #63f963; color: #123012; }
.marker-pink { background-color: #fc7999; color: #350b17; }
.marker-blue { background-color: #72cdfd; color: #0b2939; }
.pen-red { color: #b41424; background-color: transparent; }
.pen-green { color: #176d16; background-color: transparent; }
.list-inline > li { display: inline-block; margin-inline-end: .8em; }
.list-check, .list-chevron { list-style: none; padding-inline-start: 1.5em; }
.list-check > li::marker { content: "\2713  "; }
.list-chevron > li::marker { content: "\203a  "; }

@media (max-width: 575px) {
    .mf-rte-panel, .mf-rte-card, .mf-rte-callout { padding: 1rem; }
    blockquote.mf-rte-quote-pull { font-size: 1.2em; }
}
@media print {
    .mf-rte-callout, .mf-rte-panel, .mf-rte-card { break-inside: avoid; }
    .mf-rte-button { text-decoration: underline; }
}

/* Bestehende CKEditor-Icon-Klassen bleiben erhalten. */
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    src: url("../../Fontawesome/webfonts/fa-solid-900.woff2") format('woff2');
}

p.cke-icon,
a.cke-icon {
    position: relative;
    left: 2.25rem;
    display: block;
}

p.cke-icon::before,
a.cke-icon::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    text-align: center;
    display: inline-block;
    width: 2.25rem;
    font-size: inherit;
    line-height: inherit;
    position: absolute;
    left: -2.25rem;
}

a.cke-icon.fa-globe::before {
    content: "\f0ac";
}

a.cke-icon.fa-envelope::before {
    content: "\f0e0";
}

a.cke-icon.fa-download::before {
    content: "\f019";
}

a.cke-icon.fa-phone::before {
    content: "\f095";
}

a.cke-icon.fa-mobile-alt::before {
    content: "\f3cd";
}

p.cke-icon.fa-map-marker-alt::before {
    content: "\f3c5";
}

p.cke-icon.fa-user-alt::before {
    content: "\f406";
}

a.cke-icon.fa-link::before {
    content: "\f0c1";
}